TP3.6: Technische Plattform-Architektur

Teilprojektleitung
Prof. Dr. Dr. h.c. Manfred Broy
Teilprojektleitung
Dr. habil. Christian Prehofer
Bearbeiter
Dr. Ilias Gerostathopoulos


Unter Connected Mobility Systems (CMS) versteht man die Instrumentierung von Geräten und Diensten, um damit auf dem Mobilitätsmarkt Mehrwertfunktionen anbieten zu können. Ein Beispiel für ein CMS ist ein intelligentes Parksystem, bei dem externe Webdienste einen homogenen Überblick über die Verfügbarkeit von Parkplätzen in einer Stadt zu ermöglich, basierend auf Straßenrand-Sensoren und Fahrzeugen die in einer Stadt fahren.

CMS sind schwer zu entwickeln, da sie komplexe Systeme mit vielen Stakeholdern und verteilten Geräten und Daten sind.

Abbildung 1: Überblick über Continuous Architecture Engineering
Sie haben meist Anforderungen, die oft widersprüchlich sind:
  • Notwendigkeit für die Nutzung offener Plattformen (im Bezug auf das Management), um aus Ökosystemeffekte zu proliferieren.
  • Müssen immer aktiv sein und schnell reagieren, um Endbenutzer zufrieden zu stellen.
  • Müssen erweiterbar sein im Bezug auf neue Funktionen und sich ändernde Anforderungen um der Geschwindigkeit heutiger Innovationen mitzuhalten.
  • Müssen große Mengen an Daten analysieren und an diesen Daten lernen, um sich selbst zu verbessert.
Um diese Herausforderung anzugehen, konzentrieren wir uns in dieser WP auf folgende (breite) Forschungsfragen:
  • Wie können wir die Qualität und Leistungsfähigkeit einer CMS-Plattform gewährleisten, insbesondere in Bezug auf die Analyse und die Zusammenarbeit mit der Plattform?
  • Wie können wir eine integrierte Entwicklungsumgebung bereitstellen, die Continuous Delivery von neuen Funktionalitäten über alle Geräte und Plattformteile hinweg ermöglicht?
  • Wie können wir die Anpassungsfähigkeit und Weiterentwicklung einer CMS-Plattform gewährleisten?
Wir nennen unseren Ansatz Data-Driven Continuous Engineering. Dementsprechend sollten Daten, die sowohl die Laufzeitphase eines CMS als auch den Entwicklungslebenszyklus betreffen, erfasst und analysiert werden, um Korrelationen zwischen Entwicklungsmethoden und Endprodukten zu identifizieren sowie Experimente durchgeführt werden um das Endbenutzerverhalten zu messen und damit den Wert neuer Entwicklungen zu bemessen. Die Analysenergebnisse sollten dann zur Verbesserung der Entwicklungsmethoden, zur Genehmigung oder zur Ablehnung von Funktionen, zur Priorisierung von Testaktivitäten usw. führen. Eine grafische Übersicht über die Vorgehensweise ist in Abbildung 1 dargestellt. Der vorgeschlagene Ansatz bezieht sich auf evidenzbasierte Software-Engineering [2] und Techniken, die in der Industrie als A/B-Tests [3] verwendet werden.

Unsere bisherige Forschung beinhaltet folgende Fragestellungen:
  1. Wie man schnelle und qualitativ hochwertige Entwicklung durch schnelles Feedback ermöglichen kann. Dafür untersuchen wir Continuous Integration Modellierungen und Best Practices.
  2. Wie man eine CMS-Architektur und einen Entwicklungsprozess anhand von realen Daten auswertet kann. Dafür untersuchen wir in Big Data Analytics für die Analyse der Qualität eines Systems auf der Grundlage von Betriebsdaten aus dem System.

Abbildung 3: Werkzeug-agnostische Continuous Integration Modellierung [4]



Abbildung 2: Continuous Integration: Schnelle Iterationen

Forschung zur Continuous Integration Modellierung und Best Practices

Continuous Integrationn (Abbildung 3) als Softwarepraxis bietet ein großes Potential zur Verbesserung der Produktivität in der Entwicklung und der generellen Kostensenkung. Allerdings ist sehr schwer, es für eine bestimmte Umgebung (Domain / Unternehmen / Projekt) so anzupassen, dass die meisten der damit verbundenen Vorteile auch gewonnen werden können. Insbesondere können sich Continuous Integration Systeme unterscheiden in folgenden Bereichen:
  • Build Dauer: Minuten, Stunden, …
  • Build Häufigkeit: Täglich, Wöchentlich, …
  • Build Auslöser: Änderungen am Programmcode, …
  • Tragweite: Kompilierung, Unit-Tests, Integrations-Tests, Code Analyse
  • Definition von Fehlern: Build-Fehler, Fehler in einzelnen Tests, …
  • Fehler Handhabung: vom Entwickler selbst, seperates Team, …
Die Frage lautet dann „Wie wählen man eine Option aus allen Varianten, so dass die Vorteile der Verwendung von CI in einer Domäne / Firma / Projekt maximiert werden?“

Zurzeit experimentieren wir mit der Anwendung eines Modellierungsansatzes für die Dokumentation von Continuous Integration Systemen (Abbildung 2) als ersten Schritt zur Verbesserung dieser.

Abbildung 4: Architektur des RTX Tools

Forschung im Bezug auf Big Data Analytics zur Analyse der Systemqualität basierend auf Betriebsdaten aus dem System

We have created an open-source tool called RTX for simplifying the experimentation with (self-)adaptation [5] based on Big Data analytics. Wir haben ein Open-Source-Tool namens RTX erstellt, um das durchführen von Experimenten mit (Selbst-)Anpassung [5] basierend auf Big Data Analytics zu vereinfachen. In the tool’s architecture (Abbildung 4), a Kafka broker facilitates the communication with any data-intensive system that can be adapted based on the results of Big Data analysis. In der Tool-Architektur (Abbildung 4) erleichtert ein Kafka-Broker die Kommunikation mit datenintensiven Systemen. Dieses System kann dann auf der Basis der Ergebnisse der Big Data-Analyse angepasst werden. Für die Datenanalyse können einfache Python-Skripte oder anspruchsvollere Spark-Jobs verwendet werden.

Kurz gesagt, jedes „Experiment“ in RTX:
  • Setzt einen Parameterwert in einem laufenden System
  • Sammelt für einiger Zeit Daten aus dem System
  • Analysiert sie, um daraus die System-Effizienz zu berechnen
Das Github-Projekt für RTX findet sich unter https://github.com/Starofall/RTX.

Kontakt

Bitte wenden Sie sich an Dr. Ilias Gerostathopoulos und Dr. habil. Christian Prehofer für den Fall, dass Sie sich für mehr Details oder eine Zusammenarbeit im Themenbereich Plattformarchitektur für Mobilitätssysteme oder verwandte BS- oder MS-Projekte bzw. geführte Forschungsthemen interessieren.

Publikationen
Journals
1. Ilias Gerostathopoulos, Tomas Bures, Petr Hnetynka, Adam Hujecek, Frantisek Plasil, Dominik Skoda. „Strengthening Adaptation in Cyber-Physical Systems via Meta-Adaptation Strategies.“ ACM Transactions on Cyber-Physical Systems (TCPS), Volume 1, Issue 3, Article 13, April 2017.
2. Antonio Filieri, Martina Maggio, Konstantinos Angelopoulos, Nicolas D’Ippolito, Ilias Gerostathopoulos, Andreas Berndt Hempel, Henry Hoffmann, Pooyan Jamshidi, Evangelia Kalyvianaki, Cristian Klein, Filip Krikava, Sasa Misailovic, Alessandro V. Papadopoulos, Suprio Ray, Amir M Sharifloo, Stepan Shevtsov, Mateusz Ujma, Thomas Vogel. „Control Strategies for Self-Adaptive Software Systems.“ ACM Transactions on Autonomous and Adaptive Systems (TAAS), Volume 11, Issue 4, Article 24, February 2017. [2015/2016 IF: 1.118]
3. Ilias Gerostathopoulos, Tomas Bures, Petr Hnetynka, Jaroslav Keznikl, Michal Kit, Frantisek Plasil, Noeal Plouzeau. „Self-Adaptation in Software-Intensive Cyber-Physical Systems: from System Goals to Architecture Configurations.“ Elsevier’s Journal of Systems and Software (JSS), Volume 122, December 2016. [2015 IF: 1.424]

Konferenzen
1. Ilias Gerostathopoulos, Christian Prehofer, Lubomir Bulej, Tomas Bures, Vojtech Horky, Petr Tuma. „Cost-Aware Stage-Based Experimentation: Challenges and Emerging Results.“ In ICSA 2018: Proceedings of the IEEE International Conference on Software Architecture, to appear. [short paper]
2. Ilias Gerostathopoulos, Christian Prehofer, Tomas Bures. „Adapting a System with Noisy Outputs with Statistical Guarantees. In SEAMS 2018: Proceedings of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems,“ to appear. [long paper]
3. Sasan Amini, Ilias Gerostathopoulos, Christian Prehofer. „Big Data Analytics Architecture for Real-Time Traffic Control.“ In MT-ITS 2017: Proceedings of the 5th International Conference on Models and Technologies for Intelligent Transportation Systems, IEEE, August 2017.
4. Sanny Schmid, Ilias Gerostathopoulos, Christian Prehofer, Tomas Bures. „Self-Adaptation Based on Big Data Analytics: A Model Problem and Tool.“ In SEAMS ’17: Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pages 102-108. IEEE, May 2017. [artifact paper]
5. Filip Krijt, Zbynek Jiracek, Tomas Bures, Petr Hnetynka, Ilias Gerostathopoulos. „Intelligent Ensembles – a Declarative Group Description Language and Java Framework.“ In SEAMS ’17: Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pages 116-122. IEEE, May 2017. [artifact paper]
6. Georgios Pipelidis, Christian Prehofer, Ilias Gerostathopoulos. „Adaptive Bootstrapping for Crowdsourced Indoor Maps.“ In GISTAM ’17: Proceedings of the 3rd International Conference on Geographical Information Systems Theory, Applications and Management, pages 284-289. Scitepress, 2017. [short paper]
7. Ilias Gerostathopoulos, Dominik Skoda, Frantisek Plasil, Tomas Bures, Alessia Knauss. „Architectural Homeostasis in Self-Adaptive Software-Intensive Cyber-Physical Systems.“ In ECSA ’16: Proceedings of the 10th European Conference on Software Architecture, vol. 9839 of LNCS. Springer, September 2015. [long paper, CORE A, acceptance rate 29%]
8. Sanny Schmid, Ilias Gerostathopoulos, Christian Prehofer. „QryGraph: A Graphical Tool for Big Data Analytics.“ In SMC ’16: Proceedings of 2016 IEEE International Conference on Systems, Man, and Cybernetics, pages 4028-4033. Springer, October 2016. [long paper, CORE B]
9. Vladimir Matena, Tomas Bures, Ilias Gerostathopoulos, Petr Hnetynka. „Model Problem and Testbed for Experiments with Adaptation in Smart Cyber-Physical Systems.“ In SEAMS ’16: Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pages 82-88. ACM, May 2016. [artifact paper]

Workshops und Special Tracks
1. Vasileios Theodorou, Ilias Gerostathopoulos, Sasan Amini, Riccardo Scandariato, Christian Prehofer, Miroslaw Staron. „Theta Architecture: Preserving the Quality of Analytics in Data-Driven Systems.“ In BigNovelTI 2017: Proceedings of the Workshop on Novel Techniques for Integrating Big Data, Springer, September 2017.
2. Tomas Bures, Bradley Schmerl, Danny Weyns, Eduardo Tovar, Eric Boden, Thomas Gabor, Ilias Gerostathopoulos, Pragya Gupta, Eunsuk Kang, Alessia Knauss, Pankesh Patel, Awais Rashid, Ivan Ruchkin, Roykrong Sukkerd, Christos Tsigkanos. „Software Engineering for Smart Cyber-Physical Systems: Challenges and Promising Solutions.“ In ACM SIGSOFT Software Engineering Notes, Volume 42, Issue 2, pages 19-24. ACM, April 2017.
3. Ilias Gerostathopoulos, Tomas Bures, Sanny Schmid, Vojtech Horky, Christian Prehofer, Petr Tuma. „Towards Systematic Live Experimentation in Software-Intensive Systems of Systems.“ In SiSoS 2017: Proceedings of International Colloquium on Software-intensive Systems-of-Systems, Article No. 7, ACM, November 2016.
4. Tanmaya Mahapatra, Ilias Gerostathopoulos, Christian Prehofer. „Towards Integration of Big Data Analytics in Internet of Things Mashup Tools.“ In WoT 2016: Proceedings of the 7th International Workshop on the Web of Things, pages 11-16. ACM, November 2016.

Buchkapitel
1. Christian Prehofer, Ilias Gerostathopoulos. „Modeling RESTful Web of Things Services.“ In Michael Sheng Yongrui Qin Lina Yao Boualem Benatallah, editors, Managing the Web of Things: Linking the Real World to the Web, Chapter 3. Morgan Kaufmann, Elsevier, 2016.

Referenzen
[1] Roland Berger Strategy Consultants. Connected Mobility 2025 (January 2013). https://www.rolandberger.com/de/Publications/pub_connected_mobility_2025.html
[2] Bosch, J. and Holmstrom Olsson, H. Data-driven continuous evolution of smart systems. pages 28-34. ACM Press, 2016.
[3] Kohavi, R., Crook, T., and Longbotham, R. Online Experimentation at Microsoft. In Third Workshop on Data Mining Case Studies and Practice, 2009.
[4] Stahl, D., and Bosch, J. Automated Software Integration Flows in Industry: A Multiple-case Study. Companion Proceedings of ICSE’14, 54-63, 2014.
[5] De Lemos, et al. Software Engineering for Self-Adaptive Systems: A Second Research Roadmap. In: Software Engineering for Self-Adaptive Systems II. pp. 1-32. Springer Berlin Heidelberg, 2013.