An event-based approach for formally verifying runtime adaptive real-time systems

Real-time and embedded systems are required to adapt their behavior and structure to runtime unpredicted changes in order to maintain their feasibility and usefulness. These systems are generally more difficult to specify and verify owning to their execution complexity. Hence, ensuring the high-level design and the early verification of system adaptation at runtime is very crucial. However, existing runtime model-based approaches for adaptive real-time and embedded systems suffer from shortcoming linked to efficiently and correctly managing the adaptive system behavior, especially that a formal verification is not allowed by modeling languages such as UML and MARTE profile. Moreover, reasoning about the correctness and the precision of high-level models is a complex task without the appropriate tool support. In this work, we propose an MDE-based framework for the specification and the verification of runtime adaptive real-time and embedded systems. Our approach stands for Event-B method to formally verify resources behavior and real-time constraints. In fact, thanks to MDE M2T transformations, our proposal translates runtime models into Event-B specifications to ensure the correctness of runtime adaptive system properties, temporal constrains and nonfunctional properties using Rodin platform. A flood prediction system case study is adopted for the validation of our proposal.

[1]  Wolfram Hardt,et al.  Component-based design of cyber-physical applications with safety-critical requirements , 2016, Microprocess. Microsystems.

[2]  Mohamed Abid,et al.  From real-time design model to RTOS-specific models: a model-driven methodology , 2019 .

[3]  Sophia Kluge,et al.  Modeling And Verification Of Parallel Processes , 2016 .

[4]  Seoyoung Kim,et al.  Design of an adaptive GPU sharing and scheduling scheme in container-based cluster , 2019, Cluster Computing.

[5]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[6]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[7]  Paolo Arcaini,et al.  Modeling and Analyzing MAPE-K Feedback Loops for Self-Adaptation , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[8]  Slim Kallel,et al.  An approach based on runtime models for developing dynamically adaptive systems , 2017, Future Gener. Comput. Syst..

[9]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[10]  Jean-Marc Jézéquel,et al.  Model Driven Engineering , 2017, Encyclopedia of GIS.

[11]  Mohamed Abid,et al.  Runtime UML MARTE Extensions for the Design of Adaptive RTE Systems , 2018, ISDA.

[12]  Mohamed Abid,et al.  Compositional specification of real time embedded systems by priority time Petri Nets , 2011, The Journal of Supercomputing.

[13]  Brice Morin,et al.  Modeling and Validating Dynamic Adaptation , 2009, MoDELS.

[14]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[15]  Thomas A. Henzinger,et al.  The Discipline of Embedded Systems Design , 2007, Computer.

[16]  Brice Morin,et al.  Models@ Run.time to Support Dynamic Adaptation , 2009, Computer.

[17]  Brice Morin,et al.  Leveraging Models from Design-time to Runtime to Support Dynamic Variability. (Modèles à la Conception et à l'Exécution pour Gérer la Variability Dynamique) , 2010 .

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

[19]  Mohamed Abid,et al.  High Level Design of Adaptive Real-time Embedded Systems - A Survey , 2013, MODELSWARD.

[20]  Jesper Andersson,et al.  FORMS: a formal reference model for self-adaptation , 2010, ICAC '10.

[21]  Ahmed Hadj Kacem,et al.  Modelling, specifying and verifying self-adaptive systems instantiating MAPE patterns , 2018, Int. J. Comput. Appl. Technol..

[22]  Jean-Philippe Babau,et al.  Chaining Model Transformations for System Model Verification: Application to Verify Capella Model with Simulink , 2020, MODELSWARD.

[23]  Mohamed Abid,et al.  A design pattern-based approach for automatic choice of semi-partitioned and global scheduling algorithms , 2018, Inf. Softw. Technol..

[24]  Leila Jemni Ben Ayed,et al.  Using UML Activity Diagrams and Event B for Distributed and Parallel Applications , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[25]  Douglas L. Jones,et al.  GRACE-2: integrating fine-grained application adaptation with global adaptation for saving energy , 2009, Int. J. Embed. Syst..

[26]  Enrique Alba,et al.  A component-based study of energy consumption for sequential and parallel genetic algorithms , 2019, The Journal of Supercomputing.

[27]  Valentín Valero,et al.  Improving cloud architectures using UML profiles and M2T transformation techniques , 2019, The Journal of Supercomputing.

[28]  Elena Troubitsyna,et al.  Formal Development and Assessment of a Reconfigurable On-board Satellite System , 2012, SAFECOMP.

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

[30]  Jonathan P. Bowen Formal methods in safety-critical standards , 1993, Proceedings 1993 Software Engineering Standards Symposium.

[31]  Steven Costiou,et al.  Lub: A pattern for fine grained behavior adaptation at runtime , 2018, Sci. Comput. Program..

[32]  Olivier Barais,et al.  RUN.TIME TO SUPPORT DYNAMIC ADAPTATION , 2022 .

[33]  Marc Pantel,et al.  Correct Instantiation of a System Reconfiguration Pattern: A Proof and Refinement-Based Approach , 2016, 2016 IEEE 17th International Symposium on High Assurance Systems Engineering (HASE).

[34]  Dejan Nickovic,et al.  A survey of challenges for runtime verification from advanced application domains (beyond software) , 2018, Formal Methods in System Design.

[35]  Adel Mahfoudhi,et al.  Transformation process of RTS scheduling analysis requirements from UML/MARTE to dynamic priority time Petri Nets , 2015, The Journal of Supercomputing.

[36]  Claude Jard,et al.  Modeling and Verification of Parallel Processes: 4th Summer School, MOVEP 2000, Nantes, France, June 19-23, 2000. Revised Tutorial Lectures , 2001 .

[37]  Rajesh Devaraj A solution to drawbacks in capturing execution requirements on heterogeneous platforms , 2020, The Journal of Supercomputing.

[38]  Yasser Sedaghat,et al.  Hybrid scheduling to enhance reliability of real-time tasks running on reconfigurable devices , 2019, The Journal of Supercomputing.

[39]  Danny Weyns,et al.  MAPE-K Formal Templates to Rigorously Design Behaviors for Self-Adaptive Systems , 2015, ACM Trans. Auton. Adapt. Syst..

[40]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[41]  Jonathan S. Ostroff,et al.  Formal methods for the specification and design of real-time safety critical systems , 1992, J. Syst. Softw..

[42]  Mickaël Kerboeuf,et al.  A UML/MARTE-Based Design Pattern for Semi-partitioned Scheduling Analysis , 2014, 2014 IEEE 23rd International WETICE Conference.

[43]  Nor Badrul Anuar,et al.  MapReduce scheduling algorithms: a review , 2018, The Journal of Supercomputing.

[44]  Mickaël Kerboeuf,et al.  An MDE-based approach for self-adaptive RTES model generation , 2019, Cluster Computing.

[45]  Mostafa Bellafkih,et al.  Novel QoE monitoring and management architecture with eTOM for SDN-based 5G networks , 2019, Cluster Computing.