The Unified Modeling Language (UML) has been designed to be a full standard notation for Object-Oriented Modelling. UML is a rather complete set of notations, but it lacks of formal semantics. This article introduces formal semantics for UML based on algebraic abstract data types. We currently consider only class and object diagrams. These diagrams include class structures, associations, multiplicities, constraints, instances as well as specialization relationships. We give a formal semantics for each of these elements by interpreting the structure of a class as an abstract data type, associations as values of type Association, and specialization as structural projection. We show that a tool like Larch Prover is able to support proofs over UML diagrams. We use the critical pair computation to find out inconsistencies. Several different inconsistencies of class diagrams are shown on a library example.
UML demonstrated that it is a well-suited approach to analyse and design complex systems such as industrial ones. To improve software reliability and reusability the use of formal specification is necessary but it may be difficult. There is a general lack in the formal specification of the UML concepts. This decreases the ability to develop tools and guidelines to help the specifier. Software tools are needed to assist the formal specification process, but also to prove or to verify some parts. In this paper we propose a method to formally specify concurrent and communicating components with data in UML. The principle is, first to complete the design with axioms, second to translate the diagrams into algebraic specifications of data types thanks to our translation tool. We describe the translation principles which are based on previous work around symbolic transition systems and algebraic specifications. Finally, we sketch the implementation of our translation tool using XMI files and the XML4J parser.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.