Class-Diagrams for Abstract Data Types

  • Thai Son Hoang
  • Colin Snook
  • Dana Dghaym
  • Michael Butler
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10580)


We propose to extend iUML-B class-diagrams to elaborate Abstract Data Types (ADTs) specified using Event-B theories. Classes are linked to data types, while attributes and associations correspond to operators of the data types. Axioms about the data types and operators are specified as constraints on the class. We illustrate our approach on a development of a control system in the railway domain.


Event-B iUML-B Class-diagrams Theory Abstract Data Types (ADTs) 



This work has been conducted within the ENABLE-S3 project that has received funding from the ECSEL Joint Undertaking under Grant Agreement no. 692455. This Joint Undertaking receives support from the European Union’s HORIZON 2020 research and innovation programme and Austria, Denmark, Germany, Finland, Czech Republic, Italy, Spain, Portugal, Poland, Ireland, Belgium, France, Netherlands, United Kingdom, Slovakia, Norway.


  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., Hallerstede, S., Hoang, T.S., Mehta, F., Voisin, L.: Rodin: an open toolset for modelling and reasoning in Event-B. Softw. Tools Technol. Transf. 12(6), 447–466 (2010)CrossRefGoogle Scholar
  3. 3.
    Butler, M., Maamria, I.: Practical theory extension in Event-B. In: Liu, Z., Woodcock, J., Zhu, H. (eds.) Theories of Programming and Formal Methods. LNCS, vol. 8051, pp. 67–81. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-39698-4_5 CrossRefGoogle Scholar
  4. 4.
    The Enable-S3 Consortium. Enable-S3 European project (2016).
  5. 5.
    Fürst, A., Hoang, T.S., Basin, D.A., Sato, N., Miyazaki, K.: Large-scale system development using abstract data types and refinement. Sci. Comput. Program. 131, 59–75 (2016)CrossRefGoogle Scholar
  6. 6.
    Hoang, T.S.: An introduction to the Event-B modelling method. In: Romanovsky, A., Thomas, M. (eds.) Industrial Deployment of System Engineering Methods, pp. 211–236. Springer, Heidelberg (2013)Google Scholar
  7. 7.
    Liskov, B., Zilles, S.: Programming with abstract data types. In: Proceedings of the ACM SIGPLAN Symposium on Very High Level Languages, pp. 50–59. ACM, New York (1974).
  8. 8.
    Reichl, K.: Railground Model on GitHub (2016). Accessed 20 Apr 2017
  9. 9.
    Said, M.Y., Butler, M., Snook, C.: A method of refinement in UML-B. Softw. Syst. Model. 14(4), 1557–1580 (2015)CrossRefGoogle Scholar
  10. 10.
    Snook, C.: iUML-B statemachines. In: Proceedings of the Rodin Workshop 2014, Toulouse, France, pp. 29–30 (2014).
  11. 11.
    Snook, C., Butler, M.: UML-B: formal modeling and design aided by UML. ACM Trans. Softw. Eng. Methodol. 15(1), 92–122 (2006)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Thai Son Hoang
    • 1
  • Colin Snook
    • 1
  • Dana Dghaym
    • 1
  • Michael Butler
    • 1
  1. 1.ECSUniversity of SouthamptonSouthamptonUK

Personalised recommendations