Abstract. UML-B provides a graphical front end for Event-B. It adds support for class-oriented and state machine modelling. UML-B is similar to UML but has its own meta-model. UML-B provides tool support, including drawing tools and a translator to generate Event-B models. The tools are closely integrated with the Event-B tools. When a drawing is saved the translator automatically generates the corresponding Event-B model. The Event-B verification tools (syntax checker and prover) then run automatically providing an immediate display of problems which are indicated on the relevant UML-B diagram. We introduce the UML-B notation, tool support and integration with Event-B.
UML-B is a graphical formal modelling notation based on UML [1]. It relies on Event-B [2] for its underlying semantics and is closely integrated with the Event-B verification tools [3]. UML-B and Event-B are implemented within the Eclipse [4]environment. This paper gives a brief introduction to UML-B. A more detailed description is provided in [5].The UML-B modelling environment consists of a UML-B project containing a UML-B model. A builder is associated with the project and runs whenever the model is saved. Four interlinked diagram types (package, context, class and state machine) are provided. The top-level package diagram is opened with an empty canvas by the model creation wizard. This canvas represents the UML-B project. Package Diagrams are used to describe the relationships between top level components (machines and contexts) of a UML-B project. As in UML, package diagrams provide a structuring of the model, but also cater for the concept of refinement. The diagram shows the refines relationships between Machines, the extends relationships between Contexts and the sees relationships from machines to contexts. Other diagram types are linked and opened via model elements as they are drawn on the various canvases.UML