UML is the Unified Modeling Language
What is UML?
UML (Unified Modeling Language) is a modeling language standardized by the OMG.
The objective of this language is to provide system architects, software engineers and software developers with tools for the analysis, design and implementation of software-based systems, as well as for modeling business and similar processes.
One of its primary goals is to advance the state of the industry by enabling object visual modeling tool interoperability. In order to enable a meaningful exchange of model information between tools, 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 technology-independent 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 the modeling 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.
Modelio's Contribution to UML
In 1990 Modelio defined and published an object-oriented method called Class Relation, supported by a case tool called Objecteering. At the time, Class Relation was a very advanced OO method, already able to support model-driven development. In 1996, Modelio joined the UML standardization team within the OMG, and since then, Modelio has participated in the elaboration of the different UML versions. The UML profile mechanism was one of the contributions from Modelio.
Implementation of the UML metamodel by Modelio
Some metamodel parts or constructs are not well defined and subject to change. The UML metamodel is too complex, in particular but not only due to the heavily used "Package Merge" mechanism. These are concerns that will lead to yet more evolutions of the standard.
This is why Objecteering and Modelio implement the entire UML standard, using a pragmatic approach. The Modelio metamodel was designed to be easy to understand, use and handle, while remaining as close as possible to the standard. It also provides some additional features and end user simplifications that make UML easier to use and extend.
Modelio implements the UML interchange standard (XMI), and has validated it with the OMG MIWG (Model Interchange Working Group) in order to guarantee that the Modelio XMI import and export services are standard-compliant and efficiently work with other UML tools.