Skip to main content
Log in

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

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2): 183–235

    Article  MATH  MathSciNet  Google Scholar 

  2. Beyer D (2001) Improvements in BDD-based reachability analysis of timed automata. In: FME 2001: formal methods for increasing software productivity. Lecture notes in computer science, vol 2021. Springer, Berlin, pp 318–343

  3. Bernstein A, Harter PK (1981) Proving real-time properties of programs with temporal logic. In: ACM symposium on operating system principles, pp 1–11

  4. Bengtsson J, Larsen KG, Larsson F, Pettersson P, Yi W (1995) Uppaal—a tool suite for automatic verification of real-time systems. In: Workshop on verification and control of hybrid systems III, number 1066 in Lecture notes in computer science. Springer, Berlin, pp 232–243

  5. Butterfield A, Sherif A, Woodcock JCP (2007) Slotted Circus: A UTP-family of reactive theories. In: International conference on formal enginneering. Lecture Notes in Computer Science. Springer, Berlin

  6. Chun KY, Hung DV (2004) Verifying real-time systems using untimed model checking tools. In: Technical report UNU-IIST-TR-3002, The United Nations University, International Institute for Software Engineering

  7. Chen L (1993) Timed processes: models, axioms and decidability. PhD thesis, The University of Edinburgh, Department of Computer Science

  8. Chellas BF (1999) Modal Logic: An Introduction. Cambridge University Press, London

    Google Scholar 

  9. Chaochen Z, Hoare CAR, Ravn AP (1991) A calculus of duration. Inf Process Lett 40: 269–276

    Article  MATH  MathSciNet  Google Scholar 

  10. Cavalcanti ALC, Sampaio ACA, Woodcock JCP (2003) A refinement strategy for Circus. Formal Aspects Comput 15(2-3): 146–181

    Article  MATH  Google Scholar 

  11. Cavalcanti ALC, Woodcock JCP (2006) A tutorial introduction to CSP in unifying theories of programming. In: Refinement techniques in software engineering, Lecture notes in computer science, vol 3167. Springer, Berlin, pp 220–268

  12. Dong JS, Hao P, Qin S, Sun J, Wang Y (2004) Timed patterns: TCOZ to timed automata. In: International conference on formal engineering methods. Lecture notes in computer science. Springer, Berlin

  13. Dijkstra EW (1976) A Discipline of Programming. Prentice-Hall, New Jersey

    MATH  Google Scholar 

  14. Duke R, Smith G (1989) Temporal logic and z specifications. Aust Comput J 21(2): 62–66

    Google Scholar 

  15. Davies J, Schneider S (1995) A brief history of Timed CSP. Theor Comput Sci 138(2): 243–271

    Article  MATH  MathSciNet  Google Scholar 

  16. Evans AS, Holton DRW, Lai LM, Watson P (1997) A comparison of real-time formal specification languages. In: Duke DJ, Evans AS (eds) Northern formal methods workshop, electronic workshops in computer science. Springer, Berlin

    Google Scholar 

  17. Evans AS (1994) Visualising concurrent Z specifications. In: Boen JP, Hall J (eds) Z user workshop, workshops in computing. Springer, Berlin, pp 269–281

    Google Scholar 

  18. Freitas AF, Cavalcanti ALC (2006) Automatic translation from Circus to Java. In: Misra J, Nipkow T, Sekerinski E (eds) FM 2006: formal methods. Lecture notes in computer science, vol 4085. Springer, Berlin, pp 115–130

    Google Scholar 

  19. Fischer C (1998) How to combine Z with a process algebra. In: Bowen J, Fett A, Hinchey M (eds) ZUM’98: the Z formal specification notation. Springer, Berlin

    Google Scholar 

  20. Fischer C (2000) Combination and implementation of processes and data: from CSP-OZ to Java. PhD thesis, Fachbereich Informatik Universität Oldenburg

  21. Formal Systems (Europe) Ltd. Failures-divergence refinement, 1997 Revision 2.0.

  22. Freitas LJS (2006) Model Checking Circus. PhD thesis, University of York, Department of Computer Science

  23. Ghezzi C, Mandrioli D, Morasca S, Pezze M (1989) A general way to put time in petri nets. In: Fifth International workshop on Software Specification and Design, pp 60–67. IEEE Computer Society and ACM

  24. Ghezzi C, Pezze M (1992) Cabernet: an environment for the specification and verification of real-time systems. In: DECUS Europe Symposium

  25. Hoare CAR, He Jifeng (1998) Unifying Theories of Programming. Prentice-Hall

  26. Hoare CAR (1985) Communicating Sequential Processes. Prentice-Hall, New Jersey

    MATH  Google Scholar 

  27. Jahanian F, Mok AK (1986) Safety analysis of timing properties in real-time systems. IEEE Trans Softw Eng 12(9): 890–904

    Google Scholar 

  28. He Jifeng, Verbovskiy V (2002) Integrating CSP and DC. R 248, International Institute for Software Technology, The United Nation University

  29. Lamport L (1994) The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16(3): 872–923

    Article  Google Scholar 

  30. Li L, Jifeng He (1999) A Denotational Semantics of Timed RSL using Duration Calculus. R 168, International Institute for Software Technology, The United Nation University

  31. Larsen KG, Pettersson P, Yi W (1997) UPPAAL in a Nutshell. International Journal on Software Tools for Technology Transfer

  32. Mahony B, Dong JS (2000) Timed Communicating Object Z. IEEE Trans Softw Eng 26(2): 150–177

    Article  Google Scholar 

  33. Meyer O (2001) Structural decomposition of timed CSP and its application in real-time testing. Master’s thesis, University of Bremen

  34. Morgan CC (1994) Programming from specifications, 2nd edn. Prentice-Hall, New Jersey

    MATH  Google Scholar 

  35. Murata T (1989) Petri nets: properties, analysis and applications. Proc IEEE 77(4): 541–580

    Article  Google Scholar 

  36. McEwan A, Woodcock JCP (2009) Unifying Theories of Interrupts. In: Unifying Theories of Programming 2008. Lecture notes in computer science. Springer, Berlin

  37. Oliveira MVM, Cavalcanti ALC, Woodcock JCP (2007) A UTP Semantics for Circus. Formal Aspects of Computing, online first

  38. Oliveira MVM, Cavalcanti ALC, Woodcock JCP (2007) Unifying Theories in ProofPowerZ. Formal Aspects of Computing, online first

  39. Oliveira MVM formal derivation of state-rich reactive programs using Circus. PhD thesis, University of York, 2006

  40. Ostro J, Ng H (1996) Verifying real-time systems with standard tools. In: AMAST workshop on real-time systems

  41. Ouaknine J (2001) Discrete analysis of continuous behaviour in real-time concurrent systems. PhD thesis, Oxford University

  42. Pnueli A (1977) The temporal logic of programs. In: 18th IEEE symposium foundations of computer science, pp 46–57

  43. Qin S, Dong JS, Chin WN (2003) A semantic foundation for TCOZ in unifying theories of programming. In: Araki K, Gnesi S, Mandrioli D (eds) FME2003: formal methods. Lecture notes in computer sscience, vol 2805. Springer, Berlin, pp 321–340

    Google Scholar 

  44. Roscoe AW (1998) The theory and practice of concurrency. Prentice-Hall series in computer science. Prentice-Hall, New Jersey

    Google Scholar 

  45. Reed GM, Roscoe AW (1988) A timed model for communicating sequential processes. Theor Comput Sci 58: 249–261

    Article  MATH  MathSciNet  Google Scholar 

  46. Reniers MA, Usenko YS (2005) Analysis of timed processes with data using algebraic transformations. In: International symposium on temporal representation and reasoning, pp 192–194. IEEE Computer Society

  47. Schneider S (2000) Concurrent and Real-time Systems: The CSP Approach. Wiley, London

    Google Scholar 

  48. Sherif A (2006) A framework for specification and validation of real-time systems using Circus actions. PhD thesis, Centro de Informática/UFPE, Brazil

  49. Sherif A, He Jifeng (2002) Towards a time model for circus. In: George C, Miao H (eds) International conference on formal engineering methods. Lecture notes in computer sscience, vol 2495. Springer, Berlin, pp 613–624

    Google Scholar 

  50. Sul RH, He Jifeng (2003) A complete verification system for timed RSL. R 275, International Institute for Software Technology, The United Nation University

  51. Sherif A, He Jifeng, Cavalcanti ALC, Sampaio ACA (2005) A framework for specification and validation of real-time systems using circus actions. In: Liu Z, Araki K (eds) International colloquium on theoretical aspects of computing. Lecture notes in computer science, vol 3407. Springer, Berlin, pp 478–493

    Google Scholar 

  52. Sherif A, Sampaio ACA, Cavalcante S (2001) An integrated approach to specification and validation of real-time systems. In: Formal Methods Europe. Lecture notes in computer science, vol 2021. Springer, Berlin, pp 278–299

  53. Sherif A, Sampaio ACA, Cavalcante S (2003) Specification and validation of the saci-1 on-board computer using timed-csp-z and petri nets. In: International conference On application and theory of Petri Nets, pp 161–180

  54. Turski WM, Maibaum TSE (1987) The specification of computer systems. International computer science series. Addison-Wesley, Reading

    Google Scholar 

  55. Toyn I, (ed) (2002) Information technology—Z formal specification notation—syntax, type system and semantics. ISO, ISO/IEC 13568:2002(E)

  56. Treharne H, Schneider S (1999) Using a process algebra to control B OPERATIONS. In: 1st International conference on integrated formal methods—IFM 1999, pp 437–457. Springer, Berlin

  57. Woodcock JCP, Cavalcanti ALC (2002) The semantics of Circus. In: Bert D, Bowen JP, Henson MC, Robinson K (eds) ZB 2002: formal specification and development in Z and B. Lecture Notes in Computer Science, vol 2272. Springer, Berlin, pp 184–203

    Chapter  Google Scholar 

  58. Woodcock JCP, Cavalcanti ALC, Freitas L (2005) Operational semantics for model-checking Circus. In: Fitzgerald J, Hayes IJ, Tarlecki A (eds) FM 2005: formal methods. Lecture notes in computer science, vol 3582. Springer, Berlin, pp 237–252

    Google Scholar 

  59. Woodcock JCP, Davies J (1996) Using Z—specification, refinement, and proof. Prentice-Hall, New Jersey

    MATH  Google Scholar 

  60. Woodcock JCP (2009) The miracle of reactive programming. In: Butterfield A (eds) Unifying theories of programming 2008, Lecture notes in computer science. Springer, Berlin

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ana Cavalcanti.

Additional information

Dong Jin Song and C.B. Jones

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sherif, A., Cavalcanti, A., Jifeng, H. et al. A process algebraic framework for specification and validation of real-time systems. Form Asp Comp 22, 153–191 (2010). https://doi.org/10.1007/s00165-009-0119-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-009-0119-6

Keywords

Navigation