Abstract
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.
Similar content being viewed by others
Notes
The inverse of a function f, (\(\hbox {f}^{-1}\)), is denoted in Event-B as (f \(\sim\)).
A \(\vartriangleleft\) f denotes a domain restriction: A \(\vartriangleleft\) f= {x \(\mapsto\) y|x \(\mapsto\) y \(\in\) f \(\cap\) x \(\in\) A}.
References
Henzinger TA, Sifakis J (2007) The discipline of embedded systems design. IEEE Soc Comput 40(10):32–40
Magdich A, Kacem YH, Mahfoudhi A, Kerboeuf Ml (2014) A uml/marte-based design pattern for semi-partitioned scheduling analysis. In: Sumitra R (ed) 2014 IEEE 23rd international WETICE conference (WETICE 2014), Parma, Italy, 23–25 June, 2014. IEEE Computer Society, pp 300–305
Devaraj R (2020) A solution to drawbacks in capturing execution requirements on heterogeneous platforms. J Supercomput 76(4)
Schmidt DC (2006) Model-driven engineering. IEEE Computer 39(2):25
Bernal A, Emilia CM, Nunez A, Canizares PC, Valero V (2020) Improving cloud architectures using UML profiles and M2T transformation techniques. J Supercomput 76(4):8012–8058
Mahfoudhi A, Kacem YH, Karamti W, Abid M (2012) Compositional specification of real time embedded systems by priority time petri nets. J Supercomput 59(3):1478–1503
Amr A, Enrique A, Gabriel L (2020) A component-based study of energy consumption for sequential and parallel genetic algorithms. J Supercomput 28(4):6194–6219
Ghavidel A, Sedaghat Y, Naghibzadeh M (2019) Hybrid scheduling to enhance reliability of real-time tasks running on reconfigurable devices. J Supercomput 76(6):1
Duhil C, Babau J-P, Lepicier E, Voirin J-L, Navas J (2020) Chaining model transformations for system model verification: application to verify capella model with simulink. In: International conference on model-driven engineering and software development (MODELSWARD 2020)
Said MB, Kacem YH, Kerboeuf M, Abid M (2020) An MDE-based approach for self-adaptive RTES model generation. Cluster Comput 23:1–27
Hachicha M, Halima RB, Kacem AH (2018) Modelling, specifying and verifying selfadaptive systems instantiating mape patterns. Int J Comput Appl Technol 57(1):28–44
Masrur A, Kit M, Matena V, Buresb T, Hardt W (2017) Component-based design of cyber-physical applications with safety-critical requirements. J Microprocess Microsyst 10(3):117
OMG Object Management Group (2011) A UML profile for MARTE: modeling and analysis of real-time embedded systems, ptc/2011-06-02. Object Management Group
Magdich A, Kacem YH, Mahfoudhi A, Kerboeuf M (2014) A UML/MARTE-based design pattern for semi-partitioned scheduling analysis. In: Sumitra R (ed) IEEE 23rd international WETICE conference (WETICE 2014), Parma, Italy, 23–25 June, 2014. IEEE Computer Society, pp 300–305
Mahfoudhi A, Karamti W (2015) Transformation process of rts scheduling analysis requirements from UML/MARTE to dynamic priority time petri nets. J Supercomput 71:3637–3667
Loukil S, Kallel S, Jmaiel M (2016) An approach based on runtime models for developing dynamically adaptive systems. J Future Gener Comput Syst 68(6):365–375
Morin B, Barais O, Jezequel J-M, Fleurey F, Solberg A (2009) A models at run.time to support dynamic adaptation. Computer 42(10):44–51
Vardhan V, Sachs DG, Yuan W, Harris AF, Adve SV, Jones DL, Kravets RH, Nahrstedt KM (2009) Integrating fine-grained application adaptation with global adaptation for saving energy. University of Illinois at UrbanaChampaign
Fredj N, Kacem YHADJ, Abid M (2018) Runtime uml marte extensions for the design of adaptive rte systems. In: 18th International conference on intelligent systems design and applications (ISDA), 2018, Vellore, India
Abrial J-R (2010) Modeling in event-b: system and software engineering. Cambridge University Press, New York, NY, USA. ISBN: 0521895561 9780521895569
Abrial JR, Butler M, Hallerstede S, Hoang TS, Mehta F, Voisin L (2010) Rodin: an open toolset for modelling and reasoning in eventb. Int J Softw Tools Technol Transf 12:447–466
Al Assadi WK, Gandla S, Sahra SS, Dugganapally IP (2009) Design and FPGA prototyping of a flood prediction system. In: 12th international IEEE conference on intelligent transportation systems, pp 1–6
Said MB, Kacem YH, Amor NB, Abid M (2013) High level design of adaptive real-time embedded systems a survey. In: MODELSWARD: international conference on model-driven engineering and software development, pp 341–350
Fleurey F, Dehlen V, Bencomo N, Morin B, Jezequel JM (2008) Modeling and validating dynamic adaptation. Int Conf Model Driven Eng Lang Syst MODELS 2008:97–108
Morin B (2010) Leveraging models from design time to runtime to support dynamic variability. University of Rennes, Ph.D. thesis
Costiou S, Kerboeuf M, Cavarle G, Plantec A (2018) Lub: A pattern for fine grained behavior adaptation at runtime. Sci. Comput. Program. 161:149–171
Sanchez C, Schneider G, Ahrendt W, Bartocci E, Bianculli D, Colombo C, Falcone Y, Francalanza A, Krstic S, Loureno JM, Nickovic D, Pace GJ, Rufino J, Signoles J, Traytel D, Weiss A (2019) A survey of challenges for runtime verification from advanced application domains (beyond software). Int J Form Methods Syst Des 54:279–335
Mzid R, Mraidha C, Babau J-P, Abid M (2019) From real-time design model to RTOS-specific models: a model-driven methodology. Int J Embed Syst 11(6):738–754
Weyns D, Malek S, Andersson J (2010) Forms: a formal reference model for self-adaptation. In: Proceedings of the 7th international conference on autonomic computing (ICAC10), New York, p 205214
Jeannette PA, Wing Edmund M, Clarke M (1996) Formal methods: state of the art and future directions. ACM Comput Surv (CSUR) 28(4):626643
Bowen J, Stavridou V (1993) Formal methods in safety-critical standards. Softw Eng J, 168177
Ostroff Jonathan S (1992) Formal methods for the specification and design of real-time safety critical systems. J Syst Softw 18(1):33–60
IGLESIA DIDACGILDELA, WEYNS DANNY (2015) Mape-k formal templates to rigorously design behaviors for self-adaptive systems. ACM Trans Auton Adapt Syst 10(3):115
Arcaini P, Riccobene E, Scandurra P (2015) Modeling and analyzing mape-k feedback loops for self-adaptation. In: International symposium on software engineering for adaptive and self-managing systems (SEAMS15). IEEE, Piscataway, NJ, USA, p 1323
Younes AB, Ayed Leila JB (2007) Using uml activity diagrams and event b for distributed and parallel applications. In: International computer software and applications conference(COMPSAC)
Tarasyuk A, Pereverzeva I, Troubitsyna E, Latvala T, Nummila L (2012) Formal development and assessment of a reconfigurable on board satellite system. In: International conference on computer safety, reliability, and security, pp 210–222
Babin G, Ameur Yamine AIT, Pantel M (2016) Correct instantiation of a system reconfiguration pattern: a proof and refinement based approach. In: International symposium on high assurance systems engineering
Brambilla M, Cabot J, Wimmer M (2012) Model driven software engineering in practice. Synth Lect Softw Eng 3(1):1–207
Magdich A, Kacem YH, Kerboeuf M, Mahfoudhi A, Abid M (2018) A design pattern-based approach for automatic choice of semi-partitioned and global scheduling algorithms. Inf Softw Technol 997:83–98
Merz S (2000) Model checking: a tutorial overview. In: 4th summer school on modeling and verification of parallel processes. MOVEP, Nantes, France, pp 3–38
Salehie M, Tahvildari L (2009) Self adaptive software: landscape and research challenges. ACM Trans Auton Adapt Syst 4(2):01–42
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Fredj, N., Hadj Kacem, Y. & Abid, M. An event-based approach for formally verifying runtime adaptive real-time systems. J Supercomput 77, 3110–3143 (2021). https://doi.org/10.1007/s11227-020-03386-9
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03386-9