Component-based Verification in a Synchronous Setting

Formal verification of properties in reactive real-time systems is crucial, as these systems are often safety-critical. Such systems are successfully implemented using synchronous languages, where refinement is a relevant operation. This paper investigates the interplay between this operation and formal verification. It turns out that, while for the refined program component-based verification of properties expressed using suitable temporal logics is easily achieved, component-based verification from the point of view of the refining program is best achieved with observers. Our results are based on a translation of synchronous programs into Boolean automata. Their practical relevance is illustrated with a protocol case study.

[1]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[2]  Lalita Jategaonkar Jagadeesan,et al.  Safety Property Verification of ESTEREL Programs and Applications to Telecommunications Software , 1995, CAV.

[3]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[4]  Leszek Holenderski,et al.  On the Combination of Synchronous Languages , 1997, COMPOS.

[5]  Albert Benveniste,et al.  The synchronous approach to reactive and real-time systems , 1991 .

[6]  A. Merceron,et al.  A Generator of Boolean Acceptors for , 1998 .

[7]  Leszek Holenderski,et al.  The Synchronous Approach to Designing Reactive Systems , 1998, Formal Methods Syst. Des..

[8]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[9]  Bowen Alpern,et al.  Defining Liveness , 1984, Inf. Process. Lett..

[10]  Gérard Berry,et al.  Esterel on hardware , 1992, Philosophical Transactions of the Royal Society of London. Series A: Physical and Engineering Sciences.

[11]  Nicolas Halbwachs,et al.  Synchronous Programming of Reactive Systems , 1992, CAV.

[12]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[13]  Stefan Fischer,et al.  Hardware/software co-design of communication protocols , 1996, Proceedings of EUROMICRO 96. 22nd Euromicro Conference. Beyond 2000: Hardware and Software Design Strategies.

[14]  G. Michele Pinna,et al.  Refinement and modular verification with observers , 2000, Proceedings First Asia-Pacific Conference on Quality Software.

[15]  Florence Maraninchi,et al.  Verifying Quantitative Real-Time Properties of Synchronous Programs , 1993, CAV.

[16]  Monika Müllerburg,et al.  "No collision" in a protocol with n stations: a comparative study of formal proofs , 1999 .

[17]  Agathe Merceron,et al.  Modular verification of ARGOS programs , 1999 .

[18]  Edmund M. Clarke,et al.  Verification Tools for Finite-State Concurrent Systems , 1993, REX School/Symposium.

[19]  Nicolas Halbwachs,et al.  Synchronous Observers and the Verification of Reactive Systems , 1993, AMAST.

[20]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.