Kollaborative Modellierung im Software Engineering - Semantic Scholar

Christian Bartelt. Software Engineering ist ... durchgeführter Modellbearbei- tungen spielt dabei für den Projekterfolg eine immer entscheidendere Rolle.
48KB Größe 6 Downloads 486 Ansichten
Kollaborative Modellierung im Software Engineering Christian Bartelt

Software Engineering ist Teamarbeit. Schon im Vorfeld der Programmierung modelliert und verfeinert ein Team aus Softwareingenieuren und Fachseite gemeinschaftlich (kollaborativ) die zu realisierende Software. Zur Beschreibung von Software haben sich weitgehend standardisierte Modellierungssprachen wie die UML aber auch eine Reihe domänenspezifischer Sprachen etabliert. Um die ambitionierten Zeitvorgaben heutiger Softwareprojekte einhalten zu können, arbeiten die Akteure oft hochgradig parallel an Softwaremodellen. Die effiziente und gleichzeitige korrekte Integration parallel und asynchron durchgeführter Modellbearbeitungen spielt dabei für den Projekterfolg eine immer entscheidendere Rolle. Im Gegensatz zur Programmcodeverwaltung, bei der die effiziente und korrekte Integration von parallel bearbeiteten Codeversionen durch Werkzeuge hinreichend gut unterstützt wird, existiert für die Modellverwaltung noch keine adäquate Unterstützung. Aus diesem Grund werden in der Entwurfsphase kontinuierlich parallele Bearbeitungsstände verschiedener Teammitglieder fast ausschließlich manuell zu einem gemeinsamen Modell integriert. Diese manuelle Arbeitsweise ist wegen der Größe und Komplexität der zu verwaltenden Modelle einerseits sehr arbeits- und deswegen zeitaufwendig und andererseits fehleranfällig. Durch eine geeignete Werkzeugunterstützung kann die kollaborative Arbeitsweise in der Softwaremodellierung stark unterstützt werden. Mit der vorliegenden Dissertation wird ein rechnergestütztes Verfahren zur Integration parallel erstellter Modellversionen konzipiert. In der vorgestellten Lösung lassen sich zwei Schwerpunkte ausmachen. Zum einen wird die Integration asynchron durchgeführter Modelländerungen auf Basis syntaktischer Elementarbausteine automatisiert, wodurch ein manuelles Einpflegen von Modelländerungen entfallen kann. Zum anderen wird die so integrierte Modellsyntax hinsichtlich ihrer Korrektheit validiert. Im Rahmen dieser Prüfung wird untersucht, ob das Modell die syntaktischen Korrektheitsanforderungen des vorgegebenen Metamodells erfüllt und ob weitere, für Modelle allgemeingültige Eigenschaften gelten. Eine dadurch mögliche automatische Lokalisierung von inkonsistenten parallelen Änderungen erspart den Modellierern eigene Analyseaufwände im Rahmen der letztendlich manuellen Korrektur inkonsistenter Änderungen. Das konzipierte Verfahren beschleunigt die kollaborativen Modellierungsaufgaben, indem die bisher aufwendige manuelle Integration parallel entwickelter Modellversionen weitgehend automatisiert wird. Es ermöglicht den Aufbau einer werkzeuggestützten Modelldatenverwaltung für Entwicklerteams, die Modelle beliebiger Modellierungssprachen verarbeiten kann.