Sujet de Thèse
Transcription
Sujet de Thèse
Sujet de Thèse Adaptation dynamique et orchestration de services pour dispositifs Responsable : Michel Riveill, Professeur des Université Proposition de Thèse CIFRE PRECEPTEL Candidat pressenti : Vincent Hourdin Introduction : L’avènement de nouveaux usages de l’informatique dite mobile et ambiante (Weiser, 1991) (Roman et al., 2000) (Canals et al., 2004) nés de l’association des communications sans fils et de l’informatique (Pabst et al., 2003), ne permet plus de concevoir des applications logicielles dédiées à des plates-formes prédéfinies, standardisées, composées d’un ensemble de dispositifs qui sont a priori connus. Les applications logicielles, maintenant distribuées, voire mobiles, nécessitent toujours plus de capacité d’adaptation face à une multitude de contextes d’utilisation. Ce constat est par exemple à l’origine de coûts additionnels importants pour le portage des applications dans le domaine de la téléphonie mobile où l’on peut distinguer actuellement jusqu’à plus de 250 familles de cibles différentes comme autant de contextes. Cela ne concerne pourtant que le problème de l’adaptation statique des applications à des configurations de cibles variables. Que dire alors de l’enjeu proposé par une informatique qui voudrait adapter dynamiquement une application logicielle à un environnement d’exécution découvert dynamiquement, évoluant tout aussi dynamiquement, et partiellement connu à priori. Un des principaux enjeux, donc, dans le développement logiciel pour les applications en informatique mobile et ambiante repose sur l’adaptation dynamique logicielle d’une application à son contexte. Mais ce sujet est vaste tant dans la définition de contexte (Lavirotte S. et al., 2005) que dans les mécanismes d’adaptation logicielle aujourd’hui utilisables pour modifier le comportement d’une application en cours d’exécution. Modélisation du contexte de l’application : Même si nous nous limitons à la notion de contexte d’interaction désignant alors « toute information qui peut être utilisée pour caractériser la situation des entités (c'est à dire personne, place et objet), qui sont considérées comme appropriées à l’interaction entre un utilisateur et une application, incluant l’utilisateur et l’applications eux-mêmes » (Dey, 2001), la notion de contexte à prendre en compte pour l’adaptation des applications reste encore beaucoup trop large. Nous proposons donc de nous limiter dans le cadre de ce sujet, à la notion de contexte « applicatif » que nous définirons comme l’ensemble des services, équipements et dispositifs connectables et interopérables à un instant et pour une application donnée. Un tel contexte est alors plus facilement modélisable et ne repose que sur des contraintes de communications et d’ordre technologique au cœur des préoccupations et du domaine d’expertise du partenaire industriel PRECEPTEL. Dans un tel cadre la notion de SOA (Architecture Orientée Services) définit alors un modèle naturel d'interactions au niveau logiciel mettant en oeuvre des connexions entre des serveurs fournisseurs de services à l'attention de composants logiciels « consommateurs » chargés de gérer le processus global de l’application. Cette approche a été largement popularisée avec l'apparition des services Web et adoptée pour le développement de systèmes de traitement de l’information (OASIS, OMG, W3C). La notion de service Web caractérise alors un service auquel on accède par n'importe quelle technologie «Web », en grande partie pour assurer l’indépendance entre l’implémentation du service et les technologies de communication utilisées (couche session par HTTP et représentation des données basés sur XML). Néanmoins peu de travaux étendent cette notion de services et surtout de services Web à des serveurs pour dispositifs ou équipement interactifs, dans le cadre d’applications intéragissantes avec l’utilisateur. Si des architectures SOA utilisent des clients mobiles, les développements liés à l’interface utilisateur sur les terminaux mobiles n’intègre pas du tout la notion de services interactifs. Il s’agit très souvent de logiciels clients monolithiques téléchargés. Ce sujet de thèse étudiera donc, dans un premier temps, la notion de Services et de Services Web pour des dispositifs et équipements interactifs. Elle permettra alors la mise en oeuvre d’une approche SOA de bout en bout pour la conception d’une application, tant dans la partie traitement de d’informations que dans une partie moins classique d’interaction avec l’utilisateur. Le candidat pressenti pour cette thèse a déjà produit un état de l’art (Hourdin V. et al., 2006) qui devrait conduire très rapidement à une proposition de modèle adapté. En effet, les services pour dispositifs intègrent une phase de recherche et de découverte de services (Choonhwa Lee et al., 2002) et des communications asynchrones par événements pour plus de réactivité, contrairement aux Services Web standards tels qu’ils sont définis aujourd’hui. Une fois le modèle du contexte « applicatif » identifié et modélisé le travail portera sur l’orchestration de ces différents services maintenant associés aux dispositifs d’interaction comme à des traitements de données. Adaptation et Orchestration de Services pour Dispositifs Dans le domaine de l’Informatique Mobile et Ambiante, après une période d’expérimentations entremêlant étude de cas et preuve de concepts, certains travaux ont cherché à synthétiser et caractériser les enjeux de la thématique. Par exemple, (Satyanarayanan, 1996) pose explicitement la question de ce qui est unique et conceptuellement différent dans l’Informatique Mobile. Il en déduit dès 1996 la nécessité pour ces applications d’être avant tout adaptatives et met en évidence le continuum des solutions qui peuvent exister entre les approches alors les plus usitées : depuis des approches « Laissez-Faire » où l’adaptation est gérée au niveau application jusqu’aux approches transparentes pour l’application où seul le système gère l’adaptation. La notion d’intergiciel d’adaptation apparaît alors comme une solution intermédiaire qui peut-être basée sur différents paradigmes logiciels utilisés pour l’adaptation: la réflexivité logicielle (Maes, 1987), la conception orientée composant (Szyperski, 1998), la programmation orientée aspect (Kiczales et al., 1997) et les schémas de conception (Schmidt, 2000). Par exemple Rashid et Kortuem se basent sur la programmation orientée aspect pour adapter des applications à leurs environnements pervasifs (Rashid, et al., 2004). Cette approche est particulièrement adaptée à la modification transversale des propriétés et du comportement d’une application. En ce sens il peut s’agir d’une approche efficace pour l’adaptation d’une application, mais celle-ci demeure basée sur un langage de programmation et reste destinée à des développeurs avertis. L’approche de notre équipe Rainbow pour la prise en compte du contexte et l’adaptation dynamique logicielle d’une l’application s’inspire de cette approche dans le cadre d’architectures orientées composant. Ces dernières permettent de gérer une application par assemblage de composants et se révèlent particulièrement adaptées à l’orchestration de services découverts dynamiquement, comme ce sera le cas pour des services pour dispositifs dans un contexte applicatif non connu a priori (Cheung-Foo-Wo D. 2005) (Charfi A. 2006). Nous parlons alors de programmation par aspects d’assemblage, c'est-à-dire des modifications transversales d’un assemblage de composants, basées sur le principe de séparation des domaines de préoccupation. La seconde partie de cette thèse étudiera alors l’adaptation et l’orchestration de services pour dispositifs grâce des mécanismes de composition basés sur la notion d’aspects d’assemblage de composants. Une attention toute particulière sera alors portée sur les choix qui pourraient influencer les performances de l’application notamment son comportement temporel au combien important pour les systèmes interactifs. Concrètement il pourra s’agir de distribution, migration et placement des mécanismes de composition fonction des infrastructures de communications disponibles. Phase Expérimentale : La phase expérimentale de cette thèse bénéficiera de l’infrasctructure Ubiquarium (1) Informatique ou « Plateforme Technologique : Etude et Usage des équipements Informatiques Mobiles en Environnement Simulé » de l’Ecole Polytechnique de l’Université de Nice Sophia Antipolis (Projet Recherche co-financé par la Région PACA depuis Janvier 2006), dans laquelle le candidat pourra tester différents prototypes expérimentaux validant ses travaux dans des environnements simulés sur des usages avancés identifiés par l’entreprise PRECEPTEL. L’Ubiquarium (Hourdin et al., 2006) est en effet constitué pour cela d’un grand nombre de dispositifs et de services découvrables et composables dynamiquement. Ces dispositifs peuvent être soit des dispositifs virtuels (objets d’une scène 3D dans laquelle l’utilisateur est immergé) soit des dispositifs réels portés par l’utilisateur ou présents dans son environnement. Un tel environnement est un cadre idéal pour l’évaluation de nouvelles applications de l’informatique mobile et ambiante pour de futurs usages associés à la téléphonie mobile dans un environnement communicant. Une convention en cours de signature entre le Département Informatique de Polytech Nice Sophia Antipolis et l’entreprise PRECEPTEL permettra à la structure expérimentale d’intégrer des moyens techniques fournis par l’industriel. Cette étude s’achèvera donc par l’évaluation de prototypes de validation sur la plateforme WComp (Cheung Foo Wo D. 2006), mettant en oeuvre les contributions proposées dans le cadre d’usages suggérés par l’entreprise PRECEPTEL dans le cadre de l’Ubiquarium. Conclusion : Le travail se déroulera dans le cadre d’une collaboration entre l’entreprise PRECEPTEL et l’équipe Rainbow du laboratoire I3S (CNRS / Université de Nice - Sophia Antipolis). Cette étude est complémentaire du projet Génécom de l’entreprise PRECEPTEL supporté par l’ANVAR depuis la commission du 18/07/06 à Marseille et qui doit donné lieu à un contrat de collaboration PRECEPTEL / équipe Rainbow (I3S – CNRS – Université de Nice Sophia Antipolis). Références : Canals G., Giboin A., Nigay L., Pinna A.-M., Tigli J.-Y.. Actes des Premières Journées Ubiquité Mobilité. CépaduèsEditions, 2004. Charfi A., Riveill M., Blay-Fornarino M., Pinna-Déry A.-M.. "Transparent and Dynamic Aspect Composition" in Workshop on Software Engineering Properties of Languages and Aspect Technologies (SPLAT), Bonn (Germany), 21 mar 2006. Cheung-Foo-Wo D., Blay-Fornarino M., Tigli J.-Y., Dery A.-M., Emsellem D. Riveill M., « Langage d’aspect pour la composition dynamique de composants embarqués », 2ème Journée Francophone sur le Développement de Logiciels Par Aspects, 2005. Cheung Foo Wo D., Tigli J.-Y., Lavirotte S., Riveill. M., "Wcomp: a Multi-Design Approach for Prototyping Applications using Heterogeneous Resources" in Proceedings of the 17th IEEE International Workshop on Rapid System Prototyping (RSP), june 2006. Choonhwa Lee and Sumi Helal, « Protocols for Service Discovery in Dynamic and Mobile Networks ». International Journal of Computer Research, ISSN 1535-6698, Volume 11, Number 1, pp. 1-12. 2002. Dey A. K., « Understanding and using context » Personal and Ubiquitous Computing, 5(1):4–7, 2001. Hourdin V., Cheung Foo Wo D., Lavirotte S., Tigli J.-Y. "Ubiquarium Informatique: Une plate-forme pour l'étude des équipements informatiques mobiles en environnement simulé" in Proceedings of the Troisième Journées Francophones Mobilité et Ubiquité (UbiMob), Paris, 5-8 sep 2006. Hourdin V., Lavirotte S., Tigli J.-Y. “Comparaison des modèles de services pour dispositifs”. Rapport de Recherche I3S, Université de Nice – Sophia Antipolis/CNRS, à paraître 2006. Kiczales G, et al., « Aspect-oriented programming », Proc. Euro. Conf. OOP 1997, LNCS 1241, Springer Verlag, 1997. Lavirotte S., Lingrand D., Tigli J.-Y., « Définition du contexte et méthodes de sélection », Actes des Secondes Journées Francophones: Mobilité et Ubiquité (UbiMob), 2005, p. 9-12. Maes P., « Concepts and experiments in computational reflection », oopsla87, siacmsn no22-12, 1987, p. 147–155. McKinley P. K., Sadjadi S. M., Kasten E. P., Cheng B., « A taxonomy of compositional adaptation », Technical Report MSU-CSE-04-17, Department of Computer Science and Engineering, Michigan State University, East Lansing, Michigan, 2004. OASIS, OASIS SOA Reference Model TC : http://www.oasisopen.org/committees/tc_home.php?wg_abbrev=soa-rm OMG, The OMG and Service Oriented Architecture : http://www.omg.org/attachments/pdf/OMG-and-the-SOA.pdf Pabst R., Arbanowski S., Mner K., Pulli P. and Zheng X., « IST-1999-12300 Wireless Strategic Initiative WSI », http://paula.oulu.fi/Publications/Cube/WSI_D10.pdf, IST research report, January 2003. Roman G.-C., Picco G. P., Murphy A. L., « Software engineering for mobility: A roadmap », The Future of Software Engineering, 2000, p. 241-258. Rashid A., Kortuem G., « Adaptation as an aspect in pervasive computing », Symposium on Principles of Distributed Computing, 2004. Satyanarayanan M. , « Fundamental challenges in mobile computing », Symposium on Principles of Distributed Computing, 1996, p. 1–7. Schmidt D., « Pattern-Oriented Software Architecure », vol. 2 : Patterns for Concurrent and Networked Objects. John Wiley & Sons, 2000. Szyperski C., Component Software, Beyond Object-Oriented Programming, ACM, 1998. W3C, Web Services Architecture, W3C, http://www.w3.org/TR/ws-arch/ Weiser M,. « The computer for the twenty-first century », Scientific American Ubicomp Paper, septembre 1991, p. 94104. Weiser M., « The computer for the twenty-first century », Scientific American, 1 :94–10, 1991.