BISS Monographs, Bd. 23
To define a formal semantics, we first fix the considered subset of UML by means of a metamodel. This metamodel resembles the UML 1.5 metamodel of the OMG but is more compact. The metamodel approach is employed here with the UML community in mind that is used to this way of language definition. The concept of a system state that includes information of the system at a specific point in time during execution is likewise introduced by means of a metamodel. Aside from objects, attribute values and relationships between the objects, a system state includes processes that represent operations in execution. The actual execution is performed by applying graph transformation rules that refer to a process and modify the system state according to the semantics of the corresponding operation. This is either specified by means of an interaction diagram or is predefined. In the central part of this thesis, we describe in detail how the graph transformation rules for a given UML model are constructed. The approach is implemented in a tool that supports the user in simulating the execution of models before actually having implemented it. During the simulation, the current system state can always be checked with respect to OCL constraints. It can also be inspected with OCL queries. The modeler can check specific sequences of operation calls and gains insight into the modeled system. By analyzing the model in this way, errors can be located or the model can be validated to be correct. Therefore, this thesis contributes to the goal of improving the quality of software.