Abstract
UML-B is a ‘UML-like’ graphical front end for Event-B that provides support for object-oriented modelling concepts. In particular, UML-B supports class diagrams and state machines, concepts that are not explicitly supported in plain Event-B. In Event-B, refinement is used to relate system models at different abstraction levels. The same abstraction-refinement concepts can also be applied in UML-B. This paper introduces the notions of refined classes and refined state machines to enable refinement of classes and state machines in UML-B. Together with these notions, a technique for moving an event between classes to facilitate abstraction is also introduced. Our work makes explicit the structures of class and state machine refinement in UML-B. The UML-B drawing tool and Event-B translator are extended to support the new refinement concepts. A case study of an auto teller machine (ATM) is presented to demonstrate application and effectiveness of refined classes and refined state machines.
This work has been presented at the IM_FMT 2009 workshop of the IFM2009 conference, Dusseldorf, Germany on 16 February 2009.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Snook, C., Butler, M.: UML-B and Event-B: An Integration of Languages and Tools. In: The IASTED International Conference on Software Engineering (2008)
Object Management Group. Introduction to OMG’s Unified Modelling Language (UML) (2007) (Date Last Accessed: 25/1/08)
Rumbaugh, J., Booch, G., Jacobson, I.: The Unified Modelling Language User Guide. Addison Wesley, Reading (1999)
Metayer, C., Abrial, J.R., Voisin, L.: Event-B Language. Technical Report Deliverable 3.2, EU Project IST-511599 - RODIN (2005), http://rodin.cs.ncl.ac.uk/deliverables/D7.pdf (Date Last Accessed: 25/1/08)
Rigorous Open Development Environment for Complex Systems (RODIN) - IST 511599, http://rodin.cs.ncl.ac.uk/ (Date Last Accessed: 25/1/08)
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)
Evans, N., Butler, M.: A Proposal For Records in Event-B. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006. LNCS, vol. 4085, pp. 221–235. Springer, Heidelberg (2006)
Abrial, J.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Abrial, R., Hallerstede, S.: Refinement, Decomposition and Instantiation of Discrete Models: Application to Event-B. Journal Fundamentae Informatica 77, 1–28 (2007)
Butler, M., Yadav, D.: An Incremental Development of the Mondex System in Event-B. Journal Formal Aspects of Computing 20(1), 61–77 (2008)
Butler, M., Hallerstede, S.: The Rodin Formal Modelling Tool. In: BCS-FACS Christmas 2007 Meeting, Formal Methods In Industry, London (2007)
Snook, C., Butler, M.: UML-B: Formal Modelling and Design Aided by UML. ACM Transactions on Software Engineering and Methodology 15, 92–122 (2006)
Snook, C., Walden, M.: Refinement of Statemachines Using Event B Semantics. In: Julliand, J., Kouchnarenko, O. (eds.) B 2007. LNCS, vol. 4355, pp. 171–185. Springer, Heidelberg (2006)
Plaska, M., Walden, M., Snook, C.: Documenting the Progress of the System Development. In: Proc. of Workshop on Methods, Models and Tools for Fault Tolerance (2007)
OMG: UML 2.1.2 Superstructure Specification (2007), http://www.omg.org/cgi-bin/docs/formal/2007-11-02.pdf
Bergner, K., Rausch, A., Sihling, M., Vilbig, A.: Structuring and Refinement of Class Diagrams. In: Proc. of the 32nd Annual Hawaii International Conference, vol. Track 6 (1999)
Lano, K., Clark, D., Androutsopoulos, K.: UML to B: Formal Verification of Object Oriented Models. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 187–206. Springer, Heidelberg (2004)
Idani, A., Ledru, L., Bert, D.: Derivation of UML Class Diagrams as Static Views of Formal B Developments. In: Lau, K.-K., Banach, R. (eds.) ICFEM 2005. LNCS, vol. 3785, pp. 37–51. Springer, Heidelberg (2005)
Amálio, N., Polack, F., Stepney, S.: UML + Z: Augmenting UML with Z. In: Frappier, M., Habrias, H. (eds.) Software Specification Methods: an Overview Using a Case Study, new edn. Hermes Science Publishing (2006)
Moller, M., Olderog, E., Rasch, H., Wehrheim, H.: Linking CSP-OZ with UML and Java: A Case Study. In: Boiten, E.A., Derrick, J., Smith, G.P. (eds.) IFM 2004. LNCS, vol. 2999, pp. 267–286. Springer, Heidelberg (2004)
Simons, A.J.H.: A Theory of Regression Testing for Behaviourally Compatible Object Types: Research Articles. Journal Softw. Test. Verif. Reliab. 16(3), 133–156 (2006)
Facon, P., Laleau, R., Nguyen, H.P.: Mapping Object Diagrams into B Specifications. In: Methods Integration Workshop, Electronic Workshops in Computing (eWiC). Springer, Heidelberg (1996)
Ledang, H., Souquiéres, J.: Contributions for Modelling UML State-Charts in B. In: Butler, M., Petre, L., Sere, K. (eds.) IFM 2002. LNCS, vol. 2335, pp. 109–127. Springer, Heidelberg (2002)
Sekerinski, E.: Graphical Design of Reactive systems. In: Bert, D. (ed.) B 1998. LNCS, vol. 1393, pp. 182–197. Springer, Heidelberg (1998)
Lausdahl, K.G., Lintrup, H.K.A., Larsen, P.G.: Coupling Overture to MDA and UML. Master Thesis (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Said, M.Y., Butler, M., Snook, C. (2009). Language and Tool Support for Class and State Machine Refinement in UML-B. In: Cavalcanti, A., Dams, D.R. (eds) FM 2009: Formal Methods. FM 2009. Lecture Notes in Computer Science, vol 5850. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-05089-3_37
Download citation
DOI: https://doi.org/10.1007/978-3-642-05089-3_37
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-05088-6
Online ISBN: 978-3-642-05089-3
eBook Packages: Computer ScienceComputer Science (R0)