Approche centrée architecture pour l'évolution dynamique de systèmes d'information
An architecture centered approach for information systems evolution
La prise en compte de l'évolution très tôt dans le développement du logiciel est un phénomène assez récent et va de pair avec l'apparition de langages de description architecturale à fort pouvoir d'expression, tels que ACME, Wright, etc. C'est notamment dans les approches centrées architecture de ces dernières années que sont apparus des langages de description architecturale intégrant des mécanismes permettant de prendre en compte l'évolution d'une architecture logicielle. Plusieurs types d'évolution peuvent être mis en évidence, selon que l'évolution est prévue ou non, qu'elle est mise en oeuvre en temps de conception ou en temps d'exécution. La majorité des approches traitant de l'évolution de systèmes logiciels, le font seulement au niveau de l'implémentation. Ceci implique des problèmes liés à gestion de la cohérence entre l'implémentation et l'architecture du système, conduisant notamment à des architectures inutilisables car obsolètes. Nous proposons de répondre à ce problème par l'utilisation de l'approche centrée architecture ArchWare, fondée sur des mécanismes et proposant des outils support qui permettent de couvrir différents types d'évolution que nous illustrons à travers des scénarios.
Work on architecture-centred software development has been undertaken during the past years, leading to architecture description languages with high expressive power. We focus on the impact those new approaches may have on the software evolution management, namely supporting the evolution issues at earlier development phases than the usual coding/maintenance time. Several evolution possibilities may be envisaged, depending on whether the evolution is or is not foreseen during the design phase, and on whether the evolution takes place during the software execution or not. Existing works address some of these possibilities, but mainly concern the software evolution at the implementation level. Handling the inconsistency between architecture and code becomes an issue, known as the architectural drift. In this paper we present how, by using specific language mechanisms and a dedicated virtual machine, the ArchWare languages and environment allow us to cover the identified evolution possibilities, on the system architecture.
S.CÎMPAN, H.VERJUS, I.ALLOUI
évolution dynamique, architecture logicielle, langage formel, propriétés.
dynamic evolution, software architecture, formal language, properties.
Français
|