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.
Lfd. Nr. | Publikation |
---|---|
2023 | |
10. | Christian Kröher, Lea Kristin Gerling und Klaus Schmid (2023): Comparing the Intensity of Variability Changes in Software Product Line Evolution In: Journal of Systems and Software, 203. |
2019 | |
9. | Christian Kröher, Lea Kristin Gerling und Klaus Schmid (2019): Identifying the Intensity of Variability Changes in Software Product Line Evolution In: Proceedings of the 2019 Software Engineering and Software Management Conference (SE'19) in Lecture Notes in Informatics (LNI) Bd. P-292. S. 105-106. Gesellschaft für Informatik e.V. (GI). |
2017 | |
8. | Dierk Lüdemann, Nazish Asad, Klaus Schmid und Christopher Voges (2017): Understanding Variable Code: Reducing the Complexity by Integrating Variability Information In: Lecture Notes in Informatics (LNI) - Software Engineering (SE '17) |
2016 | |
7. | Sascha El-Sharkawy, Adam Krafczyk und Klaus Schmid (2016): Mismatched Configuration Information of Linux Heft / Ausgabe 1/2016, SSE 1/16/E. Software Systems Engineering, Institut für Informatik, Universität Hildesheim. |
6. | Dierk Lüdemann, Nazish Asad, Klaus Schmid und Christopher Bode (2016): Understanding Variable Code: Reducing the Complexity by Integrating Variability Information In: Proceedings of the International Conference on Software Maintenance and Evolution (ICSME'16) IEEE. |
2015 | |
5. | Sascha El-Sharkawy, Adam Krafczyk, Nazish Asad und Klaus Schmid (2015): Analysing the KConfig Semantics and Related Analysis Tools In: Hildesheimer Informatik-Berichte Heft / Ausgabe 1/2015, SSE 1/15/E. |
4. | Sascha El-Sharkawy, Adam Krafczyk und Klaus Schmid (2015): Analysing the Kconfig Semantics and Its Analysis Tools In: Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences S. 45-54. ACM. |
2013 | |
3. | Klaus Schmid, Rainer Koschke, Christian Kröher und Dierk Lüdemann (2013): Towards identifying evolution smells in Software Product Lines In: Stefan Sauer and Benjamin Klatt and Thomas Ruhroth (Hrsg.): Proceedings of the 5th Workshop "Design For Future - Langlebige Softwaresysteme" (DFF) Gesellschaft für Informatik e.V. (GI). |
2010 | |
2. | Klaus Schmid, Holger Eichelberger, Ursula Goltz und Malte Lochau (2010): Evolving Adaptable Systems: Potential and Challenges In: Proceedings of the 2nd Workshop "Design for Future |
1. | Klaus Schmid, Holger Eichelberger, Ursula Goltz und Malte Lochau (2010): Evolving Adaptable Systems: Potential and Challenges In: Softwaretechnik-Trends, 30 (2): 48-49. |
Prof. Dr. Klaus Schmid
Institut für Informatik
AG Software Systems Engineering
Universitätsplatz 1
31141 Hildesheim
Besucheradresse:
Institut für Informatik
Samelsonplatz 1
31141 Hildesheim
Sekretariat: Raum C212 Spl
Telefon +49 5121 883-40330
Besucheradresse:
Stiftung Universität Hildesheim
Institut für Informatik
Samelsonplatz 1
31141 Hildesheim