1st International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems

July 6th, 2010, Brussels, Belgium

in conjunction with

Call for Papers


This page collects a set of reusable software components, tools and data sets which may be conveniently used by researchers in order to enhance comparability of their research with the one made by others.

We have created a Google Group for people who participated into the WATERS workshop, and not only. Here you can discuss about the usage of tools for research purposes, announce availability of new tools, ask for support, etc. Feel free to invite potentially interested colleagues of yours to join this forum.
The IRMOS Real-Time Scheduler [Presentation] [OSPERT'09 Paper]
The IRMOS real-time scheduler allows to reserve a "slice" of the processing capability of a system to a group of threads and/or processes (shortly, tasks). This is achieved by a hard-reservation variant of the EDF-based Constant Bandwidth Server (CBS) scheduler, implemented as a partitioned scheduling strategy, where each CPU has its own private task queue, and it is scheduled independently. However, when a group is entitled to run on each CPU, the IRMOS scheduler employs a POSIX priority-based real-time scheduling strategy among its tasks. Also, the scheduler has a hierarchical configuration capability, by which it is possible to define groups and nested subgroups of real-time tasks with given scheduling parameters.
MAST - Modeling and Analysis Suite for Real-Time Applications [Download]
MAST is an open source set of tools that enables modeling real-time applications and performing timing analysis of those applications. 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.
Roger Stafford's randfixedsum algorithm (Python implementation by Paul Emberson) [Download]
This is a Python script for generating task-sets for multi-processor systems with Roger Stafford's randfixedsum algorithm. It requires the numpy library. It has been tested with Python 2.6.5 and numpy 1.4.1 and also Python 2.7 and the latest svn of numpy (as showing up on July, 12th). There isn't a website for the tool at the moment. This initial release and any subsequent ones will be announced on the Rapita Systems blog. There isn't any documentation for the software either. However, if you type taskgen.py --help then you will get an insightful help message.
RESCH: A Loadable Real-Time Scheduler Suite for Linux [Download]
RESCH is a loadable real-time scheduler suite for Linux, developed by Dr. Shinpei Kato, which does not require any patch to the kernel. The primary objective of RESCH is to facilitate academic research on real-time systems for practical use, and to make available them in real worlds. RESCH offers a variety of basic real-time resource management functions designed to work with the Linux kernel. It also provides the plugin interfaces to extend the basic functions. For instance, researchers can implement their proposed ideas as plugins, and swiftly evaluate them on practical platforms. We also expect RESCH to be a strong platform for real-time systems, by gathering many plugins.
Grasp: a Tool for Tracing, Visualizing and Measuring the Behavior of Real-Time Systems [Download]
Grasp is a tool for tracing, visualizing and measuring the behavior of real-time systems. It comes with a powerful set of features out of the box, such as visualization of servers in hierarchical scheduling and buffer usage for tasks communicating via shared buffers. It also provides a simple infrastructure for extending it with custom visualization and measurement plugins.
Measuring the performance of schedulability tests (by Enrico Bini) [Download] [RTSJ'05 Paper]
The Matlab routine UUniFast implements the algorithm for generating efficiently unbiased vectors of utilizations.

Related Tools

This is a list of other reusable tools not directly presented at WATERS, which might be useful for other researchers working in the area of real-time and embedded systems.
Partitioning Tool for Multi-core Reservations (implementation by Yifan Wu)
This tool is capable of partitioning a parallel application described as a DAG to several alpha-delta servers which may then be deployed on a multi-core platform. It is part of the ACTORS European Project.
True Time: Simulation of Networked and Embedded Control Systems
TrueTime is a Matlab/Simulink-based simulator for real-time control systems. TrueTime facilitates co-simulation of controller task execution in real-time kernels, network transmissions, and continuous plant dynamics.
Tiny Real Time: An EDF Kernel for the Atmel ATmega8L AVR
TinyRealTime is a tiny real-time kernel for the Atmel AVR ATmega8L 8-bit micro-controller. The kernel is event-based and supports fully preemptive earliest-deadline-first scheduling of tasks. Semaphores are provided to support task synchronization.
OMNeT++ is an extensible, modular, component-based C++ simulation library and framework, with an Eclipse-based IDE and a graphical runtime environment. Domain-specific functionality (support for simulation of communication networks, queuing networks, performance evaluation, etc.) is provided by model frameworks, developed as independent projects. There are extensions for real-time simulation, network emulation, alternative programming languages (Java, C#), database integration, SystemC integration, and several other functions.
RTSim has been developed at Retis Lab of the Scuola Superiore Sant'Anna as an internal project. It has been used primarily for experimenting with new scheduling algorithms and solutions. For this reasons, it contains, already implemented, most of the scheduling algorithms developed at Retis Lab.