Prof. Dr. Ina Schaefer

Reverse Engineering Design of Software Product Lines for Automation Technology (REDSplat)
Software übernimmt im Maschinen- und Anlagenbau (M&A) eine zunehmen wichtige Rolle. Um auf spezielle Rahmenbedingungen zu reagieren, werden neue Softwarevarianten häufig aus existierenden abgeleitet, indem diese kopiert und anschließend modifiziert werden. Diese Strategie, auch als clone-and-own bezeichnet, resultiert in einer Menge von redundanten und ähnlichen Softwareartefakten ohne Wissen über deren Beziehung. Die Überführung eines so gewachsenen Variantenportfolios in eine Softwareproduktlinie (SPL), welche Redundanzen reduziert und ähnliche Artefakte in Relation setzt, ist ein schwieriges Unterfangen. Hierzu ist die Analyse des gesamten Portfolios notwendig und damit die Identifikation von gleichen Artefakten und variablen Artefakten, somit unterschiedliche Artefakte und deren konkreten Beziehungen zueinander.
Im Rahmen dieses Projektes werden Softwaresysteme aus dem M&A untersucht und deren Variabilität identifiziert. Solche Systeme stellen aufgrund der Programmierung gemäß IEC61131-3 und des damit inhärenten Sprachmixes eine besondere Herausforderung bei der Überführung in eine SPL dar.
Die in den Varianten identifizierte Variabilität wird dazu genutzt, ein Variabilitätsmodell zu erstellen, welches Möglichkeiten bereitstellt, einzelne Varianten über Konfigurationen aus der SPL abzuleiten. Ein weiteres Variabilitätsmodell setzt diese Konfigurationen mit den konkreten Implementierungsartefakten zusammen. Zur Nutzung der Ergebnisse auch im industriellen Kontext gilt es weiterhin sinnvolle Darstellungsformen zu ergründen, welche die identifizierte Variabilität für den Domainenanwender nachvollziehbar aufzeigt.
Unternehmen des Maschinen- und Anlagenbaus (M&A) realisieren zunehmend mehr Funktionalität durch Software. Hier werden vorwiegend die Programmiersprachen nach IEC 61131-3 zur Entwicklung von Steuerungssoftware für Speicherprogrammierbare Steuerungen (SPS) genutzt. Softwarevarianten werden im M&A dabei typischerweise mittels copy-paste-and-modify Strategie (auch clone-and-own Ansatz genannt) gebildet. Gründe hierfür sind zumeist auf spezifische Rahmenbedingungen des M&A zurückzuführen. Die signalorientierten, zyklisch aufgerufenen Programme nach IEC 61131-3 sowie der im Standard explizit vorgesehene Mix unterschiedlicher Sprachen für verschiedene Programmeinheiten erschweren die Einführung eines geeigneten Modularitätskonzeptes zur strukturierten Wiederverwendung. Auch während der Inbetriebnahme von M&A vor Ort (oft weltweit parallel) werden Anpassungen der Software durchgeführt, um das Verhalten kundenspezifisch zu optimieren. Untereinander inkompatible Plattformen der Steuerungshersteller erfordern ebenfalls eine Variantenbildung. Im Gegensatz dazu ist in der Softwaretechnik das Konzept der Softwareproduktlinie (SPL) bereits seit längerem Gegenstand intensiver Forschung. Es zeichnet sich durch eine strukturierte Variantenmodellierung aus. Die Entwicklungskosten für die Erstellung von Varianten mittels SPL sind üblicherweise zu Beginn hoch, da ein vollständiges Variabilitätsmodell aller Varianten des betrachteten Softwaresystems korrekt abgebildet und geeignete, wiederverwendbare Softwareartefakte entwickelt werden müssen. Ein Variabilitätsmodell umfasst ein Problem Space Variabilitätsmodell, welches die Konfiguration der SPL Varianten über Konfigurationsoptionen (sog. Produktfeatures) ermöglicht, und eine Solution Space Variabilitätsrealisierung, die wiederverwendbare Implementierungsartefakte definiert, die entsprechend der gewählten Features in der jeweiligen Variante enthalten sind. Der Übergang zu einer Produktlinienentwicklung birgt Risiken für Unternehmen, da alle Softwareartefakte portiert werden müssen. Dies stellt eine wesentliche Adaptionshürde von SPL im Bereich der Automatisierungstechnik dar. Um diesen Herausforderungen zu begegnen und eine systematische Entwicklung variantenreicher Systeme als Softwareproduktlinien im M&A zu ermöglichen, soll im Rahmen dieses Forschungsprojekts untersucht werden, wie eine durch clone-and-own Ansätze gewachsene Variantenvielfalt automatisierungstechnischer Softwareprojekte (semi-)automatisch in eine Softwareproduktlinie mit hohem Wiederverwendungsgrad überführt werden kann. Dabei sollen insbesondere Anforderungen aus der industriellen Praxis berücksichtigt werden, um die Anwendbarkeit entwickelter Konzepte sicherzustellen. Um eine Migrationen von clone-and-own Softwareprojekten zu einer SPL zu ermöglichen, ist die (automatische) Analyse der Variabilität der existierenden Menge automatisierungstechnischer Softwareprojekte notwendig. Da die Variabilität der Softwareprojekte durch Domänenexperten geprüft und verwaltet werden muss, wird eine geeignete Darstellung der Variabilitätsinformationen für Domänenexperten benötigt. Die Überführung einer Menge von clone-and-own Softwareprojekten zu einer SPL erfordert dabei die Restrukturierung der Software in wiederverwendbare Bausteine, sowie eine geeignete Darstellung und Realisierung der Variabilität der SPL.