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.
Dans le document
Orchestration d'agents mobiles en communauté
(Page 42-46)