# MAST

Modeling and Analysis Suite for Real-Time Applications

### Contents

- Introduction
- News
- MAST model
- Available tools
- Documents
- Downloading

### 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:

- Various minor fixes.

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

How to start using the MAST suite through a simple guided example (mast-getting-started.html)

- 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:

A brief description of the analysis techniques used internally by the MAST schedulability analysis tools ( mast_analysis_techniques.pdf)

- 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

A text document with installation and usage instructions

- 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 model schema: mast_model.xsd
Mast results schema: mast_results.xsd
Mast trace schema: mast_trace.xsd

- MAST-2 XML schemas

Mast-2 model schema: mast_model.xsd
Mast-2 results schema: mast_results.xsd

- 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

- MAST 1.7.0.0 for Linux (tested on Ubuntu 24.04 - 64 bits)
- MAST 1.7.0.0 for Windows (tested on Windows 11)
- MAST 1.6.0.1 for Linux (tested on Ubuntu 24.04 - 64 bits)
- MAST 1.6.0.1 for Windows (tested on Windows 11)
- MAST 1.6.0.0 for Linux (tested on Ubuntu 24.04 - 64 bits)
- MAST 1.6.0.0 for Windows (tested on Windows 11)
- MAST 1.5.1.1 for Linux (tested on Ubuntu 16.04 - 64 bits)
- MAST 1.5.1.1 for Windows (tested on Windows 10)
- MAST 1.5.1.0 for Linux (tested on Ubuntu 14.03)
- MAST 1.5.1.0 for Windows (tested on Windows 7)
- MAST 1.5.0.1 for Linux (tested on Ubuntu 14.03)
- MAST 1.5.0.1 for Windows (tested on Windows 7)
- MAST 1.5.0.0 for Linux (tested on Ubuntu 14.03)
- MAST 1.5.0.0 for Windows (tested on Windows 7)
- MAST 1.4.2.0 for Linux (tested on Ubuntu 14.03)
- MAST 1.4.2.0 for Windows (tested on Windows 7)
- MAST 1.4.0.1 for Linux (tested on Ubuntu Lucid)
- MAST 1.4.0.0 for Windows (tested on Windows XP)
- MAST 1.3.8.0 for Windows (tested on Windows XP)
- MAST 1.3.8.0 for Linux (tested on Ubuntu Hardy)
- MAST 1.3.7.8 for Windows
- MAST 1.3.7.8 for Linux tested on Ubuntu Draper)
- MAST 1.3.7.5 for Windows
- MAST 1.3.7.5 for Linux (tested on Ubuntu Draper)
- MAST 1.3.6 for Windows
- MAST 1.3.6. for Linux. Only source code distribution available (see below)
- MAST 1.2.2 for Windows
- MAST 1.2.2 for Linux (tested on RedHat 7.1)
- MAST 1.1 for Windows
- MAST 1.1 for Linux (tested on RedHat 6.2)
- MAST 1.0 for Windows
- MAST 1.0 for Linux (tested on RedHat 6.2)

### Source Code

- MAST 1.6.0.1 sources Zip file or Gziped tar file
- MAST 1.7.0.0 sources Zip file or Gziped tar file
- MAST 1.6.0.0 sources Zip file or Gziped tar file
- MAST 1.5.1.0 sources Windows Format (Zip file) or UNIX Format(Gziped tar file)
- MAST 1.5.0.1 sources Windows Format (Zip file) or UNIX Format(Gziped tar file)
- MAST 1.5.0.0 sources Windows Format (Zip file) or UNIX Format(Gziped tar file)
- MAST 1.4.2.0 sources Windows Format (Zip file) or UNIX Format(Gziped tar file)
- MAST 1.4.0.1 sources Windows Format (Zip file) or UNIX Format(Gziped tar file)
- MAST 1.3.8.0 sources Windows Format (Zip file) or UNIX Format (Gziped tar file)
- MAST 1.3.7.8 sources Windows Format (Zip file) or UNIX Format (Gziped tar file)
- MAST 1.3.7.5 sources Windows Format (Zip file) or UNIX Format (Gziped tar file)
- MAST 1.3.6 sources. Windows Format (Zip file) or Unix Format (Gziped tar file)
- MAST 1.2.2 sources. Windows Format (Zip file) or Unix Format (Gziped tar file)
- MAST 1.1 sources. Windows Format (Zip file) or Unix Format (Gziped tar file)
- MAST 1.0 sources. Windows Format (Zip file) or Unix Format (Gziped tar file)
- AFLEX and AYACC for GNAT