Topologische Konfiguration

Topologische Konfiguration

Variabilitätsmodellierung ist ein zentrales Thema im Bereich Software-Produktlinien-Engineering um die Konfigurationsmöglichkeiten einer Produktline festzulegen. Dabei beschäftigt sich die Variabilitätsmodellierung traditionell eher mit hierarchischen Modellen. Aktuelle Fallstudien aus der Industrie zeigen, dass zudem auch komplexer organisierte Variabilitätsmodelle benötigt werden.

Eine Form derartig komplexer Modelle sind topologische Konfigurationen. In [1] werden topologische Konfiguration als verbundene Strukturen verstanden, allgemeiner als Graphen aus Knoten und Kanten. Derartige Konfigurationen können beispielsweise verwendet werden um die (logische) Verdrahtung elektronischer Komponenten in eingebetteten Systemen oder aber auch das Layout von Alarmsystemen bestehend aus Displays, Alarmzonen, Räumen und Sensoren [1] zu beschreiben. Dabei handelt es sich nicht nur um einfache Verbindungen zwischen konfigurierbaren Elementen (wie feature references in [2]), sondern es ist erforderlich auch die zulässigen Konfigurationen einzuschränken, z.B., im Alarmsystem-Fall durch Constraints die redundante Alarmscheifen mit den gleichen Sensoren wie in der primären Alarmschleife erzwingen [1]. Zusätzlich ist es wünschenswert, dass man derartige Topologien möglichst einfach und insbesondere in der Sprache der jeweiligen Domäne konfigurieren kann. Allerdings fehlen derzeit im Produktlinienbereich noch Ansätze und Werkzeuge um mit topologischen Konfiguration zu arbeiten. Daher beschreiben die Autoren von [1] topologische Konfigurationen auch als aktuelle Forschungsherausforderung.

Unser Ansatz

Unser Ansatz zur Entwicklung von Software-Produktlinien beinhaltet Konzepte zur Modellierung und Konfiguration derartiger Topologien. Bereits im FP7 Projekt INDENICA beschrieben die industriellen Anforderungen an den dort zu entwickelden Ansatz zur Variabilitätsmodellierung [3] die Fähigkeit, verknüfte Strukturen zu modellieren und zu konfigurieren. Im INDENICA-Projekt haben wir die Variabilitätsmodellierungssprache IVML [4] entwickelt, die unter anderem getypte Referenzen zwischen Variabilitäten sowie komplexe Constraints basierend auf einer Erweiterung der Object Constraint Language (OCL) ermöglicht. Die Sprache zur Modellierung und Konfiguration sowie ein Ansatz zur Instantiierung von Produktlinien-Artefakten, der auch getypte Referenzen unterstützt, wird von unserem prototypischen Werkzeug EASy-Producer [5] umgesetzt.

Big Data Analysepipelines als Topologische Konfiguration

Im FP7 Projekt QualiMaster erweitern und verfeinern wir unseren Ansatz um die Konfiguration von adaptiven Datenanalysepipelines [6] für Big Data Infrastrukturen zu untersuchen. Wir können zeigen, dass man mit unserem Ansatz Analysepiplines mit verschiedenartigen Analysealgorithmen modellieren, konfigurieren und letztendlich auch instantiieren kann. Das Ergebnis der Instantiierung ist beispielsweise Java Quelltext in Form einer adaptiven Pipeline für Apache Storm, ein aktuelles Big Data Framework zur Echtzeitverarbeitung von Datenströmen. Insbesondere erlaubt unser Ansatz die Konsistenz einer Pipeline-Konfiguration in Form von Constraints zu modellieren, und damit beispielsweise die Gültigkeit eines Datenflusses durch die verschiedenen Analysealgorithmen, die in Form ihrer Ein- und Ausgabedaten beschreiben werden, vor der Instantiierung zu überprüfen. Prinzipiell können derartige Konfigurationen auch mit Hilfe unseres Produktlinen-Werkzeuges EASy-Producer festgelegt werden. Dennoch ist es wünschenswert, Werkzeugunterstützung anzubieten, die die Domänensprache besser abbildet.

Im Rahmen des QualiMaster Projekts haben wir daher einen Prototyp entwickelt, der Domänenbenutzer besser bei der Konfiguration von Datenanalyepipelines unterstützt. Der Prototyp, das QualiMaster Infrastructure Configuration (QM-IConf) Werkzeug, basiert zwar auf EASy-Producer, versteckt aber dessen generische Fähigkeiten zugunsten domänenspezifischer Funktionalität. Das folgende Bild zeigt den grafischen Pipeline-Editor von QM-IConf, der es dem Benutzer ermöglicht, Datenanalyse-Pipelines per Drag-and-Drop zusammenzustellen. Weitere Konfigurationsmöglichkeiten wie die verfügbaren Rechenresourcen oder die Analysealgorithmen sind im Baum auf der linken Seite des Bildes zu sehen.

Zusätzlich erlaubt das QM-IConf Werkzeug die eingegebene Konfiguration zu validieren und die modellierten Pipelines in Form von Quelltextartefakten zu instantiieren.

Weitere Informationen

Um die Möglichkeiten von QM-IConf greifbarer zu machen, haben wir ein Demonstrations-Video erstellt, das über die QualiMaster Webseite oder über YouTube verfügbar ist. Zudem bieten wir eine Demonstrationsversion von QM-IConf an. Zur Vereinfachung ist insbesondere eine aktuelle Version des  Variabilitätsmodells enthalten, so dass kein Login (wie im Video gezeigt) erforderlich ist.

  • Windows 64bit Java (Download URL, version 0.10.5, Juli 2016)
  • Linux (gtk/x86) 64bit Java (Download URL, version 0.10.5, Juli 2016, erfordert 64bit Betriebssystem)
  • Aktuelle Versionen aus der continuous/nightly integration (URL)

Bitte beachten Sie die spezifischen Installationsinformationen in der enthaltenen readme-Datei. Im Falle von technischen Problemen helfen Ihnen gerne Cui Qin (qin(at)sse.uni-hildesheim.de).

Seit Dezember 2015 ist QM-IConf Open Source im GitHub-space des QualiMaster Projekts.

Kontakt

Dr. Holger Eichelberger, eichelberger(at)sse.uni-hildesheim.de

Referenzen

[1] T. Berger, S. Stanciulescu, O. Øgård, Ø. Haugen, B. Larsen, A. Wasowski. To connect or not to connect: experiences from modeling topological variability. Software Product Line Conference (SPLC '14),  330–339. ACM, 2014.

[2] K. Czarnecki, S. Helsen, U. Eisenecker. Staged configuration through specialization and multi-level configuration of feature models. J. SPIRE, 10(2):143–169, 2005.

[3] INDENICA Consortium, Open Variability Modelling Approach for Service Ecosystems, Deliverable D2.1, 2012

[4] H. Eichelberger, K. Schmid: IVML - A DSL for Configuration in Variability-Rich Software Ecosystems, Proceedings of the 19th International Software Product Line Conference, Volume 2, 2015

[5] H. Eichelberger, S. El-Sharkawy, C. Kröher, K. Schmid, EASy-Producer: Product Line Development for Variant-rich Ecosystems, Proceedings of the 18th International Software Product Line Conference, Volume 2, Seite 133-137, 2014

[6] QualiMaster Consortium, Quality-aware Processing Pipeline Modeling, Deliverable D4.1, 2014

The research leading to these results has received funding from the European Union Seventh Framework Programme [FP7/2007-2013] under grant agreements n° 619525 and n° 257483.