Institut Francophone International Sujet : Etudes de l’approche d’ingénierie dirigée par les modéles pour le développement des applications mobiles... Ce rapport se compose 5 chapitres
Trang 1Institut Francophone International
Sujet : Etudes de l’approche d’ingénierie dirigée
par les modéles pour le développement des
applications mobiles
Trang 2REMERCIEMENTS
Je voudrais VouL d?abord remereier Monsieur VicLor Moraru qui sua conseille ce
stage pour la fin de mes eludes
Je tiens & remercier Monsieur 1IQ "Mong, Vinh qui m’a proposé ce sujet intéressant
at eneadré pendant six mois de man stage Je le remarcie de son contact chalenrenx, ses comseils, ses sontiens et ses enconragements
Merci également Loutey les répouses de anes amis qui a'aident beaucoup de Gir
ce travail Merci enfin & mes parents pour leur souticn ct leur cnepuragement & tout
Vinstant.
Trang 3
on suit |’étape d'interroger des exigences, de faire I'analyse, ensuite on congoit a concep- tion et commence a coder, Ce processus prend beaucoup de temps et de cofits, Kit il aurait
un grand probléme lorsque le produit ne correspond pas aux exigences
Das fe cadre de ve stage, om propose une solulion qui upplique le principe de Fappeoche dingénierte dirigée par Jes maciéles ponr le développement des apptications
mobiles Celle-ci aiderait an développenr de rérnire le temps et le eoiit de développement: grare amt avantages des modéles Tidée de Papprache d’ingénierie dirigée par les modéles est que le développement de Papplication est guidé par fes modéles Lille est tres bien adaptée avec V'approche « Cross-platform 3 afin de réaliser les applications mobiles
ponr des différences systames d'explaitation Cela réduit le temps et des ressources pour
le développement Le cade est antomatiquement généré À partir des modéles qui sont définis par le développeur
Mot-clé : Ingénierie dirigée par les modéles, Application mobile, Multi-plateforme, DSL, Modélisation
Trang 4Jn general, to develop an application, we follow the step of getting the require- ments, analyze the requirements and then designing and coding ‘his process takes many time and costs Aud it would be # big problem when te product dees sul correspond
to user requirements
We propnse a solution that applies Madel driven engineering approach for the development of mobiles applications, which will help to reduce the development’s time and costs through the advantages of models
The idea for the approach of model driven enginvetiag thal is Ge upplivalion development is guided by te models, TL is very well suited to Lhe "Crossplatlorm” approach to realize the mobile application for the differences in operating systems It reduces development’s time and resources, The source ende is automatically generated from the medels that are defined by the developer The generated application is truly
native and canses less of the problems of non-response recpiments
Keyword : Model Driven Engineering, Mobile Application, Crass- platform, DST:, Mo: delling
ili
Trang 5Table des matiéres
Liidée et Vobjectif de FIDM viene
2.3 Les approches delIDM
Modéle-Integrated Computing (MIC)
Les usines logicielles (Software Factories)
2.3.3 Lispproche MDA : Model-Driven Architecture
La transformation de modéle Les outils de !'TDM
MetaEditt
2.2.5.3 EMF (Eelipse-EMF- website)
3⁄3 Intéret del'approehe d'ingénierie di
des applications mobiles
Trang 63.1 Mếthodologie et technique de Fapproche MDA . - 15
3.1.1 Méthodologie de Fapproche MDA 15
3.2.2.1 Conception pout: le xiểnloppetenk dt géndeatenr Ueivode: 21
3.2.2.2 Plateforme eible (Android) cà ee 32
B_ Modèle PIM de I'application de jeu <Sudoku> avec DSL 45
Trang 7Table des figures
Le principe de processus de MDA
L’hiérarchie de modéles de MDA
Le plan du flux de MDA
La vue l'ensemble de solution:
Liétape de réalisation de PIM
Le concept de DSL
Liarchitecture de I'Acceleo
Le concept de la transformation pour la plateforme Android
La configuration de lexécution d’Acceleo
Trang 8Liste des tableaux
La comparaison d’interface de Main
La comparaison d’interface de Second
La comparaison dinterface de Main .- eee ee
La eomparaison d'interface de Help
Trang 9Chapitre 1
Introduction
Le premier chapitre concerne la présentation de la problématique du sujet « tude
de approche @’ingénierie dirigée par les modaies pour le développement des applications
mobiles at: aux besoins des ntilisatenrs
Copendant, des applicatious mobiles soul souveut fouruis pour plusicurs sysléues
@exploitation (Android, 108, WindewsPlone} Test essuliel de développer séparduicul pour chaque platefurine cu raison de détails différents duus la prograuumation des inker-
faces, des biblicthéques, et des langages de programmation
Dans l'industrie de développement du logiciel, on vrouve un grand besoin du développement C’est un effort de réaliser un logiciel complexe avec la courte durée
et moins de budget Cette situation existe aussi dans le développement des applica- ious pour les appareils mobiles Puisque l'utilisation des appazeils inubiles est de plus
en plus pupulaire, la compélition entre des suciélés d'applicatiou inobile est, plus forte, Strement, la sociélé qui peut recevoir fe plus de bénélils esl celle qui peut produire plus rapidement ct dépenser moins de ressouree du développement des applications pour la
sortic des nouveaux appareils mobiles ct pour les différences platcformes
Trang 10— L’évitement de répétition de ende avec ume structnre généralisée nonr la rédue-
tion du temps de développement
— La probabilité de baisser d’erreur ou faciliter de la correction
— Le changement dans le code, I est moins compliqué de modifier si des fonction- nalités sont changées
La cupacilé de rédigor des funcviounalilés pour les différents Tangages, en les appeluuts une fois eb de réduire le temps de développemeut Par exemple, la, définivion dune culité cu Java, Objectif e ef peut dle faile par éerivant une
senle fois dans Ta langue spécifiqne A un domaine et de générer les différentes versions
— Généralement, la méthode de développement d'un logiciel commence par Pétape
de rénnir des reqnétes et puis on analyse ces reqnétes atin d’avoir la concep- tion chi produit In suite, la conception est prise A ’implémentation dụ logi- ciel Pareillement ponr celle de Fapplication mobile, & Vétape dimplémentation,
les développeurs devraient réaliser limpiémentation qui supporve les diflérences, plates-formes pour la raison mentionné ei-dessus En plus, cette méthode pour- rait aussi agrandir l'intervaile entre des requétes et ‘implémentation sila concep- tion n’est pas bien congue Cela provoque un grand probléme d’économique
y a des erreurs, il est facile et rapide de corriger en revoyant et modifiant des modéles
Liidée de Papproche d"ingéuierie dirigée par les inodiles est que le développement
de Tapplcation est guidé par les mudéles Ele ost ts bicw adaplée avec Fapproche
Trang 11Chapler L Fulraduction 3
+ Cross-platform » atin de réaliser Fapplication mobile pour des différentes systemes
@exploitation, cela réduit le temps at des ressources de développement Le core est, antomatiqnement généré 4 partir des modéles qui sont définis par le dévelappeur |
code de Fapplication générée est de méme avec le code réalisé manueliement et améne
moins de probléme d’insatistaction des requétes
Co stage a Fobjectif d'étudicr Mapproche d'ingénicric dirigée ct découviir ses avan- tages pour le développement des applications mobiles Pour ce stage, jo dois avoir la compréhension snr eet: apprache en étndiant des travamx qui ant été fair et faire la camparaison, donner des point fort et des points fathles de Yapproche
Ce rapport se compose 5 chapitres qui sont le produit de étude de l'approche ingénierie dirigée par les modéles pour le développement des applications mobiles Dans le premier chapitre, on a présenté la problématique, la motivation et I'objectif de
we sujet du stage, Ou va préseuter dans le deuxidine chapitre sur la recherche de bibliv- gruphics qui coucernent noice travail, cl les Weavaux qui ont déja exislants, D’aillouss
ou représente aussi les descriplious de approche Uingéuicrie dirigée par les woidles
Dans le troisi¢me chapitre, on propose une solution pour Timplémentation de l'spproche Aingénierie dirigée par les modéles pour le développement des applications mobiles Le chapitre suivant est limplémentation de la solution propasé et Yexpérimentation En fin,
Je cinquiéme chapitre, on dome l'analyse sur le travail, la conclusion et les perspectives
Trang 12Chapitre 2
Recherche bibliographique
Ce chapitre est une présentation de la recherche de bibliographie sur les tra-
vaux existants pour faciliter le développement des applications mobiles et sur lap-
ie dirigée par les Modéles(IDM) pour le développement des logiciels
proche d’
Commencant par la discussion sur les techniques qui nous permettent de développer
plus rapide et facilement une application mobile En suite, on va présenter approche
d'ingénicrie dirigée par les Modéles(IDM) qui est un autre choix pour le développement
des logiciels et & la fin, on vous parle des outils de cette approche
plications mobiles
Comme on a parlé dans le chapitre précédant de problématique dans le dévelop- pement des applications mobiles, les chercheurs font des efforts afin de trouver la solu- tion pour faciliter le développement des applications mobiles Et l'approche de multiple
A partir de 2011, il était clair qu'Adobe AIR{11] a été choisi comme la plateforme
au deuxiéme rang dans le développement des applications pour les appareils mobile
d’Android de Google et la premidre plateforme pour obtenir un soutien officiel afin de
développer des applications pour le Blackberry Playbook
Trang 13«exploitation précités sans modifier l'application
Le moment oi Adobe AIR est populaire dans la section du développement de Vapplication de web, les produits chez Apple comme iPhone et iPad lance la nouvelle technologie du contréle des appareils indépendant de la sourire et le clavier C'est la raison pour laquelle chez Adobe trouve la popularité de cette nouvelle technologie et, améliore Adobe ATR afin de soutenir la nouvelle technologie d'écran tactile pour les appareils mobiles, Adobe AIR devient le premier choix qui est développé pour fonction- ner sur cette nouvelle technologie et consiste à travailler en étroite collaboration des
appareils mobiles et les tablettes de Google Android et RIM
Adobe AIR sur des appareils mobiles est adapté & consommer moins de ressources par rapport A celui sur un PC Ceci permet aux développeurs d'ignorer le problème du
manque de resource
Grace au concept de ne pas dépendre trop de langage de programmation, Adobe AIR peut développer dans deux fagons C'est la fagon de Putilisation d’Actionseript 3 et Adobe Flex framework, une autre facon est de l'utilisation HTML, CSS et Javascript
Toutefois tous les fagons sont implémentés par des outils d'Adobe par exemple Adobe
Flash Professionnel CS 5, Adobe Flash Builder 4.5 et Adobe Dreamweaver CS 5 Pour
développeurs, il faut avoir connaissance sur le langage de programmation orienté objet
(OOP)
Cependant Adobe ATR est développé pour la technologie de web, il a besoin de
I'Internet afin d’aceéder l’application comme le site web général
ADOBE AIR”
Fiaure 2.1: L’Adobe ATR
Trang 14Chapter 2 Recherche bibliographique 6
2.1.2 jQuery Mobile Framwork
jQuery Mobile [15] nous permet de créer un site web mobile plus facilement Avec laquelle nous ne devons pas perdre le temps A la conception de l'interface de l'utilisateur
(UI), Cela nous permet aussi de construire une application mobile qui peut étre adapté
avec PhoneGap pour pouvoir soumis 4 I'App Store d’Apple ou Android ainsi
Les avantages de jQuery Mobile :
~ Une fois de la réalisation, il est possible de fonctionner sur tous les plateforme
tels que iOS, Android, BlackBer
des apparel
~ La collaboration avec le Framework PhoneGap, nous permet de réaliser facile- ment une application Il n’a pas besoin d’apprendre le langage du systéme tels que la plateforme iOS d’apprendre Objective-C langue et d’apprendre Java pour
la plateforme Android
~ Il peut étre utilisé avec le langage de programmation PHP et la base de données MySQL, il n'y a pas de différence de la programmation sur PHP et MySQL en général
ILy a beaucoup de beaux thémes choisir Nous ne devons pas perdre de temps
A Gerire CSS ou Javascript pour les interfaces, il permet aux développeurs de travailler plus rapidement
Les points faibles de jQuery Mobile : Le développement des sites web et des ap-
plications sur des appareils mobiles en utilisant jQuery Mobile, il faut admettre que
certaines capacités puisse commencer & utiliser um langage spécifique (langue mater-
App Mobile qui n'a pas besoin de trues, rien de plus Il fonetionne comme un site Web et
Comme interface matérielle de smartphon
dafficher une excellente sur les smartphones il est interdit dutiliser le {Query Mobile
est un excellent choix pour l'application des applications de développeur
SURE 2.2: Le jQuery Mobile Framwork
2.1.3 PhoneGap
PhoneGap [10] est un Framework basé sur le principe de Cross-Platform L'idée
par HTML, CSS, JavaScript dans une
de PhoneGap est d’envelopper le code qui est «
Trang 15Chapter 2 Recherche bibliographique 7
de cette approche n’est que le Cross-Platform mais c'est aussi le cycle du développement
rapide grace A la propriété de réutilisable et de tragabilité,
Le développement des applications par MD2 est di 3 phrases : Tout d’abord,
le développeur décrit l'application par un modéle de textuelle, Deuxiémement, un généra-
teur de code pour chacune des plateformes supportées transforme le modéle vers le code
source de la plateforme respective avee des éléments structurels nécessaires tels que les fichiers de projet Pour le moment les générateurs de code pour Android et iOS sont disponibles A la troisième phase, le développeur doit compiler le code source généré
Le langage de MD2 est décrit sous le cadre de modéle Model-View-Controller (MVC)[16] Le modéle d'une application est séparé en partie de modéle, de vue, et
de contréleur Dans les applications générées, le contréleur est ba
d’événements, qui gére toutes les actions de l'utilisateur ainsi que des événements in-
ternes ou périphériques Les développeurs spécifient les actions dans le modéle, avant
détre prises si un événement se produit
2.2 IDM <Ingénierie Dirigée par les Modéles pour le développement des
logiciels
Dans le processus général pour développement de logiciel, il est difficile lorsqu’on
a besoin d’ajouter des fonctions ou de corriger des erreurs Cela peut aussi provoquer le
Trang 16Ala suit
2.2.1 La définition de PIDM
L'Ingénierie Dirigée par les Modéles(IDM) [1, 12] utilisée sous le terme anglais de MDE (Model Driven Engineering) est une discipline du génie logiciel par laquelle tout ou partic dune application informatique est engendrée & partit de modéles Il est nécessaire
de fournir des outils flexibles et fiables pour la gestion automatique des modéles ainsi
que des langages dédiés pour leurs transformations, pour vocation lautomatisation du
développement de logici
en fournissant des outils et des langages de la transformation
2.2.2 L’idée et l'objectif de IDM
Un modéle est défini comme une abstraction d'un systéme Il est essentiel qu'un
modéle peut étre utilisé pour répondre & des questions sur le systéme moddélisé
On peut dire qu'un modéle est une forme simple pour représenter Pidée d'un
systéme, II permet aux intervenants de comprendre facilement et correctement le concept
de systéme Cela aide anx développeurs de réaliser le systéme satisfait aux besoins exacts
de Vutilisateur,
L'ingénierie Dirigée par les Modéles (IDM) releve ces avantages de modéle pour
le développement de logiciel L'IDM fournit des modèles afin d'exprimer séparément
est de rendre opérationnels les modéles pour génération de code exécutable
Pour formaliser et transformer des mod?les, ! IDM fournit des outils et des langages pour réaliser la transformation et formaliser des modéles On les appelle les langages de
modélisation et les langages de transformation dont on parlera plus tard,
Trang 17Chapler 2 Recherche bibliographique 9
2.2.2 Les approches de PTOM
Nous avous préveuté daus la partie prévédaul le concept el Pidée de PIDM Pour auieux compreudre sou principe, on représeulera, les principales approches de développe-
ment logiciel basées sur 'IDM
2.2.3.1 Modéle-Integrated Computing (MIC)
Cette approche est: proparée an milieu des années 90 Au début Je MTC est concn ponr le développement des systemer emharqnés complexes Téidée de lapproche MIC est comme le principe de T'TDM, e'est qne considérer des madéles comme le centre
de processus de développement d'application Le MIC fournit une technologie pour la spécification et Putilisation de DSMLs, des outils de méta-programmation, des tech-
niques de vérification et de transformation đe modèles
Liarehilceture de MIC est cougue eu 3 uiveaux suivauts :
— Le nivean Meta, faumit des langages de méta-modélisation, des méta-modéles, des envirommements cle méta-modélisation et des méta-génératenrs panr créer des outils spécifignes 8 damaine, qni seront utilisés cans le nivean MTPS
(Model-Imegrated Program Synthes
— Le niveau (MLDS) est constitué de langages de modélisation spécifiques & un domaine, et de chaines d'outils pour la construction et fanalyse de modtes, la synthése d’applications
— Le niveau Application repeésente les applications logicielles adaptables Dans ce niveau, les programmes exécutables sont spécifiée en termes de composition de plateformes (CORBA, ete.)
2.2.3.2 Les usines logicielles (Software Factories)
Lidée des usines logiciclles ext d'adapter ees caractéristiques au développement de
de dumaines Wapplications prédéfinis
Trang 18Chapter 2 Recherche bibliographique 10
fonctionnelles d'un systéme des détails đe son implémentation sur une plateforme donnée
Cela veut dire que des modéles sont spécifiés indépendant de plateforme, on appelle
<Platform Independent Model( PIM)» Les modéles de PIM sont utilisés pour exprimer
les fonctionnalités du systéme avant de définir la plateforme utilisée, Et un autre type
de modèle ost < Platform Specific Model (PSM)» Ce type de modéle est différent par rapport au PIM Le PSM est les modéles spécifiés la plateforme utilisée L’approche MDA permet de déployer un méme modéle de type PIM sur plusieurs plateformes grace
au principe de Ia transformation vers PSM
L’architecture de MDA est standardisée en 4 niveanx :
~ M0 ~ Le monde réel ou CIM est un niveau des fonetionnalités du systéme ou des exigences des utilisateurs
— M2 ~ Le méta-modéle est un modéle de model
Cvest un langage utilisé pour
décrire des modéles Par exemple UML, XML
~ MS - Le méta-métamodile permet de décrire un modile de méta-modeles Selon TOMG, le MOF est un exemple de description de méta-modéles,
EiGutu: 2.4: Liarchiteeture de MDA
Ref,(1)
Les transformations entre le CIM le PIM et les PSM sont souvent automatisés &
l'aide d'outils Ces transformations sont réalisées avec des outils plus ou moins compa- tibles avec le standard de !OMG nommé QVT.
Trang 19Chapler 2 Recherche bibliographique 1
2.2.4 La transformation de modéle
La communaalé IDM (Bézivin, 2004}[3] consisle & dire qwuue transformation
de mudiles est Ja génératioa d'un ou de plusieurs modéley cibles @ partir d'un ou de plusieurs mudéles sources L’un des ebjectify d VIDM ust que YIDM cunsiste & pouvoir rendrc opératiounels les modéles & Vuide de Wwauslaruatious Dow ta transformation est
le caur de IDM Cette uution est bien représentée daus Pupproche de MDA
Lapproche MDA demande de créer d’abord un modéle indépendant de toute pla- teforme (PIM), en suite PIM est rafting en un ou plusieurs modates spécitique & une plateforme (PSM) La transformation joue Je réle de Vintermédiaire, détinit des régles
de transtormation entre PIM et PSM
Une transformation des entités du madéle sonrce met en jen deux érapes Ta
dexécution
2.2.5 Les outils de PTDM
Dans cette partie est ia présemation des outils qui permet de méta-modélisation
dans lexquels Ja (rausformation de muoddles cevieut & Vexécutiou d'un inéta-prograuuc
Ti cxiste anaintenant de aoinbreux des outils de anGla-moddlisation Ces qui soul préseutés suivauls, soul quclyncs excimpies souveut ulilists,
2.2.5.1 Kermceta
Kermeta ‘3| est un atelier de méta-moddlisation développé par Péquipe Triskell
de PIRISA Kermeta est utilisable sous forme d’un plugin Belipse Une description en
KEHMISTA est assimilable & om programme issu de la fnsion dun ensemble de méta-
JOV) et du méra-modaie d’action AS (Action Semantics} qui est mainte
> KERMA est done ume sarte
dans UML 2.0 Snperstructure Le langag:
de dénominateur commun des langages qui coexistent actueliement dans le paysage de LIDM Kermeta, peut étre vu comme étant composé d'un méta-méta-modéle (une ex- tension d’EMOF) auquel est associé un langage permettans de définir des actions sur les amélaemodiles, Ces actions peuvent servir par exeumple i vérilice Ia coliérence d'un
Trang 20la um éditeur graphique de modéle & !UML
— Via un éditeur sons forme d’arbre en associant des instances du méta-élément
2.2.5.3 EMF (Eclipse-EMF-website)
EME (Eclipse Modeling Framework) a été développé pour simplifier le chargement,
la manipulation et le stockage des modéles dans l'environnement Eclipse EMF repose dans la famille d’Eclipse Modeling Framework Elle est une plateforme de modél
ion
et de génération de code qui facilite la construction d'outils et d'autres applications basées sur des modéles structurés EMF n'est pas spécifique & un méta-modéle, done il peut gérer tous les types de modéles I] est basé sur une norme de description de méta- modéle nommé “Ecore” Cette norme est um sous-ensemble de la norme MOF (MOF Essentiel), qui à son tour est un sous-ensemble de MOF2.EMF est composé des plug-ins qui sont :
— Le méta-modéle Ecore qui est un canevas de classes pour décrire les modéles
EMF et manipuler les référentiels de modéles
~ JavaEmitterTemplate qui est im moteur de template générique
~ JavaMerge qui est un outil de fusion de code Java,
Trang 21Chapler 2 Recherche bibliographique 18
2.3 Intérét de I'approchec d’ingénicric dirigéc par les modéles
pour le développement des applications mobiles
Lorsque le marché des applications mobiles est de plus en plus élargi, les sociétéa
produetrices des applications mobiles osent de trouver des facons d’améliorer le processus
de développement d’applications mobiles Ve travail a le but d'obtenir une apptication auobile avec Ja boune qualité daus le Lempe de dồvelopporonk plus court possible eb pour faire face & Texpausion dia marché et I'wugineutatien de La consommation des ulilisateurs Lun des priucipaux problimes qui eutraine des sclards dias le développement d'appli- cations est des plateformes différentes des appareils mobiles L'application peut prendre
on charge plusicurs plateformes auront une moillcure commereialisation, Cependant, en raison du développement d'une application mobile pour les différentes plateformes doit
de
avoir besoin de conception individnelle pour accneillir me hibKothéqne différent
chaqne plareforme Ponr cela, le développenr consacra heanconp de temps A développer une application
Les chercheurs done font la recherche pour améliorer le processus de développe-
‘Néaumoius, les approches de cross-plauform, cles soul loujours coulrontées & des lanites fuudasuentales de foucliouncusenl dans un cavirunnement Web, Presque lous sont implémenté sur les langazes de web application, pas exactement semblable & une
Trang 22Chapler 2 Recherche bibliographique 14
Les avantages mentionnés ci-dessus aideraient & résoudre je probleme de temps
utilisé at économique dans te développement: des applications mabiles anssi bien
Dans ce chapilre, ou a inureduit Ja vuc d’cascuible de Papproche U'img¢nivrie disigée par les modéles et Jes travaux qui sont cxistants pour Pamélicration du développement des applications mobiles Le travail suivant est de tronver des idécs des outils appropriés pour planificr postéricurement la solution d’implémentcr Papproche de đhìngónicric di- rigge par les modéles pont le développement: des applications mobiles Cala sera, présenté dans le chapitre suivant
Trang 23Chapitre 3
Solution proposée
Dans cette partie du rapport représente la solution proposée pour limplémentation
de l'approche dingénierie dirigée par les modéles & partir de "étude théorique On présente deg techniques et dea outils utilisée
3.1 Méthodologie et technique de approche MDA
Paruui les upproches de l'ingGuierie dirigée par les wudéles, Papproche MDA cst la plus approprige vie appliqner le génératenr pour Eapplication mobile parce qne Vidée de hase duu MTA est la séparation cles spécifications fonctionnelles 1m systime des détails
de sem implémentation su ime plateforme donnée
Comme on va adopter approche MDA pour a solution, donc on va présenter en détail de vetle approche
3.1.1 Méthodologie de Vapprache MDA
Le MDA a mis en évidence Pintérét de s¢parer les spécifications fonctionnelles
@une application de son implémentation sur ave plateforine donnée
Tonr profiter lea avantaes commercianx de cette approche et: répandre ax proble matiqnes du développement des applications mobiles, le PTM doit survivre le changement:
de plateforme et étre réutilisable pour plusieurs plateformes Les conséquences aont Les suivantes :
— Lez modéles deviennent des objets de premiére classe dans le processus de développement, piutét que d’étre ignoré aprés : si vous modifies le PIM, la
fonctionualité du systdme lived va changer
Trang 24Chapler 3 Selution propusée 16
— La génération de onde devient importante : la transformation de ia, PIM awe
PSMs mannellement est eofitense et risqué de source d'errenrs, alors que le
mappage antomatique de la PSM pent réduire considérablement le cofit de la
transformation vers une nouvelle plateforme ou mis a niveau
L'approche MDA demande de créer d’abord un modéte indépendant de toute pla- teforme (PIM), en suite PIM est rafting en un ou plusieurs modates spécifique & une plateforme (PSM) La transformation joue Je réle de lintermédiaire, détinit des réglea
de (ransformation cnlre PIM ot PSM La figure cidessous représente le processus de
— In suite, c'est le modéle @’analyse et de coneeption |e PIM (Platform Inde-
pendent Model} a été spécifié par wn langage de spécitication Ceci pent étre um langage textuel on graphique Le modéle abtem est indépendant des platefarmes
d'exécution Ce modéle sera transformé vers le PIM & la suite
— Le modéle PSM (Platiorm specific model) est transformé A partir de modele PIM Un PIM peut étre généré & plusieurs PSM pour plusieurs plaveformes par
Taide dex mécanismes de transformatiou de modéle
3.1.2 Techniques disponibles de approche MDA
Le MDA a un grand d’ensemble des technologies disponible permettant de la
réalivabion des logivicks basaut sur le cadre de MDA La figure ci-dessous copréseute des
lechnologies dispouibles dans chugues uivcaux de Vapproche sclow là norne,
Trang 25Chapter 3 Solution proposte 17
H3 META OBJECT FACILITY
MOF
meta-mode! Profile Profile
UML Infrastructure : qui es
~ Meta Object Facility (MOF) : qui est la langue & l'aide de laquelle une
a la base de la spécification MOF
méta-modele est défini
Object Constraint Language (OCL) : permet de définir la formelle de
contraintes sur des éléments d‘un modéle
Query View Transformation Language (QVT) : permet de définit un modele & transformations
~ MOF Models to Text (MOFM2T) Transformation Langue : permet la
définition de mode
1 texte transformation
Dans la figure 3.3, c'est la présentation d'une carte de nombreux flux possibles
de la modélisation et de la transformation que on peut suivre lors de la définition d'un
processus MDA
Tout d’abord on doit choisir le langage de modélisation qu’on souhaite d’exploiter Cela peut étre UML, SysML, MARTE ou tout autre langage de modélisation défini par
Trang 26le MOF ou la grammaire d'une DSL peut correspondre un méta-modéle équivalent,
comme il arrive dans Xtext
D'un modéle d’entrée on peut appliquer le MOFM2T (MOF Models to Text Trans- formation Language) afin de générer la documentation, le code et les artefacts textuels précieux
Pour notre solution, on va prendre le DSL comme le langage de modélisation et
appliquer le modéle au texte transformations (MOFM2T) afin de générer le code
Trang 27Chapter 3 Solution proposée 19
Au niveau de M3, le méta-métamodele uti est suivi le standard MOF,
— On suppose que l'application de langage naturel est le CIM dans la figure 3.1
On doit transformer le CIM vers le PIM par l'aide d'un langage DSL
— On implémente la technologies du projet Eclipse distribué dans Eclipse Mo- deling Framework : Xtext(8] pour définir le langage DSL Ce Framework offre toutes les fonctionnalités pour créer son propre langage et la définition de régles
de génération de transformer de grammaire dans leurs programmes A un langage
dusage général comme Java, Objective C, C + +, ete
On implémente le Xtext pour définir le langage de meta-modéle (MobileApp-
Model) et puis on utilise ce langage pour spécifier le modéle correspond au PIM Ensuite, on développe le générateur de code pour les plateformes spécifiées en espérant d'obtenir le code de Vapplication mobile de la plateforme cible Pour
le fait, on applique la théorique de la transformation le modéle PIM vers les
modéles PSM pour chaque plateforme mobile
— Afin de définir la régle de la transformation, on utilise !Acceleo[18] qui est ume implémentation de Object Management Group (OMG) sur le norme de MOF.MOF Models to Text (MOFM2T)|19]
Les travaux de définir un DSL pour le PIM et de réaliser le générateur de code sont les travanx au niveau de méta-modéle (M2) dans le principe de approche de d'ingénierie dirigée par les modéles Et les modéles obtenus (PIM, PSM) sont dans le niveau de modéle (M1) qui est transformé pour 'objeetif d'obtenir le code exéeutable.
Trang 28compréhension de la facon dont Varchitecture fonctionne Pour comprendre ce qui est
contenu dans un mode ainsi que les informations qu'il doit représenter, il faut d’abord s'entendre sur la définition de son contenu C'est le travail qui est visé lors de utilisation
Définir les concepts qui devraient étre modélisés ct la meilleure fagon de le faire Représenter ces concepts sous forme de MOF ou EMF diagrammes
Notre objectif principal est de réaliser le générateur de code pour les applications mobiles en appliquant l'approche €’ingénierie dirigée par les modéles done application
mobile sera le domaine considéré pour le DSL
3.2.1.1 Conception de la méta-modélisation,
Une fois défini notre domaine de langage, on doit décider sur le choix d’une syn- taxe de notre langage qui doit représenter toutes les composantes de notre domaine, Ce type particulier de langage est appelé < Domain Specific Language(DSL) » : un langage
spécifique & un domaine particulier Enfin, on va créer une grammaire de transforma-