CSC (Composant, Service, Connecteur) Une plateforme d’adaptation pour applications multimédia Derdour Makhlouf 1 , Philippe Roose 2 , Marc Dalmau 2 , Nacéra Ghoualmi-zine 1 1 Département d’Informatique Université Badji Mokhtar - Annaba Annaba, Algérie {m.derdour, ghoualmi}@yahoo.fr 2 LIUPPA Université de Pau et des Pays de l’Adour Anglet, France {Philippe.Roose, Marc.Dalmau}@iutbayonne.univ-pau.fr Résumé— La tendance vers les services ubiquitaires et le tout multimédia, la multiplication des terminaux mobiles et la généralisation des réseaux sans fil impliquent des changements dans la conception et l’exécution des applications logicielles. Les systèmes ubiquitaires sont des systèmes dynamiques qui modifient leur comportement en fonction des besoins de l'utilisateur et des capacités matérielles lors de l'exécution en se basant sur des informations contextuelles. Comme il n'est pas souhaitable de développer ces systèmes à partir de zéro à chaque fois, une architecture logicielle spécifique offrant des possibilités d’adaptations dynamiques des systèmes est nécessaire. Elle doit être capable de créer des adaptations à l’exécution afin d'offrir un comportement dynamique et adaptatif pour les utilisateurs. Dans cet article nous présentons une plateforme d’adaptation supervisée pour les applications basées composants. La plateforme CSC (composant, service, connecteur) est basée sur un modèle composant/service qui permet une auto-adaptation des applications basées composants en se basant sur une architecture orienté services pour la fourniture des services d’adaptation qui seront intégrés dans des connecteurs d’adaptation. Mots-clés- composant ; connecteur; architecture logicielle; multimédia;adaptation. I. INTRODUCTION Dans le cadre de l’informatique ubiquitaire, l’environnement d’exécution d’une application est constitué de machines hétérogènes (PC, PDA, Smartphone, etc.) en ressources matérielles (taille écran, modes d’interactions, mémoire, batterie, interfaces réseaux, etc.) appartenant à des utilisateurs avec des besoins différents et manipulant des médias de différents types (vidéo, son, image, texte). Ces caractéristiques imposent de structurer l’application en une organisation d’entités logicielles relativement indépendantes qui coopèrent et interagissent afin de faciliter son adaptation au contexte d'utilisation. Malheureusement cette organisation structurelle et comportementale ne permet pas de résoudre tous les problèmes d’hétérogénéité. Au-delà du respect des contraintes fonctionnelles, le remplacement d’un composant par un autre réclame la satisfaction de plusieurs conditions et la vérification de plusieurs propriétés (homogénéité des composants, cohérence de l’assemblage, stabilité de l’application, traçabilité des choix d'adaptation, etc.). Cela demande une réflexion sur la conception et notamment sur la configuration des applications. Cette réflexion consiste à séparer les aspects fonctionnels de ceux de l’adaptation et de prévoir des mécanismes dynamiques et reconfigurables durant tout le cycle de vie de l’application. Le développement d’un système d’adaptation sensible aux caractéristiques fonctionnelles et non-fonctionnelles nécessite de répondre à deux questions : comment concevoir une plateforme garantissant une adaptation dynamique sensible au contexte ? Comment concevoir des adaptateurs pour assurer les adaptations nécessaires? Les aspects importants pour la conception d’une solution d’adaptation du contenu sont la diversité du contenu, la description de l’environnement, la gestion du contexte et l’adaptation. Quant à l'hétérogénéité des environnements, on la rencontre à plusieurs niveaux : l’environnement de l'utilisateur (bruyant, sombre, géographique, etc.), du terminal (taille écran, codecs supportés, etc.) et des composants de l’application (interfaces de communication de type client-serveur, RPC, etc.). Pour cela une conception et une implémentation d’un tel système impliquent des efforts dans plusieurs domaines. Il existe deux grands axes pour l'adaptation des applications basées composants, celui de l’adaptation fonctionnelle comme MUSIC [19] et MADcAR [20] basée sur le réassemblage ou la reconfiguration, et celui de l’adaptation non-fonctionnelle comme SCL [21] basée sur le comportement des composants. Dans notre approche nous avons travaillé sur la partie non- fonctionnelle pour l’adaptation des flux échangés entre les composants afin de traiter le problème d’hétérogénéité. On ne cherche pas la modification ou le remplacement de fonctionnalités, mais on adapte ces dernières au contexte d’exécution. Ceci peut se traduire par des adaptations d’assemblages (appel de services différents, redéploiements, remplacement de composants/services, etc.) se traduisant par la conservation de la même fonctionnalité mais avec une qualité de service différente. L'introduction massive de données multimédia dans les systèmes ubiquitaires/pervasives conduit à manipuler différents types de médias, ce qui provoque l’apparition de plusieurs problèmes influençant l’interopérabilité des composants tels hal-00593460, version 1 - 16 May 2011 Manuscrit auteur, publié dans "NOTERE 2011 : Conférence Internationale sur les NOuvelles Technologies de la REpartition, Paris : France (2011)"