• Aucun résultat trouvé

Les éléments de l’approche générique d’analyse :

Une approche générique pour l’analyse des interactions entre

7. Une approche générique pour l’analyse des interactions entre les

7.2 Les éléments de l’approche générique d’analyse :

Le problème d’interaction entre les aspects n’est pas un problème aisé, en réalité le développement de solution (outil et méthode et approche) qui permet leur traitement constitue le point clé pour l’AOSD .

Dans ce contexte, pour une meilleure prise en charge des interactions, nous proposons une approche d’analyse des interactions précoce et générique. Nous sommes convaincus qu’il est avantageux de développer une idée commune sur le traitement d’interaction des aspects basé sur les concepts communs, d’où il reste à toutes les approches d’implémenter la solution commune selon leurs mécanismes orientés aspect. Aussi, et comme il est préférable d’identifier les aspects tôt dans le

cycle de développement, l’analyse de leur interaction doit être aussi précoce. Nous avouons que ce problème doit être, géré durant tous le processus du développement. Mais nous sommes persuadés que c’est durant les phases précoces qu’on doit développer des spécifications utiles à toutes les phases. Dans ce stade une solution générique peut être utile puisqu’elle peut être adaptée aux autres phases.

Les éléments essentiels de l’approche (voir la figure 7.1) sur lesquels se base l’approche et qui font d’elle une approche générique sont : le modèle d’analyse des interactions, la techniques générique d’analyse des interaction et la stratégie d’analyse.

Figure 7.1 : les éléments de l’approche générique d’analyse

7.2.1 : le modèle d’analyse des interactions

Pour une meilleure prise en charge des interactions entre les aspects, une version initiale d’un modèle qui représente la vue subjective de la préoccupation traitement des interactions entre les aspects dans l’AORE a été présentée (chapitre05). Le modèle proposé maintient en évidence trois tâches élémentaires pour s’occuper des interactions entre les préoccupations transverses, encapsulées séparément dans les trois composants du modèle : le composant d’identification et spécification des aspects, le composant d'analyse et le composant de composition. Aussi, le modèle met l’accent sur la nécessité de spécifier les préoccupations transversales par une spécification générique basée sur les concepts orienté aspect, utilisée par l'activité d’analyse ultérieurement et obtenir d'autres spécifications pour guider la composition ultérieurement. La figure 7.2 schématise la vue du modèle d’analyse des interactions sur le traitement des interactions entre les aspects. Le processus général du modèle est itératif, dû à la nécessité de rectifier les spécifications des préoccupations et corriger des erreurs exposées après avoir composé les différentes spécifications des exigences.

Figure7.2 : la vue du modèle d’analyse

La technique générique d’analyse des interactions (présentée dans le chapitre 6) est une technique qui traite le problème d’interaction entre les aspects et permet d’identifier les conflits d’ordre entre les aspects et les résoudre tout en définissant un ordre entre les aspects en conflits et imposer un ordre d’exécution entre eux. Pour cela, la technique exploite les dépendances générées par les opérateurs de tissage pour raisonner sur l'interaction entre les aspects, utilise la recherche des chemins Hamiltoniens dans la fermeture transitive pour détecter les conflits potentiels. Les chemins Hamiltoniens obtenues définissent une solution correcte pour composer les aspects à condition que nous définissions les dépendances correctes

(a) (b)

Figure7.3 : (a)la vue de la technique générique, (b) démarche générale de la technique

La technique a donc introduit de nouveaux concepts pour l’analyse des interactions: le graphe de dépendance sa fermeture transitive, la recherche des chemins plus long et des chemins Hamiltoniens et aussi la notion de dépendance de résolution utilisée pour résoudre les conflits. La technique est générique essentiellement parce qu’elle exploite les dépendances générées par les opérateurs comme avant, après, autour et remplacer, utilise la spécification de composition des aspects pour réaliser des rôles attribués au composant d’analyse. Et fournit une sortie: les règles de composition attribuées aux points de jonction, qui peuvent être utilisées par différentes techniques de composition afin de correctement composer toutes les préoccupations ensemble. La figure 7.3(a) montre la vue de la technique générique sur le traitement des interactions entre les aspects. La figure 7.3(b) récapitule la démarche générale de la technique

7.2.3 : la stratégie d’analyse

La stratégie d’analyse consiste en ce que la spécification de composition (voir figure 7.4) doit être constituée de deux parties : une spécification de composition d’aspect

attribuée à un aspect et une autre la règle de composition attribuée au point de jonction.

Figure7.4 : la vue de la stratégie

La spécification de composition est une spécification restreinte a l’aspect où et comment il coupe les modules de base, cependant les règles de composition sont une spécification plus englobante qui organise l’interaction des différents aspects interagissant au même point de jonction. Cela rend la spécification complète par rapport à l’aspect et complète par rapport au point de jonction. L’analyse d’interaction consiste donc à passer de la spécification de composition d’aspect à la spécification règle de composition, tout en intégrant un ensemble de dépendances organisant l’interaction aux points de jonction. Cette stratégie d’analyse est au cœur du modèle d’analyse et de la technique générique d’analyse d’interaction. Ainsi, pour un passage approprié et analogue l’aspect doit être spécifié par une spécification générique basée sur les concepts orientés aspect, composée de sa spécification de coupure et son advice.

7.3 Présentation de l’approche générique

L’approche générique d’analyse des interactions entre les aspects nommé cadre générique pour l’analyse des interactions entre les aspects : GFIA-Aspect (Generic

Framework of Interactions Analysis between Aspects), adopte une stratégie précoce

et générique. Elle est proposée lors de la phase d’analyse des exigences. Comparée aux autres approches d’ingénieries des exigences orientées aspects, elle adopte une vue générique qui se base sur les concepts orientés aspects pour un traitement efficace des interactions, de manière à découpler le raisonnement sur l’interaction de la méthode et langage d’identification et composition des aspects, et surtout prévoir d’autres avantages pour l’analyse des interactions.

7.3.1 : l’approche d’analyse des interactions : comment est elle générique ?

Cette approche (voir figure 7.4) vise essentiellement à traiter les interactions qui sont classées dans cette approche à des interactions positives (dépendances) et des interactions négatives (conflits).Pour cela, l’approche exploite un ensemble de concepts et notions d’analyse introduits par la technique générique

Figure 7.5 : L’approche générique d’analyse des interactions

L’approche effectue les tâches d’analyse séparées sur des étapes et manipule évidemment une spécification composée de spécification des préoccupations et spécifications de composition des aspects, tel que suggéré par la stratégie d’analyse. En outre, cette approche génère et propose une documentation à l’attention et intérêt de l’utilisateur (l’analyste), qui est constituée principalement d’un rapport d’analyse et des fiches de diagnostics. L’approche est générique essentiellement parce qu’elle se base sur une technique générique d’analyse des interaction qui exploite les opérateurs de tissage et aussi au fait qu’elle est fondée sur un modèle d’analyse qui sépare les taches et découple la tâche d’analyse des tâches de spécification et composition d’aspects et sur une stratégie d’analyse qui suggère une spécification des aspects générique basée sur les concepts orientés aspect.

7.3.2 Documentation et spécification gérées

1. les spécifications utilisées

Afin d’aboutir à son objectif l’analyse des interactions, l’approche utilise évidemment une spécification composée de spécification des préoccupations et spécification de composition des aspects tel que suggéré par la stratégie d’analyse. La spécification des préoccupations spécifie les préoccupations qui sont classées dans cette approche asymétrique à des aspects et des bases, il est considérable qu’une base peut être aussi dans certain cas un aspect qui coupe d’autres bases. Nous spécialisons trois spécifications de préoccupation : s_Aspect, s_fonctionnelle et s_nonfonctionnelle qui spécifient séparément et respectivement les aspects, les préoccupations fonctionnelles et non fonctionnelles. Si une base (préoccupation fonctionnelle) est à la fois un aspect, elle est spécifiée par les deux spécifications, s-fonctionnelle,s-Aspect) .

Figure7.6 : les spécifications manipulées

Tandis que, la spécification de composition offre les spécifications nécessaires à la composition tel que suggéré par la stratégie d’analyse, elle est composée des règles de composition qui concernent les points d’interaction (point de jonction) et des spécifications d’aspect qui concernent individuellement les aspects, celle-ci doit résider générique basée sur les concepts orientés aspect (voire la figure7.6).

2. Documentation gérées :

En outre cette approche génère et propose une documentation à l’usage de l’utilisateur qui est le rapport d’analyse et les fiche de diagnostic :

 Le rapport d’analyse : est un document sur lequel toute action d’analyse,

d’identification d’interaction, de dépendance, de conflit et de résolution sont enregistré. Il capture donc tout le processus d’analyse, et permet une visualisation des graphes et chemins qui peuvent être annotés. Ce rapport peut être consulté, révisé, étudié, et imprimé par l’analyste. Il doit être explicatif et permettent des recherches et consultations sélectives.

 Les fiches de diagnostics : (aussi appelé carte de diagnostic) sont des cartes

générées lors de la tâche de résolution.

Carte diagnostic: :……… Code : ……… Date création :…. Par :……… Eléments impliqués Aspects impliqués Aspect1 Aspect2 Non aspect ……….. …………. Code aspect : ……….. ………….. Opérateur : ……….. ………

Bases impliquées Non de la base : ………. Code de la base : ………

Description du problème ………

Dépendances de résolution : ………..

Description de la solution justification Source de la solution

Dépendances identifiées ………… ……… Spécification de préoccupation trade-off Connaissance du domaine autre (préciser) Dépendances interdites ……… ……… Dépendances supprimées ……… ……….. Dépendances marquées Confiance=…..% ... ………

Table 7.1 : modèle d’une fiche de diagnostic

Ces fiches sont établies afin de capturer et représenter les connaissances de résolution de l’analyste (le savoir faire) et on vise qu’elle soit réutilisé. La réutilisation des solutions n’est pas une problématique réellement traitée ici, mais, comme nous

reconnaissons l’importance de structurer, représenter et réutiliser l’expérience de l’analyste sur la résolution, nous avons proposé cette version initiale d’une carte de diagnostic montrée dans table7.1, elle est conçue appuyée partiellement sur l’approche présentée dans [18].