• Aucun résultat trouvé

CHAPITRE 2 REVUE ANALYTIQUE DE LA LITTÉRATURE

2.4 Méta-modèles

Certaines caractéristiques de haut niveau d'un MP émanent directement de son méta-modèle (ex. la capacité de personnalisation). Les trois Meta-modèles les plus cités dans la littérature sont : Software & Systems Process Engineering Meta-model (SPEM)(OMG:SPEM, 2008), OPEN Process Framework (OPF) (Firesmith et Henderson-Sellers, 2001) et ISO 24744 (ISO/IEC, 2007). Cette section présente un aperçu de ces méta-modèles.

2.4.1 SPEM (V1.1 2002, V2.0 2008)

Le méta-modèle «Software & Systems Process Engineering Meta-model» (SPEM) est un effort de l‘OMG1

pour standardiser les langages de modélisation des processus. SPEM a été initialement crée comme un méta-modèle autonome, mais reformulé par la suite pour être un profil UML (OMG:SPEM, 2008).

 Le méta-modèle SPEM définit toutes les structures, les règles de structuration et la notation d‘un MP. C‘est une instanciation du MOF qui hérite des classes principales d‘UML.

1

 Le profil UML SPEM est la définition d‘un ensemble de stéréotypes UML pour représenter un MP. Toutefois, la sémantique n‘est pas définie dans ce profil ni les contraintes OCL1, elle se base sur la forme méta-modèle de SPEM.

La Figure 2.4 présente les paquetages qui supportent SPEM 2.0. Les paquetages en couleur jaune sont complètement implémentés dans l‘outil DSL4SPM que nous proposons (voir chapitre III), le paquetage en gris est partiellement supporté à travers un connecteur vers une bibliothèque externe.

Figure 2.4: Structure des paquetages de SPEM 2.0

(Core) Noyau : Le noyau contient les éléments de base et les abstractions utilisables par tous les autres paquetages.

(Process Structure) Structure du processus : Ce paquetage définit et représente une liste ordonnée d‘activités. Une activité englobe une liste de tâches, de rôles et de produits d‘activité.

(Process Behavior) Comportement du processus : Au-delà d‘une description statique fournie par le composant précédent, ce composant permet d‘étendre la structure d‘un processus avec

1

OCL : Object Constraint Language, un standard de l‘OMG pour la définition des contraintes sur un modèle UML :

des modèles comportementaux. Ce paquetage ne traite pas l‘aspect comportemental d‘un processus, mais assure le lien vers des outils externes spécialisés.

(Managed Content) Contenu Contrôlé : Ce paquetage permet la documentation des composants d‘un modèle de processus en utilisant le langage naturel. (ex. un document décrivant les pratiques agiles).

(Method content) Contenu de la méthode : Dans ce paquetage, on peut décrire les composants qui structurent les processus. Les tâches, rôles, produits d‘activité et des éléments de guidages sont décrit dans ce paquetage. Le concepteur peut ainsi construire une base de connaissances indépendamment de la façon dont ils vont être utilisés pour bâtir des modèles de processus.  (Process with Method) Processus avec méthode : utilise les éléments prédéfinis dans le

paquetage « Contenu de la méthode » pour structurer un processus spécifique.

(Method Plug-in) Plug-in : Ce paquetage est un référentiel pour des librairies configurables. C‘est le niveau le plus grossier de granularité pour la réutilisation.

2.4.2 OPF (1996)

Le méta-modèle « OPEN Process Framework »1 (OPF) a été proposé par un consortium d‘« experts » et d‘éditeur d‘outils. Ce méta-modèle est défini sur la base de cinq classes de composants (voir Figure 2.5) : « Producers », « Work Unit », « Work Products », « Stages » et « Languages ». OPF fournit un mécanisme de réutilisation à travers une bibliothèque de composants prêts à être instanciés.

(1) Producers : entités actives, humaines ou non, qui réalisent des « Work Unit » et produisent des « Work Products ».

(2) « Work Unit » : des opérations réalisées par des producteurs lors de la création des « Work Products ». Les unités de travail sont classées selon trois catégories : activité, tâche ou technique. L‘activité représente une description grossière de ce qui doit être fait (ex. ingénierie des exigences, planification du projet, etc.). La tâche représente l‘unité de travail atomique à réaliser. La technique, quant à elle, représente l‘approche avec laquelle une tâche ou une activité doit être réalisée.

1

OPEN : Object-oriented Process Environment et Notation. Présenté comme étant une famille de processus. Initialement crée par l‘intégration de cinq processus existants (MOSES, SOMA, Synthesis, Firesmith et BON).

(3) « Work Products » : des produits d‘activité concrets qui présentent de la valeur ajoutée pour le projet (ex. documents, diagrammes, modèles, etc.).

(4) « Stages » : des durées qui offrent un haut niveau d‘organisation des « Work Products » (ex. milstone, étape avec une durée).

(5) « Languages » : les médias utilisés pour documenter un « Work Product » (ex. langages naturels, langage de modélisation ou langage de programmation, etc.).

Figure 2.5: Composants du méta-modèle OPF

2.4.3 ISO 24744 (2007)

La norme ISO/IEC 24744 (ISO/IEC, 2007) est fortement inspirée des travaux de Henderson- Sellers sur le méta-modèle « OPF » (Gonzalez-Perez et Henderson-Sellers, 2005). Ces travaux ont émergé suite à une forte critique des premières versions de SPEM notamment pour les mécanisme de passage d‘un niveau de modélisation à l‘autre (ex. de M2 vers M1 vers M0) (Atkinson et Kuhn, 2001; Atkinson et al., 2004). Pour répondre aux limites de SPEM, le méta- modèle normalisé ISO/IEC 24744 présente une nouvelle approche de modélisation basée sur trois aspects, à savoir : processus, produits et producteurs du travail. À la différence de SPEM, ISO/IEC 24744 traite les niveaux M2, M1 et M0 de la pile de modélisation de l‘OMG (voir section 1.1.2). En d‘autres mots, c‘est l‘instanciation directe du méta-modèle qui crée un MP qui est à son tour instancié pour créer le projet.

Figure 2.6: Diagramme de classe partiel du méta-modèle ISO 24744

Deux nouveaux concepts ont été introduits pour modéliser une méthodologie, à savoir : « Powertypes » et « Clabjects ». Les « Powertypes », introduit d‘abord par (Odell, 1994) puis adapté pour le contexte des processus par (Henderson-Sellers, 1998), ont l‘avantage de fournir une classification dynamique en permettant aux sous-types d‘une classe d‘être définis comme des instances d‘une autre classe en utilisant un discriminant, ce qui est particulièrement utile quand on a des éléments qui appartiennent à deux niveaux d‘abstraction différents. À titre d‘exemple, Les « Clabjects » ont l‘avantage de fournir un mécanisme d‘instanciation profonde. Ainsi, ils permettent de spécifier qu‘une entité du niveau méthodologique est à la fois une instance d‘une entité du méta-modèle et une classe pour les éléments du niveau « Projet » (Atkinson et Kuhn, 2001; Henderson-Sellers, 2001).

Les encadrés (1, 2 et 3) de la Figure 2.6 sont respectivement l‘équivalent de « WorkDefinition », « WorkProduct » et « Role » du SPEM. Ces éléments constituent le noyau du processus à bâtir.