Validate, simulate, and implement ARINC653 systems using the AADL

Safety-critical systems are widely used in different domains and lead to an increasing complexity. Such systems rely on specific services such space and time isolation as in the ARINC653 avionics standard. Their criticality requires a carefully driven design based on an appropriate development process and dedicated tools to detect and avoid problems as early as possible. Model Driven Engineering (MDE) approaches are now considered as valuable approach for building safety-critical systems. The Architecture Analysis and Design Language (AADL) proposes a component-based language suitable to operate MDE that fits with safety-critical systems needs. This paper presents an approach for the modeling, verification and implementation of ARINC653 systems using AADL. It details a modeling approach exploiting the new features of AADL version 2 for the design of ARINC653 architectures. It also proposes modeling patterns to represent other safety mechanisms such as the use of Ravenscar for critical applications. This approach is fully backed by tools with Ocarina (AADL toolsuite), POK (AADL/ARINC653 runtime) and Cheddar (scheduling verification). Thus, it assists system engineers to simulate and validate non functional requirements such as scheduling or resources dimensioning.

[1]  Marco Spuri,et al.  Preemptive and Non-Preemptive Real-Time UniProcessor Scheduling , 1996 .

[2]  Lisa Wells,et al.  Performance analysis using CPN tools , 2006, valuetools '06.

[3]  Jörgen Hansson,et al.  Flow Latency Analysis with the Architecture Analysis and Design Language (AADL) , 2007 .

[4]  Joseph Sifakis,et al.  Scheduler Modeling Based on the Controller Synthesis Paradigm , 2002, Real-Time Systems.

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

[6]  Kim Guldstrand Larsen,et al.  Model-Checking Real-Time Control Programs. Verifying LEGO Mindstorms Systems Using UPPAAL , 1999 .

[7]  Peter Lee,et al.  A Declarative Approach to Run-Time Code Generation , 2007 .

[8]  Valérie Bertin,et al.  Efficient compilation of ESTEREL for real-time embedded systems , 2000, CASES '00.

[9]  L. Kinnan,et al.  Porting applications to an ARINC 653 compliant IMA platform using Vxworks as an example , 2004, The 23rd Digital Avionics Systems Conference (IEEE Cat. No.04CH37576).

[10]  Vincent Ribaud,et al.  EUGENE: a STEP-based framework to build Application Generators , 1998 .

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

[12]  César Sánchez,et al.  Reusable models for timing and liveness analysis of middleware for distributed real-time and embedded systems , 2006, EMSOFT '06.

[13]  John A. McDermid,et al.  Safety Assurance Contracts for Integrated Modular Avionics , 2003, SCS.

[14]  Zoubir Mammeri,et al.  Scheduling in Real-Time Systems , 2002 .

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

[16]  J. Leung,et al.  A Note on Preemptive Scheduling of Periodic, Real-Time Tasks , 1980, Inf. Process. Lett..

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

[18]  Peter A. Lindsay,et al.  Safety validation of embedded control software using Z animation , 2000, Proceedings. Fifth IEEE International Symposium on High Assurance Systems Engineering (HASE 2000).

[19]  John A. McDermid Software Hazard and Safety Analysis , 2002, FTRTFT.

[20]  Frank Singhoff,et al.  Stood and Cheddar : AADL as a Pivot Language for Analysing Performances of Real Time Architectures , 2007 .

[21]  Gregory Tassey,et al.  Prepared for what , 2007 .

[22]  Dave Thomas,et al.  The AADL behaviour annex -- experiments and roadmap , 2007, 12th IEEE International Conference on Engineering Complex Computer Systems (ICECCS 2007).

[23]  Julien Delange,et al.  Code Generation Strategies from AADL Architectural Descriptions Targeting the High Integrity Domain , 2008 .

[24]  Fabrice Bellard,et al.  QEMU, a Fast and Portable Dynamic Translator , 2005, USENIX Annual Technical Conference, FREENIX Track.

[25]  Code Generation Strategies for Partitioned Systems , 2008, RTSS 2008.

[26]  Peter H. Feiler,et al.  Software dependability modeling using an industry-standard architecture description language , 2008, ArXiv.

[27]  Peter H. Feiler,et al.  The Architecture Analysis & Design Language (AADL): An Introduction , 2006 .

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

[29]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[30]  Alain Plantec,et al.  AADL modeling and analysis of hierarchical schedulers , 2007, SIGAda '07.

[31]  Erhard Plödereder,et al.  Ada 2005 Reference Manual. Language and Standard Libraries - International Standard ISO/IEC 8652/1995 (E) with Technical Corrigendum 1 and Amendment 1 , 2007, Lecture Notes in Computer Science.

[32]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.