Hippo: A Formal-Model Execution Engine to Control and Verify Critical Real-Time Systems - Université Toulouse 1 Capitole Accéder directement au contenu
Article Dans Une Revue Journal of Systems and Software Année : 2021

Hippo: A Formal-Model Execution Engine to Control and Verify Critical Real-Time Systems

Résumé

The design of embedded real-time systems requires specific toolchains to guarantee time constraints and safe behavior. These tools need to be managed in a coherent way all along the design process and need to address timing constraints and execution semantic in a holistic way during the system's modeling, verification, and implementation phases. However, modeling languages used by these tools do not always share a common semantic. This can introduce a dangerous gap between what designers want to express, what is verified and the behavior of the final executable code. In order to address this problem, we propose a new toolchain, called Hippo, that integrates tools for design, verification and implementation built around a common formalism. Our formalism is based on an extension of the Fiacre specification language with runtime features, such as asynchronous function calls and synchronization with events. We formally define the behavior of these additions and describe a compiler to generate both an executable code and a verifiable model from the same highlevel specification. The execution of the resulting code is supported by a dedicated execution engine that guarantees real-time behavior and that reduces the semantic gap between high-level models and executable code. We illustrate our approach with a non trivial use case: the autonomous navigation of a Segway RMP440 robotic platform. We describe how we obtain a Hippo model from an initial specification of the system based on the robotics programming framework GenoM. We illustrate our approach by describing how the Hippo runtime is used to control this robot, but also how we can use formal verification to check critical properties on this system.
Fichier principal
Vignette du fichier
main_jss.pdf (4.18 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03017661 , version 1 (21-11-2020)
hal-03017661 , version 2 (25-11-2020)
hal-03017661 , version 3 (21-04-2021)
hal-03017661 , version 4 (15-06-2021)

Identifiants

Citer

Pierre-Emmanuel Hladik, Félix Ingrand, Silvano Dal Zilio, Reyyan Tekin. Hippo: A Formal-Model Execution Engine to Control and Verify Critical Real-Time Systems. Journal of Systems and Software, 2021, 181, pp.111033. ⟨10.1016/j.jss.2021.111033⟩. ⟨hal-03017661v4⟩
305 Consultations
43 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More