Für eine korrekte Darstellung dieser Seite benötigen Sie einen XHTML-standardkonformen Browser, der die Darstellung von CSS-Dateien zulässt.

. .

SiDiff for UML

The Object Management Group (OMG) proclaims Model Driven Architecture (MDA) as the new philosophy of software development in the 21st century. The central point of MDA is the model of a software system, which becomes the central part of the whole development. In MDA models can be transformed to other models. Especially the transformation of a Platform Independent Model (PIM) to a Platform Dependent Model (PDM) allows for generating source code and for getting an executable `model`, which is better called application or program.

It is state-of-the-art to use the Unified Modelling Language (UML) to describe models for software systems. Following the MDA philosophy, all enhancements and modifications of the software system should be performed on the model level, e.g. in a class diagram.

In general, software should be developed in teams. In order to support cooperative team work a version management system which supports UML models is absolutely necessary. The essential part of such systems is the ability to calculate differences, present them to the developer and to provide merge operations to come to a consistent model.

Although the UML is supported by a large number of tools, their team work support and notably their facilities for calculating and visualizing differences are inadequate. Some tools include a proprietary version management system to support team work, which does not allow for exchanging or comparing models produced by other tools.

But, usually tools store the developed models as textual XMI files and use standard textual version management software such as CVS to support team work. Storing models as XMI files means that either the XMI files can contain tool-specc and other auxiliary data as well as the order in which elements are stored in XMI files and other details in the formatting of the text are arbitrary and at the discretion of the tool. Both of the above effects can lead to many textual differences, however, these differences are conceptually irrelevant. Obviously, textual representations of UML models are not at an appropriate level of abstraction for computing differences. UML documents, which we call an UML model encoded as XMI file, should rather be regarded as trees when computing differences.

Currently we support statecharts and class diagrams created with Poseidon, Rational Rose and Fujaba. Preferable are UML models represented as files encoded in UML 2.0 XMI standard.

Television and garage door examples

Examples for UML Statemachines (Televsion and Garage Door Control) created with Eclipse Papyrus can be found here.