MOF & the UML Meta-Model:
UML is the Unified Modelling Language™, and is an OMG standard. It is used to define software systems architectures – describing systems structure, behaviour, processes (human and computer), data structures and usage scenarios. UML is by far the most widely used modelling language for computer systems. The UML meta-model is an information model which defines the various constructs used in UML. For each release of UML there is a different meta-model (1.5 is the current release of UML, though 2.0 is soon to be published). The purpose of the UML meta-model is to provide a structured underpinning for the language that can be used to define the structure of a repository for UML. The UML meta-model also defines the structure of XMI – the file format for UML tool interoperability.
The UML meta-model is based upon another OMG standard – the Meta Object Facility (MOF). The MOF is also used as the basis for other modelling languages (such as IDL, the interface definition language). It defines very high level concepts such as classes, associations and properties. In other words, the MOF defines the basic building blocks that are used by modellers. The UML meta-model classes are instances of MOF elements. In analysing the applicability of the UML meta-model to MODAF, it is worth considering the trends in military architectural framework usage. DODAF is the longest established and most used military architectural framework. DODAF volume II suggests some UML approaches for representing the various views and a number of DODAF users believe that UML (or at leas specialist form of UML, such as SysML) is ideal for representing most of the DODAF views. Opinion is divided on the suitability of UML for all the DODAF views, but the benefits of using a standard notation for architectural diagrams is clear – cleaner tool interoperability and reduced ambiguity in the human interpretation of the diagrams.