Executable UML (xUML) is a precise subset of UML that allows modelling of systems ranging from simple to enormously complex. It is based upon a carefully selected set of UML modelling constructs, organised in a simple and coherent way. Because xUML is precise, the models can be tested as they are built, and automatically translated into industry quality target code.
The primary modelling constructs of xUML are illustrated in the figure above, which shows that:
1. Each system is partitioned into domains, representing areas of expertise;
2. Each domain is partitioned into classes, which together will fulfil the data and processing requirements of each domain;
3. Each class can have a state machine, which processes asynchronous signals directed to that class by executing state actions;
4. Each class can have operations, which perform synchronous processing.
The state actions and operation methods are specified using a UML Action Language to preserve platform independence.