Towards Continuous Evolution through Automatic Detection and Correction of Service Incompatibilities


Systems with long life times need to continuously evolve after deployment in response to changing technology and business needs. Lacking this ability not only prevents systems from quickly reacting to these changes, but also increases risk, as many small updates are collected into big infrequent upgrades. Service-oriented architectures support continuous evolution by decoupling the application from a particular product, technology, and implementation using service interfaces that hide the component implementing the service. However, this arrangement results in a large number of possible interactions between different components and versions, making it difficult and time-consuming to detect and correct incompatibilities caused by updating service interfaces.This paper has three main contributions towards enabling continuous evolution in service-oriented architectures: 1) the state-of-the-art in the areas of specification of service interfaces, and detection and correction of incompatible service interactions is surveyed, 2) directions for a methodology to detect and correct incompatible interactions that is currently under development are discussed, and 3) the methodology is discussed in the context of a simplified industrial case study from the defense domain.

CEUR Workshop Proceedings