• Aucun résultat trouvé

CHAPITRE 3 : LE META-MODELE DE METHODES

5. Le Méta-Modèle de processus

5.1. Présentation de la notion de directive

5.1.2. Directive Tactique

La structure de directive tactique proposée dans ce mémoire est inspirée de l’approche contextuelle de modélisation des processus NATURE [Rolland 95], [Grosz 97], [Jarke 99]. Cette approche représente le modèle de processus d’une méthode au moyen de la notion de contexte et d’arbre de

contextes [Plihon 96], [Rolland 94c], [Plihon 94], [Plihon 95].

La Figure 18 détaille la structure d’une directive tactique en complément de la Figure 9. Cette Figure est commentée au fur et à mesure de la présentation des trois types de directives tactiques :

Directive Directive Plan Directive tactique Choix Graphe de précédence Alternative Exécutable Action Action d’ingénierie Action de délégation 1..* 0..1 Sélectionne Action complexe Action atomique 1..* * 1 Critère de choix Argument 1..* 1..* Lien de précédence 1..* 1 0..1 Argumenté par Argumenté par 1 * 0..1 0..1 * * de à Partie de produit 1..* 1 modifie A un 1..* Directive Directive Plan Directive tactique Choix Graphe de précédence Alternative Exécutable Action Action d’ingénierie Action de délégation 1..* 0..1 Sélectionne Action complexe Action atomique 1..* * 1 Critère de choix Argument 1..* 1..* Lien de précédence 1..* 1 0..1 Argumenté par Argumenté par 1 * 0..1 0..1 * * de à Partie de produit 1..* 1 modifie A un 1..*

Figure 18. Structure d’une directive tactique

5.1.2.1. Directive tactique de type exécutable

Une directive exécutable correspond à une intention qui peut être concrétisée par une ou plusieurs

actions. Une action peut être une action de transformation du produit ou une action de sélection

d’une autre directive. Ces deux types d’action sont modélisés comme des types spécialisés du concept action, Action d’ingénierie et Action de délégation (Figure 18). L’action d’ingénierie consiste à modifier le produit en cours de développement tandis que l’action de délégation consiste à déléguer la réalisation d’une intention à une autre directive tactique.

Une action d’ingénierie peut être atomique ou complexe (composée d’une ou plusieurs actions d’ingénierie). Exécuter une action d’ingénierie modifie une ou plusieurs parties du produit associées à la directive et peut générer une nouvelle situation qui est elle-même sujette à de nouvelles intentions.

5.1.2.2. Directive tactique de type choix

Une directive choix correspond à une situation qui nécessite l’exploration de différentes possibilités alternatives. Dans ce cas, l’ingénieur d’application a différentes façons d’atteindre le but qu’il poursuit. Il doit faire un choix parmi un ensemble de possibilités permettant de résoudre le problème. Chaque solution alternative est décrite par une sous-directive qui peut être de type exécutable, plan ou choix.

La directive choix permet de décomposer une intention en sous-intentions alternatives en l’affinant en intentions plus fines. Les alternatives d’une directive choix affinent l’intention de cette dernière,

soit en ajoutant une information sur l’approche suivie pour mettre en œuvre l’intention, soit en décrivant les différentes transformations du produit qui peuvent être menées pour atteindre l’objectif de la directive choix.

Comme le montre la Figure 18, le choix parmi les différentes alternatives d’une directive choix est argumenté par des critères de choix. Un critère de choix est une combinaison d’arguments en faveur ou en défaveur du choix d’une alternative. Il aide l’ingénieur d’applications à choisir l’alternative la mieux appropriée aux caractéristiques de la situation qu’il traite. Les arguments sont basés sur des heuristiques ou sur les caractéristiques du produit en cours de développement. Ils sont atomiques et peuvent être réutilisés dans plusieurs critères de choix. Ils sont décrits en langage naturel.

La directive associée à l’intention « Définir un lien entre deux classes du schéma statique » est un exemple de directive choix. La Figure 19 illustre cette directive, elle offre à l’ingénieur d’application trois possibilités selon le type de la relation identifiée entre les deux classes :

- Définir un lien Est-un entre deux classes,

- Définir un lien d’agrégation entre deux classes, ou

- Définir un lien d’association entre deux classes.

Les arguments (a1), (a2) et (a3) présentés en bas de la figure permettent d’assister l’ingénieur dans le choix de la directive adéquate à sa situation.

< (lien ‘identifié’), Définir un lien entre deux classes du schéma statique >

<(lien ‘identifié’), Définir un lien Est-un entre deux classes >

<(lien ‘identifié’), Définir un lien d’association entre deux classes >

<(lien ‘identifié’), Définir un lien d’agrégation entre deux classes >

(a1)

(a2)

(a3)

Arguments :

(a1) : une relation d’héritage est mise en évidence entre deux classes du schéma statique (a2) : une relation d’imbrication est mise en évidence entre deux classes du schéma statique (a3) : une relation sémantique durable est mise en évidence entre deux classes du schéma statique

Figure 19. Exemple de directive choix

5.1.2.3. Directive tactique de type plan

Une directive plan correspond à un problème complexe qui, pour être résolu, nécessite d’être décomposé en un ensemble de sous-problèmes. L’ingénieur d’application connaît l’ensemble des décisions qui lui permettront d’atteindre le but qu’il poursuit. Ce type de directive propose un plan

composé d’un ensemble de sous-directives qui peuvent être des directives tactiques de type exécutable, plan ou choix.

L’ordre d’exécution des sous-directives est défini dans un graphe de précédence (Figure 18). Il y a un graphe par directive plan. Les nœuds du graphe sont des directives (les composants du plan), alors que les arcs appelés liens de précédence représentent des transitions ordonnées ou parallèles entre directives.

Les critères de choix attachés aux liens de précédence permettent de prescrire les conditions d’occurrence d’une transition. Ils sont construits à partir d’arguments et sont de même nature que ceux attachés aux alternatives des contextes choix. Leur but est, ici, d’aider l’ingénieur d’applications à choisir le chemin à suivre pour l’exécution du plan.

Dans certains cas, le graphe de précédence peut être simple et ne proposer qu’un seul chemin pour exécuter le plan. Il est alors inutile d’associer des critères de choix aux liens. C’est le cas, par exemple, des plans dont les composants sont organisés en séquence. Mais un graphe peut aussi contenir plusieurs chemins d’exécution. Ceci permet d’introduire plus de flexibilité dans la démarche d’une directive.

Exécuter un plan revient à parcourir son graphe de précédence. Lors de l’exécution d’un contexte plan, les critères de choix des liens de précédence sont calculés grâce à l’évaluation de leurs arguments.

La directive associée à l’intention « Définir une classe dans le schéma statique » est un exemple de directive plan, ce plan présenté à la Figure 20 propose à l’ingénieur de (1) Créer la classe identifié, (2) Définir le nom de la classe et (3) Définir les attributs de la classe. Ces trois sous-directives s’exécutent d’une manière séquentielle ce qui explique l’absence d’un graphe de précédence dans cette directive.

< (classe ‘identifié’), Définir une classe du schéma statique >

<(classe ‘identifié’), Créer la classe > <(classe ‘définie’), Définir le nom de la classe > <(classe ‘définie’), Définir les attributs de la classe >

(1) (2) (3)

Figure 20. Exemple de directive tactique de type plan