Motivation des Projekts

Kollaboratives Arbeiten ist in der Softwareentwicklung nicht mehr wegzudenken. Die Komplexität umfangreicher Programme erfordert in der Entwicklung eine effiziente Verwaltung der Versionen und Modifikationen aller Dateien innerhlab eines Projekts. Versionskontrollsysteme (VCS) wie SVN und Git bilden den de facto Standard, wenn es darum geht, textuelle Dokumente zu versionieren. Sie stellen zahlreiche Funktionen zur Verwaltung textueller Dokumente bereit. Dazu gehören die zeilenbasierte Differenzberechnung oder das Mischen von zwei oder mehreren Dokumenten.

In der Modellbasierten Softwareentwicklung (MDSD) lässt sich mit Versionskontrollsystemen zwar der Quelltext eines Projekts verwalten, für die Versionierung von Modellen sind sie jedoch ungeeignet, da sich eine zeilenbasierte Differenzberechnung nicht auf Modelle übertragen lässt. Modelle können zwar wie jede andere Datei mit Versionsnummern versehen werden, eventuell auftretende Konflikte und Änderungen können aber nur zeilenbasiert festgestellt werden. Der zeilenbasierte Vergleich von Modellen ist nur bei kleinen Modellen sinnvoll. Umfangreichere Modelle erfordern einen Vergleich von High-level-Differenzen. Das Heraufziehen (“Liften”) der High-level-Differenzen aus den Low-level-Differenzen soll dabei von dem Modellvergleichs-Framework SiLift der Praktischen Informatik der Uni Siegen übernommen werden.

Die Aufgabe dieses Praktikums besteht darin, das Modellvergleichswerkzeug SiLift an die Versionskontrollsysteme SVN und Git anzubinden.