UML-systems the "real world" systems modelled by using the UML (some instances are information systems, software systems, business organizations). Thus a UML model plays the role of a specification, but in a more pragmatic context.
Another analogy that we can establish between UML models and specifications 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 effect on the description of the overall UML-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 systems.
Therefore, our understanding of the optimal form of a semantics for the UML is as follows. The overall semantics of a UML model, collecting some diagrams of different kinds, is a class of UML formal systems, where the UML formal systems are the formal counterparts of the UML-systems. But, each diagram in the model has its own semantics, that is a class of appropriate structures, as well, and these structures are imposing constraints on the overall UML formal systems. Then the overall semantics must be the class of the UML formal systems satisfying all the constraints imposed by the individual semantics of the various diagrams. Moreover, the formal semantics must be a rigorous representation of the expected "intuitive semantics", described by the UML standard, version 1.3.
Several attempts at formalizing the UML are currently under development, but most of them are taking into account only a part of the UML, with no provision for an integration of the individual diagram semantics toward a formal semantics of the overall UML models. Our approach, accordingly with the previous discussion, is an attempt at formalizing UML models as a whole, while simultaneously giving also a formalization of each kind of diagram in an integrated way.
From a technical viewpoint, we proceed in two steps: first, we determine the needed semantic structures through an analysis of the UML standard, and formally describe them as algebraic structures. Then, we translate the various diagrams into CASL-LTL specifications, whose formal semantics gives, by composition, the semantics of each diagram in the UML model. Moreover, the CASL-LTL specifications representing the individual diagrams are combined (in a non-trivial way) into an overall specification, whose semantics is (has to be) compatible with the constraints imposed by the individual diagrams and provides a semantics for the overall UML model.
We are now working on filling the above schema, providing the semantic structures and the translations of the various diagrams into CASL-LTL; we have already considered class diagrams and state charts and we are currently working on sequence diagrams.
The postscript version of this paper is available through anonymous ftp at ftp.disi.unige.it, in /person/ReggioG/AstesianoEtAll00b.ps