Externally funded project

Provisions for Service Co-Evolution (PROSECCO)


Project Details
Project duration: 10/201509/2017


Abstract

Actively used software must be evolved continuously in order to maintain its utility and quality. Adding new features, removing obsolete features, fixing bugs, closing security holes, improving performance – all require updating a software product from time to time. Certainly, this is also true for services provided via a computer network. Support for service evolution is a sine-qua-non for large-scale service environments. The need for service evolution support will grow with the further proliferation and criticality of service-oriented computing systems.


Services do not work in isolation. Services have active service providing relationships with clients. Services are part of business processes where services depend on other services. These interdependencies make on-the-fly service evolution a particularly difficult and challenging problem because the evolution of a service may require changes in other dependent services and clients. In analogy to biology, we call this “service co-evolution”.


The fundamental research question that we intend to answer is: How can we enable coordinated service co-evolution in complex service landscapes composed of a variety of services that depend on each other? Centralized evolution management is not an option here. It would not only represent a bottleneck and a central point of failure. It would be infeasible because service management and administration might reside in separate autonomous organizations without a common central facility.


 Our main focus is on the foundations of coordinated decentralized service co-evolution. We will develop and evaluate language and protocols for service co-evolution. Software engineering techniques for evolving the implementations of the services are not addressed. Service evolution shares similarities with compositional application adaptation. Thus, our solution for service evolution builds on our extensive experiences with methodology and middleware for self-adaptive software systems.


 PROSECCO will deliver the following basic research results: (1) an architectural model for service co-evolution including the design of an evolution agent; (2) a comprehensive semi-formal notation to specify service evolution requests; (3) suitable evolution protocols and choreographies; (4) an open source prototype implementation and demonstrators.


 Key words: service-oriented computing, service evolution, coordination



Principal Investigator

Last updated on 2017-05-12 at 13:16