Analyse
Relationnelle de Concepts pour l’Extraction d’Architecture à base de
Composants : l’Identification des Interfaces
Encadrement :
Marianne Huchard & Abdelhak Seriai
Mot
clé : orienté objet, composants logiciels, architecture logicielle, ARC,
évolution, migration, Java.
La
nécessité de restructurer, de maintenir et de faire évoluer les systèmes
logiciels existants, en particulier ceux orientés objets, est devenu une
question vitale en ingénierie logicielle, surtout au milieu industriel. Les
systèmes deviennent difficiles à maintenir et à adapter au fur et à mesure que
leur taille augmente [Lehman,
1996].
Dans
ce contexte, les architectures logicielles se présentent comme l’allié de
l’ingénieur de développement que ce soit du côté de la maintenance ou au niveau
de la conception. Elles offrent une vue abstraire du système étudié et
permettent ensuite d’en tirer les bonnes qualités pour migrer vers de nouveaux
paradigmes tels que les systèmes à base de composants ou les services web.
Cependant, la plupart des systèmes ne disposent pas d’une représentation de leur
architecture ou au mieux, la représentation de cette architecture est décalée
par rapport à la documentation et à l’implémentation effective du système. On
retrouve ce genre de situations dans les systèmes patrimoniaux dont la majorité
a été conçu sans spécification d’architecture.
Ainsi,
l’absence de la représentation de l’architecture rend ces systèmes difficiles à
comprendre et à maintenir. Toute fois, de nombreux travaux visant à extraire
l’architecture logicielle ont été introduit pour remédier à ce problème.
De
précédents travaux menés dans l’équipe DOC ont permet d’extraire une
architecture à base de composants à partir d’un système orienté objet [Chardigny
2008, Hamdouni 2010].
Le
travail de ce stage constitue une poursuite de ces travaux. Il vise à identifier
les interfaces des composants extraits en utilisant l’analyse relationnelle de
concepts (ARC). Dans le cadre de ce travail, l’objectif
de l’ARC est d’étendre la problématique de l’analyse formelle de concepts (AFC)
à la prise en compte de relations inter-concepts, ici les classes orientées
objet. Le processus de construction d’un treillis en ARC s’appuie sur la
construction progressive d’une famille de treillis de concepts qui converge pour
donner le treillis final, point fixe du processus de création.