A process algebraic framework for specification and validation of real-time systems

Following the trend to combine techniques to cover several facets of the development of modern systems, an integration of Z and CSP, called Circus, has been proposed as a refinement language; its relational model, based on the unifying theories of programming (UTP), justifies refinement in the context of both Z and CSP. In this paper, we introduce Circus Time, a timed extension of Circus, and present a new UTP time theory, which we use to give semantics to Circus Time and to validate some of its laws. In addition, we provide a framework for validation of timed programs based on FDR, the CSP model-checker. In this technique, a syntactic transformation strategy is used to split a timed program into two parallel components: an untimed program that uses timer events, and a collection of timers. We show that, with the timer events, it is possible to reason about time properties in the untimed language, and so, using FDR. Soundness is established using a Galois connection between the untimed UTP theory of Circus (and CSP) and our time theory.

[1]  C. Ghezzi,et al.  A general way to put time in Petri nets , 1989, IWSSD '89.

[2]  Jonathan P. Bowen,et al.  ZB 2002:Formal Specification and Development in Z and B , 2002, Lecture Notes in Computer Science.

[3]  Augusto Sampaio,et al.  A Framework for Specification and Validation of Real-Time Systems Using Circus Actions , 2004, ICTAC.

[4]  Tobias Nipkow,et al.  FM 2006: Formal Methods, 14th International Symposium on Formal Methods, Hamilton, Canada, August 21-27, 2006, Proceedings , 2006, FM.

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

[6]  Jin Song Dong,et al.  A Semantic Foundation for TCOZ in Unifying Theories of Programming , 2003, FME.

[7]  He Jifeng,et al.  Integrating CSP and DC , 2002, Eighth IEEE International Conference on Engineering of Complex Computer Systems, 2002. Proceedings..

[8]  Augusto Sampaio,et al.  An Integrated Approach to Specification and Validation of Real-Time Systems , 2001, FME.

[9]  Jonathan Ostrofi,et al.  Verifying Real-Time Systems with Standard Tools , 2000 .

[10]  Michel A. Reniers,et al.  Analysis of timed processes with data using algebraic transformations , 2005, 12th International Symposium on Temporal Representation and Reasoning (TIME'05).

[11]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

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

[13]  Jifeng He,et al.  Towards a Time Model for Circus , 2002, ICFEM.

[14]  Carroll Morgan,et al.  Programming from specifications (2nd ed.) , 1994 .

[15]  Dirk Beyer,et al.  Improvements in BDD-Based Reachability Analysis of Timed Automata , 2001, FME.

[16]  Clemens Fischer,et al.  How to Combine Z with Process Algebra , 1998, ZUM.

[17]  Jim Woodcock,et al.  Unifying Theories of Interrupts , 2008, UTP.

[18]  He Ji-feng A Denotational Semantics of Timed RSL Using Duration Calculus , 2001 .

[19]  Wang Yi,et al.  Timed Patterns: TCOZ to Timed Automata , 2004, ICFEM.

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

[21]  Jim Woodcock,et al.  Unifying theories in ProofPower-Z , 2006, Formal Aspects of Computing.

[22]  Joël Ouaknine Discrete analysis of continuous behaviour in real-time concurrent systems , 2000 .

[23]  Jonathan P. Bowen,et al.  ZUM '98: The Z Formal Specification Notation , 1998 .

[24]  Ana Cavalcanti,et al.  Automatic Translation from Circus to Java , 2006, FM.

[25]  Augusto Sampaio,et al.  A Refinement Strategy for Circus , 2003, Formal Aspects of Computing.

[26]  Steve A. Schneider,et al.  Concurrent and Real-time Systems: The CSP Approach , 1999 .

[27]  Jim Woodcock,et al.  The Semantics of Circus , 2002, ZB.

[28]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[29]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[30]  Jim Woodcock,et al.  A Tutorial Introduction to CSP in Unifying Theories of Programming , 2004, PSSE.

[31]  Jim Davies,et al.  A Brief History of Timed CSP , 1995, Theor. Comput. Sci..

[32]  David Lee The semantics of just , 1987 .

[33]  Liang Chen,et al.  Timed processes : models, axioms and decidability , 1993 .

[34]  Andy Evans Visualising Concurrent Z Specifications , 1994, Z User Workshop.

[35]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[36]  Jim Woodcock,et al.  Operational Semantics for Model Checking Circus , 2005, FM.

[37]  Ian J. Hayes,et al.  FM 2005: Formal Methods, International Symposium of Formal Methods Europe, Newcastle, UK, July 18-22, 2005, Proceedings , 2005, FM.

[38]  Clemens Fischer Combination and implementation of processes and data: from CSP-OZ to Java , 2000 .

[39]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

[40]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[41]  Jim Woodcock,et al.  A UTP semantics for Circus , 2009, Formal Aspects of Computing.

[42]  C. A. R. Hoare,et al.  A Calculus of Durations , 1991, Inf. Process. Lett..

[43]  Graeme Smith,et al.  Temporal Logic and Z Specifications , 1989, Aust. Comput. J..

[44]  Augusto Sampaio,et al.  Specification and Validation of the SACI-1 On-Board Computer Using Timed-CSP-Z and Petri Nets , 2003, ICATPN.

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

[46]  Ouaknine Joel,et al.  Discrete analysis of continuous behaviour in real-time concurrent systems , 2000 .

[47]  Jim Woodcock,et al.  Slotted-circus: a UTP-family of reactive theories , 2007 .

[48]  Jim Woodcock,et al.  The Miracle of Reactive Programming , 2008, UTP.

[49]  A. W. Roscoe,et al.  A Timed Model for Communicating Sequential Processes , 1986, Theor. Comput. Sci..

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

[51]  Jin Song Dong,et al.  Timed Communicating Object Z , 2000, IEEE Trans. Software Eng..

[52]  Ian J. Hayes,et al.  FM2005: Formal Methods , 2005, FM 2005.

[53]  Luming Lai,et al.  A comparison of real-time formal specification languages , 1997 .

[54]  Steve A. Schneider,et al.  Using a Process Algebra to Control B Operations , 1999, IFM.

[55]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[56]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[57]  Brian F. Chellas Modal Logic: Normal systems of modal logic , 1980 .