• Aucun résultat trouvé

Chapitre 6 : Méta-modèle de co-évolution

2 Définition des exigences d’évolution

2.2 Méta-modèle d’écarts

Pour exprimer les exigences d’évolution sous forme d’écarts, le choix a été fait de réutiliser un framework classique déjà utilisé et décrit dans [Etien06]. La spécification des exigences d’évolution sous forme d’écarts permet de se concentrer sur les parties de la carte pivot As-Is qui changent sans avoir à redéfinir les parties qui restent inchangées.

La spécification des exigences d’évolution sous forme d’écarts se base sur un méta-modèle générique qui décrit tout modèle comme un ensemble d’éléments. Selon le type de l’élément, des opérateurs d’écart sont appliqués. Le méta-modèle générique est présenté à la figure 6.3.

Figure 6.3 : Méta-modèle générique extrait de [Etien06]

Ce méta-modèle générique considère que tout méta-modèle est constitué d’Eléments, ayant un Nom et un Type, et étant caractérisés par un ensemble de Propriétés. Les éléments sont classés en plusieurs groupes. Tout d’abord, une distinction est faite entre les éléments Simples et Composés, puis entre les éléments Lien et Non lien.

La première classification fait la distinction entre les éléments Simples et Composés. Les Eléments

Composés sont décomposables en éléments plus fins (qui peuvent être simples ou composés). Les Eléments Simples, quant à eux, ne sont pas décomposables en d’autres Eléments. Par exemple, dans le

méta-modèle de carte une section est un élément composé d'un but source, d'un but cible et d'une stratégie ; par contre un but est un élément simple.

Composé Simple cible Non Lien source Lien Est-un Propriété A une Racine Elément Nom Renommer Ajouter Supprimer Fusionner Diviser Remplacer Retyper AjouterComposant SupprimerComposant DéplacerComposant Ajouter Supprimer S’applique sur S’applique sur S’applique sur S’applique sur S’applique sur Modifier Joindre Enlever ChangerOrigine 0..* 1 0..1 0..1 1 1 Type

La seconde classification différencie les éléments Liens et Non liens. Un Elément Lien est un connecteur entre deux éléments, l’un jouant le rôle de Source et l’autre celui de Cible.

Les éléments qui ne sont pas des liens sont appelés Non liens. Par exemple, dans le méta-modèle de carte une stratégie est un élément lien qui connecte un but source et un but cible.

Selon le type de l’élément, des opérateurs de la typologie d’écarts peuvent être appliqués. Par exemple, un élément de type Lien a l’opérateur ChangerOrigine qui permet de spécifier le changement de la source ou de la cible du lien. Un élément de type Composé a les opérateurs AjouterComposant,

Supprimer Composant et DéplacerComposant pour respectivement ajouter, supprimer et déplacer un

sous élément de l'élément en question.

La méthode DEEVA utilise un ensemble d’opérateurs d’écart appliqués au modèle d’alignement intentionnel (MAIN) pour exprimer les exigences d’évolution exprimées au niveau du modèle stratégique de co-évolution (MSC). Ces opérateurs sont définis en faisant correspondre les principaux éléments du méta-modèle pivot As-Is et les éléments du méta-modèle générique. La figure 6.4 présente la formalisation du méta-modèle pivot simplifié après la mise en correspondance de ses concepts avec ceux du méta-modèle générique. Elle met en évidence les éléments suivants :

Un but est un élément Simple.

Une section est un élément Composé d’une stratégie, un but source et un but cible.

Une carte est un élément Composé de sections

Une stratégie est un élément Lien.

Le verbe, la cible et les paramètres définissant le but sont des Propriétés.

Figure 6.4 : Mise en correspondance entre concepts des méta-modèles générique et pivot Carte pivot

Section

But source Stratégie But cible

But organisationnel a.p.c a.p.s 1..* 1..* 1..* 1..* Simple Composé Lien Légende segment paquet chemin 0..* 0..* 0..* * * * Verbe Cible paramètres 1 1 1..* Propriété

L’instanciation des opérateurs génériques présentés à la figure 6.3 par rapport aux principaux éléments du méta-modèle pivot permet d’obtenir un tableau de l’ensemble des opérateurs obtenus pour chacun des éléments. Les principaux éléments du méta-modèle pivot sont : la carte, la section, la stratégie et le but.

Les quatorze opérateurs sont définis dans [Etien06] :

L’opérateur Renommer permet de modifier le nom d’un Elément dans le modèle To-Be sans changer la sémantique de cet Elément. C'est par exemple la modification du libellé d'une intention dans le modèle To-Be.

L’opérateur Ajouter permet de créer un nouvel Elément dans le modèle As-Is pour construire le modèle To-Be.

L’opérateur Supprimer permet de supprimer un Elément du modèle As-Is qui devient inutile dans le modèle To-Be.

L’opérateur Fusionner permet de rassembler au sein d’un même Elément deux Eléments distincts dans le modèle As-Is. C'est par exemple la fusion de deux sections complémentaires au sein d'une même section dans le modèle To-Be.

L’opérateur Diviser permet de scinder un unique Elément en deux Eléments bien distincts. Par exemple, ceci permet de diviser une carte en deux cartes dans le modèle To-Be.

L’opérateur Remplacer a pour but de substituer un Elément par un autre. Ces deux Eléments n’ont pas la même sémantique. C'est par exemple le remplacement d'un but A du modèle As-Is par un but B dans le modèle To-Be.

L’opérateur Retyper permet de changer le type d’un Elément présent dans les situations As-Is et To-Be. C'est par exemple une stratégie qui devient un but dans le modèle To-Be.

L'opérateur ChangerOrigine (applicable sur les Eléments Liens) regroupe les deux opérateurs

ChangerSource et ChangerCible qui ont la même structure. Ils spécifient que l’élément Lien

après application de l’opérateur a pour source (respectivement pour cible) un élément E'(dans le modèle To-Be) et non plus l'élément E (du modèle As-Is).

L’opérateur AjouterComposant (applicable sur les Eléments Composés) permet de préciser que l’élément ajouté fait partie d’un autre élément, dans le To-Be, on a un élément de plus que dans la situation As-Is initiale. Ceci permet par exemple d'ajouter une section dans une carte dans le modèle To-Be.

L’opérateur SupprimerComposant (applicable sur les Eléments Composés) permet de supprimer un élément intervenant dans la composition d’un élément Composé dans le modèle Be. Ceci permet par exemple de supprimer une section dans une carte dans le modèle To-Be.

L’opérateur DéplacerComposant (applicable sur les Eléments Composés) permet de repositionner un élément dans la structure de l’élément Composé du modèle To-Be. Par

exemple, ceci permet de déplacer une section d'une carte dans le modèle As-Is vers une autre carte dans le modèle To-Be.

L’opérateur Joindre (applicable sur les Eléments Propriétés) permet d’ajouter une propriété à un élément. L’élément existe aussi bien dans le modèle As-Is que dans le modèle To-Be. En revanche la propriété n’existe que dans la situation To-Be. Par exemple, ceci permet de joindre un type d’impact à un but.

L’opérateur Enlever (applicable sur les Eléments Propriétés) permet de supprimer une propriété d’un Elément qui n’a plus de raison d’être dans la situation To-Be.

L’opérateur Modifier (applicable sur les Eléments Propriétés) a pour but de changer une propriété d’un Elément du modèle As-Is.

L’instanciation des quatorze opérateurs génériques, présentés à la figure 6.3 par rapport aux principaux éléments du méta-modèle pivot permet d’obtenir le tableau 6.2 après suppression des opérateurs vides de sens.

But Stratégie Section Carte

O P E RAT E UR S

Renommer RenommerBut RenommerStratégie N/A RenommerCarte

Ajouter AjouterBut AjouterStratégie N/A AjouterCarte

Supprimer SupprimerBut SupprimerStratégie N/A SupprimerCarte

Fusionner FusionnerBut FusionnerStratégie FusionnerSection FusionnerCarte

Diviser DiviserBut DiviserStratégie DiviserSection DiviserCarte

Remplacer RemplacerBut RemplacerStratégie RemplacerSection RemplacerCarte

Retyper RetyperBut RetyperStratégie N/A N/A

Changer

Origine N/A

ChangerButSource

ChangerButCible N/A N/A

Ajouter

composant N/A N/A N/A

AjouterSectionCarte

Supprimer

composant N/A N/A N/A

SupprimerSectionCarte

Déplacer

composant N/A N/A N/A

DéplacerSectionCarte

Joindre Enlever modifier

JoindreTypeImpact JoindreTypeAction N/A N/A

Tableau 6.2 : Typologie d’écart associée au méta-modèle pivot

Les opérateurs qui n’avaient pas de sens, ont été supprimés de la typologie, par exemple :

L’opérateur Ajouter / Supprimer Composant (but source, but cible, tactique) sur l’élément Section n’a pas de sens car la structure d’une section est immuable, composée d’un but source, d’un but cible et d’une tactique.

L'opérateur Renommer ne s'applique pas aux éléments Section et Carte, car le nom d'une section est obtenue par concaténation des noms des buts et de la stratégie qui la composent.

L'opérateur Retyper n'a de sens que s'il est appliqué sur les éléments But et Stratégie. Un but pouvant être retypé en stratégie et vice-versa. Nous avons donc supprimé les opérateurs RetyperSection et

RetyperCarte.

Des explications complémentaires ainsi que la définition formelle des opérateurs peuvent être trouvées dans [Etien06].

Les techniques permettant de spécifier les exigences d’évolution étant présentées, le reste du chapitre se consacre à la description des méta-modèles stratégique et tactique de co-évolution.