Towards the systematic analysis of non-functional properties in Model-Based Engineering for real-time embedded systems

The real-time scheduling theory provides analytical methods to assess the temporal predictability of embedded systems. Nevertheless, their use is limited in a Model-Based Systems Engineering approach. In fact, the large number of applicability conditions makes the use of real-time scheduling analysis tedious and error-prone. Key issues are left to the engineers: when to apply a real-time scheduling analysis? What to do with the analysis results? This article presents an approach to systematize and then automate the analysis of non-functional properties in Model-Based Systems Engineering. First, preconditions and postconditions define the applicability of an analysis. In addition, contracts specify the analysis interfaces, thereby enabling to reason about the analysis process. We present a proof-of-concept implementation of our approach using a combination of constraint languages (REAL for run-time analysis) and specification languages (Alloy for describing interfaces and reasoning about them). This approach is experimented on architectural models written with the Architecture Analysis and Design Language (AADL).

[1]  Jeff A. Estefan,et al.  of Model-Based Systems Engineering ( MBSE ) Methodologies , 2008 .

[2]  Pascal Sainrat,et al.  PapaBench: a Free Real-Time Benchmark , 2006, WCET.

[3]  Gérard Berry SCADE: Synchronous Design and Validation of Embedded Control Software , 2007 .

[4]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[5]  Alan Burns,et al.  A survey of hard real-time scheduling for multiprocessor systems , 2011, CSUR.

[6]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[7]  Jérôme Hugues,et al.  Expressing and Enforcing User-Defined Constraints of AADL Models , 2010, 2010 15th IEEE International Conference on Engineering of Complex Computer Systems.

[8]  Julien Forget,et al.  A Synchronous Language for Critical Embedded Systems with Multiple Real-Time Constraints. (Un Langage Synchrone pour les Systèmes Embarqués Critiques Soumis à des Contraintes Temps Réel Multiples) , 2009 .

[9]  Lui Sha,et al.  Modeling towards incremental early analyzability of networked avionics systems using virtual integration , 2012, TECS.

[10]  Mohamed Jmaiel,et al.  From AADL Model to LNT Specification , 2015, Ada-Europe.

[11]  Dianfu Ma,et al.  Two Formal Semantics of a Subset of the AADL , 2011, 2011 16th IEEE International Conference on Engineering of Complex Computer Systems.

[12]  Duncan Clarke,et al.  Schedulability analysis of AADL models , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[13]  Jean-Christophe Le Lann,et al.  POLYCHRONY for System Design , 2003, J. Circuits Syst. Comput..

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

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

[16]  Bran Selic,et al.  Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE: Developing Cyber-Physical Systems , 2013 .

[17]  Mamoun Filali,et al.  Towards a verified transformation from AADL to the formal component-based language FIACRE , 2015, Sci. Comput. Program..

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

[19]  Jay K. Strosnider,et al.  ENHANCED APERIODIC RESPONSIVENESS IN HARD REAL-TIME ENVIRONMENTS. , 1987, RTSS 1987.

[20]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[21]  Nicolas Halbwachs,et al.  Virtual execution of AADL models via a translation into synchronous programs , 2007, EMSOFT '07.

[22]  Tim Weilkiens,et al.  Systems engineering with SysML / UML - modeling, analysis, design , 2007 .

[23]  Sebastian Altmeyer,et al.  Lean Model-Driven Development through Model-Interpretation: the CPAL design flow , 2016 .

[24]  Laurent Nana,et al.  Cheddar: a flexible real time scheduling framework , 2004, SIGAda.

[25]  Oleg Sokolsky,et al.  Analysis of AADL Models Using Real-Time Calculus With Applications to Wireless Architectures , 2008 .

[26]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[27]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[28]  Rolf Johansson,et al.  The EAST-ADL Architecture Description Language for Automotive Embedded Software , 2007, Model-Based Engineering of Embedded Real-Time Systems.

[29]  Pascal Richard,et al.  Reducing the gap between design and scheduling , 2012, RTNS '12.

[30]  Peter H. Feiler,et al.  Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language , 2012 .

[31]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[32]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[33]  Antoine Drouin,et al.  The Paparazzi Solution , 2006 .

[34]  David Garlan,et al.  Contract-based integration of cyber-physical analyses , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[35]  Alan Burns,et al.  Real Time Scheduling Theory: A Historical Perspective , 2004, Real-Time Systems.

[36]  David Garlan,et al.  ACTIVE: A Tool for Integrating Analysis Contracts , 2014 .

[37]  Mamoun Filali,et al.  Formal Verification of AADL Specifications in the Topcased Environment , 2009, Ada-Europe.

[38]  Lui Sha,et al.  Aperiodic task scheduling for Hard-Real-Time systems , 2006, Real-Time Systems.

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

[40]  Minyan Lu,et al.  A Survey On Verification And Analysis Of Non-Functional Properties Of AADL Model Based On Model Transformation , 2015 .

[41]  Guillaume Brau,et al.  Integration of the analysis of non-functional properties in Model-Driven Engineering for embedded systems , 2017 .

[42]  Peter Csaba Ölveczky,et al.  Formal Semantics and Analysis of Behavioral AADL Models in Real-Time Maude , 2010, FMOODS/FORTE.

[43]  Albert Benveniste,et al.  programmi language and its , 2001 .

[44]  Lauretta O. Osho,et al.  Axiomatic Basis for Computer Programming , 2013 .

[45]  Maurice Heitz,et al.  Toward polychronous analysis and validation for timed software architectures in AADL , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

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

[47]  Jérôme Hugues,et al.  Analysis as a First-Class Citizen: An Application to Architecture Description Languages , 2014, 2014 IEEE 17th International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[48]  Jérôme Hugues,et al.  Enforcing software engineering tools interoperability: An example with AADL subsets , 2013, 2013 International Symposium on Rapid System Prototyping (RSP).

[49]  Alan Burns,et al.  Applying new scheduling theory to static priority pre-emptive scheduling , 1993, Softw. Eng. J..

[50]  Alain Plantec,et al.  An Ada design pattern recognition tool for AADL performance analysis , 2011, SIGAda '11.

[51]  Roberto Passerone,et al.  Multiple Viewpoint Contract-Based Specification and Design , 2008, FMCO.

[52]  Paul Pettersson,et al.  Automated Verification of AADL-Specifications Using UPPAAL , 2012, 2012 IEEE 14th International Symposium on High-Assurance Systems Engineering.

[53]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[54]  Alain Plantec,et al.  Enforcing Applicability of Real-Time Scheduling Theory Feasibility Tests with the Use of Design-Patterns , 2010, ISoLA.

[55]  Radu Mateescu,et al.  CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes , 2007, CAV.

[56]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[57]  Fabrice Kordon,et al.  Adapting Models to Model Checkers, A Case Study : Analysing AADL Using Time or Colored Petri Nets , 2009, 2009 IEEE/IFIP International Symposium on Rapid System Prototyping.

[58]  Radu Mateescu,et al.  CADP 2010: A Toolbox for the Construction and Analysis of Distributed Processes , 2011, TACAS.

[59]  Harald Heinecke,et al.  AUTomotive Open System ARchitecture - An Industry-Wide Initiative to Manage the Complexity of Emerging Automotive E/E-Architectures , 2004 .