Parmi les approches de l’ing´enierie dirig´ee par les mod`eles, l’approche MDA est la plus appropri´ee de appliquer le g´en´erateur pour l’application mobile parce que l’id´ee de base du MDA est la s´eparation des sp´ecifications fonctionnelles d’un syst`eme des d´etails de son impl´ementation sur une plateforme donn´ee.
Comme on va adopter l’approche MDA pour la solution, donc on va pr´esenter en d´etail de cette approche.
3.1.1 M´ethodologie de l’approche MDA
Le MDA a mis en ´evidence l’int´erˆet de s´eparer les sp´ecifications fonctionnelles d’une application de son impl´ementation sur une plateforme donn´ee.
Pour profiter les avantages commerciaux de cette approche et r´epondre aux probl´e- matiques du d´eveloppement des applications mobiles, le PIM doit survivre le changement de plateforme et ˆetre r´eutilisable pour plusieurs plateformes. Les cons´equences sont les suivantes :
– Les mod`eles deviennent des objets de premi`ere classe dans le processus de d´eveloppement, plutˆot que d’ˆetre ignor´e apr`es : si vous modifiez le PIM, la fonctionnalit´e du syst`eme livr´e va changer.
– La g´en´eration de code devient importante : la transformation de la PIM aux PSMs manuellement est coˆuteuse et risqu´e de source d’erreurs, alors que le mappage automatique de la PSM peut r´eduire consid´erablement le coˆut de la transformation vers une nouvelle plateforme ou mis `a niveau.
L’approche MDA demande de cr´eer d’abord un mod`ele ind´ependant de toute pla- teforme (PIM), en suite PIM est raffin´e en un ou plusieurs mod`eles sp´ecifique `a une plateforme (PSM). La transformation joue le rˆole de l’interm´ediaire, d´efinit des r`egles de transformation entre PIM et PSM. La figure ci-dessous repr´esente le processus de MDA :
Figure 3.1: Le principe de processus de MDA Ref.[3]
– Premi`erement, on consid`ere le CIM (Computation Independent model) qui est des besoins de l’utilisateur. On peut dire qu’il est des mod`eles des exigences.
– En suite, c’est le mod`ele d’analyse et de conception. Le PIM (Platform Inde- pendent Model) a ´et´e sp´ecifi´e par un langage de sp´ecification. Ceci peut ˆetre un langage textuel ou graphique. Le mod`ele obtenu est ind´ependant des plateformes d’ex´ecution. Ce mod`ele sera transform´e vers le PIM `a la suite.
– Le mod`ele PSM (Platform specific model) est transform´e `a partir de mod`ele PIM. Un PIM peut ˆetre g´en´er´e `a plusieurs PSM pour plusieurs plateformes par l’aide des m´ecanismes de transformation de mod`ele.
3.1.2 Techniques disponibles de l’approche MDA
Le MDA a un grand d’ensemble des technologies disponible permettant de la r´ealisation des logiciels basant sur le cadre de MDA. La figure ci-dessous repr´esente des technologies disponibles dans chaques niveaux de l’approche selon la norme.
Figure 3.2:L’hi´erarchie de mod`eles de MDA Ref.[17]
Voici en r´esum´e une liste des normes importe quel expert de OMG devrait savoir : M´eta-mod´elisation :
– UML Infrastructure :qui est `a la base de la sp´ecification MOF.
– Meta Object Facility (MOF) : qui est la langue `a l’aide de laquelle une m´eta-mod`ele est d´efini.
Mod´elisation :
– UML Superstructure :Unified Modeling Language(UML) est un langage de mod´elisation `a usage g´en´eral, d´efini par l’interm´ediaire du MOF.
– System Modeling Language (SysML) Profile :un profil UML pour l’ing´enierie des syst`emes.
– Modeling and Analysis of Real Time Embedded Systems (MARTE) Profil
Transformations :
– Object Constraint Language (OCL) : permet de d´efinir la formelle de contraintes sur des ´el´ements d’un mod`ele.
– Query View Transformation Language (QVT) : permet de d´efinir un mod`ele `a transformations.
– MOF Models to Text (MOFM2T) Transformation Langue :permet la d´efinition de mod`ele au texte transformation.
Dans la figure 3.3, c’est la pr´esentation d’une carte de nombreux flux possibles de la mod´elisation et de la transformation que on peut suivre lors de la d´efinition d’un processus MDA.
Tout d’abord on doit choisir le langage de mod´elisation qu’on souhaite d’exploiter.
Cela peut ˆetre UML, SysML, MARTE ou tout autre langage de mod´elisation d´efini par
Figure 3.3:Le plan du flux de MDA Ref.[17]
le MOF ou la grammaire d’une DSL peut correspondre `a un m´eta-mod`ele ´equivalent, comme il arrive dans Xtext.
D’un mod`ele d’entr´ee on peut appliquer le MOFM2T (MOF Models to Text Trans- formation Language) afin de g´en´erer la documentation, le code et les artefacts textuels pr´ecieux.
Pour notre solution, on va prendre le DSL comme le langage de mod´elisation et appliquer le mod`ele au texte transformations (MOFM2T) afin de g´en´erer le code.