Abstract

Runtime adaptive systems are able to dynamically transform their internal structure, and hence their behavior, in response to internal or external changes. Such transformations provide the basis for new functionalities or improvements of the non-functional properties that match operational requirements and standards. Software Product Line Engineering (SPLE) has introduced several models and mechanisms for variability modeling and management. Dynamic software product lines (DSPL) engineering exploits the knowledge acquired in SPLE to develop systems that can be context-aware, post-deployment reconfigurable, or runtime adaptive. This paper focuses on DSPL engineering approaches for developing runtime adaptive systems and proposes a framework for classifying and comparing these approaches from two distinct perspectives: adaptation properties and adaptation realization. These two perspectives are linked together by a series of guidelines that help to select a suitable adaptation realization approach based on desired adaptation types.

Highlights

  • In order to provide better service in many areas, software systems require behavior modication at runtime in response to users' dynamically varying needs as well as environmental constraints [1]

  • The fact that both of these two paradigms are dealing with variability management, one as the problem and one as a solution, has motivated researchers to consider the synergy of these two paradigms in dynamic software product line (DSPL) engineering [7]

  • We focus on Dynamic software product lines (DSPL) engineering approaches for realizing runtime adaptation by presenting a framework for classifying and comparing adaptation properties and implementation concerns

Read more

Summary

Introduction

In order to provide better service in many areas, software systems require behavior modication at runtime in response to users' dynamically varying needs as well as environmental constraints [1]. In the application engineering phase, the target product for the specic operating environment and user requirements are derived using the reusable assets developed in the domain engineering phase The binding of these assets into a product is mostly performed at design, compile or link time, after which the system stays the same during its lifetime. As such, designing a runtime adaptive system may be considered to be a variability management problem, whererst and foremost the variability of the system is captured at design time, and the best product variant is selected at runtime according to context requirements The fact that both of these two paradigms are dealing with variability management, one as the problem and one as a solution, has motivated researchers to consider the synergy of these two paradigms in dynamic software product line (DSPL) engineering [7]. The proposed framework is designed by dening a set of dimensions which answer questions about how runtime adaptation could be realized using DSPL engineering approaches. The guidelines provide strengths and weaknesses of each possible value according to the adaptation required when either building a new DSPL engineering approach or choosing from already existing approaches (Sec. 5)

Dynamic Software Product Lines
Goal type
Goal evolution
Cause type
Mechanism autonomy
Mechanism type
Characterizing Adaptation Realization in DSPL
Monitoring and analysis
Planning
Execution
Comparing DSPL engineering approaches using the proposed framework
Guidelines for Selection of a DSPL Approach
Summary
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call