A prototyping environment for specifying, executing and checking communicating real‐time state machines

We describe a toolset, consisting of a graphical editor, a simulator, and an assertion checker, for prototyping real‐time systems that are specified as Communicating Real‐Time State machines (CRSMs). CRSMs are timed state machines that communicate synchronously over unidirectional channels. The system behavior of CRSMs is characterized by a time‐stamped trace of communication events. Safety and timing assertions on the trace of communication events are expressed in a notation based on Real‐Time Logic. We illustrate the simulator and assertion checker by specifying a traffic‐light controller and other real‐time systems. There are two main contributions in this work: first, the prototyping environment serves as a validation of the model, the execution algorithm and paper design of example CRSMs, demonstrating that the ideas are realizable and potentially useful. Secondly, the paper presents a novel and useful method of specifying safety and timing properties, and checking them during simulation.

[1]  Alan C. Shaw,et al.  Communicating Real-Time State Machines , 1992, IEEE Trans. Software Eng..

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

[3]  Paul C. Clements,et al.  Clairvoyance, capricious timing faults, causality, and real-time specifications , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[4]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

[5]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[6]  Ragunathan Rajkumar,et al.  Monitoring timing constraints in distributed real-time systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[7]  Luqi,et al.  A Prototyping Language for Real-Time Software , 1988, IEEE Trans. Software Eng..

[8]  Matthew K. Franklin,et al.  Multilevel specification of real time systems , 1991, CACM.

[9]  Doron Drusinsky,et al.  Using statecharts for hardware description and synthesis , 1989, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Sitaram C. V. Raju An Automatic Verification Technique for Communicating Real-Time State Machines , 1993 .

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

[12]  Nancy A. Lynch,et al.  Time Bounds for Real-Time Process Control in the Presence of Timing Uncertainty , 1994, Inf. Comput..

[13]  Marc Donner,et al.  Run-time monitoring of real-time systems , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[14]  Mark S. Ackerman,et al.  The X Toolkit: More Bricks for Building User-Interfaces or Widgets for Hire , 1988, USENIX Winter.

[15]  Farnam Jahanian,et al.  A formalism for monitoring real-time constraints at run-time , 1990, [1990] Digest of Papers. Fault-Tolerant Computing: 20th International Symposium.

[16]  Bran Selic,et al.  ROOM: an object-oriented methodology for developing real-time systems , 1992, [1992] Proceedings of the Fifth International Workshop on Computer-Aided Software Engineering.

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