Institut numerique

3.1.1 Model Driven Engineering, Model Driven Architecture

L’architecture dirigée par les modèles (Model-Driven Architecture, MDA), présentée au § 2.2.2, est
« une variante particulière d’une tendance plus générale nommée ingénierie des modèles » (Model-
Driven Engineering, MDE). Tout comme un des principes de base de la technologie objet est « tout
est objet » (cf. Figure 8), le principe de base du MDE est « tout est modèle » (cf. Figure 9) (Bézivin
2004).

Toujours selon M. Bézivin (Bézivin et al. 2007), le MDE est décrit en se basant sur deux règles
fondamentales :

· Tout type de système peut être représenté dans un modèle.

· Un modèle doit être syntaxiquement conforme à un métamodèle.

Il faut bien faire la part des choses entre le système, qui se base sur le monde réel, et le modèle, qui
est d’un niveau plus abstrait, celui de la modélisation.

Une fois ces notions précisées, les auteurs (Bézivin et al. 2007) déclinent les grands domaines
d’applications du MDE qui reprennent ceux du MDA :

· Forward engineering, quand le système est créé à partir du modèle.

· Reverse engineering, quand le modèle est créé à partir du système.

· Models at run-time, quand le modèle coexiste avec le système qu’il représente.

Ce sont ces grands domaines que l’on retrouve dans le processus d’évolution d’architecture de
Sodifrance. La retro-ingénierie correspond à la phase d’analyse du code source et a pour objectif
d’alimenter un métamodèle spécifique au langage source, décrit comme le modèle initial (cf. Figure
6 étape 1).

La transformation de modèle, réalisée à l’aide de MIA Transformation, correspond aux
transformations permettant dans un premier temps de passer du métamodèle initial à un métamodèle
dérivé. Dans notre cas, la cible est un métamodèle générique, le métamodèle ANT (cf. Figure 6
étape 3). Ensuite, ce modèle ANT est à nouveau transformé pour répondre au mieux aux exigences
de l’application cible (cf. 2.2.2). La dernière phase (cf. Figure 6 étape 4) est celle de génération. Elle
correspond au Forward Engineering. L’outil MIA Generation utilise le modèle ANT comme
modèle source et génère du code en fonction de scripts définis sur les objets du métamodèle.

On retrouve aussi ce découpage en trois phases dans le processus d’alimentation de la cartographie
qui sera approfondi un peu plus loin. De manière simplifiée, il y a la phase de rétro-ingénierie qui
alimente un métamodèle spécifique. Ensuite une transformation permet de passer de ce métamodèle
au métamodèle de cartographie. Et pour terminer, des services permettent de générer du code
(scripts de rejeu de test) à partir du métamodèle de cartographie.

Page suivante : 3.1.2 Cartographie d’application

Retour au menu : Stratégie de test au sein du processus d’évolution d’architecture de Sodifrance