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.
-
A discrete event simulator provides statistics of performance
metrics for average-case timing behavior.
-
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.
-
Average-case distribution analysis: timing statistics through
discrete event simulation.
-
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/
MAST 1.5.1.0, including multipath transactions and a
corrected analysis of polling schedulers, 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
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.
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.
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.
Goto 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 the holistic analysis technique, and
is implemented in MAST 1.5 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 holistic analysis technique is restricted to deadlines
within the periods for this construct. The holistic analysis
technique is the most pessimistic, so in the future we plan to
extend offset-based analysis to handle these multipath
transactions.
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
here.
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
An Event-driven simulation tool is available for MAST-2:
JSimMAST is able to simulate the
temporal behavior of real-time systems and is a very interesting
complement to the worst-case schedulability analysis tools because
it can provide average-case response times and other performance
metrics.
An older version of the MAST simulator, only for version 1.2.2
of MAST, is still available from
the SIM-MAST page.
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
Downloading
To download,
right-click on the link and choose "
Save
link as"
Binary distributions
Source Code