A UTP-Family of Reactive Theories
  • Andrew Butterfield
  • Adnan Sherif
  • Jim Woodcock
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4591)


We present a generic framework of UTP theories for describing systems whose behaviour is characterised by regular time-slots, compatible with the general structure of the Circus language [WC01a]. This “slotted-Circus” framework is parameterised by the particular way in which event histories are observable within a time-slot, and specifies what laws a desired parameterisation must obey in order for a satisfactory theory to emerge.

Two key results of this work are: the need to be very careful in formulating the healthiness conditions, particularly R2; and the demonstration that synchronous theories like SCSP [Bar93] do not fit well with the way reactive systems are currently formulated in UTP and Circus.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Barnes, J.E.: A Mathematical Theory of Synchronous Communication. Technical Monograph PRG-112, Oxford University Computing Laboratory Programming Research Group, Hilary Term (1993)Google Scholar
  2. Berry, G., Gonthier, G.: The ESTEREL synchronous programming language: design, semantics, implementation. Science of Computer Programming 19, 87–152 (1992)MATHCrossRefGoogle Scholar
  3. Butterfield, A., Woodcock, J.: Semantic domains for handel-C. Electr. Notes Theor. Comput. Sci, vol. 74 (2002)Google Scholar
  4. Butterfield, A., Woodcock, J.: prialt in Handel-C: an operational semantics. International Journal on Software Tools for Technology Transfer (STTT) 7(3), 248–267 (2005)CrossRefGoogle Scholar
  5. Celoxica Ltd. Handel-C Language Reference Manual, v3.0, (2002), URL:
  6. Chen, Y.: Generic composition. Formal Asp. Comput 14(2), 108–122 (2002)MATHCrossRefGoogle Scholar
  7. Chen, Y.: Hierarchical organisation of predicate-semantic models. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 155–172. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. Melham, T., Grundy, J., O’Leary, J.: A reflective functional language for hardware design and theorem proving. Journal of Functional Programming 16(2), 157–196 (2006)MATHMathSciNetGoogle Scholar
  9. Hoare, C.A.R., He, J.: Unifying Theories of Programming. Series in Computer Science. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  10. Jifeng, H., Page, I., Bowen, J.: Towards a provably correct hardware implementation of Occam. In: Milne, G.J., Pierre, L. (eds.) CHARME 1993. LNCS, vol. 683, pp. 214–225. Springer, Heidelberg (1993) IFIP WG10.2CrossRefGoogle Scholar
  11. Hoare, C.A.R.: Communicating Sequential Processes. Intl. Series in Computer Science. Prentice-Hall, Englewood Cliffs (1985)MATHGoogle Scholar
  12. Hoare, C.A.R.: Programs are predicates. In: Proc. of a discussion meeting of the Royal Society of London on Mathematical logic and programming languages, Upper Saddle River, NJ, USA, pp. 141–155. Prentice-Hall, Inc, Englewood Cliffs (1985)Google Scholar
  13. Page, I., Luk, W.: Compiling Occam into field-programmable gate arrays. In: Moore, W., Luk, W. (eds.) FPGAs, Oxford Workshop on Field Programmable Logic and Applications, 15 Harcourt Way, Abingdon OX14 1NV, UK, pp. 271–283 Abingdon EE&CS Books (1991)Google Scholar
  14. Roscoe, A.W.: The Theory and Practice of Concurrency. international series in computer science. Prentice-Hall, Englewood Cliffs (1997)Google Scholar
  15. Schneider, S.: Concurrent and Real-time Systems — The CSP Approach. Wiley, Chichester (2000)Google Scholar
  16. Sherif, A., He, J.: Towards a time model for circus. In: George, C.W., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 613–624. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. Sherif, A.: A Framework for Specification and Validation of Real Time Systems using Circus Action. Ph.d. thesis, Universidade Federale de Pernambuco, Recife, Brazil (2006)Google Scholar
  18. Spivey,: The Z Notation: A Reference Manual. Prentice Hall, Englewood Cliffs (1987)Google Scholar
  19. Woodcock, J.C.P., Cavalcanti, A.L.C.: A Concurrent Language for Refinement. In: Butterfield, A., Pahl, C. (eds.) IWFM 2001: 5th Irish Workshop in Formal Methods, Dublin, Ireland, July 2001. BCS Electronic Workshops in Computing (2001)Google Scholar
  20. Woodcock, J., Cavalcanti, A.: Circus: a concurrent refinement language. Technical report, University of Kent at Canterbury (October 2001)Google Scholar
  21. Woodcock, J., Cavalcanti, A.: The semantics of circus. In: ZB, pp. 184–203 (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Andrew Butterfield
    • 1
  • Adnan Sherif
    • 2
  • Jim Woodcock
    • 3
  1. 1.Trinity College Dublin 
  2. 2.Universidade Federal de Pernambuco 
  3. 3.University of York 

Personalised recommendations