Developing the UML as a Formal Modelling Notation
  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 have 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 describe and motivate an approach to formalizing UML in which formal specification techniques are used to gain insight into the semantics of UML notations and diagrams. We present work carried out by the Precise UML (PUML) group on the development of a precise semantic model for UML class diagrams. The semantic model is used as the basis for a set of diagrammatical transformation rules, which enable formal deductions to be made about UML class diagrams. It is also shown how these rules can be used to verify whether one class diagram is a valid refinement (design) 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 formal specification techniques. 
Andy Evans, Robert France, Kevin Lano, Bernhard Rumpe
cs.SE