Elsevier

Science of Computer Programming

Volume 80, Part B, 1 February 2014, Pages 356-384
Science of Computer Programming

Adaptation space exploration for service-oriented applications

https://doi.org/10.1016/j.scico.2013.09.017Get rights and content
Under an Elsevier user license
open archive

Highlights

  • We propose a process for the adaptation of service-oriented applications.

  • It is based on an optimization method.

  • It is based on trade-offs between functional and extra-functional requirements.

  • It uses metaheuristic search techniques and functional/extra-functional patterns.

Abstract

Service-oriented applications may require adaptation to tackle changing user needs, system intrusions or faults, changing operational environment, resource variability, etc. In order to achieve the right trade off among the functional requirements, software qualities (such as performance and reliability) and the adaptation cost itself, the adaptation decisions should involve the (a priori) evaluation of new alternatives to the current application design. However, the generation and evaluation of design alternatives is often time-consuming, it can be error-prone and can lead to suboptimal design decisions, especially if carried out manually by system maintainers.

This article proposes an automatic optimization process for adaptation space exploration of service-oriented applications based on trade-offs between functional and extra-functional requirements. The proposed method combines the use of metaheuristic search techniques and functional/extra-functional patterns (i.e., architectural design patterns and tactics). Besides, the proposed methodology relies on the standard Service Component Architecture (SCA) for heterogeneous service assembly and its runtime platforms. As a proof-of-concept, this article provides also an example of instantiation of the process together with an experimentation on a sample application and a numerical evaluation of the scalability of the approach.

Keywords

Service-oriented applications
Software adaptation and evolution
Functional/extra-functional requirements
Optimization techniques

Cited by (0)