Suite for Real-Time Applications
Table of Contents
MAST 18.104.22.168 is now available. The main
elements introduced by this version with respect to MAST 22.214.171.124 are:
For a more
detailed description of the changes introduced please see mast-status.txt
for heterogeneous systems in which some processing resources are
scheduled under fixed priorities and others under EDF. This support is
integrated in the analysis tools for distributed systems, and in the
HOSPA tool for automatic assignment of scheduling parameters.
MAST defines a model to describe the
timing behaviour of real-time systems designed to be analyzable via
schedulability analysis techniques. MAST also provides an open-source
set of tools to perform schedulability analysis or other timing
analysis, with the goal of assessing whether the system will be able to
meet its timing requirements, and, via sensitivity analysis, how far or
close is the system from meeting its timing requirements. Tools are
also provided to help the designer in the assignment of scheduling
parameters. By having an explicit model of the system and automatic
analysis tools it is also possible to perform design space exploration.
A discrete event simulator is also provided to obtain statistical
performance information of the modelled system.
The MAST model can be used in a UML design environment to
design real-time applications, representing the real-time
and requirements together with the design information, and allowing an
automatic schedulability analysis. Please visit MAST-UML
for additional information on this topic.
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
behaviour always meets the hard real-time requirements
- Offset Based RTA for fixed
- Offset-Based Optimized RTA for
- Holistic RTA for fixed priorities, local EDF, and global EDF
- Classic Rate Monotonic RTA for
single processor systems with fixed
- Varying Priorities RTA
- EDF Monoprocessor RTA
- EDF-Within-Priorities RTA, for
- Calculation of blocking times
- Single processor
- Remote blockings for
- Assignment of optimum priority
ceilings and preemption levels
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
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 calculatespriority ceilings and preemption levels for mutual exclusion resources. The techniques supported are:
- Proportional deadline distribution
- Normalized proportional deadline
- Simulated Annealing
- A graphical editor generates the system description.
- A results viewer is available to view the analysis results in a convenient way.
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,
analyse, and display the model files. The converter tool converts from
one format to the other or back.
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
- 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 behaviour 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.
The features that can be found in MAST
are the following:
- MAST allows modelling both single-processor and complex distributed systems.
very rich model of the real time system is used. It is an event-driven
model in which complex dependence patterns among the different tasks
can be established. For example, tasks may be activated with the
arrival of several events, or may generate several events at their
output. This makes it ideal for analysing real-time systems that have
been designed using UML or similar design tools, which have event
driven models of the system.
system model is independent of the actual analysis techniques. The
toolset provides different techniques that can be used for comparison
scheduling techniques are supported, such as fixed priorities, dynamic
priorities with earliest deadline first (EDF) policy, time-partitioned
scheduling, and mixed systems.
analysis tools include automatic calculation of blocking times caused
by the use of mutual exclusion resources, sensitivity analysis, and
automatic assignment of priorities and other scheduling parameters.
system model contains independent views for describing the execution
platform, the software modules and data exchanged through the networks,
the concurrent architecture, and the workload and flow of events for a
particular configuration of the application. This independence among
the various elements of the model is ideal for building a full model
through the composition of partial models developed independently.
- Schedulers may be composed in a hierarchical way.
- The toolset is open source and fully extensible. That means that other teams may provide enhancements. .
The following documents describing the
environment are available:
A listing of all
the objects currently supported in the MAST real-time system model (mast-hierarchy.html)
The MAST format for describing models
of real-time applications, with a few examples (mast_description.pdf)
A description of the results of the
available in the MAST distribution (mast-examples.html)
- MAST Tool
the restrictions that must be observed for using the MAST tools (mast-restrictions.pdf)
describing the current development status of MAST
Describes the MAST
UML methodology and toolset
- MAST XML
To download, right-click
on the link and choose "Save link as"