A CSP Approach to Control in Event-B

  • Steve Schneider
  • Helen Treharne
  • Heike Wehrheim
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6396)


Event-B has emerged as one of the dominant state-based formal techniques used for modelling control-intensive applications. Due to the blocking semantics of events, their ordering is controlled by their guards. In this paper we explore how process algebra descriptions can be defined alongside an Event-B model. We will use CSP to provide explicit control flow for an Event-B model and alternatively to provide a way of separating out requirements which are dependent on control flow information. We propose and verify new conditions on combined specifications which establish deadlock freedom. We discuss how combined specifications can be refined and the challenges arising from this. The paper uses Abrial’s Bridge example as the basis of a running example to illustrate the framework.


Event-B CSP control flow integration consistency deadlock-freedom 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)CrossRefzbMATHGoogle Scholar
  2. 2.
    Abrial, J.-R., Butler, M.J., Hallerstede, S., Voisin, L.: A Roadmap for the Rodin Toolset. In: Börger, E., Butler, M., Bowen, J.P., Boca, P. (eds.) ABZ 2008. LNCS, vol. 5238, p. 347. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  3. 3.
    Butler, M.J.: csp2B: A practical approach to combining CSP and B. In: FACS, pp. 182–196 (2000)Google Scholar
  4. 4.
    Butler, M.J., Leuschel, M.: Combining CSP and B for specification and property verification. In: Fitzgerald, J.S., Hayes, I.J., Tarlecki, A. (eds.) FM 2005. LNCS, vol. 3582, pp. 221–236. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Derrick, J., Boiten, E.A.: Refinement in Z and Object-Z. Springer, Heidelberg (2001)CrossRefzbMATHGoogle Scholar
  6. 6.
    Derrick, J., Wehrheim, H.: Model transformations incorporating multiple views. In: Johnson, M., Vene, V. (eds.) AMAST 2006. LNCS, vol. 4019, pp. 111–126. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Fischer, C.: CSP-OZ - a combination of CSP and Object-Z. In: Bowman, H., Derrick, J. (eds.) Second IFIP International Conference on Formal Methods for Open Object-based Distributed Systems, pp. 423–438 (July 1997)Google Scholar
  8. 8.
    Hoang, T.S.: Personal Communication, Email (May 25, 2010)Google Scholar
  9. 9.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)zbMATHGoogle Scholar
  10. 10.
    Iliasov, A.: On Event-B and Control Flow. Technical report, School of Computing Science, Newcastle University (July 2009)Google Scholar
  11. 11.
    Mahony, B.P., Dong, J.S.: Blending Object-Z and timed CSP: An introduction to TCOZ. In: Futatsugi, K., Kemmerer, R., Torii, K. (eds.) 20th International Conference on Software Engineering (ICSE 1998). IEEE Press, Los Alamitos (1998)Google Scholar
  12. 12.
    Métayer, C., Abrial, J.-R., Voisin, L.: Event-B language. RODIN Project Deliverable 3.2, (accessed 25/5/10)
  13. 13.
    Morgan, C.: Of wp and CSP. In: Beauty is Our Business: a Birthday Salute to E. W. Dijkstra, pp. 319–326 (1990)Google Scholar
  14. 14.
    Mussat, L.: Modéles Réactifs. Technical report, ClearSy (July 2008)Google Scholar
  15. 15.
    Olderog, E.-R., Wehrheim, H.: Specification and (property) inheritance in CSP-OZ. Sci. Comput. Program. 55(1-3), 227–257 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Schneider, S.: Concurrent and Real-time Systems: The CSP approach. Wiley, Chichester (1999)Google Scholar
  17. 17.
    Smith, G.: A semantic integration of Object-Z and CSP for the specification of concurrent systems. In: Fitzgerald, J.S., Jones, C.B., Lucas, P. (eds.) FME 1997. LNCS, vol. 1313, pp. 62–81. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  18. 18.
    Smith, G., Derrick, J.: Specification, Refinement and Verification of Concurrent Systems-An Integration of Object-Z and CSP. Formal Methods in System Design 18(3), 249–284 (2001)CrossRefzbMATHGoogle Scholar
  19. 19.
    Treharne, H., Schneider, S.: How to drive a B machine. In: Bowen, J.P., Dunne, S., Galloway, A., King, S. (eds.) B 2000, ZUM 2000, and ZB 2000. LNCS, vol. 1878, pp. 188–208. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  20. 20.
    Woodcock, J., Cavalcanti, A.: The Semantics of Circus. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, pp. 184–203. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Steve Schneider
    • 1
  • Helen Treharne
    • 1
  • Heike Wehrheim
    • 2
  1. 1.Department of ComputingUniversity of SurreyUK
  2. 2.Institut für InformatikUniversität PaderbornGermany

Personalised recommendations