The ASSERT Virtual Machine: A Predictable Platform for Real-Time Systems ?

Abstract The development of real-time control systems is a complex process which has to face often conflicting requirements, especially those related to the performance of the control methods and the real-time behaviour of the system. The ASSERT Virtual Machine provides a reliable execution platform for such systems, which allows developers to cope with functional and real-time aspects separately. In order to guarantee the required real-time properties, the virtual machine only accepts software components which have a predictable temporal behaviour which can be analysed at system design time. Such components can be automatically generated from a high-level description of a system which embodies the functional components (e.g. control algorithms) into a set of containers providing the appropriate concurrent and realtime behaviour. The ASSERT Virtual Machine has been implemented in Ada 2005, using a predictable tasking subset of the language known as the Ravenscar profile. A prototype has been validated on several pilot-scale spacecraft control systems, with good results.

[1]  José F. Ruiz,et al.  An Open Ravenscar Real-Time Kernel for GNAT , 2000, Ada-Europe.

[2]  Tullio Vardanega,et al.  Correctness by Construction for High-Integrity Real-Time Systems: A Metamodel-Driven Approach , 2007, Ada-Europe.

[3]  Lui Sha,et al.  Priority Inheritance Protocols: An Approach to Real-Time Synchronization , 1990, IEEE Trans. Computers.

[4]  Tullio Vardanega,et al.  A Metamodel-Driven Process Featuring Advanced Model-Based Timing Analysis , 2007, Ada-Europe.

[5]  Alan Burns,et al.  Guide for the use of the Ada Ravenscar Profile in high integrity systems , 2004, ALET.

[6]  Alan Burns,et al.  The Ravenscar tasking profile for high integrity real-time programs , 1998 .

[7]  Barry J. Epstein,et al.  The Sparc Architecture Manual/Version 8 , 1992 .

[8]  Alfons Crespo,et al.  Integrated Design and Implementation of Digital Controllers , 2001, EUROCAST.

[9]  Alan Burns,et al.  The Ravenscar Tasking Profile for High Integrity Real-Time Programs , 1998, Ada-Europe.

[10]  Tullio Vardanega Property-Preserving Reuse-Geared Approach to Model-Driven Development , 2006, 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06).

[11]  Juan Zamorano,et al.  GNAT/ORK: AN OPEN CROSS-DEVELOPMENT ENVIRONMENT FOR EMBEDDED RAVENSCAR–ADA SOFTWARE , 2002 .

[12]  K.-E. Arzen,et al.  How does control timing affect performance? Analysis and simulation of timing using Jitterbug and TrueTime , 2003, IEEE Control Systems.

[13]  Juan Antonio de la Puente,et al.  Handling Temporal Faults in Ada 2005 , 2007, Ada-Europe.