Building Adaptive Software Architectures with Useful and Available Elements for Adaptation
Ngoc-Tho Huynh, Maria‐Teresa Segarra, Antoine Beugnard
Abstract
Ngoc-Tho Huynh, Maria‐Teresa Segarra, Antoine Beugnard
Abstract
Adaptive software aims at adjusting various artifacts or attributes in response to changes in the system operating environment. Adaptive software development has been an emerging research area of software engineering in the last decade. Many existing approaches use techniques issued from software product lines (SPLs) to develop adaptive software. However, all these approaches suppose that the underlying mechanisms that actually execute reconfiguration actions at runtime are available and all architectural elements exist at runtime even those that will never be used. Moreover, they propose tools, frameworks or languages to build adaptive software architectures but do not guide developers on the process of using them. In this paper, we introduce an adaptive software architecture development process to guide developers building an adaptive software architecture that includes only components that will potentially be used. One of the important activities of this development process is software specification based on models. In our process, we propose to use the models and basic tools of Common Variability Language (CVL, proposed as an OMG standard). We have extended them so that the resulting adaptive product does not include elements that will never be used in the architecture.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Adaptive software aims at adjusting various artifacts or attributes in response to changes in the system operating environment. Adaptive software development has been an emerging research area of software engineering in the last decade. Many existing approaches use techniques issued from software product lines (SPLs) to develop adaptive software. However, all these approaches suppose that the underlying mechanisms that actually execute reconfiguration actions at runtime are available and all architectural elements exist at runtime even those that will never be used. Moreover, they propose tools, frameworks or languages to build adaptive software architectures but do not guide developers on the process of using them. In this paper, we introduce an adaptive software architecture development process to guide developers building an adaptive software architecture that includes only components that will potentially be used. One of the important activities of this development process is software specification based on models. In our process, we propose to use the models and basic tools of Common Variability Language (CVL, proposed as an OMG standard). We have extended them so that the resulting adaptive product does not include elements that will never be used in the architecture.
Key concepts: Computer science, Software engineering, Software development, Resource-oriented architecture, Adaptation (eye), Software construction, Software architecture, Goal-Driven Software Development Process