• Aucun résultat trouvé

Partie II : Couplage par les connaissances métier

6.2 Formalisation du processus de réutilisation de cas

6.2.2 Recherche des alternatives système compatibles

La recherche de cas compatibles consiste à trouver une ou plusieurs alternatives système dans la base de cas satisfaisant totalement ou partiellement l’ensemble des contraintes définies dans la section précédente. Nous proposons, afin d’identifier ces alternatives compatibles, la démarche suivante :

la présélection des alternatives système dans la base de cas : le principe est d’identifier un ensemble d’alternatives dont le concept associé est le plus similaire au concept identifié pour le nouveau système à concevoir,

l’évaluation de la compatibilité de chaque alternative présélectionnée par rapport aux exigences système exprimées sous forme de contraintes,

la sélection des alternatives à exploiter parmi celles évaluées comme étant compatibles.

6.2.2.1 Présélection des alternatives système

La présélection des alternatives consiste à rechercher les alternatives dont le concept est « proche » du concept choisi pour définir les exigences système. Dans un premier temps, nous proposons de rechercher dans la base de cas les alternatives système dont le concept est, soit identique au concept choisi pour la définition des exigences système, soit une spécialisation de ce dernier (cf. section 5.4).

Dans un second temps, et si aucune alternative n’a été trouvée, nous proposons de rechercher les alternatives système dont le concept est, soit le concept père du concept choisi pour la définition des exigences système, soit une spécialisation de ce dernier (en éliminant les concepts ayant déjà été utilisés dans la première phase).

143 Pour chacun des concepts associés aux alternatives présélectionnées, nous proposons de calculer une mesure de similarité sémantique entre ce concept et le concept choisi pour définir les exigences systèmes (Concept système). La mesure proposée est celle définie par [Wu et Palmer,

1994] dans laquelle, la similarité est définie par rapport à la distance (en nombre d’arcs) qui sépare

deux concepts dans l’ontologie. Wu et Palmer définissent la similarité entre deux concepts et par :

avec :

et : deux concepts dont on souhaite mesurer la similarité, : le plus petit concept généralisant et ,

: le nombre d’arc entre le concepts C et la racine de l’ontologie (c'est-à-dire le concept « Universel »).

La mesure de Wu et Palmer est légèrement modifiée dans notre approche car nous calculons les nombres d’arcs à partir du concept « Système » de l’ontologie et non du concept « Universel »

Cette mesure présente l’intérêt d’être simple à mettre en œuvre même si d’autres mesures peuvent être utilisées (voir par exemple [Cordì et al., 2005] [Pirró, 2009] [Al-Mubaid et Nguyen,

2009] [Batet et al., 2010]). La mesure de Wu et Palmer prend en compte le fait que :

 plus deux concepts sont éloignés (par le nombre d’arcs qui les séparent) dans l’ontologie, moins ils sont similaires,

 considérant deux paires de concepts séparés par le même nombre d’arcs dans l’ontologie, la paire dont le plus petit concept généralisant est le plus éloigné de la racine aura la similarité la plus importante.

Exemples de calcul de similarité

Soit l’ontologie simplifiée illustrée sur la figure 6.12.

Figure 6.12 : Exemple d’ontologie simplifiée

La similarité entre les concepts « Avion d’affaire » et « Gros porteur », les concepts « Avion d’affaire » et « TGV » et les concepts « Avion » et « Train » sont données par :

144

La mesure prend bien en compte le fait que les paires de concepts (Avion d’affaire, Gros porteur) et (Avion d’affaire, TGV), bien que distants chacun de deux arcs, ont une mesure de similarité différente (0,67 et 0,5) :

 pour la paire (Avion d’affaire, Gros porteur), le plus petit concept généralisant est « Avion », distant de deux arcs du concept « Système »,

 pour la paire (Avion d’affaire, TGV), le plus petit concept généralisant est « Transport », distant d’un seul arc du concept « Système »

Nous présentons dans l’Algorithme 1 la présélection des alternatives système et au calcul de la distance sémantique pour les concepts des alternatives système présélectionnées. Nous posons comme hypothèse qu’il existe au moins une alternative système dans la base de cas.

Quand tous les concepts des alternatives système ont été comparés au concept C et à ses descendants, si aucune alternative système n’a été sélectionnée, le concept C est remplacé par son concept père afin d’élargir la recherche, jusqu’au concept « Système » si nécessaire.

6.2.2.1 Mesure de compatibilité d’une alternative système présélectionnée par

rapport aux exigences système

Nous avons précédemment défini les fonctions de compatibilité pour des contraintes (voir section 6.1). Il s’agit, dans cette section, de définir une mesure de compatibilité globale d’une alternative présélectionnée ASi vis-à-vis de l’ensemble des contraintes système rassemblées dans .

Le principe est de construire cette mesure de compatibilité globale à partir des mesures de compatibilité locales évaluées pour chaque contrainte .

Mesure de compatibilité locale entre une alternative ASj et une contrainte i Deux cas de figure peuvent se présenter pour une contrainte donnée :

 toutes les variables concernées par la contrainte sont présentes dans l’alternative

système ASj. Dans ce cas, on évalue la compatibilité de l’ensemble des valeurs de

variables de l’alternative système ASj par rapport à la contrainte ;

 il existe au moins une variable concernée par la contrainte qui n’est pas présente

dans l’alternative système ASj. Dans ce cas, il y a deux moyens d’évaluer la

compatibilité :

 on calcule la compatibilité en considérant uniquement les variables concernées dans la contrainte . La compatibilité de la contrainte n’est

évaluée que sur un sous-ensemble des variables normalement concernées par celle-ci ;

 on considère que la compatibilité des valeurs présentes dans l’alternative par rapport à la contrainte est nulle.

145

Algorithme de présélection d’alternatives système et calcul de la similarité sémantique entre le concept cible et le concept de l’alternative présélectionnée

Entrée :

S : Système à concevoir.

Sortie :

PRE : l’ensemble des alternatives système présélectionnées (ensemble de cas sources) ainsi que, pour chacune, la similarité entre le concept du système à concevoir et le concept de l’alternative présélectionnée.

Notations :

Soit C un concept de l’ontologie,

CF(C) : l’ensemble des concepts spécialisant C, CP(C) : le concept père de C,

CS : le concept associé au système,

ASi : l’alternative système i présente dans la base de cas,

AS : l’ensemble des alternatives système contenues dans la base de cas tel que AS non vide, CAi : le concept de l’alternative système ASi,

C_cible : l’ensemble des concepts utilisés pour la présélection,

Sim_CS_CAi : la mesure de similarité entre le concept CS et le concept CAi.

début

C = CS /* le concept C est le concept cible */

C_cible = {C} CF(C) /* sélection du concept C et de ses descendants */

PRE = Ø /* aucune alternative système n’est présélectionnée*/

Répéter

Pour tout ASi AS faire /* une seule alternative système testée à la fois*/

Si (CAi C_cible) Alors /* le concept de l’alternative système i est compatible avec celui des exigences système*/

Sim_CS_CAi = Sim(CS, CAi) /* mesure de Wu et Palmer */

PRE = PRE (ASi, Sim_CS_CAi) /* l’alternative système est */

Finsi /* présélectionnée avec mesure de */

Finpour /* similarité entre concepts*/

Si (PRE = Ø et C ≠ Système) Alors

C = CP(C) /* le concept C est remplacé par son père dans l’ontologie */

C_cible = /* pour sélectionner les concepts spécialisant C

Finsi sauf ceux déjà testés */

Jusqu’à (PRE ≠ Ø)

fin

Algorithme 1 : Algorithme de présélection d’alternatives système et calcul de la similarité sémantique entre le concept cible et le concept de l’alternative présélectionnée

Dans la suite de cette section, nous proposons d’utiliser la deuxième alternative en considérant que la compatibilité locale est nulle si l’ensemble des variables de la contrainte n’est pas totalement renseigné. En procédant ainsi, s’il existe au moins une variable de la contrainte qui n’est pas renseignée dans l’alternative, la compatibilité locale est très fortement pénalisée, traduisant le fait qu’une solution partiellement définie par rapport à une nouvelle exigence n’est pas compatible par rapport à celle-ci. Cette pénalité sera ensuite intégrée dans le calcul de la compatibilité globale.

146

La compatibilité des valeurs de variables de l’alternative ASj par rapport à la contrainte est

définie par : avec : : l’alternative système j,

: la contrainte i portant sur un ensemble de variables,

: l’ensemble des variables de l’alternative système ASj tel que ,

: l’ensemble des domaines des variables de l’ensemble tel que

,

: les variables liées à la contrainte et présentes dans l’alternative système ( ),

: l’ensemble des domaines des variables de l’ensemble ,

: valeur de la variable obtenue par réduction à un singleton de son domaine (

et ),

: ensemble des valeurs des variables de l’alternative ASj pour la contrainte tel que

,

: l’ensemble des variables concernées par la contrainte et issues des exigences du système S,

: fonction de compatibilité de l’ensemble de valeurs de X par rapport à la contrainte (cf.

section 6.3).

Figure 6.13 : Exemple d’éléments permettant le calcul de la compatibilité entre une contrainte et une alternative

système ASj présélectionnée

Lorsque toutes les contraintes de ont été traitées de cette manière, une opération d’agrégation doit être effectuée afin d’évaluer la compatibilité globale de l’alternative ASj par rapport

à l’ensemble des contraintes système , noté . De nouveau, la fonction de Minkowski est utilisée car elle permet de prendre en compte toutes les mesures de compatibilités locales (contrairement aux fonctions minimum et maximum) tout en ne pénalisant pas complètement les alternatives système ne pouvant pas répondre à toutes les contraintes (contrairement à la fonction produit).

147 La compatibilité globale d’une alternative système ASj par rapport aux exigences du système

S est définie par :

avec :

N : le nombre de contraintes système ( ).

Chaque alternative présélectionnée doit être évaluée de cette façon au regard de l’ensemble des contraintes . In fine, le concepteur dispose, pour chaque alternative ASj présélectionnée :

 d’une mesure de compatibilité de cette alternative par rapport aux contraintes liées au système à concevoir (après l’introduction éventuelle de flexibilité sur les contraintes),

 d’une mesure de similarité du concept de l’alternative système ASj par rapport au

concept choisi pour le système S.

Ces deux indicateurs doivent permettre de guider le concepteur dans le choix des alternatives à réutiliser. Celles qui seront retenues doivent ensuite être adaptées.