• Aucun résultat trouvé

Rôle du π-calcul d’ordre supérieur dans notre approche MDA

CHAPITRE 2 : Notre approche logicielle

1.7 Rôle du π-calcul d’ordre supérieur dans notre approche MDA

MDA

Il y a de nombreuses applications de l’approche MDA, les recommandations de l’OMG portent dès les

premières spécifications du système à construire. Et lorsque ces spécifications sont satisfaisantes, elles

doivent fournir un framework clair et évolutif pour définir le système distribué et ses interconnections.

Nous mettons en évidence quelques grandes règles que nous mettons en œuvre.

a) Les modèles que nous construisons, sont exprimées dans une notation : π-calcul d’ordre

supérieur. C’est la clé de voute pour comprendre l’ensemble de nos spécifications.

b) Les constructions de nos orchestrations s’effectuent à partir de nos modèles formels par

application d’une série de transformations entre modèles. Ceci permet d’avoir une approche

par strates successives qui constitue notre framework de construction d’orchestrations.

c) Un fondement formel pour décrire nos modèles grâce à l’emploi de méta modèle. Cette

propriété apporte une facilité d’intégration par la définition simplifiée de transformateurs.

Cela est la base de l’automatisation de notre approche. Ainsi, nous définissons dans ce chapitre

un ensemble de patterns en π-calcul qui constitue notre langage π-DSL (pour π-calculus

Domain Specific Language).

42

d) L’écriture d’outils pour l’application de transformations et la validation des résultats favorisent

l’adaptation d’une telle approche pour les spécifications des systèmes distribués.

Afin de respecter ces règles, l’OMG a défini un ensemble de couches et de transformations qu’il

convient de respecter si on veut produire un framework de conception d’orchestrations. Ainsi, nous

définissons quatre types de modèles dans la suite de notre chapitre.

- CIM (Conceptual Independent Model) : ce modèle est défini par notre langage π-DSL.

- PIM (Platform Independent Model) : ce modèle correspond à la définition formelle

d’orchestration.

- PSM (Platform Specific Model) : ce modèle est la définition d’orchestration dans un Framework

spécifique (Apache Camel et PM (Platform Model))

- ISM (Implementation Specific Model) : ce modèle se concrétise par une évaluation

d’orchestration sur un bus logiciel particulier.

Dans une approche industrielle, ces quatre modèles sont définis par des personnes différentes voire

des équipes différentes afin d’assurer la meilleure couverture possible. Dans le cadre de ce travail,

l’ensemble de ces modèles est décrit par la même personne. Afin que les termes utilisés par l’approche

MDA ne rentrent pas en conflit avec ceux d’un autre domaine, il est important de faire trois remarques.

1. Les modèles sont ordonnés précédemment en fonction de ce qu’ils représentent ou

apportent. L’idée est de ne pas mélanger les choix techniques et nécessaires à toute

réalisation telle que le choix de langage et de frameworks. Ceux-ci font partie du modèle PM.

2. La notion de plateforme prête à confusion car elle fait penser à un système d’exploitation ou

une machine virtuelle. Alors que dans notre contexte, PSM est par exemple la définition d’une

orchestration écrite dans un framework appartenant à PM (Apache Camel ou Apache BPEL).

3. La notion de plateforme indépendante est ici la description d’une route dans un langage

totalement indépendant de tout choix technique. Nous l’exprimons en fonction de patterns

d’intégration, eux-mêmes spécifiés en π-DSL. L’ensemble de ces notations est abordé dans la

suite de ce chapitre.

Les transformations de modèles et autre raffinement représentent les étapes importantes du

processus de développement qui doivent être automatisés autant que possible pour aider le spécifieur.

Dans le cas où les modèles précédents sont bien définis, les transformations écrites pourront alors être

utilisées sur d’autres projets. Nous pouvons résumer alors ces points par la Figure 2-2

La Figure 2-2 représente le passage d’un niveau de modélisation à un autre. La partie PIM décrit les

caractéristiques importantes d’une route en terme d’ordonnancement de processus mais ne décrit

absolument rien de l’implémentation. Alors que la partie PSM comporte le choix d’implémentation

avec le framework Apache Camel. Cette figure permet aussi de représenter les transformations telles

que le passage d’une définition basée sur les MEP (Message Exchange Patterns) 𝜋-DSL aux MEP définis

43

Figure 2-2 Représentation de notre approche multi-modèles PIM, PSM

Pour conclure cette section sur nos choix de démarche respectant MDA, nous pensons que les modèles

aident les utilisateurs à comprendre les aspects complexes des orchestrations. Nos choix de

descriptions par algèbre de processus mettent en valeur des communications par échange de

messages, ou d’agents. De plus, le principe de transformation de modèles insiste sur la méthodologie

utilisée et permet d’identifier les étapes réutilisables. Bien entendu, il faut mettre en place des outils

tant théoriques que pratiques. Aussi nous abordons la spécification de structures de données utiles à

nos transformations.

La Figure 2-3 illustre le plan que nous allons suivre dans la suite du chapitre. Chaque boite correspond

à une partie de notre approche MDA et est expliquée dans une section propre.

44

Figure 2-3 Plan graphique de la suite du chapitre 2

2 Conceptual Independent Model : CIM

Le CIM décrit le domaine des orchestrations (cf : section 3 du chapitre 1) ainsi que les exigences des

systèmes qui les gèrent. Souvent appelé le Méta-méta-modèle, il décrit entre autre les données d’un

système d’orchestration à savoir :

45

- Le π-DSL ou langage de description d’orchestrations décrit en π-calcul (cf : section 2.2)

- Les routes qui sont des chemins dans les systèmes distribuées.

- Les archives ou les gestionnaires de routes.