logo TELECOM Bretagne
TELECOM Bretagne

13 & 14 novembre 2008  journées ADAPT, IDM, IHM et CESAME


13 novembre : Ingénierie des modèles et Adaptation dynamique

Journée commune aux actions ADAPT (GDR ASR) et IDM (GDR ASR & GPL)

13 novembre 2008, Brest, France

10h - 12h
Mohamed ZouariUn modèle d'adaptation distribuée appliqué à la gestion de données répliquées
Guillaume GauvritAdapation dynamique du paradigme maître-esclave
Cyril Ballagny, Nabil Hameurlain, Franck BarbierMOCAS : un modèle de composant basé états pour l'adaptation dynamique
Chantal Taconet, Zakia Kazi-AoulQuelles abstractions de contexte pour la construction d'applications sensibles au contexte
Discussions
12h - 13h30 : déjeuner
13h30 - 16h30
Christine Louberry, Philippe Roose, Marc DalmauArchitecture logicielle pour la gestion de la qualité de service en environnement contraint
Jean-Philippe BabauDes modèles d'architecture pour l'adapation de la QoS dans les sytèmes embarqués temps réel
Samyr Vale, Slimane HammoudiTechniques de transformations paramétrées pour le développement des applications sensibles au contexte selon une approche MDE
An Phung KhacUne approche basée sur les modèles pour le développement des composants répartis adaptables
Discussions

Bref compte-rendu

Les présentations ont montré divers aspects de l'utilisation de l'ingénierie des modèles dans le cadre de l'adaptation dynamique, allant de l'exploitation du processus de développement pour identifier variantes et plans d'adaptation jusqu'à la modélisation du comportement des composants logiciels sous forme de machine à états. La modélisation de modes de fonctionnement permet de faire apparaître les multiples variantes. En enrichissant les langages de modélisation par des constructions spécifiques, on peut également proposer des politiques d'adaptation spécialisées pour des formes particulières d'applications. Cela nous a été présenté pour les applications maître-esclaves. Le positionnement de la prise en compte du contexte par rapport aux approches « à la MDA » a également été abordé, donnant lieu à des discussions sur la pertinence du découpage PIM / PSM. Est-ce suffisant ou bien faut-il introduire des modèles intermédiaires de prise en compte du contexte ? Comment et à quel moment modélise-t-on la sensibilité au contexte ? Les outils actuellement développés pour l'ingénierie dirigée par les modèles sont-ils toujours suffisants pour des applications adaptables ?

En conclusion, il y a un intérêt évident dans les communautés de l'adaptation dynamique pour l'utilisation des modèles. Il s'agit à la fois d'obtenir une montée en abstraction et des outils pratiques tant pour la conception que pour la réalisation des applications adaptables. Symétriquement, dans les communautés de l'ingénierie dirigée par les modèles, il y a un intérêt pour les applications adaptables en tant que domaine applicatif pour leurs travaux.

Details

Mohamed Zouari - Un modèle d'adaptation distribuée appliqué à la gestion de données répliquées

Grâce au développement d'une part des réseaux sans fil, d'autre part de la qualité des réseaux filaires, et avec le support d'Internet, on voit se développer des systèmes à large échelle et des systèmes pervasifs. De tels environnements sont caractérisés par une grande hétérogénéité et une grande dynamicité. Par ailleurs, les applications utilisent et génèrent des quantités toujours plus importantes de données, souvent partagées entre plusieurs utilisateurs, qui souhaitent y avoir un accès rapide à partir de n'importe quel type de dispositif connecté à n'importe quel type de réseau. La réplication est une technique souvent utilisée dans des systèmes distribués pour garantir la disponibilité des données et résoudre les problèmes de performance. Elle doit être différente selon le contexte dans lequel l'application s'exécute et doit être modifiée à chaud pour tenir compte des qualités fluctuantes de celui-ci. Néanmoins, l'analyse des systèmes de réplication existants montre qu'ils ne sont pas suffisamment adaptatifs. Ils ne tiennent pas compte de tous les changements du contexte d'exécution qui peuvent avoir lieu et ne supportent pas suffisamment l'évolution des besoins des utilisateurs. De plus, les plates-formes d'adaptation actuelles sont essentiellement centralisées ce qui limite leur utilisation pour des applications complexes et distribuées tel qu'il est le cas dans un système de réplication de données.

Notre présentation portera sur nos travaux préliminaires autour d'une plate-forme pour l'adaptation dynamique d'applications distribuées et son spécialisation au cas concret de la réplication de données médicales.

Nous commencerons par définir le besoin d'adaptation dynamique distribuée dans l'application considérée. Pour ceci, nous donnerons notre modèle pour une telle application, modèle définissant les fonctionnalités et leurs relations. Puis, nous présenterons des cas concrets de déploiement du modèle dans lesquels il est pertinent d'envisager l'adaptation dynamique et distribuée des fonctionnalités. Le besoin d'adaptation distribuée étant identifié, nous présenterons ensuite un modèle offrant le support nécessaire au développement de telles adaptations et nous montrerons l'intérêt d'envisager plusieurs variantes de déploiement de ce modèle pour la réplication de données médicales.

Nous conclurons notre présentation avec une discussion sur la granularité des entités applicatives auxquelles les services d'adaptation sont associés pour former des entités adaptables, ainsi que l'influence de cette granularité sur la complexité du système d'adaptation en termes de politiques d'adaptation et de collaboration distribuée.

Guillaume Gauvrit - Adapation dynamique du paradigme maître-esclave

La taille, l'hétérogénéité et le dynamisme des plates-formes d'exécution d'applications scientifiques, comme les grilles de calcul, en font des systèmes complexes à utiliser. De surcroit, il n'existe pas aujourd'hui de solution efficace et relativement simple qui permette de programmer ces applications, qui se font de plus en plus complexes, indépendamment des architectures cibles. Utiliser le paradigme maître-esclaves dans des composants logiciels permet de fournir une abstraction de haut niveau de ces architectures matérielles, afin de faciliter leur programmation, ainsi que de rendre les applications portables sur ces différentes architectures. Cependant, ceci ne permet pas de tenir compte du dynamisme de ces environnements, comme par exemple des changements dans le nombre de processeurs disponibles ou la charge du réseau.

C'est pourquoi nous proposons de rendre le paradigme maître-esclave adaptable dynamiquement. Plus spécifiquement, nous caractérisons ce paradigme sur les systèmes distribués avant de décrire un algorithme de décision pour changer son implémentation au cours de l'exécution.

Cyril Ballagny, Nabil Hameurlain, Franck Barbier - MOCAS : un modèle de composant basé états pour l'adaptation dynamique

L'adaptation logicielle est une activité qui consiste à faire évoluer un système informatique en le modifiant. Dans un système à base de composants logiciels, ces modifications peuvent prendre plusieurs formes :

  • ajout/suppression d'un composant;
  • ajout, suppression, extension des services fournis par un composant;
  • migration d'un composant d'un environnement d'exécution à un autre;
  • remplacement de l'implémentation d'un composant.

Ces modifications visent à optimiser les performances du système, à l'adapter aux changements de son environnement, à étendre ses fonctionnalités ou à corriger ses défauts. Elles sont l'écho de changements ou d'erreurs d'interprétation de la spécification du système.

Lorsque le système est spécifié à l'aide de modèles, ces derniers constituent un point de départ naturel pour son adaptation. Leur utilisation à l'exécution permet d'atténuer la distance entre la spécification et l'implémentation et ainsi répondre plus rapidement au besoin d'adaptation. De plus, pour que ces modifications soient possibles, un support d'adaptation doit être idéalement défini lors de la phase de conception du système.

MOCAS (Model Of Components for Autonomic Systems) [BHB08] est un modèle de composant qui a été développé pour permettre l'adaptation dynamique de composants logiciels. Dans cet optique, chaque composant MOCAS utilise un modèle de machines à états UML 2 pour décrire son comportement et le réaliser selon les principes du modèle de composant PauWare [RBB06]. Il sépare ses propriétés métiers, sa logique métier (en terme d'algorithmes) et son protocole (la séquence d'appel des services qu'il propose). Chacune de ses parties peut être adaptée indépendamment l'une de l'autre. De plus, le modèle de composant MOCAS propose de systématiser le support d'adaptation en installant chaque composant dans un conteneur. Ce conteneur contrôle la faisabilité de l'adaptation. Il utilise des mécanismes des machines à états UML2 pour garantir que le composant est dans un état lui permettant d'être adapté (quiescent state), pour vérifier la compatibilité du nouveau comportement avec le comportement courant du composant et pour transférer l'état du composant entre son ancienne et sa nouvelle version. Un composant MOCAS supporte ainsi le raffinement de ses états, la modification de son protocole (par l'extension de ses services ou bien leur réordonnancement), le changement de ses algorithmes métiers ainsi que l'extension de ses propriétés métiers.

Chantal Taconet, Zakia Kazi-Aoul - Quelles abstractions de contexte pour la construction d'applications sensibles au contexte

La popularité des applications pour utilisateurs mobiles nécessite la définition de nouvelles abstractions pour la construction des applications sensibles à leur contexte d'exécution. Le concept d'applications sensibles au contexte a pour objectif de permettre l'accès universel et adapté à ces applications quelles que soient les conditions de leur utilisation (que ce soit l'environnement logiciel, matériel, extérieur ou profil utilisateur). Un des défis pour la construction de ces applications est de définir le niveau d'abstraction à manipuler par les constructeurs de systèmes sensibles au contexte.

Nous pensons que ces nouvelles abstractions doivent permettre à un intergiciel de sensibilité au contexte de diriger la collecte distribuée des informations de contexte ainsi que les adaptations de l'application.

Nous présenterons un méta-modèle de sensibilité au contexte qui définit des abstractions telles que des entités observables, des observables, des situations d'adaptation et des contrats d'observation et d'adaptation. Nous illustrons ces méta-modèles avec des modèles, conformes à ces méta-modèles, définis pour des applications de commerce électronique.

Christine Louberry, Philippe Roose, Marc Dalmau - Architecture logicielle pour la gestion de la qualité de service en environnement contraint

L'évolution des technologies de la communication ces dix dernières années a mis l'accent sur la miniaturisation des appareils et l'ubiquité des services dans le sens où les utilisateurs ont la possibilité d'avoir accès à leurs services habituels depuis n'importe où et sur n'importe quel support. Le développement de ces techniques a permis la démocratisation des terminaux mobiles et des réseaux sans-fil. A présent nous trouvons sur le marché toutes sortes de terminaux nous reliant les uns les autres tels que les ordinateurs portables, les pda, les smart phones, les téléphones portables ou encore les capteurs. Ces appareils ont la particularité d'être autonomes et sont capables de traiter et de produire des données. Ils sont également dotés de moyens de communication sans-fil tels que le bluetooth, le WiFi ou encore le ZigBee. Toutes ces particularités, bien qu'elles présentent diverses qualités permettant notamment aux utilisateurs de se déplacer avec leur terminal, de ne pas être dépendant d'une source d'électricité ou d'un câble pour se relier à un réseau, présentent également des limites. En effet, la mobilité entraine des pertes de connexion, la batterie n'est pas illimitée et une fois déchargée, le terminal n'est plus utilisable et enfin, le matériel réseau a un débit limité qui influe sur la vitesse de transmission des données. Ces limites font de ces appareils des périphériques que nous nommons périphériques contraints.

L'émergence de ces périphériques contraints a suscité un grand intérêt et a engendré de nombreux défis dans les domaines des réseaux, des systèmes d'information et des architectures logicielles. Dans cet article nous nous intéressons particulièrement aux capteurs mais nous pouvons aisément les étendre aux autres périphériques contraints. En effet les capteurs ont la particularité de rendre compte du monde réel aux applications qui les utilisent. La grande majorité des travaux liés aux réseaux de capteurs concernent l'optimisation des ressources matérielles (capacité de calcul, énergie) et réseau (contrôle de congestion, agrégation des données, etc.). Les capteurs y sont utilisés pour leurs fonctions propres de mesure de l'environnement et leur capacité à transmettre et relayer l'information, en veillant à en maximiser la durée de vie. La plupart de ces travaux considèrent le réseau de capteurs à part des applications qui utilisent leurs informations. Le schéma traditionnel de tels systèmes propose un serveur permettant d'une part de regrouper et stocker les informations mesurées par les capteurs et d'autre part d'offrir une interface aux applications utilisatrices. Un tel clivage empêche de pouvoir jouir de toutes les capacités des capteurs et d'en faire des supports d'application au même titre que n'importe quel périphérique.

Face à la demande grandissante pour des services de plus en plus riches et personnalisés, le défi aujourd'hui est de proposer des applications qui s'adaptent tant aux souhaits de l'utilisateur qu'à son contexte environnemental. Les capteurs peuvent permettre de proposer des applications conscientes de leur contexte physique et réactives à son évolution. Ceci correspond à la définition d'un système sensible au contexte décrite dans [BGKF02] et [Dey01] : " Un système sensible au contexte adapte les informations ou les services qu'il offre aux circonstances courantes d'utilisation". Adapter les informations ou les services influe sur la qualité du service rendu à l'utilisateur.

Nous ciblons ces travaux sur la gestion de la qualité de service des applications distribuées face aux contraintes matérielles de leur support, aux exigences de l'utilisateur et aux circonstances courantes d'utilisation. En effet, l'intégration de tels périphériques implique de relever le défi de la survie de l'application et de la continuité de service face aux problèmes de connectivité induits par leur mobilité et le faible débit de leur radio ainsi que par l'autonomie restreinte de leur batterie.

Dans nos travaux, nous étudions l'adaptation au contexte par la gestion de la qualité de service des applications. En effet, le contexte évoluant, la qualité de service évolue et donc l'application doit être adaptée afin de fournir à l'utilisateur un service performant. Nous proposons que les problèmes soulevés par les changements de contexte soient résolus par reconfiguration dynamique des applications. Pour cela, nous proposons une plateforme de supervision pour les applications distribuées, sensibles au contexte, dont le contexte est la principale source d'information pour l'évaluation de la qualité de service.

Jean-Philippe Babau - Des modèles d'architecture pour l'adapation de la QoS dans les sytèmes embarqués temps réel

La maitrise de la conception de systèmes embarqués temps réel passe par la maitrise des principes de génie logiciel et des techniques formelles. Pour les premiers, l'approche à composant semble la plus adéquate, pour les deuxièmes, les automates temporisés semblent adaptés à la modélisation et à la vérification des systèmes visés. Au dela de ces briques de base (dont il existe des solutions éprouvées), que sont les modèles à composant et les modèles formels, nous nous intéressons à proposer, à modéliser et à intégrer des styles architecturaux, soit des contraintes d'assemblage, pour produire des architectures de qualité, correctes (vis à vis de la QoS) dans le domaine des systèmes embarqués temps réel. La première étude s'interesse à la gestion, par adaptation de contrats, de ressources contraintes et à capacité variable. La deuxième étude s'intéresse à l'adaption "timing aware" d'applications de contrôle vis à vis de plates-formes d'entrées/sorties

Samyr Vale, Slimane Hammoudi - Techniques de transformations paramétrées pour le développement des applications sensibles au contexte selon une approche MDE

La majorité des travaux sur l'informatique ubiquitaire se focalise sur la création des dispositifs de capture du contexte et sur prise en compte du contexte dans la logique métier de l'entreprise. Peu de propositions récentes présentent la représentation, l'interprétation, la gestion et la réutilisation du contexte comme des activités importantes dans le développement des systèmes pervasifs. Nous appliquons des concepts de L'Ingénierie Dirigée par les Modèles (MDE) au développement des applications sensibles au contexte. Par la séparation du contexte et de la logique métier, dans des différents modèles et par l'utilisation des techniques de transformation appropriées, nous mettons en œuvre la modélisation, la réutilisation et l'adaptation du contexte dans l'approche MDE. Nous avons analysé des différentes techniques de transformation pour le développement des applications sensibles au contexte selon l'approche dirigé par les modèles, et nous proposons la technique de transformation paramétrée comme solution pour l'intégration du contexte dans la logique métier. La transformation paramétrée est caractérisée par les transformations de PIM vers PSM ou par les transformations de modèles de même type (PIM-PIM ou PSM-PSM). La transformation paramétrée peut être utilisée pour fournir de nouvelles fonctionnalités (des valeurs, des propriétés ou des opérations) ou pour changer le comportement de l'application (les activités). Dans notre proposition, ces paramètres sont les informations du contexte ou les activités sensibles au contexte.

Nous appelons CPIM (Contextual Platform Independant model) le modèle intégrant un modèle de contexte à la logique métier. Nous pouvons avoir différents CPIM du même PIM, c.-à-d., la même logique d'entreprise peut être contextualisés à partir de différents contextes par l'adaptation des paramètres. Le concepteur doit spécifier dans le modèle de l'application les éléments qui représentent les propriétés contextuelles. Cette spécification permet au moteur de transformation d'identifier les éléments qui seront contextualisés. Le langage de transformation doit par conséquence gérer l'usage de paramètres. Dans la transformation paramétrée, nous proposons les techniques de matching et d'adaptation pour l'ajout du contexte à la logique métier représentée par un modèle PIM.

Des résultats de ce travail ont été présentés récemment dans les deux workshops suivants :

  • MDISIS'08 durant la conférence CAISE à Montpellier
  • SIPE'08 durant la conférence ACM ICPS à Sorrento, Italie

An Phung Khac - Une approche basée sur les modèles pour le développement des composants répartis adaptables

Afin de s'adapter à un variable contexte, une application adaptable se transfère d'une variante à une autre variante plus pertinente. Les variantes comprennent des architectures, des configurations, des implantations, etc. Dans cette présentation, nous présentons une approche de développement des applications réparties adaptables. Nous utilisons des techniques basées sur les modèles pour 1) développer des variantes architecturales d'une application répartie, 2) identifier des transitions des variantes, y compris les transitions des données, et 3) intégrer les variantes dans un gestionnaire d'adaptation qui exécute dynamiquement des transitions des variantes. Donc, notre approche peut simplifier et automatiser des tâches complexes de développement des applications réparties adaptables.

Références

[BHB08] Cyril Ballagny, Nabil Hameurlain, and Franck Barbier. Dynamic Adaptive Software Components: the MOCAS Approach. In ASBS'08: Proceedings of The First IEEE International Workshop on Autonomous and Autonomic Software-Based Systems, pages 517–524, Cergy- Pontoise, France, 2008. ACM.

[RBB06] Fabien Romeo, Cyril Ballagny, and Franck Barbier. PauWare : a State-Based Component Model. In Actes des Journées Composants (JC2006), pages 1–10, octobre 2006.

[BGKF02] Jenna Burrell, Geri Gay, Kiyo Kubo, and Nick Farina. Context-aware computing : A test case. In Gaetano Borriello and Lars Erik Holmquist, editors, Ubicomp, volume 2498 of Lecture Notes in Computer Science, pages 1-15. Springer, 2002. Anind K. Dey. Understanding and using context. Personal and

[Dey01]Ubiquitous Computing, 5(1) :4-7, 2001.

Technopôle Brest-Iroise - CS 83818 - 29238 Brest Cedex 3 - France
Tél : 33 (0)2 29 00 11 11 - Fax : 33 (0)2 29 00 10 00