EASy-Producer – Flexible Generierung von Softwareproduktlinien

EASy-Producer – Flexible Generierung von Softwareproduktlinien

EASy-Producer

EASy-Producer ist ein prototypisches Tool zur Entwicklung von Software Produktlinien (SPL) variantenreichen Software-Ökosystemen. EASy steht für Engineering Adaptive Systems und beschreibt die einfache Erstellung, Verwaltung und Kombination von Software Produktlinien mit diesem Tool. Dazu werden effiziente Techniken zur Komplexitätsreduktion bei der Komposition und partiellen Ableitung von Produkten in EASy-Producer integriert und fortlaufend weiterentwickelt. Der Fokus liegt dabei besonders auf der Unterstützung für die Entwicklung von großen und komplexen Software Produktlinien.

Der EASy-Producer unterstützt die Ansätze:

  • Mehrstufige Produktkonfiguration
  • Mehrdimensionaler Variabilitätsmodellierung
  • Multi-Software Produktlinien

Diese Prinzipien stellen den aktuellen Stand der Forschung im Bereich großer und komplexer SPLs dar. Darüber hinaus basiert er auf folgenden Prinzipien:

  • Erweiterbarkeit für produktspezifische Anforderungen
  • Produkte als konfigurierte Produktlinien
  • Konzeptionelle Einfachheit

Auf Basis eines Entscheidungsmodellierungsansatzes lassen sich mit dem aktuellen Prototyp die gemeinsamen und variablen Anteile einer Produktlinie abbilden. Die getroffenen Entscheidungen hinsichtlich der Konfiguration von Teil-Produktlinien oder vollständiger Produkte sind der Ausgangspunkt für die automatische Instanziierung der entsprechenden Software-Artefakte auf Implementierungsebene.

Der EASy-Producer ist ein Eclipse-Plugin. Bei der Verwendung wird jede SPL in einem eigenen Produktlinien-Projekt (PLP) verwaltet. In dem Prototyp wird dabei zwischen einer neuen, partiellen und voll konfigurierten SPL (entspricht dem vollständigem Produkt) differenziert. Wie in Abbildung 1 dargestellt, kann jedes PLP Teil einer Ableitungskette sein. Dabei lassen sich drei grundsätzliche Szenarien unterscheiden:

  • Ein generisches PLP kann (teilweise) von einem spezifischeren PLP instanziiert werden. In Abbildung 1 ist das spezifische PLP PL_Picture von dem generischen PLP PL_Graphics abgeleitet.
  • Produkte können direkt mit offenen Decisions von einem PLP abgeleitet werden. Ein Beispiel hierfür ist Pd_1.
  • Multiple PLPs können als Basis für eine Infrastruktur oder ein Produkt kombiniert werden. Beispiele dafür sind PL_Picture und Pd_3.

        

                                            Abbildung 1: Beispiel Projektstruktur

 

Die im Konfigurationsschritt eines PLPs definierten Decisions führen zur Instanziierung der betroffenen Artefakte des PLPs innerhalb des Ableitungsschritts. Im Fall des PLPs PL_Picture (siehe Abbildung) bedeutet dies, dass alle Video-bezogenen Artefakte gelöscht sind, während die gesamte Funktionalität für Bilder weiterhin vorhanden ist. Jedes PLP speichert Informationen über seine Vorgänger und Nachfolger, wobei es nicht verpflichtend ist, dass alle verbundenen Projekte lokal verfügbar sind. Somit wird auch verteiltes Arbeiten unterstützt. Nebenbei ist auch die Nutzung beliebiger, vorhandener Systeme zum Konfigurationsmanagement möglich.

Wesentliche Eigenschaften des EASy-Producer

  • Flexible Modellierung und Instantiierung von Produktlinien

    • Textuelle Variabilitätsmodellierung durch die INDENICA Variability Modeling Language (IVML)
    • Integrierte Variabilitätsinstantiierung durch die Variability Instantiation Language (VIL)

  • Vereinfachte und Experten-Sichten, z.B., vereinfachte Sicht zum Konfigurieren und Experten-Editoren für Variabilitätsmodellierung und Instantiierung.
  • Unterstützung von Multi-Software Produktlinien
    • Homogene Variabilitätsmodellierung
    • Unterstützung von heterogenen Implementierungstechniken
  • Partielle Instanziierung
    • Keine Differenzierung zwischen Produktlinien und Produkten (Produkte sind Produktlinien, in denen alle Variabilitäten gebunden sind)

Weiterführende Links

Laufzeit: 2007 – 

Kontakt: MSc Sascha El-Sharkawy

Publikationen

Author:  
All :: E, K, Q, S 
  
 
Preferences: 
References per page: Show keywords Show abstracts
References

2017

11.
Eichelberger, Holger, Qin, Cui and Schmid, Klaus
Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion (ICPE '17) , page 91-96.
Publisher: ACM,
2017
10.
Schmid, Klaus
Proceedings of Embedded World
2017

2016

9.
Schmid, Klaus and Eichelberger, Holger
Proceedings of the 20th International Systems and Software Product Line Conference , page 309-309.
Publisher: ACM,
2016
8.
Eichelberger, Holger, Qin, Cui, Sizonenko, Roman and Schmid, Klaus
Proceedings of the 20th International Systems and Software Product Line Conference , page 204 - 208.
Publisher: ACM,
2016

2015

7.
Eichelberger, Holger and Schmid, Klaus
Eclipse Magazin, (1.16):89-94
2015
6.
El-Sharkawy, Sascha, Kröher, Christian, Eichelberger, Holger and Schmid, Klaus
Proceedings of the Eclipse Technology eXchange (ETX '15)
2015
5.
Schmid, Klaus and Eichelberger, Holger
Proceedings of the 19th International Conference on Software Product Line , page 390-391.
Publisher: ACM,
2015
4.
Eichelberger, Holger and Schmid, Klaus
Proceedings of the 19th International Conference on Software Product Line , page 365-369.
Publisher: ACM,
2015

2014

3.
Eichelberger, Holger, El-Sharkawy, Sascha, Kröher, Christian and Schmid, Klaus
Proceedings of the 18th International Software Product Line Conference: Companion Volume for Workshops, Demonstrations and Tools Volume 2 , page 133-137.
Publisher: ACM,
2014

2011

2.
El-Sharkawy, Sascha, Kröher, Christian and Schmid, Klaus
In Ina Schaefer and Isabel John and Klaus Schmid, editor, Proceedings of the Joint Workshop of the 3rd International Workshop on Model-driven Approaches in Software Product Line Engineering and the 3rd Workshop on Scalable Modeling Techniques for Software Product Lines (MAPLE/SCALE 2011) at the 15th International Software Product Line Conference (SPLC '11) Volume 2
Publisher: ACM,
2011
Page:  
Previous | 1, 2 | Next
Export as:
BibTeX, XML