FIRST
Scheduling Framework
Implementation
under MaRTE OS
1. Introduction
The FIRST
Scheduling Framework (FSF) is a real-time scheduling
strategy based on the specification of service contracts between the
application and the underlying operating system. Its main objectives
are:
- To be able to compose different applications, each one with its
own scheduler.
- To be able to analyse an application/component/subsystem
independently from the rest of the system.
- To add robustness by providing protection from timing faults in a
subsystem.
- To be able to support and analyse diverse timing requirements.
- To be able to support explicitly adaptive applications.
- To be able to do the above things on distributed systems.
The FSF service contract is extremely simple and powerful. It lets the
application specify its minimum timing requirements, and also the way
in which it can take advantage of additional spare processing capacity,
if it is available. The FSF implementation guarantees the minimum
requirements, and distributes the spare unused capacity among the
different service contracts according to the application-specified
quality and importance values.
FIRST is the acronym of the Flexible Integrating Scheduling Technology
project, funded by the INFORMATION SOCIETY
TECHNOLOGIES (IST) PROGRAM of the European Union. The participants
are:
Mälardalen
University, SWEDEN
University of York,
UK
Universidad de Cantabria,
SPAIN
2. Documentation
A description of the architectural aspects of FSF can be found here.
FSF is not only an abstract description of a scheduling service, but is
also implemented and available for trial use. It has an Application
Program Interface that is independent of the underlying implementation.
A description of the FSF API can be found in the Final
Interface Definition and the
details of its implementation in MaRTE OS are in FSF
implementation documentation. The contents and a complete
presentation of the C code of the FSF API
are here
The usage and specification of the Ada version of the FSF API can be
found in the FSF
Ada version introductory documentation. The Makefile file
allows for the generation of Ada or C programs. For any Ada program in
the ada folder just
type 'make <example>', being "<example>.adb"
the file that contains the program to be generated. C programs in the
test folder ar compiled in the same way, considerig the "<example>.c"
the file that contains the program to be generated.
The current document is the home page for the FSF implementation under
the MaRTE OS real-time operating
system. An implementation is also available for the SHARK real-time operating system.
3. Download
The MaRTE OS implementation of FSF can be downloaded in two flavours:
- The distributed one includes support for distributed systems
using a specific version of the RT-EP protocol, and it may be
downloaded with the complete setup for testing, which includes the
necessary MaRTE OS distribution files, the GNAT 3.15 conpiler, the
RT-GLADE support for tha Ada95 distributed Annex and the FSF itself
already installed and ready to be used as a linux user folder in a large compressed tar file.
- The single-processor one does not include support for distributed
services inside the FSF API and may be downloaded from here. You will need a special version of MaRTE
OS
which contains some fixes and particular additions; this version
may be downloaded from here. The complete
MaRTE OS
documentation can be found in
the official MaRTE OS web page.
The GNAT compiler
necessary for MaRTEOS and used in this version is this.
4. Support
If you need any assistance with the current implementation of FSF on
MaRTE OS please send an e-mail to Julio Medina: medinajl@unican.es