Extending Statecharts with Temporal Logic

The task of designing large real-time reactive systems, which interact continuously with their environment and exhibit concurrency properties, is a challenging one. The authors explore the utility of a combination of behavior and function specification languages in specifying such systems and verifying their properties. An existing specification language, statecharts, is used to specify the behavior of real-time reactive systems, while a new logic-based language called FNLOG (based on first-order predicate calculus and temporal logic) is designed to express the system functions over real time. Two types of system properties, intrinsic and structural, are proposed. It is shown that both types of system properties are expressible in FNLOG and may be verified by logical deduction, and also hold for the corresponding behavior specification.

[1]  Maurice Herlihy,et al.  Specifying graceful degradation in distributed systems , 1987, PODC '87.

[2]  Anthony I. Wasserman,et al.  Extending State Transition Diagrams for the Specification of Human–Computer Interaction , 1985, IEEE Transactions on Software Engineering.

[3]  Van Nguyen,et al.  A model and temporal proof system for networks of processes , 1985, POPL '85.

[4]  Robert J. K. Jacob,et al.  Using formal specifications in the design of a human-computer interface , 1983, CACM.

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

[6]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[7]  Z. Manna,et al.  Verification of concurrent programs: a temporal proof system , 1983 .

[8]  Brent Hailpern Verifying Concurrent Processes Using Temporal Logic , 1982, Lecture Notes in Computer Science.

[9]  Stefan Feyock Transition Diagram-Based CAI/HELP Systems , 1977, Int. J. Man Mach. Stud..

[10]  David L. Parnas,et al.  On the use of transition diagrams in the design of a user interface for an interactive computer system , 1969, ACM '69.

[11]  Robert S. Boyer,et al.  The Correctness Problem in Computer Science , 1982 .

[12]  Arcot Sowmya,et al.  A Semantics-Preserving Transformation of Statecharts to FNLOG , 1997 .

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

[14]  Zohar Manna,et al.  Clocked Transition Systems , 1996 .

[15]  S. Ramesh,et al.  A compositional axiomatisation of safety and liveness properties for statecharts , 1990 .

[16]  Jozef Hooman,et al.  A Compositional Axiomatization of Statecharts , 1992, Theor. Comput. Sci..

[17]  Gérard Berry,et al.  The ESTEREL Synchronous Programming Language and its Mathematical Semantics , 1984, Seminar on Concurrency.

[18]  Brent Hailpern,et al.  Modular Verification of Computer Communication Protocols , 1983, IEEE Trans. Commun..

[19]  Flaviu Cristian A Rigorous Approach to Fault-Tolerant System Development (Extended Abstract) , 1983, Logic of Programs.

[20]  P. M. Melliar-Smith,et al.  From State Machines to Temporal Logic: Specification Methods for Protocol Standards , 1982, The Analysis of Concurrent Systems.

[21]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[22]  Maurice Herlihy,et al.  Specifying Graceful Degradation , 1991, IEEE Trans. Parallel Distributed Syst..

[23]  Mary Shaw,et al.  Specifying reliability as a software attribute , 1982 .

[24]  Daniel Schwabe,et al.  Specification and Verification of Communication Protocols in AFFIRM Using State Transition Models , 1982, IEEE Transactions on Software Engineering.

[25]  Ruurd Kuiper,et al.  Paradigms for Real-time Systems , 1988, FTRTFT.

[26]  William A. Woods,et al.  Computational Linguistics Transition Network Grammars for Natural Language Analysis , 2022 .

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

[28]  Raymond J. A. Buhr,et al.  Temporal Logic-Based Deadlock Analysis For Ada , 1991, IEEE Trans. Software Eng..

[29]  Willem P. de Roever,et al.  Fairness Assumptions for CSP in a Temporal Logic Framework , 1982, Formal Description of Programming Concepts.

[30]  Amir Pnueli,et al.  In Transition From Global to Modular Temporal Reasoning about Programs , 1989, Logics and Models of Concurrent Systems.

[31]  P. M. Melliar-Smith,et al.  Formal Specification and Mechanical Verification of SIFT: A Fault-Tolerant Flight Control System , 1982, IEEE Transactions on Computers.

[32]  Arcot Sowmya,et al.  Verification of timing properties in a statecharts-based model of real-time reactive systems , 1992 .

[33]  Rajeev Alur,et al.  Model-Checking for Probabilistic Real-Time Systems (Extended Abstract) , 1991, ICALP.

[34]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[35]  Ingemar J. Cox,et al.  Concurrent Programming and Robotics , 1989, Int. J. Robotics Res..

[36]  Benjamin Kuipers,et al.  Navigation and Mapping in Large Scale Space , 1988, AI Mag..

[37]  Henrik Ejersbo Jensen Model Checking Probabilistic Real Time Systems , 1996 .

[38]  Jjm Jozef Hooman,et al.  A compositional semantics for Statecharts , 1987 .

[39]  Amir Pnueli,et al.  The Glory of the Past , 1985, Logic of Programs.

[40]  Michael C. Browne,et al.  An Improved Algorithm for the Automatic Verification of Finite State Systems Using Temporal Logic , 1986, LICS.

[41]  Pamela Zave,et al.  A distributed alternative to finite-state-machine specifications , 1985, TOPL.

[42]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

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

[44]  Jonathan S. Ostroff,et al.  Formal methods for the specification and design of real-time safety critical systems , 1992, J. Syst. Softw..

[45]  R. Gerth,et al.  Modeling Statecharts Behaviour in a Fully Abstract Way , 1988, CAAP.

[46]  Donald I. Good,et al.  Principles of proving concurrent programs in Gypsy , 1979, POPL '79.

[47]  Reino Kurki-Suonio,et al.  On the design of reactive systems , 1988, BIT.

[48]  Amir Pnueli,et al.  Applications of Temporal Logic to the Specification of Real-time Systems , 1988, FTRTFT.

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

[50]  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.

[51]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[52]  Jonathan S. Ostroff,et al.  A visual toolset for the design of real-time discrete-event systems , 1997, IEEE Trans. Control. Syst. Technol..

[53]  Jeannette M. Wing,et al.  Extending Ina Jo with Temporal Logic , 1989, IEEE Trans. Software Eng..

[54]  A. Prasad Sistla,et al.  Reasoning with Many Processes , 1987, LICS.

[55]  D. J. Holding,et al.  The use of temporal Petri nets in the specification and design of systems with safety implications , 1991 .

[56]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[57]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

[58]  Leslie Lamport,et al.  What Good is Temporal Logic? , 1983, IFIP Congress.