Serveur d`IHM pour plate-forme IDM : architecture générique

Transcription

Serveur d`IHM pour plate-forme IDM : architecture générique
Serveur d’IHM pour plate-forme IDM :
architecture générique et implémentation
Olivier Beaudoux1 , Arnaud Blouin2 , Mickaël Clavreul2
1
2
Groupe ESEO, GRI, Angers,
INRIA, Équipe Triskell, Rennes
Atelier IHM-IDM 2010
L’utilisation de l’IDM dans le contexte des IHM vise essentiellement à générer le code de
l’application finale à partir d’une modélisation exhaustive de ladite application[8]. La modélisation et la génération de code sont préalablement réalisées via une plate-forme IDM, alors
que l’application finale s’exécute a posteriori sur une ou plusieurs plates-formes IHM.
Le code généré doit par conséquent inclure, pour chacune des plates-formes IHM visées,
l’implémentation de mécanismes utilisés pour exécuter l’IHM. Ces mécanismes peuvent par
exemple inclure les liaisons dynamiques entre l’interface abstraite, l’interface concrète et les
données qu’elle manipule, ou/et la gestion de la persistance des données (et éventuellement
de l’interface abstraite). Une telle approche induit une contrainte forte d’implémentations
multiples de tels mécanismes.
Cet article propose une approche originale dans laquelle la plate-forme IDM joue, en plus
du rôle de plate-forme de modélisation, le rôle de plate-forme d’exécution, rôle partagé avec
la plate-forme IHM. Il devient alors possible d’implémenter les mécanismes évoqués ci-dessus
une seule fois sur la plate-forme IDM. La liaison entre les plates-formes IDM et IHM se fait via
un serveur graphique, lequel intervient exclusivement au niveau PDM (« Platform Dependant
Model »).
La figure 1 page suivante donne le synoptique global de notre approche. L’application est
décomposée en différents éléments : les données du domaine (D), leurs présentations abstraite
(PA) et concrète (PC), et l’interface utilisateur (UIC) qui intègre les trois types de composants
que sont les présentations concrètes, les conteneurs et les interacteurs [2, 4]. Les éléments D,
PA et PC sont modélisés sous la plate-forme IDM, ici Kermeta [7], via trois fichiers Ecore ; ils
sont également gérés par Kermeta lors de l’exécution de l’application. L’interface utilisateur est
entièrement construite par l’outil de conception fourni par la plate-forme IHM, ici FlexBuilder
(fichier MXML) ; elle s’exécute in fine sur la plate-forme IHM Flex [6].
Nous présentons dans cet atelier l’architecture client/serveur graphique générique (partie
non grisée de la figure 1 relative au niveau PDM), ainsi que son implémentation pour les
plates-formes Kermeta (client graphique) et Flex (serveur graphique). Une telle architecture
donne à Kermeta l’accès à différentes plates-formes d’IHM afin de gérer les niveaux PIM
1
Plate-forme IDM
(Kermeta)
Plate-forme IHM
(Flex, ou autres)
Client
Graphique
Ecore
Présentation
concrète (PC)
Présentation
concrète (PC)
Interacteurs et
conteneurs
MXML
Ecore
Présentation
abstraite (PA)
Serveur
Graphique
Ecore
Interface concrète
(IUC)
Données (D)
PIM
PDM
Figure 1: Synoptique de l’approche
(« Platform Independant Model ») et PDM de l’application, depuis leur modélisation jusqu’à
leur exécution. A court terme seront implémentés les serveurs graphiques pour les platesformes Swing et Gtk, compatibles avec le client graphique Kermeta. A plus long terme et en
fonction des besoins, d’autres implémentations pourront être fournies. Cette approche sera en
particulier utilisée conjointement au modèle proposé côté PIM (décomposition D/PA/PC de
la figure 1), lequel peut être implémenté de différentes façons [3, 1, 5].
Références
[1] Olivier Beaudoux, Arnaud Blouin, and Slimmane Hammoudi. Transformations actives
dédiées aux IHM. In Cinquièmes Journées sur l’Ingénierie Dirigée par les Modèles, 2009.
[2] Arnaud Blouin. Un modèle pour l’ingénierie des systèmes interactifs dédiés à la manipulation de données. PhD thesis, Université d’Angers, 2009.
[3] Arnaud Blouin, Olivier Beaudoux, and Stéphane Loiseau. Malan : A mapping language
for the data manipulation. In DocEng ’08 : Proceedings of the 2008 ACM symposium on
Document engineering, pages 66–75. ACM Press, 2008.
[4] Gaëlle Calvary, Joëlle Coutaz, David Thevenin, Q. Limbourg, L. Bouillon, and Jean Vanderdonckt. A unifying reference framework for multi-target user interfaces. Interacting
With Computers, 15(3) :289–308, 2003.
[5] Mickael Clavreul, Olivier Barais, and Jean-Marc Jézéquel. Integrating legacy systems with
mde. In Proc. of ICES 2010, 2010.
[6] Chafic Kazoun and Joey Lott. Programming Flex 2.0. O’Reilly Media, 2007.
[7] Pierre-Alain Muller, Franck Fleurey, and Jean-Marc Jézéquel. Weaving executability into
object-oriented meta-languages. In Proceedings of MODELS/UML’2005, volume 3713 of
LNCS, pages 264–278. Springer, 2005.
[8] Pedro Szekely. Retrospective and challenges for model-based interface development. In
Proc. of DSV-IS’96, pages 1–27. Springer-Verlag, 1996.
2

Documents pareils