Constraint Logic Programming for Reasoning About Discrete Event Processes

Abstract The purpose of this paper is to show that constraint logic programming is a useful computational logic for modeling, simulating, and verifying real-time discrete event processes. The designer's knowledge about discrete event processes can be represented by a constraint logic program in a fashion that stays close to the mathematical definition of the processes, and can be used to semiautomate verification of possibly infinite-state systems. The constraint language CPL( R ) is used to illustrate verification techniques.

[1]  Insup Lee,et al.  Timed Acceptances: A Model of Time Dependent Processes , 1988, FTRTFT.

[2]  Richard A. Kemmerer,et al.  RT-ASLAN: A specification language for real-time systems , 1986, IEEE Transactions on Software Engineering.

[3]  Ben C. Moszkowski,et al.  A Temporal Logic for Multilevel Reasoning about Hardware , 1985, Computer.

[4]  Martín Abadi,et al.  Nonclausal Temporal Deduction , 1985, Logic of Programs.

[5]  Niklaus Wirth,et al.  Toward a discipline of real-time programming , 1977, CACM.

[6]  Miguel Menasche,et al.  PAREDE: An Automated Tool for the Analysis of Time(d) Petri Nets , 1985, Petri Nets and Performance Models.

[7]  Pamela Zave,et al.  An Operational Approach to Requirements Specification for Embedded Systems , 1982, IEEE Transactions on Software Engineering.

[8]  Inmos Limited,et al.  Occam Programming Manual , 1984 .

[9]  J. Kopainsky,et al.  Principles and engineering of process control with Petri nets , 1988 .

[10]  P. Merlin,et al.  Recoverability of Communication Protocols - Implications of a Theoretical Study , 1976, IEEE Transactions on Communications.

[11]  W. M. Wonham,et al.  A framework for real-time discrete event control , 1990 .

[12]  Pascal Van Hentenryck Constraint satisfaction in logic programming , 1989, Logic programming.

[13]  Arthur J. Bernstein,et al.  Proving real-time properties of programs with temporal logic , 1981, SOSP.

[14]  N. Wirth Towards a discipline of real-time programming , 1977 .

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

[16]  Nancy G. Leveson,et al.  Safety Analysis Using Petri Nets , 1987, IEEE Transactions on Software Engineering.

[17]  A. W. Roscoe,et al.  A Timed Model for Communicating Sequential Processes , 1986, ICALP.

[18]  Jonathan S. Ostroff,et al.  Deciding Properties of Timed Transition Models , 1990, IEEE Trans. Parallel Distributed Syst..

[19]  Fred Krögr Temporal Logic Of Programs , 1987 .

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

[21]  Alain Colmerauer,et al.  Opening the Prolog III universe , 1987 .

[22]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[23]  Robert S. Boyer,et al.  A computational logic handbook , 1979, Perspectives in computing.

[24]  Zohar Manna,et al.  How to cook a temporal proof system for your pet language , 1983, POPL '83.

[25]  Willem P. de Roever,et al.  Real-time programming and asynchronous message passing , 1983, PODC '83.

[26]  Morris Sloman,et al.  Constructing Distributed Systems in Conic , 1989, IEEE Trans. Software Eng..

[27]  George J. Milne,et al.  CIRCAL and the representation of communication, concurrency, and time , 1985, TOPL.

[28]  Paul J. Voda Types of Trilogy , 1988, ICLP/SLP.

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

[30]  Morris Sloman,et al.  A software architecture for distributed computer control systems , 1984, Autom..

[31]  Amir Pnueli,et al.  Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends , 1986, Current Trends in Concurrency.

[32]  C. Ramchandani,et al.  Analysis of asynchronous concurrent systems by timed petri nets , 1974 .

[33]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[34]  David B. Skillicorn,et al.  Using Higher-order Logic for Modular Specification of Real-time Distributed Systems , 1988, FTRTFT.

[35]  A. A. Aaby,et al.  Specification of real-time systems in real-time temporal interval logic , 1988, Proceedings. Real-Time Systems Symposium.

[36]  Jennifer Widom,et al.  A Temporal-Logic Based Compositional Proof System for Real-Time Message Passing , 1989, PARLE.

[37]  William J. Quirk Verification and Validation of Real-Time Software , 1985, Springer Berlin Heidelberg.

[38]  Henry Ledgard,et al.  Reference Manual for the ADA® Programming Language , 1983, Springer New York.

[39]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[40]  Wlodzimierz M. Zuberek,et al.  Timed Petri nets and preliminary performance evaluation , 1980, ISCA '80.

[41]  Jonathan S. Ostroff,et al.  Modelling, Specifying, and Verifying Real-Time Embedded Computer Systems , 1987, IEEE Real-Time Systems Symposium.

[42]  Willem P. de Roever,et al.  Compositional Semantics for Real-time Distributed Computing , 1985, Logic of Programs.

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