EvoLine - Korrekte Evolution von Software Produktlinien

EvoLine - Korrekte Evolution von Software Produktlinien

Das Projekt EvoLine ist Teil des Schwerpunktprogramms (SPP) 1593 „Design For Future – Managed Software Evolution“ der Deutschen Forschungsgesellschaft (DFG). Das SPP ist das erste Programm der DFG im Bereich Software Engineering und beschäftigt sich mit der Forschung zur Evolution von Software. In diesem Schwerpunktprogramm wurde der Antrag der Arbeitsgruppe Software Systems Engineering (SSE) der Universität Hildesheim auf Einrichtung des Forschungsprojekts EvoLine genehmigt. Das EvoLine-Projekt zielt auf die Erforschung und Verbesserung der Evolution von Produktlinien ab. Der Projektpartner der Arbeitsgruppe SSE im dreijährigen Projekt EvoLine ist die Arbeitsgruppe Softwaretechnik der Universität Bremen, deren Fokus auf dem Reengineering liegt.

EvoLine zielt auf die kontinuierliche und korrekte Evolution von Produktlinien. Eine Produktlinie ist dabei eine Menge verwandter Produkte, die auf Basis einer gemeinsamen Infrastruktur so entwickelt wird, dass insgesamt sehr verschiedene Produkte bei gleichzeitig sehr starker Wiederverwendung der Realisierung umgesetzt werden können. Eine wesentliche Herausforderung bei der Evolution von Produktlinien ist zum einen die enge Verknüpfung der einzelnen Produkte und zum anderen die längere Lebensdauer der Produktlinie im Vergleich zu einzelnen Produkten. Das Ziel des EvoLine-Projekts ist es, Methoden und Werkzeuge zur korrekten und konsistenten Evolution von Softwareproduktlinien zu entwickeln, um so eine langfristig erfolgreiche Evolution zu gewährleisten.

Im EvoLine-Projekt wird die kontinuierliche Evolution langlebiger Produktlinien vor allem im Hinblick auf eingebettete Systeme und insbesondere Industrieautomatisierungssysteme untersucht. Es wird jedoch erwartet, dass die Ergebnisse auch für viele andere Arten von Produktlinien gültig sein werden. In diesen Domänen wird Variabilität oft statisch mit Hilfe von Präprozessordirektiven umgesetzt oder durch explizite Konfigurationsvariablen definiert. Dies erschwert die Evolution natürlich sehr, da es nicht ausreicht die korrekte Evolution eines Programms zu beurteilen, sondern von allen möglichen Programmen. Dabei ist vor allem der Zusammenhang zwischen Konfigurationsmöglichkeiten (das sogenannte Variabilitätsmodell) und Programmcode zu betrachten. Bei der kontinuierlichen Evolution langlebiger Produktlinien ist daher die konsistente Weiterentwicklung von Code und Variabilitätsmodell erforderlich, um fehlerhafte Konfigurationen oder nicht mehr konfigurierbare Produkte zu vermeiden. Ziel des EvoLine-Projekts ist daher Fehler durch eine inkonsistente Evolution rechtzeitig zu identifizieren.

Die im Projekt entwickelten Methoden und Werkzeuge ermöglichen die Identifikation und Analyse evolutionsbedingter Änderungen an Code und Variabilitätsmodell über Versionsstände hinweg. Die Ergebnisse der Analysen werden detaillierte und frühzeitige Aussagen zu möglichen Problemen erlauben, die durch die beabsichtigten Änderungen entstehen können. Mit dieser Lösung wird die Langlebigkeit von Softwareproduktlinien unterstützt und der Aufwand für Fehlererkennung und -korrektur signifikant verringert.

Die Arbeitsgruppe Software Systems Engineering am Institut für Informatik der Universität Hildesheim beschäftigt sich im Rahmen des Projekts vor allem mit der Analyse des Variabilitätsmodells und der automatisierten Identifikation von Veränderungen im Rahmen der Evolution. Hierzu werden Techniken aus dem Bereich der Softwareproduktlinienentwicklung (SPLE) zur automatisierten Analyse von Konfigurationen, wie beispielsweise die Prüfung auf Fehlerfreiheit, die Ermittlung der Anzahl möglicher Produkte, usw. angewendet und für die Domäne der Industrieautomatisierungssysteme weiterentwickelt. Softwareproduktlinienentwicklung ist ein Wiederverwendungsansatz, der eine möglichst starke Automatisierung der Konfiguration und Anpassung von Produktvarianten zum Ziel hat. Dieser Ansatz reduziert sowohl die Entwicklungskosten als auch die Zeit bis zur Produkteinführung bei gleichzeitiger Verbesserung der Qualität. Die Arbeitsgruppe Software Systems Engineering erforscht moderne Methoden und Techniken, um die Softwareentwicklung effizienter und flexibler zu machen.

SPP-Website: www.dfg-spp1593.de

Laufzeit: 3 Jahre

Kontakt: Prof. Dr. Klaus Schmid

 Weitere Informationen:

Das EvoLine-Projekt wird finanziert durch die Deutsche Forschungsgesellschaft (DFG) im Rahmen des Schwerpunktprogramms SPP1593: Design For Future - Managed Software Evolution.

Publikationen

Referenzen

2017

8.
Lüdemann, Dierk, Asad, Nazish, Schmid, Klaus und Voges, Christopher
Lecture Notes in Informatics (LNI) - Software Engineering (SE '17)
2017

2016

7.
Lüdemann, Dierk, Asad, Nazish, Schmid, Klaus und Bode, Christopher
Proceedings of the International Conference on Software Maintenance and Evolution (ICSME'16)
Herausgeber: IEEE,
2016
6.
El-Sharkawy, Sascha, Krafczyk, Adam und Schmid, Klaus
Dokument Nummer: 1/2016, SSE 1/16/E
2016

2015

5.
El-Sharkawy, Sascha, Krafczyk, Adam und Schmid, Klaus
Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences , Seite 45-54.
Herausgeber: ACM,
2015
4.
El-Sharkawy, Sascha, Krafczyk, Adam, Asad, Nazish und Schmid, Klaus
Dokument Nummer: 1/2015, SSE 1/15/E
2015

2013

3.
Schmid, Klaus, Koschke, Rainer, Kröher, Christian und Lüdemann, Dierk
In Stefan Sauer and Benjamin Klatt and Thomas Ruhroth, Editor, Proceedings of the 5th Workshop "Design For Future - Langlebige Softwaresysteme" (DFF)
Herausgeber: Gesellschaft für Informatik e.V. (GI),
2013

2010

2.
Schmid, Klaus, Eichelberger, Holger, Goltz, Ursula und Lochau, Malte
Softwaretechnik-Trends, 30(2):48-49
2010
1.
Schmid, Klaus, Eichelberger, Holger, Goltz, Ursula und Lochau, Malte
Proceedings of the 2nd Workshop "Design for Future
2010
Export als:
BibTeX, XML