[Back]


Diploma and Master Theses (authored and supervised):

Th. Halmetschlager:
"Interactive Modeling for the Eclipse Modeling Framework";
Supervisor: G. Kappel, M. Seidl; E188 Institut für Softwaretechnik und Interaktive Systeme, 2011; final examination: 07-11-2011.



English abstract:
The high complexity of modern software makes it unavoidable to develop software with the
help of graphical, model based editors. Software models serve not only as documentation or as a rough system overview. They are also the fundament to generate an executable system.

The larger the application the more persons are involved in the design and development process. Simultaneous changes on a model are very common. With these concurrent changes conflicts can occur.

There is a need of interpersonal communication to solve appearing questions and avoid misunderstandings. Specially in the early stage of software development diversities in interpretation may occur because the semantics of models may be interpreted differently. To avoid such problems the communication channels within the team should be supported as much as possible. With good communication it should be possible to achieve a consolidated solution of the problem in a collaborative way.

Within this thesis ways and means are sought to enable interactive model-driven software development with the Eclipse Modeling Framework. It turned out that there are already several approaches for this interactive development method.

These budding candidates where reviewed and analyzed. Unfortunately each of the tested systems had some disadvantages or they were not mainly designed for model-driven software development. Using them for serious software development would not have been possible.

As soon as the analysis of various existing approaches was finished a list of requirements has been created. The search for a tool that matches the requirements as good as possible and that can be extended easily was started and finished with an acceptable result.

Therefore the implementation part consists of an extension of a existing tool. The chosen tool is CDO, "Connected Data Objects", a plugin for Eclipse. CDO was selected because it is the best match to our requirements and is supported by a very competent development team. We think we found the optimal candidate to develop a sustainable solution.

Within this thesis we developed a functionality that enables the user to merge two branches of the versioning system, CDO.

German abstract:
Durch die hohe Komplexität von moderner Software ist es inzwischen unabdingbar geworden, Software mit Hilfe von grafischen, modellbasierten Editoren zu entwerfen. Softwaremodelle dienen heutzutage nicht mehr nur zur reinen Dokumentation oder als grobe Übersicht des zu entwickelnden Systems, sondern auch als Grundlage zur automatischen Generierung von lauffähigem Code.

Je umfangreicher eine Applikation ist, umso mehr Personen sind in dem Design- und Entwicklungsprozess involviert. Dadurch treten gleichzeitige Änderungen an einem Modell im laufenden Entwicklungsprozess sehr häufig auf, wodurch wiederum Konflikte entstehen könnten.

Daher bedarf es zwischenmenschlicher Kommunikation, um aufgetretene Fragen zu klären oder um Missverständnissen vorzubeugen. Vor allem in frühen Phasen des Softwareentwicklungsprozesses kann es schnell zu unterschiedlichen Auffassungen der Thematik kommen, da die Semantik von Modellen unterschiedlich interpretiert werden kann. Um solche Probleme zu vermeiden, sollte man die Kommunikation im Team so gut wie möglich unterstützen und so kollaborativ zu einer konsolidierten Lösung der Aufgabenstellung kommen.

In dieser Diplomarbeit werden Wege erarbeitet um eine interaktive modellgetriebene Softwareentwicklung mit dem Eclipse Modeling Framework zu ermöglichen. Wie sich im Laufe der Recherchen herausstellte, existieren hierfür bereits einige Lösungsansätze.

Diese vielversprechende Kandidaten wurden genauer betrachtet und analysiert. Jedoch hatte jedes System gravierende Nachteile oder war nicht speziell für die Verwendung zur modellgetriebenen Softwareentwicklung entworfen worden, was die Verwendung für eine seriöse Softwareentwicklung nicht möglich macht.

Nach der Analyse diverser bestehender Ansätze wurden Überlegungen angestellt, welche Funktionen die optimale Lösung besitzen sollte. Aus diesen Überlegungen wurde eine Anforderungsanalyse erstellt und der Entwicklungsaufwand abgeschätzt.

Im Implementierungsteil dieser Diplomarbeit wurde ein bestehendes Tool zur kollaborativen Zusammenarbeit um einige wichtige Funktionen erweitert. CDO, "Connected Data Objects", ist ein Plugin für Eclipse. Es wurde ausgewählt, da es am besten den Anforderungen, die sich im Zuge der Diplomarbeit heraus kristallisierten, entspricht und durch ein kompetentes Team laufend erweitert wird. In CDO sahen wir so den potentesten Kandidaten, um eine nachhaltige Lösung zu realisieren.

Im Rahmen dieser Diplomarbeit wurde CDO um eine Funktion erweitert, die es dem Benutzer ermöglicht zwei verschiedene Äste des Modell-Versionierungsbaums zusammenzufügen.

Keywords:
Modellierung, Softwaremodell, Softwareentwicklung, Eclipse Modeling Framework


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