H o m e A b o u t C o n t a c t D o w n l o a d
x U M L P r o d u c t s T r a i n i n g  &  C o n s u l t a n c y C u s t o m e r  S u c c e s s


E x e c u t a b l e  U M L  ( x U M L )


Supporting MDA with Executable UML

The xUML process (fully described in our book) involves the creation of platform independent, Executable UML models with the UML diagrams being supported by the action semantics-compliant Action Specification Language (ASL). The resulting models can be independently executed, debugged, viewed and tested.

Multiple Executable UML models can be assembled together to form complex systems with the mappings between them being expressed using ASL.

Both the individual executable models and multi-model assemblies can then be translated into target implementations. The execution rules of the xUML formalism mean that the same models can be translated into a wide variety of target architectures without changes to the models.

A cornerstone of the translation approach is that the mappings to target implementations are themselves expressed using executable Models. These translation models are then used to code generate a code generator for the target system architecture.

In the language of the OMG's MDA approach, each Executable UML model is a Platform Independent Model (PIM). The mappings between such models (specified using ASL) are PIM-to-PIM mappings. The translation approach makes use of PIM to Platform Specific Model (PSM) and Platfrom Specific Implementation (PSI) mappings.

The xUML Formalism

xUML is a subset of the Unified Modelling Language incorporating a complete Action Language that allows system developers to build executable domain models and then use these models to produce high quality code for their target systems.

The xUML Development Process

The xUML process is a rigorous object-oriented system development method based upon experience with executable modelling that has been applied to many pioneering projects in sectors such as telecommunications, automotive, aerospace and defence, since 1994. It is founded on the principle of building a set of precise, testable models of the system to be developed, executing specific tests on these models and defining a systematic strategy by which the models will be used to produce code for the desired target system. The xUML process embodies these distinctive characteristics:

  • Precise, Complete Models that can be subjected to rigorous testing by simulation. Thus, xUML provides a strong analysis completion criterion, which is: "The model is complete when it successfully executes the tests designed for it".

  • Simple Notations, using the Unified Modelling Language organised into a coherent set of layers. This means that normal human beings, such as customers, hardware engineers and managers can read, understand and provide helpful feedback on the emerging models.

  • An Understandable and Repeatable Partitioning Strategy,
    based upon the idea of Separation of Subject Matters. This means that both small and large system development projects can be partitioned in a way that avoids, for example, fruitless arguments about what constitutes analysis and what constitutes design.

  • A Conceptually Coherent Process, that provides a small but sufficient set of techniques to address all subject matters, including "design", in a uniform way.

  • Usable Models, which can be utilised by system designers and coders without the need for unreliable "interpretation" of the meaning of the models.

  • Implementation by Translation, in which the entire system can, if desired, be automatically generated from the models, using a set of rigorously specified rules that deliver a system with the required performance characteristics.

  • Large-Scale Reuse, in which entire sets of classes are reused as a single component.

The xUML Standard

Executable UML uses the Unified Modelling Language (UML) which is standardised by the Object Management Group (OMG). The OMG has recently issued a request for proposal (RfP) for a standardised Executable subset with rigorously defined semantics. Kennedy Carter is committed to working with the Object Management Group in creating this standard and has already started work.


If you would like more information about Kennedy Carter's work on Executable UML Action Semantics please contact us and take a look at iUML and iCCG, the system development environment with xUML.

If you would like more information about the xUML process, please register to download white papers and method overviews.



The terms "UML" and "iUML" refer respectively to the Unified Modelling Language and Kennedy Carter's MDA product suite and are used with the consent of the Object Management Group. All other trademarks are the property of their respective holders.

© Kennedy Carter 2008. Trademarks may appear on this website, the rights of the trademark owner are acknowleged.