The synchronous data flow programming language LUSTRE

The authors describe LUSTRE, a data flow synchronous language designed for programming reactive systems-such as automatic control and monitoring systems-as well as for describing hardware. The data flow aspect of LUSTRE makes it very close to usual description tools in these domains (block-diagrams, networks of operators, dynamical sample-systems, etc.), and its synchronous interpretation makes it well suited for handling time in programs. Moreover, this synchronous interpretation allows it to be compiled into an efficient sequential program. The LUSTRE formalism is very similar to temporal logics. This allows the language to be used for both writing programs and expressing program properties, which results in an original program verification methodology. >

[1]  Gerard J. Holzmann,et al.  On Limits and Possibilities of Automated Protocol Analysis , 1987, PSTV.

[2]  John Plaice Sémantique et compilation de LUSTRE, un langage déclaratif synchrone , 1988 .

[3]  Nicolas Halbwachs,et al.  Minimal Model Generation , 1990, CAV.

[4]  Gérard Berry,et al.  Real Time Programming: Special Purpose or General Purpose Languages , 1989, IFIP Congress.

[5]  Manfred Broy,et al.  Functional Specification of Time Sensitive Communicating Systems , 1989, REX Workshop.

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

[7]  Courcoubetis M. Vardi P. Wolper M. Yannakakis Memory-E cient Algorithms for theVeri cationof Temporal PropertiesC , 1992 .

[8]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[9]  Nicolas Halbwachs,et al.  From a Synchronous Declarative Language to a Temporal Logic Dealing with Multiform Time , 1988, FTRTFT.

[10]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[11]  Zohar Manna,et al.  Reasoning in Interval Temporal Logic , 1983, Logic of Programs.

[12]  Nicolas Halbwachs,et al.  LUSTRE: A declarative language for programming synchronous systems* , 1987 .

[13]  P. M. Melliar-Smith,et al.  An interval logic for higher-level temporal reasoning , 1983, PODC '83.

[14]  Robert de Simone,et al.  An autograph primer , 1989 .

[15]  Rajeev Alur,et al.  Model-checking for real-time systems , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[16]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[17]  Thomas A. Henzinger,et al.  A really temporal logic , 1989, 30th Annual Symposium on Foundations of Computer Science.

[18]  Jean Vuillemin,et al.  Introduction to programmable active memories , 1990 .

[19]  Daniel Pilaud,et al.  Using the Declarative Language LUSTRE for Circuit Verification , 1991 .

[20]  Manfred Broy,et al.  Functional specification of time-sensitive communicating systems , 1993, TSEM.

[21]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[22]  Nicolas Halbwachs,et al.  Specifying, Programming and Verifying Real-Time Systems Using a Synchronous Declarative Language , 1989, Automatic Verification Methods for Finite State Systems.

[23]  James R. McGraw,et al.  The VAL Language: Description and Analysis , 1982, TOPL.

[24]  Joseph Sifakis,et al.  Verification in XESAR of the Sliding Window Protocol , 1987, PSTV.

[25]  E. Clarke,et al.  Automatic Veriication of Nite-state Concurrent Systems Using Temporal-logic Speciications. Acm , 1993 .

[26]  E. A. Ashcroft,et al.  LUCID: The data flow programming language , 1985 .

[27]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.