Résumé | Les ingénieurs en logiciel utilisent de façon non formelle des schémas synoptiques avec des cases et des lignes pour représenter des architectures de système. On retrouve également des représentations schématiques de ce genre dans de nombreuses spécifications techniques. Toutefois, il est rare que les documents d'architecture qui contiennent de telles représentations soient systématiquement mis à jour; à mesure que le système évolue, les documents qui décrivent son architecture deviennent obsolètes, et l'histoire de la conception du système finit par se perdre. En outre, les représentations au moyen de cases et de lignes utilisées dans ces documents ne possèdent pas d'invariant sémantique pour les différentes techniques qui sont fondées sur elles. Cet article aborde le problème de la représentation de l'évolution des systèmes au niveau de leur architecture, au moyen d'un modèle formel de diagrammes constitués de cases et de lignes. Ce modèle formel (a) assure la précision et l'uniformité du point de vue sémantique; (b) permet de représenter les étapes de l'évolution au moyen de transformations de structures. Des classes intéressantes de telles transformations sont caractérisées en termes des opérateurs sous jacents. Grâce à ces outils, l'évolution de l'architecture d'un système est saisie au moyen d'un graphique acyclique orienté, constitué de représentations de base, chaque représentation de base étant formée d'un système de diagrammes composés de cases et de lignes, une correspondance étant établie avec la représentation suivante au moyen d'un ensemble de transformations de structure. On démontre également comment des concepts de conception bien connus - par exemple les notions d'extension, d'abstraction et d'affinage de structure - peuvent être formalisés en termes simples au moyen du cadre que nous avons mis au point. |
---|