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.
Similar content being viewed by others
References
Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2): 183–235
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
Bernstein A, Harter PK (1981) Proving real-time properties of programs with temporal logic. In: ACM symposium on operating system principles, pp 1–11
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
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
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
Chen L (1993) Timed processes: models, axioms and decidability. PhD thesis, The University of Edinburgh, Department of Computer Science
Chellas BF (1999) Modal Logic: An Introduction. Cambridge University Press, London
Chaochen Z, Hoare CAR, Ravn AP (1991) A calculus of duration. Inf Process Lett 40: 269–276
Cavalcanti ALC, Sampaio ACA, Woodcock JCP (2003) A refinement strategy for Circus. Formal Aspects Comput 15(2-3): 146–181
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
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
Dijkstra EW (1976) A Discipline of Programming. Prentice-Hall, New Jersey
Duke R, Smith G (1989) Temporal logic and z specifications. Aust Comput J 21(2): 62–66
Davies J, Schneider S (1995) A brief history of Timed CSP. Theor Comput Sci 138(2): 243–271
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
Evans AS (1994) Visualising concurrent Z specifications. In: Boen JP, Hall J (eds) Z user workshop, workshops in computing. Springer, Berlin, pp 269–281
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
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
Fischer C (2000) Combination and implementation of processes and data: from CSP-OZ to Java. PhD thesis, Fachbereich Informatik Universität Oldenburg
Formal Systems (Europe) Ltd. Failures-divergence refinement, 1997 Revision 2.0.
Freitas LJS (2006) Model Checking Circus. PhD thesis, University of York, Department of Computer Science
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
Ghezzi C, Pezze M (1992) Cabernet: an environment for the specification and verification of real-time systems. In: DECUS Europe Symposium
Hoare CAR, He Jifeng (1998) Unifying Theories of Programming. Prentice-Hall
Hoare CAR (1985) Communicating Sequential Processes. Prentice-Hall, New Jersey
Jahanian F, Mok AK (1986) Safety analysis of timing properties in real-time systems. IEEE Trans Softw Eng 12(9): 890–904
He Jifeng, Verbovskiy V (2002) Integrating CSP and DC. R 248, International Institute for Software Technology, The United Nation University
Lamport L (1994) The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16(3): 872–923
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
Larsen KG, Pettersson P, Yi W (1997) UPPAAL in a Nutshell. International Journal on Software Tools for Technology Transfer
Mahony B, Dong JS (2000) Timed Communicating Object Z. IEEE Trans Softw Eng 26(2): 150–177
Meyer O (2001) Structural decomposition of timed CSP and its application in real-time testing. Master’s thesis, University of Bremen
Morgan CC (1994) Programming from specifications, 2nd edn. Prentice-Hall, New Jersey
Murata T (1989) Petri nets: properties, analysis and applications. Proc IEEE 77(4): 541–580
McEwan A, Woodcock JCP (2009) Unifying Theories of Interrupts. In: Unifying Theories of Programming 2008. Lecture notes in computer science. Springer, Berlin
Oliveira MVM, Cavalcanti ALC, Woodcock JCP (2007) A UTP Semantics for Circus. Formal Aspects of Computing, online first
Oliveira MVM, Cavalcanti ALC, Woodcock JCP (2007) Unifying Theories in ProofPowerZ. Formal Aspects of Computing, online first
Oliveira MVM formal derivation of state-rich reactive programs using Circus. PhD thesis, University of York, 2006
Ostro J, Ng H (1996) Verifying real-time systems with standard tools. In: AMAST workshop on real-time systems
Ouaknine J (2001) Discrete analysis of continuous behaviour in real-time concurrent systems. PhD thesis, Oxford University
Pnueli A (1977) The temporal logic of programs. In: 18th IEEE symposium foundations of computer science, pp 46–57
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
Roscoe AW (1998) The theory and practice of concurrency. Prentice-Hall series in computer science. Prentice-Hall, New Jersey
Reed GM, Roscoe AW (1988) A timed model for communicating sequential processes. Theor Comput Sci 58: 249–261
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
Schneider S (2000) Concurrent and Real-time Systems: The CSP Approach. Wiley, London
Sherif A (2006) A framework for specification and validation of real-time systems using Circus actions. PhD thesis, Centro de Informática/UFPE, Brazil
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
Sul RH, He Jifeng (2003) A complete verification system for timed RSL. R 275, International Institute for Software Technology, The United Nation University
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
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
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
Turski WM, Maibaum TSE (1987) The specification of computer systems. International computer science series. Addison-Wesley, Reading
Toyn I, (ed) (2002) Information technology—Z formal specification notation—syntax, type system and semantics. ISO, ISO/IEC 13568:2002(E)
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
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
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
Woodcock JCP, Davies J (1996) Using Z—specification, refinement, and proof. Prentice-Hall, New Jersey
Woodcock JCP (2009) The miracle of reactive programming. In: Butterfield A (eds) Unifying theories of programming 2008, Lecture notes in computer science. Springer, Berlin
Author information
Authors and Affiliations
Corresponding author
Additional information
Dong Jin Song and C.B. Jones
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-009-0119-6