An Algebraic Semantics of UML Supporting its Multiview Approach

Supporting its Multiview Approach Extended Abstract G. Reggio { M. Cerioli { E. Astesiano DISI Universit a di Genova Italy We aim at using algebraic techniques, and in particular an extension, Casl-Ltl [2], of the Casl basic language [4], in order to produce a formal semantics of the UML, the OMG standard object-oriented notation for specifying, visualizing, constructing, and documenting software systems [5]. Contrary to most cases, this task is far from trivial. Indeed, the UML notation is complex, including a lot of heterogeneous notations for di erent aspects of a system, possibly described at di erent points in the development process. Moreover, its informal description is incomplete and ambiguous, not only because it uses the natural language, but also because the UML has the so called semantics variation points, that are constructs having a list of possible semantics, instead of just one. A UML model consists of a bunch of diagrams of di erent kinds, expressing properties on di erent aspects of a system1. Thus a UML model plays the role of a speci cation, but in a more pragmatic context. Another analogy that we can establish between UML models and speci cations is the fact that the meaning of each diagram (kind) can be given in isolation, as well as the semantics of each axiom, and its e ect on the description of the overall system is to rule out some elements from the universe of all possible systems (semantic models). Indeed, both in the case of a UML model and of a collection of axioms, each individual part (one diagram or one axiom) describes a point of view of the overall system. Therefore, our understanding of the optimal form of a semantics for the UML is illustrated in the picture below. 1In the following we will call UML-systems the \real world" systems modeled by using the UML (some instances are information systems, software systems, business organizations) and UML formal systems their formal counterparts. . . . Mn UML model D1