MAST 1.4.0.1 is now available. The main
elements introduced by this version with respect to MAST 1.3.8.0 are:
Support
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.
For a more
detailed description of the changes introduced please see mast-status.txt
Introduction
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
behavior
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
priorities
Offset-Based Optimized 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
Priority 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 calculatespriority 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,
analyse, 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 version 1.2.2 of MAST from the SIM-MAST page. A new
simulator is being developed to support version 2 of MAST.
The features that can be found in MAST
are the following:
MAST allows modelling both single-processor and complex distributed systems.
A
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.
The
system model is independent of the actual analysis techniques. The
toolset provides different techniques that can be used for comparison
purposes.
Different
scheduling techniques are supported, such as fixed priorities, dynamic
priorities with earliest deadline first (EDF) policy, time-partitioned
scheduling, and mixed systems.
The
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.
The
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. .
Documents
The following documents describing the
MAST
environment are available: