The Composition of Event-B Models

  • Michael Poppleton
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5238)


The transition from classical B [2] to the Event-B language and method [3] has seen the removal of some forms of model structuring and composition, with the intention of reinventing them in future. This work contributes to that reinvention. Inspired by a proposed method for state-based decomposition and refinement [5] of an Event-B model, we propose a familiar parallel event composition (over disjoint state variable lists), and the less familiar event fusion (over intersecting state variable lists). A brief motivation is provided for these and other forms of composition of models, in terms of feature-based modelling. We show that model consistency is preserved under such compositions. More significantly we show that model composition preserves refinement.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abadi, M., Lamport, L.: Composing specifications. ACM Trans. Program. Lang. Syst. 15(1), 73–132 (1993)CrossRefGoogle Scholar
  2. 2.
    Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)MATHGoogle Scholar
  3. 3.
    Abrial, J.R., Butler, M., Hallerstede, S., Voisin, L.: An open extensible tool environment for Event-B. In: Liu, Z., He, J. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 588–605. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Abrial, J.-R., Cansell, D., Laffitte, G.: “Higher-order” mathematics in B. In: Bert, D., Bowen, J.P., Henson, M.C., Robinson, K. (eds.) B 2002 and ZB 2002. LNCS, vol. 2272, pp. 370–393. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Abrial, J.-R., Hallerstede, S.: Refinement, decomposition and instantiation of discrete models: Application to Event-B. Fundamenta Informaticae 77(1-2) (2007)Google Scholar
  6. 6.
    Attiogbé, C., André, P., Ardourel, G.: Checking component composability. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 18–33. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    Back, R.-J., Kurki-Suonio, R.: Decentralization of process nets with centralized control. Distributed Computing 3(2), 73–87 (1989)CrossRefGoogle Scholar
  8. 8.
    Back, R.J.R., Butler, M.: Fusion and simultaneous execution in the refinement calculus. Acta Informatica 35, 921–949 (1998)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Bellegarde, F., Julliand, J., Kouchnarenko, O.: Ready-simulation is not ready to express a modular refinement relation. In: Maibaum, T.S.E. (ed.) FASE 2000. LNCS, vol. 1783, pp. 266–283. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. 10.
    Butler, M.: Stepwise refinement of communicating systems. Science of Computer Programming 27, 139–173 (1996)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Butler, M.: An approach to the design of distributed systems with B AMN. In: Bowen, J.P., Hinchey, M.G., Till, D. (eds.) ZUM 1997. LNCS, vol. 1212, pp. 223–241. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  12. 12.
    Coplien, J., Hoffman, D., Weiss, D.: Commonality and variability in software engineering. IEEE Software, 37–45 (November/December 1998)Google Scholar
  13. 13.
    Darlot, C., Julliand, J., Kouchnarenko, O.: Refinement preserves PLTL properties. In: Bert, D., P. Bowen, J., King, S. (eds.) ZB 2003. LNCS, vol. 2651, pp. 408–420. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. 14.
    Jones, C.B.: Tentative steps toward a development method for interfering programs. ACM Transactions on Programming Languages and Systems 5(4), 596–619 (1983)MATHCrossRefGoogle Scholar
  15. 15.
    Jones, C.B. (ed.): Intermediate report on methodology. Technical Report Deliverable 19, EU Project IST-511599 - RODIN (August 2006),
  16. 16.
    Kouchnarenko, O., Lanoix, A.: Refinement and verification of synchronized component-based systems. In: Araki, K., Gnesi, S., Mandrioli, D. (eds.) FME 2003. LNCS, vol. 2805, pp. 341–358. Springer, Heidelberg (2003)Google Scholar
  17. 17.
    Kouchnarenko, O., Lanoix, A.: Verifying invariants of component-based systems through refinement. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 289–303. Springer, Heidelberg (2004)Google Scholar
  18. 18.
    Abrial, J.R., Batory, D., Butler, M., Coglio, A., Fisler, K., Hehner, E., Jones, C.B., Miller, D., Peyton-Jones, S., Sitaraman, M., Smith, D.R., Leavens, G.T., Stump, A.: Roadmap for enhanced languages and methods to aid verification. In: Proc. 5th Int. Conf. Generative Programming and Component Engineering, Portland, Oregon (2006)Google Scholar
  19. 19.
    Métayer, C., Abrial, J.-R., Voisin, L.: Event-B Language. Technical Report Deliverable 3.2, EU Project IST-511599 - RODIN (May 2005),
  20. 20.
    Pohl, K., Boeckle, G., van der Linden, F.: Software Product Line Engineering Foundations, Principles, and Techniques. Springer, Heidelberg (2005)MATHGoogle Scholar
  21. 21.
    Poppleton, M.R.: Towards Feature-Oriented Specification and Development with Event-B. In: Sawyer, P., Paech, B., Heymans, P. (eds.) REFSQ 2007. LNCS, vol. 4542, pp. 367–381. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  22. 22.
    Potet, M.-L.: Spécifications et développements structurés dans la méthode B. Technique et Science Informatiques 22, 61–88 (2003)CrossRefGoogle Scholar
  23. 23.
    Potet, M.-L., Rouzaud, Y.: Composition and refinement in the B-method. In: Bert, D. (ed.) B 1998. LNCS, vol. 1393, pp. 46–65. Springer, Heidelberg (1998)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Michael Poppleton
    • 1
  1. 1.School of Electronics and Computer ScienceUniversity of Southampton, HighfieldSouthamptonUK

Personalised recommendations