Community Research and Development Information Service - CORDIS

UML to B translator

The U2B translator converts UML Class diagrams, including attached state charts, into the B notation. The aim is to use some of the features of UML diagrams to make the process of writing formal specifications easier, or at least more approachable to average programmers. The translation to B relies on precise expression of additional behavioural constraints in the specification of class diagram components and in state charts attached to the classes. These constraints are described in an adapted form of the B 'abstract machine notation'. The resulting UML model is a precise formal specification but in a form which is more friendly to average programmers, especially if they use the same UML notation for their program design work. The UML models may be constructed using a standard UML tool such as Rational Rose or Poseidon.

In order to achieve a successful translation to B, restrictions must be placed on the UML models that can be translated and in some cases UML features are assigned particular meanings. These are defined in a UML profile, called BUML that embodies these restrictions and semantics. A UML profile is a specialisation of the UML, which may include the following:
-Restriction of the UML notation to a subset.
-Imposition of syntactical rules that restrict the models that can be created.
-Definition of specialisations using the extension mechanisms of UML (e.g. stereotyping).
-Definition of a particular semantics.

BUML is a class of models. It is a specialisation of the class of models that use the UML notation. It also inherits from the class of models that use the B notation. The U2B translator reads a BUML model and creates a B model.

Reported by

United Kingdom
See on map
Follow us on: RSS Facebook Twitter YouTube Managed by the EU Publications Office Top