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.