A Systematic Approach to Atomicity Decomposition in Event-B

  • Asieh Salehi Fathabadi
  • Michael Butler
  • Abdolbaghi Rezazadeh
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7504)


Event-B is a state-based formal method that supports a refinement process in which an abstract model is elaborated towards an implementation in a step-wise manner. One weakness of Event-B is that control flow between events is typically modelled implicitly via variables and event guards. While this fits well with Event-B refinement, it can make models involving sequencing of events more difficult to specify and understand than if control flow was explicitly specified. New events may be introduced in Event-B refinement and these are often used to decompose the atomicity of an abstract event into a series of steps. A second weakness of Event-B is that there is no explicit link between such new events that represent a step in the decomposition of atomicity and the abstract event to which they contribute. To address these weaknesses, atomicity decomposition diagrams support the explicit modelling of control flow and refinement relationships for new events. In previous work, the atomicity decomposition approach has been evaluated manually in the development of two large case studies, a multi media protocol and a spacecraft sub-system. The evaluation results helped us to develop a systematic definition of the atomicity decomposition approach, and to develop a tool supporting the approach. In this paper we outline this systematic definition of the approach, the tool that supports it and evaluate the contribution that the tool makes.


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 (2010)Google Scholar
  2. 2.
    Abrial, J.-R.: The B-book: Assigning Programs to Meanings. Cambridge University Press (1996)Google Scholar
  3. 3.
    Abrial, J.-R.: Refinement, Decomposition and Instantiation of Discrete Models. In: Abstract State Machines, pp. 17–40 (2005)Google Scholar
  4. 4.
    Butler, M.: csp2B: A Practical Approach to Combining CSP and B. In: Formal Aspects of Computing, vol. 12, pp. 934–5043 (2000) ISSN 0934-5043Google Scholar
  5. 5.
    Iliasov, A.: On Event-B and Control Flow. Technical Report, School of Computing Science, Newcastle University (2009)Google Scholar
  6. 6.
    Butler, M.: Decomposition Structures for Event-B. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 20–38. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Jackson, M.A.: System Development. Prentice-Hall, Englewood Cliffs (1983)MATHGoogle Scholar
  8. 8.
    Zave, P., Cheung, E.: Compositional Control of IP Media. IEEE Trans. Software Eng. 35(1), 46–66 (2009)CrossRefGoogle Scholar
  9. 9.
    ESA Media Center, Space Science. Factsheet: Bepicolombo (2008), http://www.esa.int/esaSC
  10. 10.
    Fathabadi, A.S., Butler, M.: Applying Event-B Atomicity Decomposition to a Multi Media Protocol. In: FMCO Formal Methods for Components and Objects, pp. 89–104 (2010)Google Scholar
  11. 11.
    Fathabadi, A.S., Rezazadeh, A., Butler, M.: Applying Atomicity and Model Decomposition to a Space Craft System in Event-B. In: NASA Formal Methods, pp. 328–342 (2011)Google Scholar
  12. 12.
    Metayer, C., Abrial, J-R., Voisin, L.: Event-B language. RODIN Project Deliverable 3.2 (2005), http://rodin.cs.ncl.ac.uk/deliverables/D7.pdf
  13. 13.
    Back, R.-J., Kurki-Suonio, R.: Distributed Cooperation with Action Systems. ACM Trans. Program. Lang. Syst., 513–554 (1988)Google Scholar
  14. 14.
    Abrial, J.-R., Butler, M., Hallerstede, S., Hoang, T.S., Mehta, F., Voisin, L.: Rodin: An Open Toolset for Modelling and Reasoning in Event-B. In: STTT, vol. 12, pp. 447–466 (2010)Google Scholar
  15. 15.
    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
  16. 16.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall (1985) ISBN 0-13-153289-8Google Scholar
  17. 17.
    Davies, J., Woodcock, J.: Using Z: Specification, Refinement and Proof. Prentice Hall International Series in Computer Science (1996) ISBN 0-13-948472-8Google Scholar
  18. 18.
    Schneider, S., Treharne, H.: Verifying Controlled Components. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 87–107. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  19. 19.
    Schneider, S., Treharne, H., Wehrheim, H.: A CSP Approach to Control in Event-B. In: Méry, D., Merz, S. (eds.) IFM 2010. LNCS, vol. 6396, pp. 260–274. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  20. 20.
    Said, M.Y., Butler, M., Snook, C.: Language and Tool Support for Class and State Machine Refinement in UML-B. In: Cavalcanti, A., Dams, D.R. (eds.) FM 2009. LNCS, vol. 5850, pp. 579–595. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  21. 21.
    Iliasov, A.: Tutorial on the Flow plugin for Event-B. In: Workshop on B Dissemination (WOBD) Satellite event of SBMF, Natal, Brazil (2010)Google Scholar
  22. 22.
    Crocker, D., Overell, P.: Augmented BNF for Syntax Specifications: ABNF. STD 68, RFC 5234 (2008)Google Scholar
  23. 23.
    Eclipse (Online), http://www.eclipse.org
  24. 24.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Part of the Eclipse Series series. Published by Addison-Wesley Professional (2008)Google Scholar
  25. 25.
    Kolovos, D., Rose, L., Paige, R.: The Epsilon Book (2008), http://www.eclipse.org/gmt/epsilon/doc/book

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Asieh Salehi Fathabadi
    • 1
  • Michael Butler
    • 1
  • Abdolbaghi Rezazadeh
    • 1
  1. 1.University of SouthamptonUK

Personalised recommendations