[Back]


Diploma and Master Theses (authored and supervised):

T. Mayerhofer:
"Breathing New Life into Models - An Interpreter-Based Approach for Executing UML Models";
Supervisor: G. Kappel, M. Wimmer; E188 - Institut für Softwaretechnik und Interaktive Systeme, 2011; final examination: 2011-05-04.



English abstract:
Over the past years the development paradigm Model-Driven Development (MDD) gained significant in popularity. With the usage of this paradigm the software engineering process becomes more model-centric and less code-centric. This means that models become the main artifact in the software development process and therewith the whole software development process relies on these models and their correctness. For this reason the need for executable models that can be tested and validated arose. The Model Driven Architecture (MDA) is the MDD approach developed by the Object Management Group (OMG) that relies on the usage of a bunch of OMG standards. This approach designates the usage of UML to define a platform-independent model of the system that should be developed. The problem is that UML models are not executable because UML has no precise and complete specified semantics. Its semantics is defined informally in English prose and this definition is scattered throughout the standard which is about 1000 pages. Because of this ambiguities arise and models can be interpreted and executed in different ways. This also led to the development of execution tools that are not interoperable because they implement different execution semantics.

OMG recognized the need for executable models and the corresponding issues with UML and developed a new standard called Semantics of a Foundational Subset of Executable UML Models or foundational UML (fUML) that was released in February 2011. This standard defines the precise execution semantics of a selected subset of UML 2, the so-called foundational UML subset.

The research question of this thesis is as follows. Is the semantics definition of the fUML standard sound and applicable for building tools that enable the execution of UML activity diagrams? To answer this question, a prototype of a model-interpreter has been developed in this thesis that is able to execute and debug UML models according to the execution semantics defined in the fUML standard. This model-interpreter prototype focuses on executing activity diagrams that model the manipulation of objects and links in a system. Furthermore, the prototype provides reasonable debugging functionality similar to the functionality offered for debugging code like the step-wise execution and the displaying of the debugging progress. The experiences gained during the implementation of the model-interpreter prototype were reflected in order to evaluate the fUML standard itself as well as its applicability. The main conclusion of this evaluation is that the fUML standard is applicable for implementing tools that support the execution of UML activity diagram, but that high efforts are necessary to develop a user-friendly and efficiently usable tool supporting features like the debugging of models or the execution of incomplete models.

German abstract:
Im Laufe der letzten Jahre gewann die modellgetriebene Softwareentwicklung, auch bekannt als Model-Driven Development (MDD), enorm an Bedeutung. Dabei wird die Implementierung eines Systems, d.h. der Code, automatisch oder halbautomatisch aus den Modellen generiert. Die Korrektheit dieser Modelle ist demnach von großer Bedeutung. Damit ergibt sich die Notwendigkeit ausführbarer Modelle, die durch ihre Ausführung getestet und validiert werden können. Der objektorientierte Modellierungsstandard UML hat den Nachteil, dass er keine präzise und vollständig spezifizierte Ausführungssemantik besitzt. Die Ausführungssemantik von UML wird nur informell in englischer Prosa definiert und unstrukturiert über den 1000 Seiten umfassenden Standard hinweg verteilt behandelt. Dadurch ergeben sich Mehrdeutigkeiten bezüglich der Interpretation von Modellen, was sich auch in der Inkompatibilität der UML Werkzeuge widerspiegelt.

Die OMG erkannte das Bedürfnis nach ausführbaren Modellen sowie die Probleme der Semantikdefinition von UML und entwickelte einen neuen Standard mit dem Titel Semantics of a Foundational Subset of Executable UML Models oder foundational UML (fUML), der im Februar
2011 in Erstversion veröffentlicht wurde. Dieser Standard definiert die präzise und vollständige Semantik einer Untermenge von UML 2, die als foundational UML subset bezeichnet wird.

Die Forschungsfrage dieser Arbeit lautet daher: Ist die Semantikdefinition des fUML Standards geeignet, um Programme zu implementieren, die das Ausführen von UML Aktivitätsdiagrammen ermöglichen? Um diese Frage zu beantworten, wurde ein Prototyp für einen Modell-Interpreter entwickelt, der UML Modelle entsprechend der im fUML Standard definierten Ausführungssemantik ausführen und debuggen kann. Dieser Modell-Interpreter konzentriert sich dabei auf die Ausführung von UML Aktivitätsdiagrammen, die sich mit der Manipulation von Objekten
und Links in einem System beschäftigen. Weiters stellt der Prototyp sinnvolle Debugging-Funktionen zur Verfügung, ähnlich jener Funktionalitäten, die vom Debuggen von Code bekannt sind, wie beispielsweise die schrittweise Ausführung oder das Anzeigen des Debugging-Fortschritts. Die Erfahrungen, die im Zuge der Implementierung dieses Prototyps gewonnen werden konnten zeigen, dass der fUML Standard verwendet werden kann, um Programme zu entwickeln, die das Ausführen von UML Aktivitätsdiagrammen ermöglichen. Gleichzeitig ist aber ein hoher Implementierungsaufwand nötig, um benutzerfreundliche und effizient nutzbare Werkzeuge zu entwickeln, die Funktionalitäten wie das Debuggen von Modellen oder das Ausführen unvollständiger Modelle unterstützen.

Keywords:
UML, MDD, fUML, foundational,


Electronic version of the publication:
http://publik.tuwien.ac.at/files/PubDat_196765.pdf


Created from the Publication Database of the Vienna University of Technology.