@inproceedings{deploy434, month = {November}, author = {Mar Yah Said and Michael Butler and Colin Snook}, series = {LNCS 5850}, note = {This work has been presented at the IM FMT 2009 workshop of the IFM2009 conference, Dusseldorf, Germany on 16 February 2009}, booktitle = {FM 2009: Formal Methods}, title = {Language and tool support for class and state machine refinement in UML-B}, publisher = {Springer}, year = {2009}, pages = {579--595}, keywords = {visual modelling languages, formal specification, uml-b, event-b, rodin, refinement}, url = {http://deploy-eprints.ecs.soton.ac.uk/434/}, 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.} }