• Aucun résultat trouvé

Taxonomie selon l’école van der Aalest

des Processus métier

5. Taxonomies de flexibilité

5.2. Taxonomie selon l’école van der Aalest

Van der Aalest et Schonenberg dans [Schonenberg 2008] recensent dans leur taxonomie, les stratégies qui introduisent la flexibilité dans un processus métier et améliorent sa capacité à répondre au changement de son environnement d’opération sans recourir à la re-conception de la spécification du processus. La réaction des processus métier flexibles aux changements, diffère dans le temps et la manière selon lesquels ils sont affectés.

Van der Aalest et ses collaborateurs ont identifié quatre sortes de mise en œuvre de la flexibilité dans un processus métier à différentes phases du cycle de vie du processus.

Par conception, pour gérer les changements anticipés dans l’environnement d’opération,

quand les stratégies supports peuvent être définies à la conception.

Par déviation, pour gérer les comportements occasionnels et jamais rencontrés, avec des

différences minimales dans le déroulement normal.

Par sous spécification, pour gérer les changements anticipés dans l’environnement

d’opération avec des stratégies ne pouvant pas être définies à la conception parce que la stratégie finale n’est pas connue à l’avance ou pas généralement applicable.

Par changement, Soit pour gérer les comportements occasionnels et jamais rencontrés,

dans lesquels les changements requièrent des adaptations du processus ou pour gérer les comportements jamais rencontrés et permanents.

Chaque classe est présentée par sa définition, sa motivation et sa mise en œuvre.

5.2.1. Flexibilité par conception

Lorsque le processus opère dans un environnement opérationnel changeant, il est intéressant d’incorporer des supports pour permettre des alternatives d’exécution connues à la définition du processus. Au moment de l’exécution, le chemin le plus approprié sera choisi parmi tous ceux définis à la conception.

a. Définition

C’est la capacité d’incorporer dans la définition du processus métier plusieurs alternatives d’exécution à la conception. Le choix du chemin le plus approprié sera fait à l’exécution pour chaque instance de processus métier.

b. Mise en oeuvre

Toutefois, la description de tous les chemins d’exécution dans la définition d’un processus métier à la conception peut être soit indésirable soit impossible vue qu’on ne peut pas connaître à l’avance tous les chemins possibles. Les trois prochains types donnent des mécanismes alternatifs pour la flexibilité des processus métier.

5.2.2. Flexibilité par déviation

Certaines instances de processus métier peuvent nécessiter une déviation de sa séquence habituelle. Ce type de flexibilité est donc défini pour s’accommoder aux changements dans l’environnement d’opération rencontrés en cours d’exécution.

a. Définition

C’est la capacité qu’a une instance d’un processus métier de dévier de son cours normal et prédéfini, en cours d’exécution, sans altérer la définition de son processus.

b. Mise en oeuvre

Ce type de flexibilité est plus descriptif que prescriptif, pour guider une séquence d’exécution. La définition contient l’exécution préférée mais d’autres scénarios sont possibles. La réalisation de ce type de flexibilité peut être obtenu par le biais d’opérations telle que:

refaire tâche,

sauter tâche,

créer nouvelle instance de tâche,

invoquer tâche.

5.2.3. Flexibilité par spécification incomplète

Quand il n’est pas possible d’identifier tous les chemins d’exécution possibles à la conception, il est utile de pouvoir exécuter une définition incomplète du processus métier et rajouter dynamiquement les fragments décrivant les scénarios manquants.

a. Définition

C’est la capacité à exécuter une définition incomplète d’un processus ne contenant pas les informations nécessaires pour sa complétude. Il est à noter que cela ne nécessite pas la mise à jour de la définition du processus métier en cours d’exécution. Il suffit de proposer une réalisation concrète des parties non définies.

Ce type de flexibilité est utile dans le cas des processus mal définis et présentant des parties non connues à l’avance

b. Mise en oeuvre

Une définition incomplète est celle qui est bien formée mais ne présente pas une définition détaillée de la réalisation de chaque tâche. Dans cette définition, il y aura des nœuds incomplètement spécifiés appelés « placeholders » dont la spécification complète ne sera connue qu’à l’exécution. Il existe deux manières d’établissement des « placeholders »:

Par déploiement retardé, l’instanciation est sélectionnée dans une liste d’instances

possibles et complètement définies. Cette approche est limitée à la sélection sans permettre une nouvelle exécution.

Par modélisation retardée, un fragment du processus est construit pour réaliser un

« placeholder ». Ceci doit être pris en charge par des personnes habilitées, et peut être réalisé à deux moments bien définis:

• Avant exécution de « placeholder » : Le « placeholders » est réalisé au commencement d’une instance du processus ou pendant l’exécution avant sa première exécution.

• Pendant l’exécution de « placeholder » : Le « placeholders » est réalisé pendant qu’il s’exécute.

Le « placeholder » peut être réalisé une seule fois ou pour chaque exécution. On distingue deux réalisations type distinctes :

• Réalisation statique : Le fragment de processus choisi pour réaliser le « placeholders » pour la première fois est réutilisé pour réaliser le « placeholders » pour chaque exécution. On revient alors dans ce cas au déploiement retardé.

• Réalisation dynamique : La réalisation du « placeholders » peut être refaite pour chaque exécution.

Le fragment de « placeholders » disponible pour la réalisation peut être gardé dans un répertoire pour un ou plusieurs processus pour une ou plusieurs tâches.

5.2.4. Flexibilité par changement

Dans certains cas, il peut survenir des événements inconnus pendant l’exécution d’un processus métier. En outre, ces événements ne peuvent pas être traités par une déviation temporaire du modèle du processus. Ces événements requièrent l’ajout ou la suppression de tâches du modèle du processus de manière permanente.

Ces changements peuvent affecter le modèle du processus pour toutes les instances du processus en exécution.

a. Définition

C’est la capacité de modifier le modèle du processus pendant son exécution, de sorte que toutes les instances de l’exécution en cours du processus migrent vers le nouveau modèle.

b. Mise en oeuvre

Contrairement aux autres types de flexibilité de processus métier déjà mentionnés, le modèle construit en phase de conception est modifié et une ou plusieurs instances du processus en exécution sont transférées de l’ancienne version vers la nouvelle version du modèle.

L’effet du changement définit si le celui-ci est réalisé à un niveau instance ou à un niveau modèle. Il définit aussi l’impact du changement sur les nouvelles instances de processus en exécution. Il existe deux variantes dans la flexibilité par changement [van der Aalest 2000]:

Le changement momentané: est un changement qui affecte l’exécution d’une ou de

plusieurs instances choisies du processus métier. Le changement réalisé sur une instance donnée n’affecte pas les futures instances.

Changement évolutionnaire: Le changement qui affecte la modélisation d’un processus

métier affecte toutes les nouvelles instances du processus métier. Le moment d’introduction des changements aux différentes instances varient selon qu’il intervient :

• Au lancement d’une instance: impose que les changements soient reportés au moment du lancement d’une nouvelle instance de processus. Après cela aucun changement ne pourra être introduit. Les exécutions continueront en accord avec le modèle du processus.

• A la volée : les instances en exécution seront mises à jours durant leur exécution. Les changements introduits concernent, de la même manière, les futures instances en exécution que les instances en cours exécution. Ces dernieres devront alors migrer vers la nouvelle version de la modélisation du processus.