Previous | Table of Contents | Next |
The UML specification is defined by using a metamodeling approach that adapts formal specification techniques. The formal
specification techniques are used to increase the precision and correctness of the specification. This chapter explains the
specification techniques used to define UML.
The following are the goals of the specification techniques used to define UML:
• Correctness — The specification techniques should improve the correctness of the metamodel by helping to validate it. For example, the well-formedness rules should help validate the abstract syntax and help identify errors.
• Precision — The specification techniques should increase the precision of both the syntax and semantics. The precision should be sufficient so that there is no syntactic nor semantic ambiguity for either implementors or users.1
• Conciseness — The specification techniques should be parsimonious, so that the precise syntax and semantics are defined without superfluous detail.
• Consistency — The specification techniques should complement the metamodeling approach by adding essential detail in a consistent manner.
• Understandability — While increasing the precision and conciseness, the specification techniques should also improve the readability of the specification. For this reason a less than strict formalism is applied, since a strict formalism would require formal techniques.
The specification technique used describes the metamodel in three views using both text and graphic presentations.
It is important to note that the current description is not a completely formal specification of the language because to do
so would have added significant complexity without clear benefit.
The structure of the language is nevertheless given a precise specification, which is required for tool interoperability.
The detailed semantics are described using natural language, although in a precise way so they can easily be understood. Currently,
the semantics are not considered essential for the development of tools; however, this will probably change in the future.