• Aucun résultat trouvé

Deuxi` eme partie

6.5 Le r´ ef´ erentiel d’analyse g´ en´ erique

6.5 Le r´ef´erentiel d’analyse g´en´erique

6.5.1 Formalisation

Dans cette section, nous introduisons la structure du m´eta-mod`ele du r´ef´erentiel d’analyse. Un r´ef´erentiel d’analyse Arep = <R, C, T >, tel que

— T = {t1, t2, .., tn} est un ensemble de tests propos´es dans la litt´erature.

— R = {r1, r2, .., rn} est l’union de toutes les r`egles d’identification exprim´ees en IRL, d´efinissant C. R doit ˆetre ´evalu´e sur chaque syst`eme. Le r´esultat d’´evaluation d’une r`egle peut ˆetre vrai ou faux, et d´epend du syst`eme ´etudi´e.

— C = {c1, c2, .., cn} est un ensemble de contextes (domaine d’application d’un test). Chaque contexte ci = < Gi, Ti >. Gi est un groupe racine, qui contient des sous-groupes, reliant des r`egles d’identification. Chaque (sous-)groupe est caract´eris´e par l’attribut junctionType qui peut ˆetre and ou or. En outre, Ti ⊂ T est un sous-ensemble de tests qui peuvent ˆetre appliqu´es dans le contexte ci.

Gi =< Gij, Rtruei , Rf alsei , Rneutrali > dont Gij est un ensemble de sous-groupes directs du groupe Gi, Gij lui-mˆeme peut contenir des sous-groupes reliant des r`egles. Rtrue

i est l’ensemble de r`egles du groupe Gi dont la valeur attendue est vraie, Rf alsei est l’ensemble de r`egles du groupe Gi dont la valeur attendue est fausse, Rneutrali est l’ensemble de r`egles du groupe Gi dont la valeur attendue peut ˆetre soit vraie soit fausse. Si le groupe est du type and, cela veut dire qu’au moment de l’´evaluation toutes les r`egles du groupe doivent avoir des valeurs d’´evaluation qui correspondent aux valeurs attendues. Autrement dit, ∀r ∈ Rtrue

i | ci |= r et ∀r ∈ Rf alsei | ci ̸|= r. Si le groupe est du type or, il suffit d’avoir au moins une r`egle respectant la valeur attendue. Formellement, ∃r ∈ Rtruei | ci |= r ou ∃r ∈ Rf alsei | ci ̸|= r. La pr´esence des groupes de type and, or permet d’´eviter la redondance des r`egles et de mieux g´erer la variabilit´e des contextes C.

6.5.2 M´eta-mod`ele du r´ef´erentiel d’analyse

La structure g´en´erale du r´ef´erentiel d’analyse est pr´esent´ee dans la figure 6.12. Elle refl`ete la formalisation pr´esent´ee ci-dessus.

Figure 6.12 – Les concepts principaux du m´eta-mod`ele du r´ef´erentiel d’analyse

Nous avons aussi d´evelopp´e une syntaxe concr`ete textuelle pour le r´ef´erentiel d’analyse `a l’aide de Xtext. En raison de la complexit´e, toutes les r`egles d’identification dans l’exemple ci-dessous sont reli´ees par la relation AND. La figure 6.13 pr´esente un exemple de r´ef´erentiel

d’analyse. Il contient trois contextes avec diff´erents types de tests (dimensionnement et valida-tion) issus de trois articles appartenant `a trois diff´erentes d´ecennies (analyse de temps de r´eponse 1986, affectation de priorit´es 1991, analyse de sensibilit´e 2008) ainsi qu’un ensemble de r`egles d’identification.

6.5. LE R ´EF ´ERENTIEL D’ANALYSE G ´EN ´ERIQUE

6.5.3 Fiabilit´e du r´ef´erentiel d’analyse

Quand le nombre de r`egles existantes d’un r´ef´erentiel d’analyse devient grand, il devient difficile de g´erer la valeur attendue de nouvelles r`egles par rapport `a diff´erents contextes. Pour rendre alors le r´ef´erentiel d’analyse coh´erent, fiable et aider les utilisateurs `a ´etendre un r´ef´erentiel en ajoutant de nouvelles r`egles, nous avons identifi´es trois possibles relations entre les r`egles (voir la figure 6.14) que nous expliquons ci-apr`es :

Figure 6.14 – M´eta-mod`ele du r´ef´erentiel d’analyse : focus sur la classe r`egle d’identification et ses relations r´eflexives

— Une r`egle (r1) peut ˆetre ´equivalente `a une autre r`egle (r2). On note r1Eq r2 (voir la equivalentRules de la figure 6.14). Par exemple, les hypoth`eses “Pour toutes les tˆaches, l’´ech´eance relative est inf´erieure ou ´egale `a la p´eriode” et “Pour toutes les tˆaches, la p´eriode est sup´erieure ou ´egale `a l’´ech´eance relative” sont ´equivalentes. Deux r`egles ´equivalentes doivent avoir le mˆeme valeur attendue par rapport un contexte donn´e.

— Une r`egle (r1) peut ˆetre contradictoire avec une autre r`egle (r2). On note r1Con r2 (voir la conflictualRules de la figure 6.14). Par exemple, les hypoth`eses “Pour toutes les tˆaches, l’´ech´eance relative est inf´erieure ou ´egale `a la p´eriode” et “Existe au moins une tˆache dont l’´ech´eance relative est sup´erieure `a la p´eriode” sont contradictoires. Les valeurs attendues, de deux r`egles contradictoires qui cohabitent un contexte donn´e, doivent ˆetre oppos´ees. — Une r`egle (r1) peut requ´erir une autre r`egle (r2). On note r1Req r2 (voir requiredRules

de la figure 6.14). Par exemple, l’hypoth`ese “Pour toutes les tˆaches, l’´ech´eance relative est ´equivalente `a la p´eriode” requiert les hypoth`eses “Toutes les tˆaches ont la propri´et´e l’´ech´eance relative” et “Toutes les tˆaches ont la propri´et´e la p´eriode”.

Les manipulations d’administration du r´ef´erentiel d’analyse seront effectu´ees par un analyste. Nous listons ci-dessous les propri´et´es `a respecter :

— Les relations d’´equivalence et de contradiction sont r´eflexives : r1Eq r2 =⇒ r2Eq r1 et

r1Con r2 =⇒ r2Con r1.

— Transitivit´e : si une r`egle (r1) requiert une r`egle (r2) et que la r`egle (r2) requiert une autre r`egle (r3) alors la r`egle r1 requiert aussi la r`egle r3 : r1Req r2 et r2Req r3 =⇒ r1Req r3. — Si la r`egle (r1) est contradictoire avec la r`egle (r2) alors la r`egle r1 est contradictoire avec

toutes les r`egles ´equivalentes `a la r`egle r2 : r1Con r2 et r2Eq r3 =⇒ r1Con r3.

— Pour un contexte, une r`egle d’identification doit avoir la mˆeme valeur attendue que ses r`egles ´equivalentes.

— Pour un contexte, si la valeur attendue d’une r`egle d’identification est l’inverse de la valeur attendue de ses r`egles contradictoires.

— Si la valeur attendue d’une r`egle est vraie, la valeur attendue de ses r`egles requises doit ˆ

Les propri´et´es d´ecrites ci-avant ont ´et´e impl´ement´ees sous forme d’invariants afin d’enrichir le m´etamod`ele du r´ef´erentiel d’analyse et renforcer sa s´emantique statique. La figure 6.15 repr´esente cette impl´ementation en OCL.

Figure 6.15 – Impl´ementation des propri´et´es en OCL