Hybrid Systems and Contracts with Zélus and DynIbex Zeldyn: a Compilation and Verification Toolchain
Résumé
Modeling cyber-physical systems is known to be a challenging task. Model-based programming frameworks for CPS are an appealing approach to tackle this challenge, by providing languages close to engineers. However, these tools usually lack formal semantics, causing simulation results to vary from one version to another. A second particularity in the design of CPS is the presence of uncertainties due to parameters not well known at design-time. Monte-Carlo methods are classically used to circumvent this issue but they do not provide a complete coverage. Another solution is to rely on set-based simulation methods. On the one hand, control command systems find an elegant programming solution in synchronous languages. Zélus is such a language extended to deal with CPS, with a well-defined semantics. On the other hand, many set-based simulation libraries exist with a lack of proper front-end to make them suitable for industrial use. We propose to bridge the gap between set-based simulation and development frameworks for CPS by designing a new backend and runtime for Zélus, using set-based methods and guaranteed arithmetic. This runtime is described by very simple set-based primitives in order to be implemented in any set-based simulation library. An instance of the runtime is given with the DynIbex library to prove the effectiveness of the proposed approach. Finally, a mechanism of contracts is added to state and verify properties on the simulated system.
Origine | Fichiers produits par l'(les) auteur(s) |
---|