A constraint-based approach for specification and verification of real-time systems

We develop a general constraint logic programming (CLP) based framework for specification and verification of real time systems. Our framework is based on the notion of timed automata that have traditionally been used for specifying real time systems. In our framework, a user models the ordering of real time events as the grammar of a language accepted by a timed automata, the real time constraints on these events are then captured as denotations of the grammar productions specified by the user. The grammar can be specified as a Definite Clause Grammar (DCG), while the denotations can be specified in constraint logic. The resulting specification can hence be regarded as a constraint logic program (CLP), and is executable. Many interesting properties of the real time system can be verified by posing appropriate queries to this CLP program. A major advantage of our approach is that it is constructive in nature, i.e., it can be used for computing the conditions under which a property will hold for a given real time system. Our framework also suggests new types of formalisms that we call constraint automata and timed push down automata.

[1]  Jonathan S. Ostroff,et al.  Temporal logic for real-time systems , 1989 .

[2]  Thomas A. Henzinger,et al.  Logics and Models of Real Time: A Survey , 1991, REX Workshop.

[3]  Christoph Brzoska,et al.  Temporal Logic Programming with Metric and Past Operators , 1993, Executable Modal and Temporal Logics.

[4]  Thomas A. Henzinger,et al.  Automatic symbolic verification of embedded systems , 1993, 1993 Proceedings Real-Time Systems Symposium.

[5]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[6]  Roland H. C. Yap,et al.  Constraint Logic Programming and Option Trading , 1987, IEEE Expert.

[7]  Christopher Strachey,et al.  Toward a mathematical semantics for computer languages , 1971 .

[8]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[9]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[10]  Laurent Fribourg,et al.  Concurrent Constraint Automata , 1993, ILPS.

[11]  Michael Fisher,et al.  Executable Modal and Temporal Logics , 1993, Lecture Notes in Computer Science.

[12]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[13]  John G. Cleary,et al.  UPDATES IN A TEMPORAL LOGIC PROGRAMMING LANGUAGE , 1991 .

[14]  Amir Pnueli,et al.  Explicit clock temporal logic , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[15]  David A. Schmidt,et al.  Denotationaisemantics: a methodology for language development , 1986 .

[16]  Martín Abadi,et al.  Temporal Logic Programming , 1989, J. Symb. Comput..

[17]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[18]  Christoph Brzoska,et al.  Temporal Logic Programming and its Relation to Constraint Logic Programming , 1991, ISLP.

[19]  Thomas A. Henzinger,et al.  Temporal proof methodologies for real-time systems , 1991, POPL '91.

[20]  Nancy A. Lynch,et al.  The generalized railroad crossing: a case study in formal verification of real-time systems , 1994, 1994 Proceedings Real-Time Systems Symposium.

[21]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..