La page du système Romantic est en cours de construction

Présentation et objectifs

ROMANTIC : Re-engineering of Object-oriented sytesMs by Architecture extractioN and migraTIon to Component based ones. Les objectifs du systèmes ROMANTIC sont trois :

  1. L'extraction d'une architecture à base de composants de systèmes logiciels existants (Legacy systems). Le but de cette extraction est de permettre d'une part, une meilleure comprehension des systèmes étudiés, ce qui facilite leur maintenance et d'autre part l'identification de composants réutilisables.
  2. Automatiser le processus de migration de systèmes orientés objets existants vers des systèmes à base de composants.
  3. Etudier la qualité des architectures logicielles existantes. Il s'agit de proposer un framework permettant de mesurer les caractéristiques et les propriétés (suivant la norme ISO 9126)des différents éléments d'une architecture logicielle.

Les résultats de ces trois objectifs sont appliqués, principalement, pour des architectures logicielles embarquées.

Dans la suite, est présentée un peu plus d'information concernant le premier objectif

Extraction d'architectures logicielles à base de composants

La modélisation et la représentation de l’architecture logicielle des systèmes complexes est devenue, aujourd’hui, une phase importante de leurs processus de développement (Bertolino et al., 2005). L’architecture d’un système décrit sa structure à un haut niveau d’abstraction, en terme de composants et de connecteurs. Cette abstraction offre de nombreux avantages tout au long du cycle de vie du logiciel (Shaw et al., 1996). En effet, disposer d’une représentation de l’architecture facilite les échanges entre les concepteurs et les programmeurs. Ensuite, pendant les phases de maintenance et d’évolution, cette représentation permet de localiser les défauts du logiciel et réduit les risques lors de l’ajout d’une nouvelle fonctionnalité. L’architecture à base de composants présente d’autres avantages. Dans cette représentation, la distinction entre les composants et les connecteurs rend explicite la séparation entre les aspects métiers et communications et facilite la compréhension et l’évolution du système. L’architecture à base de composants est également essentielle pour faciliter la réutilisation de certaines parties du système représentées par les composants. Cependant, force est de constater, que beaucoup de systèmes existants ne disposent pas d’une représentation fidèle de leur architecture. En effet, le système peut avoir été conçu sans considérer la notion d’architecture, comme dans le cas de certains systèmes patrimoniaux. Pour d’autres systèmes, la représentation disponible peut être décalé par rapport à l’implémentation du système. Ce décalage apparaît avec les écarts entre l’architecture prévue et implémentée puis s’accroît avec le manque de synchronisation entre la documentation et l’implémentation. Partant de ces constats, nous nous sommes intéressés, dans le cadre du développement du système ROMANTIC, au développement d’une approche permettant d’extraire l’architecture à base de composants d’un système orienté objets. Cette approche utilise différents guides tel que la sémantique de l’architecture ou ces propriétés de qualité.

Les guides du processus d’extraction

La conception de l’architecture d’un système est une activité de modélisation. Elle est, donc, fortement influencé par des facteurs subjectifs tels que le point de vue du concepteur, son style de conception ou son expertise. Tous ces facteurs conduisent chaque architecte à concevoir une architecture spécifique et différente des autres. Les résultats partagent les même propriétés fonctionnelles (i.e fonctionnalités du système) mais différent par leurs propriétés non-fonctionnelles (e.g qualités, etc). Néanmoins, pendant le processus d’extraction, la structure et le comportement du système sont définies par son implémentation. Nous devons uniquement abstraire de cette implémentation une architecture. Un autre avantage du processus d’extraction est la présence d’éléments matérialisant les facteurs subjectifs affectant la conception (fig 2). En effet, la sémantique et les propriétés de qualité (e.g. maintenabilité) d’une architecture matérialisent les connaissances du concepteur, son style et ses priorités. La documentation disponible et les recommandations de l’architecte, considéré comme un acteur de notre approche, matérialisent le point de vue des concepteurs. Enfin, nous pouvons utiliser les propriétés du contexte de déploiement(e.g. ressources limitées) pour guider notre processus afin d’obtenir une architecture qui respecte les propriétés de l’architecture matérielle. En utilisant tous ces guides, nous pensons que notre processus fournit une représentation pertinente de l’architecture. Cependant, parmi ces guides, celui qui utilise la sémantique des éléments architecturaux est prépondérant. C’est pourquoi, nous nous focalisons dans ce travail sur l’étude de ce guide et son utilisation dans notre processus d’extraction.