Design and implementation of real-time distributed systems with the ASSERT Virtual Machine

This paper describes how the ASSERT Virtual Machine, a dedicated execution platform that guarantees a predictable real-time behaviour, can be used to develop real-time embedded distributed systems with high-integrity requirements. The concept of virtual machine-level software components is developed, and sample programming patterns are provided. Components are used in the framework of the ASSERT development process, and are based on the Ravenscar Computational Model, a concurrent tasking model which can be statically analysed for a correct real-time behaviour. The current architecture of the ASSERT virtual machine is described in detail, and experience gained with its use in the last few years is provided.

[1]  Alain Plantec,et al.  Can We Increase the Usability of Real Time Scheduling Theory? The Cheddar Project , 2008, Ada-Europe.

[2]  Tullio Vardanega,et al.  An MDE methodology for the development of high-integrity real-time systems , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[3]  W. Marsden I and J , 2012 .

[4]  Laurent Pautet,et al.  From the prototype to the final embedded system using the Ocarina AADL tool suite , 2008, TECS.

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

[6]  Juan Rafael Zamorano Flores,et al.  The ASSERT Virtual Machine Kernel: Support for preservation of temporal properties. , 2008 .

[7]  Juan Rafael Zamorano Flores,et al.  Experience in programming device drivers with the Ravenscar profile. , 2010 .

[8]  Corporate SPARC architecture manual - version 8 , 1992 .

[9]  Jérôme Hugues,et al.  The TASTE Toolset: turning human designed heterogeneous systems into computer built homogeneous software. , 2010 .

[10]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[11]  Alan D. George,et al.  RapidIO for radar processing in advanced space systems , 2007, TECS.

[12]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[13]  Laurent Pautet,et al.  From MDD to Full Industrial Process: Building Distributed Real-Time Embedded Systems for the High-Integrity Domain , 2006, Monterey Workshop.

[14]  Tullio Vardanega,et al.  On the Dynamic Semantics and the Timing Behavior of Ravenscar Kernels , 2004, Real-Time Systems.

[15]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[16]  Michael González Harbour,et al.  Exploiting precedence relations in the schedulability analysis of distributed real-time systems , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

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

[18]  Tullio Vardanega,et al.  Run-time mechanisms for property preservation in high-integrity real-time systems , 2007 .

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

[20]  Matteo Bordin,et al.  Ada 2005 code patterns for metamodel-based code generation , 2007, IRTAW '07.

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

[22]  J. Javier Gutiérrez,et al.  MAST: Modeling and Analysis Suite for Real Time Applications , 2001, ECRTS.

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

[24]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[25]  José A. Pulido,et al.  The ASSERT Virtual Machine: A Predictable Platform for Real-Time Systems ? , 2008 .