Refinement and Proof Based Development of Systems Characterized by Continuous Functions

The specification of cyber-physical systems usually relies on continuous functions over dense real numbers whereas their implementation is discrete. Proving the correctness of the discrete implementation with respect to the continuous specification remains a challenge in the presence of dense real numbers. In this paper, we propose a refinement-based formal method, relying on Event-B, for such developments. We illustrate our proposal with the development of a simple stability controller for a generic plant model. The continuous function that models the system behavior is refined as a discrete model of the same kind preserving stability expressed as a safety invariants of the continuous model. The obtained discrete model uses discrete time instants modeled on $$\mathbb {N}$$, whereas the continuous model is based on dense time on $$\mathbb {R}$$. The Rodin Platform, together with the Theory plug-in handling the Real datatype and its properties supported the whole developments and proofs.

[1]  Michael J. Butler,et al.  Practical Theory Extension in Event-B , 2013, Theories of Programming and Formal Methods.

[2]  Jean-Michel Muller,et al.  Handbook of Floating-Point Arithmetic (2nd Ed.) , 2018 .

[3]  Richard Banach,et al.  ASM and Controller Synthesis , 2012, ABZ.

[4]  Shengchao Qin,et al.  Core Hybrid Event-B I: Single Hybrid Event-B machines , 2015, Sci. Comput. Program..

[5]  T. Henzinger The theory of hybrid automata , 1996, LICS 1996.

[6]  Huibiao Zhu,et al.  Formalizing Hybrid Systems with Event-B , 2012, ABZ.

[7]  Edward A. Lee,et al.  Introduction to Embedded Systems - A Cyber-Physical Systems Approach , 2013 .

[8]  Huibiao Zhu,et al.  Formalizing hybrid systems with Event-B and the Rodin Platform , 2014, Sci. Comput. Program..

[9]  Daisuke Ishii,et al.  Inductive Verification of Hybrid Automata with Strongest Postcondition Calculus , 2013, IFM.

[10]  Guillaume Melquiond,et al.  Coquelicot: A User-Friendly Library of Real Analysis for Coq , 2015, Math. Comput. Sci..

[11]  Richard Banach,et al.  Formalising the Continuous/Discrete Modeling Step , 2011, Refine@FM.

[12]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[13]  André Platzer,et al.  Logical Analysis of Hybrid Systems - Proving Theorems for Complex Dynamics , 2010 .

[14]  Jean-Raymond Abrial,et al.  Refinement, Decomposition, and Instantiation of Discrete Models: Application to Event-B , 2007, Fundam. Informaticae.

[15]  Patrick Cousot,et al.  The ASTR ´ EE Analyzer , 2005 .

[16]  Eric Goubault,et al.  Static Analyses of the Precision of Floating-Point Operations , 2001, SAS.

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

[18]  Michael J. Butler,et al.  Modelling and Refining Hybrid Systems in Event-B and Rodin , 2016, From Action Systems to Distributed Systems.

[19]  Richard Banach Pliant Modalities in Hybrid Event-B , 2013, Theories of Programming and Formal Methods.

[20]  Rajeev Alur,et al.  Formal verification of hybrid systems , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[21]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[22]  Marc Pantel,et al.  Formal Verification of Runtime Compensation of Web Service Compositions: A Refinement and Proof Based Proposal with Event-B , 2015, 2015 IEEE International Conference on Services Computing.

[23]  Patrick Cousot,et al.  The ASTREÉ Analyzer , 2005, ESOP.

[24]  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.