• Aucun résultat trouvé

Représentation du modèle d'entités logicielles

Le modèle de description des plateformes logicielles spécifique à chaque plateforme et les technologies existantes le définissent extensible de surcroit. C'est pourquoi la proposition discute la possibilité d'utiliser le modèle de données hiérarchique utilisé par le service de configuration nommé ConfigurationManagement en cours de spécification. Dans ce modèle, un tableau d'objets sera affecté à la description des entités de chaque type. Les objets seront identifiés par l'identifiant généré par la plateforme pour chaque entité. Les paramètres de ces objets seront la liste des paires attributs-valeurs associée par chaque technologie à leurs entités.

7 SYNTHESE

Ces travaux de thèse établissent une ligne de conduite dans les situations de gestion de l'hétérogénéité des technologies sur les réseaux locaux. Cette ligne de conduite a conduit à une action de normalisation vis-à-vis de la coexistence des technologies UPnP et IGRS sur les réseaux locaux. Elle a mené principalement à la proposition d'un cadriciel nommé Home SOA, un ensemble de techniques au-dessus de plateformes modulaires comme les plateformes OSGi et .NET. Ces travaux au-dessus de plateformes modulaires et de protocoles Plug-n-Play ont entrainé enfin la création du Comité de Travail UPnP Device Management et la participation à l'élaboration de scénarios, d'exigences techniques et d'une proposition technique pour un protocole générique de gestion du cycle de vie de modules logiciels.

Les techniques du Home SOA permettent de ramener la conception de toute application pervasive à une conception localisée sur une seule plateforme d'exécution où la gestion de la distribution, de l'hétérogénéité et de la dynamique sont simplifiées. Les applications visées sont les applications composées de multiples équipements distribués

hétérogènes évoluant dans un contexte d'utilisation dynamique. Des patrons de conception implémentés dans le cadriciel éponyme simplifient, voire rendent transparent la gestion de ces aspects complexes.

Au-dessus d'une plateforme de services, un premier niveau de pilotes orientés services réifient les entités pervasives de l'environnement sous forme de services locaux. Les détails protocolaires concernant la découverte, le contrôle et la notification d'événements des équipements sont invisibles pour le développeur d'application.

Chaque pilote orienté service est spécifique d'un protocole. Un deuxième niveau de pilotes raffinés est responsable de la réification des objets mandataires du premier niveau en services implémentant des interfaces associées à un domaine d'application. La chaine de réification de ces pilotes est dynamique, la présence des objets réifiés dans le registre de services correspond à la présence des entités pervasives dans l'environnement.

Grâce à ces pilotes, les aspects distribués et l'hétérogénéité du réseau disparaissent tandis que la dynamique du réseau est reflétée sur la plateforme par la population dynamique du registre de service par des objets mandataires et adapteurs représentatifs. La dynamique est exacerbée par la nécessaire prise en compte du contexte de l'utilisateur, des équipements et du reste de l'environnement. Encore une fois, le registre des services est la clef de techniques de contextualisation dans un modèle où sources de contexte et composants applicatifs sont faiblement couplés. Enfin, un modèle à composants orienté services allié à un conteneur d'automatisation de composition et des techniques riches de sélection de services simplifie alors la gestion de la dynamique.

Le registre de services est le réceptacle de toutes les entités pervasives présentes sur le réseau. Le développeur construit idéalement ses applications en composant statiquement des services apparemment locaux aux interfaces à la sémantique naturelle.

La nouveauté des interfaces protocolaires proposées par le Comité de Travail UPnP Device Management réside en la description d'un modèle générique de modules logiciels. La proposition de France Télécom écrite par l'auteur avec le soutien de Levent Gürgen et de Maxime Vincent analyse différentes plateformes de services (cf. Chapitre III.3.2) et retient trois types d'entités : le paquetage de déploiement (Delivery Package ou DP), l'unité de déploiement (Deployment Unit ou DU), l'unité d'exécution (Execution Unit ou EU). Les opérations de gestion logicielle distinguent les opérations de déploiement sur les unités binaires que sont les deux premières entités, et les opérations d'exécution sur les unités d'exécution, unités logiques pouvant être démarrées et arrêtées. La gestion des dépendances peut être effectuée par le client comme par le serveur. La résolution des dépendances entre unités de déploiement est reflétée par un état dans le diagramme d'états de ces unités. La description des unités demeurent extensible grâce à l'association d'un modèle hiérarchique de description des entités logicielles. Enfin, l'atomicité et l'isolation des opérations de gestion sont appliquées avec les techniques de spécification UPnP et l'usage d'états transitoires dans les diagrammes d'états.

C

Chhaappiittrree VVII.. EE

XPXPERERIIMMEENNTTAATTIIOONSNS

La flexibilité des techniques du Home SOA est complémentaire de l'utilisation d'une plateforme de déploiement modulaire d'applications telles qu'OSGi ou .NET. La technologie OSGi a été choisie dans la plupart des expérimentations de cette thèse. Les atouts généraux de la plateforme et la pertinence de certains chapitres additionnels de la spécification OSGi sont décrits dans la section 1. Cette dernière présente aussi la façon dont ces travaux de thèse ont étendus certains mécanismes afin de les utiliser dans le cadre d'applications pervasives. Les détails d'implémentation de la proposition particulière de la répartition de services sur plusieurs plateformes sont alors indiqués en section 2. La section 3 présente l'implémentation du DPWS Base Driver. La section 4 détaille les différentes implémentations de pilotes raffinés. La section 5 offre un descriptif de l'implémentation de l'application de communication personnelle enrichie.

Alors que le cadriciel Home SOA répond aux besoins du contrôle d'équipements distribués et hétérogènes dans un environnement dynamique, les sections 6 et 7 détaillent les réponses de ces travaux de thèse dans des situations différentes : la première est la réponse aux problèmes de coexistence de deux protocoles – UPnP et IGRS – sur un même réseau local. La deuxième est le travail de spécification d'un protocole d'administration d'équipements aux modèles de gestion de cycle de vie hétérogènes.

1 COMPOSITION DE SERVICES SUR LA PLATEFORME OSGI