TP3.6: Technical Platform Architecture

Subproject manager
Prof. Dr. Dr. h.c. Manfred Broy
Subproject manager
Dr. habil. Christian Prehofer
Researcher
Ilias Gerostathopoulos, Ph.D.


Connected Mobility Systems (CMS) refer to the orchestration of devices and services to offer value-added functionalities in the mobility market [1]. An example of a CMS is a smart parking system where external Web services provide a homogeneous view over the availability of parking slots in a city, as recorded by roadside sensors, to cars driving in a city.

CMS are difficult to engineer as they are complex systems with many stakeholders and distributed w.r.t. devices and data.

Figure 1: Overview of Continuous Architecture Engineering
They also have requirements and needs that are often conflicting:
  • Need for exploiting open platforms (w.r.t. management) to proliferate from ecosystem effects.
  • Need to be always on and quick to respond to satisfy end-users.
  • Need for being extensible w.r.t. new features and changing requirements to better fit to the fast speed of today’s innovation.
  • Need for analyzing large amounts of produced data to learn how to improve their functioning.
To deal with this challenge, in this WP are focusing on the following (broad) research questions:
  • How can we ensure the quality and performance of a CMS platform, especially regarding analytics and cooperation with the platform?
  • How can we provide an integrated development environment with Continuous Delivery of new functionalities across all devices and platform parts?
  • How can we ensure the adaptability and evolution of a CMS platform?
Our approach takes the form of what we call Data-Driven Continuous Engineering. According to this, data related to both the runtime phase of a CMS and the development life cycle should be recorded and analyzed in order to identify correlations between development methods and end-products, perform experiments measuring end-user behavior and generally assessing the value a new development delivers. The analytics results should then lead to improvement of development methods, approval or discarding of features, prioritization of test activities, etc. A graphical overview of the approach is given in Figure 1. The proposed approach relates to evidence-based software engineering [2] and techniques used in industy such as A/B testing [3].

We have so far been conducting research on:
  1. How to enable fast and quality development by fast feedback. For this, we are investigating Continuous Integration modeling and best practices.
  2. How to evaluate a CMS architecture and development process based on real data. For this, we are looking into Big Data analytics for analyzing a system’s quality based on operational data from the system.

Figure 3: Tool-agnostic Continuous Integration modeling [4]



Figure 2: Continuous Integration: quick iterations

Research on Continuous Integration modeling and best practices

Continuous Integration (Figure 3) as a software practice holds great potential in improving developers productivity and reducing costs. However, is very hard to customize it for a particular setting (domain/company/project) so that most of the associated benefits are gained. In particular, Continuous Integration systems may differ in:
  • Build duration: minutes, hours, …
  • Build frequency: daily, weekly, …
  • Build triggering: source code changes, …
  • Scope: compilation, unit testing, integration testing, code analysis
  • Definition of failure: build fails, single test fails, …
  • Fault handling: by the developer checking in the code, dedicated team, …
The question then becomes “How do we pick one option at each variation point so that the benefits of using CI in a domain/company/project are maximized?”

We are currently experimenting with the application of a modeling approach for documenting Continuous Integration systems (Figure 2) as a first step towards improving them.

Figure 4: Architecture of RTX tool

Research on Big Data analytics for analyzing a system’s quality based on operational data from the system

We have created an open-source tool called RTX for simplifying the experimentation with (self-)adaptation [5] based on Big Data analytics. In the tool’s architecture (Figure 4), a Kafka broker facilitates the communication with any data-intensive system that can be adapted based on the results of Big Data analysis. For the data analytics part, simple Python scripts or more sophisticated Spark jobs can be used.

In a nutshell, each “experiment” in RTX:
  • sets a parameter value to the running system
  • collects data from the system for some time
  • analyses them to calculate the overall utility
The Github project hosting RTX can be found at https://github.com/Starofall/RTX.

Contact

Please contact Dr. Ilias Gerostathopoulos and Dr. habil. Christian Prehofer in case you are interested in more details, cooperation in the topic of platform architecture for mobility systems, or related BS or MS projects or Guided Research topics. Publications
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]

Conferences
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.

Book Chapters
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.

References
[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.