The UML as a Formal Modeling Notation
This work addresses the need for precise semantics in UML to ensure reliable modeling for software engineers, but it is incremental as it builds on existing formal methods.
The paper tackles the problem of the Unified Modeling Language (UML) lacking a well-defined semantics for modeling object-oriented systems, and it proposes an approach using formal specification techniques to develop a precise semantic model and diagrammatical transformation rules, with a small example demonstrating verification of class diagrams.
The Unified Modeling Language (UML) is rapidly emerging as a de-facto standard for modelling OO systems. Given this role, it is imperative that the UML needs a well-defined, fully explored semantics. Such semantics is required in order to ensure that UML concepts are precisely stated and defined. In this paper we motivate an approach to formalizing UML in which formal specification techniques are used to gain insight into the semantics of UML notations and diagrams and describe a roadmap for this approach. The authors initiated the Precise UML (PUML) group in order to develop a precise semantic model for UML diagrams. The semantic model is to be used as the basis for a set of diagrammatical transformation rules, which enable formal deductions to be made about UML diagrams. A small example shows how these rules can be used to verify whether one class diagram is a valid deduction of another. Because these rules are presented at the diagrammatical level, it will be argued that UML can be successfully used as a formal modelling tool without the notational complexities that are commonly found in textual specification techniques.