Skip to Main content Skip to Navigation

A development process for building adaptative software architectures

Ngoc Tho Huynh 1, 2
2 PASS - Process for Adaptative Software Systems
IMT Atlantique - IMT Atlantique Bretagne-Pays de la Loire, IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL
Abstract : Adaptive software is a class of software which is able to modify its own internal structure and hence its behavior at runtime in response to changes in its 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 architectures. They propose tools, frameworks or languages to build adaptive software architectures but do not guide developers on the process of using them. Moreover, they suppose that all elements in the SPL specified are available in the architecture for adaptation. Therefore, the adaptive software architecture may embed unnecessary elements (components that will never be used) thus limiting the possible deployment targets. On the other hand, the components replacement at runtime remains a complex task since it must ensure the validity of the new version, in addition to preserving the correct completion of ongoing activities.To cope with these issues, this thesis proposes an adaptive software development process where tasks, roles, and associate artifacts are explicit. The process aims at specifying the necessary information for building adaptive software architectures. The result of such process is an adaptive software architecture that only contains necessary elements for adaptation. On the other hand, an adaptation mechanism is proposed based on transactions management for ensuring consistent dynamic adaptation. Such adaptation must guarantee the system state and ensure the correct completion of ongoing transactions. In particular, transactional dependencies are specified at design time in the variability model. Then, based on such dependencies, components in the architecture include the necessary mechanisms to manage transactions at runtime consistently.
Document type :
Complete list of metadatas

Cited literature [79 references]  Display  Hide  Download
Contributor : Abes Star :  Contact
Submitted on : Thursday, May 3, 2018 - 7:21:26 PM
Last modification on : Wednesday, August 5, 2020 - 3:50:44 AM


Version validated by the jury (STAR)


  • HAL Id : tel-01784869, version 1


Ngoc Tho Huynh. A development process for building adaptative software architectures. Software Engineering [cs.SE]. Ecole nationale supérieure Mines-Télécom Atlantique, 2017. English. ⟨NNT : 2017IMTA0026⟩. ⟨tel-01784869⟩



Record views


Files downloads