What is and is not included in the UML specification
A common misconception is that the UML defines the visual representation for each notation element.
The UML defines the underlying metamodel, but only suggests a visual representation. Technically, the visual representations are customizable.
This allows users in very specialized applications to tailor the model to their unique needs. In reality, most people stick with the suggested visuals since, after all, we are talking about a standard for visual modeling.
The objective of UML is to provide system architects, software engineers, and software developers with tools for analysis, design, and implementation of software based systems as well as for modeling business and similar processes.
The initial versions of UML (UML 1) originated with three leading object-oriented methods (Booch, OMT, and OOSE), and incorporated a number of best practices from modeling language design, object-oriented programming,
and architectural description languages.
Relative to UML 1, this revision of UML has been enhanced with significantly more precise definitions of its abstract syntax rules and semantics, a more modular language structure, and a greatly improved capability for modeling large-scale systems.
One of the primary goals of UML is to advance the state of the industry by enabling object visual modeling tool interoperability. However, to enable meaningful exchange of model information between tools, agreement on semantics and
notation is required. UML meets the following requirements:
- A formal definition of a common MOF-based metamodel that specifies the abstract syntax of the UML. The abstract syntax defines the set of UML modeling concepts, their attributes and their relationships, as well as the rules for combining these concepts to construct partial or complete UML models.
- A detailed explanation of the semantics of each UML modeling concept. The semantics define, in a technologyindependent manner, how the UML concepts are to be realized by computers.
- A specification of the human-readable notation elements for representing the individual UML modeling concepts as well as rules for combining them into a variety of different diagram types corresponding to different aspects of modeled systems.
- A detailed definition of ways in which UML tools can be made compliant with this specification. This is supported (in a separate specification) with an XML-based specification of corresponding model interchange formats (XMI) that must be realized by compliant tools.
Improve the architecture
Rework the physical metamodel so that it is more tightly aligned with the MOF meta-metamodel. Improve the guidelines that establish what constructs should
be defined in the kernel language and what constructs should be defined in UML profiles or standard model libraries
Meta-Object Facility (MOF)
The Meta-Object Facility (MOF) is at the heart of the MDA strategy along with the UML, CWM, CORBA, and XMI. It is the starting point, the standard that defines the languages used to
describe systems and MDA itself. The MOF is a metamodel (often called M2), a model defining the concepts required to build a model and to store the model in a repository. The model is stored by representing the metadata as CORBA objects.