Langer, P. (2009). Konflikterkennung in der Modellversionierung [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-23582
E188 - Institut für Softwaretechnik und Interaktive Systeme
-
Date (published):
2009
-
Number of Pages:
103
-
Keywords:
model-driven; model versioning; conflict detection; refactorings
de
model-driven; model versioning; conflict detection; refactorings
en
Abstract:
In den letzten Jahren gewannen Softwaremodelle als zentrale Artefakte der Softwareentwicklung zunächst mit dem CASE-Ansatz (Computer Aided Software Engineering) und später mit dem MDE-Ansatz (Model Driven Engineering) immer mehr an Bedeutung. Sie dienen mittlerweile nicht nur zur Dokumentation und zur Bildung des gemeinsamen Verständnisses sondern auch als Grundlage für die Generierung eines lauffähigen Systems. Der modellgetriebene Ansatz ist in der Softwareentwicklung zu einer etablierten und weit verbreiteten Methode geworden.<br />An dem Softwareentwicklungsprozess ist in größeren Softwareprojekten üblicherweise eine Vielzahl an EntwicklerInnen beteiligt. Diese verfeinern in einem zumeist iterativen Prozess das zu entwickelnde System und passen es stetig an sich verändernde Anforderungen, Verständnisse und laufend zu treffende Design\-entscheidungen an. Für eine erfolgreiche Durchführung eines Softwareprojekts ist daher ein effizientes Änderungs- und Konfigurationsmanagement ausschlaggebend und ermöglicht erst die effektive Zusammenarbeit mehrerer EntwicklerInnen.<br />Traditionelle Versionierungssysteme implementieren größtenteils nur zeilenbasierte Konflikterkennung und bieten daher keine ausreichende Unterstützung für Erkennung und Resolution von Konflikten bei der Versionierung von Softwaremodellen, die eine graphenbasierte Form aufweisen.<br />Das Ziel dieser Arbeit ist die Erarbeitung und Implementierung einer intelligenten, adaptierbaren Konflikterkennung für die Versionierung von Modellen. Es wird ein Rahmenwerk geschaffen, das out-of-the-box einen verwendbaren Vergleichs- und Konflikterkennungsalgorithmus für Modelle bietet und bei Bedarf durch die Erstellung spezifischer Beschreibungen für eine konkrete Modellierungssprache oder -domäne adaptiert werden kann. Diese sprachspezifischen Erweiterungen erhöhen die Qualität und Genauigkeit der Konflikterkennung und verhindern dadurch unnötige Konfliktmeldungen und manuelle Eingriffe.<br />
de
Within the last years, the popularity and appearance of model-driven software development (MDSD) has increased significantly.<br />The model-driven paradigm induces a shift from code-centric to model-centric development. Software models are considered as first class entites building the basis for generating an executable software.<br />Nowadays, MDSD is a widely accepted technology helping software developers to accelerate and simplify their work by raising the abstraction level of the software artefacts they create.<br />Large-scale software is usually produced by a high number of software developers, who are often working in parallel and spread all over the world. Therefore, the version management of software models is crucial for an effective, collaborative software development. One of the most important components of a versioning system for model artefacts is a precise difference and conflict detection, which is capable of identifying all operations executed by the developers and the eventually resulting conflicts that arise at merging independently changed models.<br />Without an appropriate difference and conflict detection system, software developers are forced to find occuring problems manually, which is a time consuming process. Especially complex operations, refactorings and language specific conflicts are hard to identify and can lead to serious malfunctions in the produced software if they remain undiscovered.<br />The main goal of this work is the development and implementation of an intelligent and adaptable conflict detection mechanism for models in the context of versioning. A framework will be presented which is able to precisly calculate the differences and detect conflicts in a generic way. Users may extend this system by providing language specific definitions which will be used to refine the functionality for specific modeling languages. In that way, the quality of the difference and conflict detection can be improved to minimize the need for manual interaction.
en
Additional information:
Abweichender Titel laut Übersetzung der Verfasserin/des Verfassers Zsfassung in engl. Sprache