Simulation and Verification of Asynchronous Systems by means of a Synchronous Model

Many critical real-time embedded systems are implemented as a set of processes that execute periodically with bounded jitter and communicate with bounded transmission delay. The quasi-synchronous abstraction was introduced by P. Caspi for model-checking the safety properties of applications running on such systems. The simplicity of the abstraction is appealing: the only events are process activations; logical steps account for transmission delays; and no process may be activated more than twice between two successive activations of any other. We formalize the relation between the real-time model and the quasi-synchronous abstraction by introducing the notion of a unitary discretization. Even though the abstraction has been applied several times in the literature, we show, surprisingly, that it is not sound for general systems of more than two processes. Our central result is to propose necessary and sufficient conditions on both communication topologies and timing parameters to recover soundness.

[1]  Paul Caspi,et al.  Automatic Distribution of Reactive Systems for Asynchronous Networks of Processors , 1999, IEEE Trans. Software Eng..

[2]  Michael J. Fischer,et al.  Sacrificing serializability to attain high availability of data in an unreliable network , 1982, PODS.

[3]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[4]  Peter Robinson,et al.  The Asynchronous Bounded-Cycle Model , 2008, SSS.

[5]  Abdoulaye Gamatié,et al.  The SIGNAL approach to the design of system architectures , 2003, 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2003. Proceedings..

[6]  Nancy A. Lynch,et al.  Bounds on the time to reach agreement in the presence of timing uncertainty , 1991, STOC '91.

[7]  Friedemann Mattern,et al.  Virtual Time and Global States of Distributed Systems , 2002 .

[8]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[9]  Abdoulaye Gamatié,et al.  Synchronous modeling of avionics applications using the SIGNAL language , 2003, The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings..

[10]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[11]  Flaviu Cristian,et al.  Synchronous and Asynchronous Group Communication. , 1996 .

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

[13]  Marcos K. Aguilera,et al.  Communication-efficient leader election and consensus with limited link synchrony , 2004, PODC '04.

[14]  Robin Milner,et al.  On relating synchrony and asynchrony , 1980 .

[15]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[16]  Ingolf Krüger,et al.  A Verification Approach for GALS Integration of Synchronous Components , 2005, FMGALS@MEMOCODE.

[17]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[18]  Paul Caspi,et al.  Embedded Control: From Asynchrony to Synchrony and Back , 2001, EMSOFT.

[19]  Paul Caspi,et al.  About the Design of Distributed Control Systems: The Quasi-Synchronous Approach , 2001, SAFECOMP.

[20]  Marc Pouzet,et al.  N-synchronous Kahn networks: a relaxed model of synchrony for real-time systems , 2006, POPL '06.

[21]  Ellen Sentovich,et al.  Multiclock Esterel , 2001, CHARME.

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

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

[24]  Paul Caspi,et al.  Threshold and Bounded-Delay Voting in Critical Control Systems , 2000, FTRTFT.

[25]  Alberto L. Sangiovanni-Vincentelli,et al.  Tag machines , 2005, EMSOFT.

[26]  Cesare Tinelli,et al.  Scaling Up the Formal Verification of Lustre Programs with SMT-Based Techniques , 2008, 2008 Formal Methods in Computer-Aided Design.

[27]  Jean-Christophe Le Lann,et al.  POLYCHRONY for System Design , 2003, J. Circuits Syst. Comput..

[28]  Norman Scaife,et al.  Integrating model-based design and preemptive scheduling in mixed time- and event-triggered systems , 2004, Proceedings. 16th Euromicro Conference on Real-Time Systems, 2004. ECRTS 2004..

[29]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[30]  Nicolas Halbwachs,et al.  Synchronous modeling and validation of schedulers dealing with shared resources 1 , 2008 .

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

[32]  Alberto L. Sangiovanni-Vincentelli,et al.  Heterogeneous reactive systems modeling: capturing causality and the correctness of loosely time-triggered architectures (LTTA) , 2004, EMSOFT '04.

[33]  F. Cristian Synchronous and Asynchronous Group Communication (long Version) , 1996 .

[34]  S. Ramesh,et al.  Communicating reactive processes , 1993, POPL '93.

[35]  Pascal Raymond Recognizing Regular Expressions by Means of Dataflow Networks , 1996, ICALP.

[36]  Benoît Caillaud,et al.  Correct-by-construction asynchronous implementation of modular synchronous specifications , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[37]  Luciano Lavagno,et al.  Metropolis: An Integrated Electronic System Design Environment , 2003, Computer.

[38]  Christof Fetzer,et al.  On the Possibility of Consensus in Asynchronous Systems with Finite Average Response Times , 2005, 25th IEEE International Conference on Distributed Computing Systems (ICDCS'05).

[39]  Nicolas Halbwachs,et al.  Simulation and Verification of Asynchronous Systems by means of a Synchronous Model , 2006, ACSD.

[40]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[41]  Hermann Kopetz,et al.  The time-triggered architecture , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[42]  Nicolas Halbwachs,et al.  Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE , 1992, IEEE Trans. Software Eng..

[43]  Stavros Tripakis,et al.  From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications , 2003, LCTES '03.