Language and Tool Support for Class and State Machine Refinement in UML-B

  • Authors:
  • Mar Yah Said;Michael Butler;Colin Snook

  • Affiliations:
  • ECS, University of Southampton, Southampton, UK SO17 1BJ;ECS, University of Southampton, Southampton, UK SO17 1BJ;ECS, University of Southampton, Southampton, UK SO17 1BJ

  • Venue:
  • FM '09 Proceedings of the 2nd World Congress on Formal Methods
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

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.