Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
433903 | Science of Computer Programming | 2016 | 26 Pages |
•The paper presents a formal approach for managing component-based architecture evolution at multiple abstraction levels.•The approach covers the full component-based software development process thanks to the Dedal architectural model.•It enables software verification and validation through the generation of B formal specifications from diagrammatic models.•It generates reliable evolution plans that prevent architecture inconsistencies.•The approach is implemented and experimented on three different evolution scenarios.
Software architectures are subject to several types of change during the software lifecycle (e.g. adding requirements, correcting bugs, enhancing performance). The variety of these changes makes architecture evolution management complex because all architecture descriptions must remain consistent after change. To do so, whatever part of the architectural description they affect, the effects of change have to be propagated to the other parts. The goal of this paper is to provide support for evolving component-based architectures at multiple abstraction levels. Architecture descriptions follow an architectural model named Dedal, the three description levels of which correspond to the three main development steps – specification, implementation and deployment. This paper formalizes an evolution management model that generates evolution plans according to a given architecture change request, thus preserving consistency of architecture descriptions and coherence between them. The approach is implemented as an Eclipse-based tool and validated with three evolution scenarios of a Home Automation Software example.