Contents
Key features
- MAST offers an advanced set of schedulability
analysis techniques optimized for single processor and
distributed systems.
- It supports heterogeneous and hierarchical scheduling
platforms with EDF and preemptible or non-preemptible fixed
priority schedulers.
- It includes automatic assignment of optimized priorities,
ceilings and EDF scheduling parameters for end-to-end flows
in distributed systems.
- Blocking times for mutual exclusion resources are
calculated automatically.
- Sensitivity analysis is performed by calculating
operation, task, node & system level slacks, which
enable a fast design space exploration.
- Model-based design is supported through input and results
models that can be integrated into UML/MARTE models in the
Eclipse environment.
- Worst-case schedulability analysis: response times and
jitter predictability.
- Fully automated handling of passive protected shared
resources:
- Support for priority inheritance, priority ceilings and
stack-based protocols
- Automatic calculation of blocking time, priority
ceilings, and preemption levels
- Optimized assignment of priorities and deadlines to
threads and messages in end-to-end distributed systems
- Best-case execution time data are used to boost the least
pessimistic offset based analysis for CPU's and networks
Contact us
For technical support or commercial inquires for licenses
other than GPL please contact:
Michael González Harbour
Software engineering and real-time group
Universidad de Cantabria
Avda. de Los Castros s/n
39005 - Santander
Spain
Tel: +34 942 201483
Fax: +34 942 201402
eMail: mast@unican.es
web: mast.unican.es/
Feb 2026: MAST 1.7.0.0,
including non-preemptive analysis, is now available!
Introduction
MAST is an open-source suite of tools to perform
schedulability analysis of real-time distributed systems that
assesses a rich variety of timing requirements. Via
sensitivity analysis, you will know how far or close the
system is from meeting those requirements. MAST uses a
versatile and composable input model for the real-time
behavior of the modules and platforms that form your system.
MAST is distributed under a GPL free software license. For
commercial inquiries related to other licenses please contact
us.
A complete set of solutions
From analysis to design and optimization MAST
provides a complete set of solutions matching the timing
characteristics of the most widely used real-time programming
paradigms. Real-time modeling and timing behavior analysis for
platforms like Ada, POSIX, or IMA, among many others, are
accurately supported in a reusable and efficient way.
Model-based integration
MAST input and output models are fully described by
meta-models that enable the integration of tools in a
model-driven engineering tool chain compliant with the MARTE
industry standard. Design space exploration is aided by
monitoring the slacks and launching the tools in a model-based
engineering environment. From standard UML/MARTE annotated
models to analysis and back.
Make the most of your real-time distributed platform
MAST boosts your distributed platform utilization
and identifies bottlenecks by performing sensitivity analysis
with the least pessimistic available techniques. Besides the
utilizations of the CPUs and networks it reports slacks, which
are the percentages by which the execution times of all
involved operations may grow while keeping the system
schedulable, or should decrease to achieve success.
A fully design-oriented tool
The tools provided in MAST are fast enough to help
the designer in the exploration of design alternatives by
bringing back useful feedback on the capacities of the system
to keep up with more workload, or on the identification of the
bottlenecks that tell the designer how much and where to cut
in order to reach schedulability.
Application domains
MAST has been successfully exploited in embedded
applications across the most demanding real-time systems
domains spanning from industrial controllers,
telecommunications, automotive, avionics and space.
UML Design environments
The MAST model can be used in a UML design environment to
design real-time applications, representing the
real-time behavior and requirements together with the design
information, and allowing an automatic schedulability
analysis. Please visit MAST-UML for
additional information on this topic.
News
Feb 2026: MAST 1.7.0.0 is now available. The main
elements introduced by this version with respect to MAST 1.6.0.1
are:
- Added the new non_preemptive_rm tool, that can analyze
single-processor fixed-priority systems with arbitrary
deadlines. It is restricted to simple transactions (with
only one task per transaction). It is similar to the
classic_rm tool but provides tighter results in case some or
all of the system's tasks are non-preemptive.
- Modified the holistic analysis for distributed systems to
add the new non-preemptive analysis. This means that the
analysis is now tighter if there are non-preemptive tasks
present.
- In gmasteditor, fixed the dialogs where referenced events
were used. This was done by properly populating the lists of
referenced events when choosing one.
- Corrected a bug in the offset_based_w_pr analysis, by
which systems with offsets or delays did not have all the
possible critical instants checked, leading to incorrect
results in some cases. This was due to an optimization that
checked the minimum delay or offset but should have checked
the maximum instead.
Jul 2025: MAST 1.6.0.1 is now available. The main
elements introduced by this version with respect to MAST 1.6.0.0
are:
- Corrected a bug in the offset_based_w_pr analysis, by
which systems with offsets or delays were treated
optimistically. This was due to an optimization that was too
aggressive. This optimization has been removed.
- Enhanced the treatment of bursty events processed through
polling servers, because it was pessimistic. Now
transactions verifying Has_Bursty_Event_With_Polling_Server
are modelled as a transaction with offsets. This implies
that they require an offset-based scheduling analysis
technique, preferably the offset-based with precedence
relations technique.
- Fixed the cases when a system could have negative slack
and still be schedulable.
- Added new restrictions and consistency checks
Mar 2024: MAST 1.6.0.0 is now available. The main
elements introduced by this version with respect to MAST 1.5.1.1
are:
- Offset-based analysis for multipath transactions,
including the offset_based_approx, offset_based_slanted and
offset_based_brute_force tools
- A new restriction, no join after merge, was added to
multipath transactions, as this is a case that is difficult
to model internally in the analysis tools. For additional
restrictions check the mast_restrictions.pdf
document
- Compilation under the alire tool has been implemented.
The compilation scripts and gnat project files (*.gpr) have
been updated accordingly.
Jan 2017: MAST 1.5.1.1 is now available. The main
elements introduced by this version with respect to MAST 1.5.1.0
are:
Dec 2015: MAST 1.5.1.0 is now available. The main
elements introduced by this version with respect to MAST 1.5.0.1
are:
- Added three new analysis tools: Offset-based approximate
for global-clock EDF, Offset-based approximate for
local-clock EDF, Offset-based approximate with precedence
relations for local-clock EDF.
- Added support for the priority assignment tool in
multipath transactions.
- Corrected the analysis of polling tasks. In previous
versions the analysis results were too pessimistic in most
cases and optimistic in some other cases.
Oct 2014: MAST 1.5.0.1 is now available. The main
elements introduced by this version with respect to MAST 1.5.0.0
are:
- Added support for unlimited strings in pathnames and
input commands. Previous versions had Strings limited to 512
characters.
- Added a new version of the gmast.bat script for Windows,
with better support for different Windows versions.
Jul 2014: MAST 1.5.0.0 is now available. The main
elements introduced by this version with respect to MAST 1.4.2.0
are:
- Added support for multipath trasactions, with join
(barrier), fork (multicast) and merge (concentrator) event
handlers, restricted to single input event transactions.
- New Restrictions:
- Restricted_Multipath_Transactions which implies no
branch (delivery or query servers) event handlers and
only one single external event in each transaction.
Multipath transactions following this new restriction
are only supported under the holistic analysis
technique, which is the most pessimistic for distributed
systems. Suport under other analysis techniques is left
as future work, since it requires developing new theory.
For a more detailed description of the changes introduced
please see mast-status.txt.
Go to the downloading section.
MAST model
At the heart of the MAST tool suite lies the MAST model,
which describes the timing behavior of a real-time
application. The first version of this model (MAST-1) is the
one used by the schedulability analysis tools. We are
currently evolving into MAST-2, the second version of our
model. In this section we describe some important
characteristics of both models.
MAST-1
- The model is similar to the one defined in the MARTE UML
profile for embedded real-time systems.
- MAST allows modeling both single-processor and complex
distributed systems.
- A very complete model of the real time system is used. It
is an event-driven model which separates the system into
several views, to ease composition of models and systems:
- Platform view, including processors, networks and
their schedulers
- Concurrent architecture view, including threads and
message streams
- Operations view, including the software modules and
messages sent through the networks
- Shared resources view, including mutual exclusion
synchronization
- Transactions view, each transaction being an
end-to-end flow with workload events, steps involving
the execution of operations by threads or message
transmissions, events being exchanged among the steps to
specify the execution flow, and timing requirements
This separation into different views makes the MAST
model ideal for analyzing real-time systems that have been
designed using UML/MARTE or similar design tools.
This independence among the various elements of the
model eases building a full model through the composition
of partial models developed independently.
- The system model is independent of the actual analysis
techniques.
- Different scheduling techniques are supported, such as
fixed priorities or dynamic priorities with earliest
deadline first (EDF) policy. Within the fixed-priority
schedulers different kinds of policies may be applied:
- Interrupt service routines
- Standard fixed priorities
- Sporadic servers
- Polling servers
- Fixed priority packet based policy, for packet-based
networks
- Fixed priority character based policy, for
character-oriented networks
- Heterogeneous scheduling is supported, with each
processor or network using a different scheduling policy.
- Support for different workload events: singular,
periodic, sporadic, bursty or unbounded aperiodic.
- Support for different synchronization protocols:
Immediate priority ceilings, priority inheritance,
stack-based policy.
- A rich model of the system overheads is provided,
including context switch times, effects of system timers, or
effects of communication drivers
- Schedulers may be composed in a hierarchical way. A tool
is provided for EDF on top of fixed priorities
The MAST model includes the possibility of having multipath
end-to-end flows where an event flow can be divided into
several paths with fork (multicast) or branch
(delivery or query server) elements, and paths may be joined
with join (barrier) or merge (concentrator)
elements. The analysis of these multipath transactions uses
both the holistic and offset-based analysis techniques, and is
implemented in MAST 1.6 with the following restrictions: the
transaction has a single input event and only fork, join and
merge elements are supported; branch is not supported, as the
current analysis techniques are restricted to deadlines within
the periods for this construct.
MAST-2
The MAST-2 model includes all the elements available in
MAST-1 but changes some of its names to align them with the
MARTE UML profile for real-time embedded systems. In addition,
it includes the following new modeling elements:
- Partitioned scheduling with time protection, including
the possibility of having hierarchical schedulers with fixed
priority schedulers inside each partition
- Atomically locking and unlocking the execution thread by
a set of consecutive steps in an end-to-end flow
- Network switches
- Support for AFDX networks and switches
- Support for contract-based scheduling, with servers
providing a portion of a resource to a secondary-level
scheduler
A metamodel of the MAST-2 model can be found in
mast2_metamodel_specification.
Available tools
The MAST toolset includes the following tools:
- Worst-case response time schedulability analysis (RTA) in
single-processor and distributed systems. This is the main
tool, and it checks that the worst-case behavior always
meets the hard real-time requirements. All the offset-based
and the holistic analysis techniques support distributed
systems and heterogeneous scheduling, allowing different
scheduling policies to be used in each processor or network.
- Offset Based Slanted RTA for fixed priorities
- Offset Based Approximate RTA for fixed priorities
- Offset-Based Approximate with Precedence Relations RTA
for fixed priorities
- Holistic RTA for fixed priorities, local EDF,
and global EDF
- Classic Rate Monotonic RTA for single processor systems
with fixed priorities
- Varying Priorities RTA
- EDF Monoprocessor RTA
- EDF-Within-Priorities RTA, for hierarchical scheduling
- Calculation of blocking times
- Single processor
- Remote blockings for multi-processor
- Assignment of optimum priority ceilings and preemption
levels
- Sensitivity analysis through the calculation of Slack
Times. A slack value is the percentage by which the
associated element (for instance the processor speed, the
execution time of an operation, or the execution time of an
end-to-end flow or of the entire system) may be increased
while keeping the system schedulable, or in case of negative
values, the percentage by which the associated element has
to be reduced to reach schedulability. These slack values
are very useful in providing insight into which parts of the
system must be modified to reach schedulability, or how much
space there is for growth or for new steps in the system.
The slack calculation tools repeat the analysis in a binary
search algorithm in which execution times are successively
increased or decreased. The slacks supported are:
- Transaction Slacks
- System Slacks
- Processing Resource Slacks
- Operation Slacks
- Optimized Scheduling Parameters Assignment Techniques.
This tool provides the user with capabilities to
automatically calculate optimum priorities for fixed
priority scheduling, and scheduling deadlines for EDF
scheduling. The automatic assignment uses optimum methods
when available, and heuristics or optimization techniques
when the optimum assignment is not available. The tool also
calculates priority ceilings and preemption levels for
mutual exclusion resources. The techniques supported are:
- Single-processor
- HOSPA
- Proportional deadline distribution
- Normalized proportional deadline distribution
- Simulated Annealing
- A graphical editor generates the system description.
- A results viewer is available to view the analysis
results in a convenient way.
- XML converter. The model and the results are specified
through an ASCII description that serves as the input and
output of the analysis tools. Two ASCII formats have been
defined: a text special-purpose format and an XML-based
format. The XML format provides the designer with
capabilities to use free standard XML tools to validate,
parse, analyze, and display the model files. The converter
tool converts from one format to the other or back.
- Graphical editor for periodic task models. The objective
of the Periodic Task Editor is to provide an easy way of
defining a MAST model for a simple task system running on a
single processor. The editor allows defining periodic tasks
with their execution times (WCET), periods (T), and
Deadlines (D). These tasks may interact by sharing mutual
exclusion resources.
- Converter from MAST-1 models to MAST-2 format
Documents
The following documents describing the MAST environment are
available:
- Getting Started
- MAST Object Hierarchy:
A listing of all the objects currently supported in the MAST
real-time system model (mast-hierarchy.html)
- MAST Description:
The MAST format for describing models of real-time
applications, with a few examples (mast_description.pdf)
- MAST Analysis Techniques:
- MAST Example Results
A description of the results of the examples available in
the MAST distribution (mast-examples.html)
- MAST Tool Restrictions
This document describes the restrictions that must be
observed for using the MAST tools (mast-restrictions.pdf)
- README.txt
- MAST status
A text document describing
the current development status of MAST
- MAST-UML
Describes the MAST
UML methodology and toolset
- MAST XML schemas
- MAST-2 XML schemas
- MAST 2 Ecore metamodels. mast2_metamodels.zip.
Contains:
Mast 2 metamodel: mast2.ecore
Mast 2 results metamodel: mast2_results.ecore
Mast 2 traces metamodel: mast2_traces.ecore
Downloading
To download,
right-click on the link and choose "
Save
link as"
Binary distributions
Source Code