Grundlagen für die Dienst-Co-Evolution - Phase 2 (PROSECCO-2)
Softwaretechnik und Programmiersprachen
Zusammenfassung der Projektergebnisse
In this research project, we focus on enabling service co-evolution in large-scale service-oriented computing systems and examine the possibilities of coordinated service co-evolution in complex service landscapes. In such environments, the variety of services available is practically unlimited. Typically, services are developed by individual developers and, thus, are implemented independent from each other. This results in an increased complexity due to their interdependencies, for example, concerning their business logic. An essential part of the development cycles of services represents the adding of new features, the removing of obsolete features, fixing bugs, closing security holes, and improving the service performance. This results in the necessity of constant updates of services and requires collaboration. As a first result, we integrated a decision support module for collaborative decision making in a group of distributed EVAs. The decision support process applies a game theory approach, the Provider-Client game, and offers a possible solution by utilising the newly developed Client-Server game. A logic program represents the produced decision matrix and resulting decision graphs. In a prototype, the game is implemented as a dynamic game with complete information by employing fixed motivation points and three strategies. One of the strategies described in the game theory approach allows switching the service on client-side to maintain its functionality. Therefore, a service registry is required which offers alternative services. Hence, we developed a distributed registry based on a multi-agent system to avoid the limitations of a central service registry. To show the feasibility and limitations of service co-evolution in the Internet of Things (IoT), we extended our preliminary work and developed a framework for automatic detection and communication of changes in this environment. This includes a comprehensive description of service interfaces and capabilities by implementing the extended Web Application Description Language specification for REST services in combination with Semantic Annotations for WSDL. The COOP framework is composed of a central repository and the three modules Service Description, Client Integration, and Change Detection, and supports the management of semantic, syntactic and protocol changes. It is not limited to a specific protocol. All modules are available on server and client-side; thus, compositions of microservices are applicable. Our service co-evolution concept is based on a multi-agent system and, hence we extended our ALICA framework to fit the new requirements. The development of the run-time testing and optimisation methods for the co-evolution process is still ongoing. In contrast to existing techniques, we address distributed co-evolution of services and consider aspects of coordinated, distributed evolution where the resolution of service dependencies has to be negotiated with other services by coordination protocols. In the context of PROSECCO, we are primarily interested in deep changes and the technical aspects of service co-evolution to achieve it on-the-fly. Consequently, we examine the management of service changes that affect more than a single client-server dependency. To infer service changes, the input-output streams of service providers and service clients are considered, too. The results of PROSECCO-2 provide solutions to support dynamic co-evolution of independently developed services in different scenarios and environments, and with different strategies available. Our work on the PROSECCO project has created a number of challenging new research questions that will be addressed in our future work.
Projektbezogene Publikationen (Auswahl)
- DECOM: A Framework to Support Evolution of IoT Services, 2018
Tran, Tam Huu; Jahl, Alexander; Geihs, Kurt; Kuppili, Ramaprasad; Nguyen, Thang Xuan; Binh Huynh, Thanh Thi
(Siehe online unter https://doi.org/10.1145/3287921.3287979) - ALICA 2.0 - Domain-Independent Teamwork. In: Proceedings of 42nd German Conference on Artificial Intelligence (KI2019), 2019
Opfer, Stephan; Jakob, Stefan; Jahl, Alexander; Geihs, Kurt
(Siehe online unter https://doi.org/10.1007/978-3-030-30179-8_22) - COOP - automatiC validatiOn of evOlving microservice comPositions, In: Proceedings of the Seminar Series on Advanced Techniques & Tools for Software Evolution (SATTOSE 2019), 2019
Groh, Olga; Baraki, Harun; Jahl, Alexander; Geihs, Kurt
- Optimizing Applications for Mobile Cloud Computing Through MOCCAA. In: Journal of Grid Computing, Springer (2019), p. 1–26
Baraki, Harun; Jahl, Alexander; Jakob, Stefan; Schwarzbach, Corvin; Fax, Malte; Geihs, Kurt
(Siehe online unter https://doi.org/10.1007/s10723-019-09492-0) - A Self-Organizing Multi-Agent Knowledge Base. In: The IEEE 2020 International Conference on Web Services (ICWS 2020) : IEEE, 2020
Jakob, Stefan; Jahl, Alexander; Baraki, Harun; Geihs, Kurt
(Siehe online unter https://doi.org/10.1109/ICWS49710.2020.00049)