A Three-Level Versioning Model for Component-Based Software Architectures
Résumé
Software versioning is intrinsic to software evolution. It keeps history of previous software states (versions) and traces all the changes that updates a software to its latest stable version. A lot of work has been dedicated to software versioning and many version control mechanisms are proposed to store and track software versions for different software artifacts (code, objects, models, etc.). This paper addresses in particular component-based software architecture versioning, considering three abstraction levels: specification, implementation and deployment. In previous work, we proposed an approach that generates evolution plans for such software architecture models. The generated plans deal with changes initiated on one of the three abstraction levels and propagate them to the other levels in order to keep architecture descriptions consistent and coherent. As an extension to these mechanisms, a versioning model is proposed in this paper to keep history of architecture definition versions. This versioning model soundly handles the co-evolution of the three abstraction levels by tracking both versions of each abstraction levels and versions of global architecture definitions
Domaines
Génie logiciel [cs.SE]Origine | Fichiers produits par l'(les) auteur(s) |
---|