Transformation-Wise Software Architecture Framework (A Transformational Approach to Design Component Based Systems)

Student thesis: Doc typesDocteur en Sciences

Résumé

L'architecture d'un programme informatique sert à décrire des systèmes complexes, souvent composés par de nombreux composants logiciels inter-connectés par divers moyens de communications et déployés sur des infrastructures complexes. Un modèle d'architecture permet de représenter un système à différents niveaux de détail et doit prendre en compte de multiples exigences et contraintes. Sans une documentation appropriée, retrouver les liens entre un modèle et ses objectifs peut devenir problématique. En perdant les justifications derrière un design, une partie de la connaissance architecturale est perdue. Cependant, enregistrer ce savoir et les liens entre les parties d'une architecture consomme beaucoup de temps, même si son utilité est communément reconnue.

Avec la multitude des contraintes de déploiement, en termes d'architecture physique de calcul ou de ressources de stockage, le nombre d'alternatives qui peuvent être explorées augmente. De même, ces alternatives sont d'importantes informations et représentent une partie conséquente de la connaissance architecturale.

Plusieurs versions d'un système peuvent co-exister et le delta entre chaque modèle est parfois difficilement identifiable. La traçabilité des évolutions entre versions successives d'un modèle peut être utile pour isoler des patrons architecturaux. A l'opposé, des patrons injectés peuvent être disséminés au sein d'un modèle, les rendant non-identifiables a posteriori.

Dans cette dissertation, nous proposons un cadre architectural reliant étroitement une architecture système, ses exigences avec ses principes, dont les décisions de design. Ce cadre se base sur des langages spécifiques pour modéliser des systèmes orienté-composants, une liste d'exigences et des transformations de modèles. Nous proposons une approche itérativo-transformationnelle où les changements architecturaux sont appliqués et documentés par transformations progressives. Ces transformations jouent le rôle d'évolutions traçables qui peuvent être extraites et reproduites dans divers contextes, sous certaines conditions.

Parallèlement, les exigences architecturales sont enregistrées dans des listings dédiés où les ingénieurs logiciels peuvent affiner leurs définitions ou explorer d'autres alternatives de design. Toutes ces exigences, avec leurs décisions, peuvent être justifiées plus en détail avec leurs forces, faiblesses, hypothèses ou contraintes sous lesquelles ces décisions ont été évaluées.
la date de réponse2 mars 2015
langue originaleAnglais
L'institution diplômante
  • Universite de Namur
SuperviseurVincent Englebert (Promoteur), Naji Habra (Président), Patrick Heymans (Jury), Laurence Duchien (Jury) & Antoine Beugnard (Jury)

Contient cette citation

'