Plate-forme pervasive de services, application au milieu hospitalier André Flory, Vasile-Marian Scuturici, Françoise Conil Inter GDR, Clermont-Ferrand - 17/12/2006 Inter GDR, Clermont-Ferrand - 17/12/2006
Présentation Pervasive Services Environment est une architecture de système pervasif (réparti) à base de services (données ?), orientée utilisateurs des équipements hétérogènes peuvent rejoindre l’environnement pervasif les équipements peuvent proposer leurs services aux autres équipements de l’environnement permet aux utilisateurs d’exprimer leurs intentions (PsaQL, HandRecon) modéliser le contexte des équipements et des utilisateurs proposer aux utilisateurs des actions à réaliser en fonction de l’historique et du contexte Inter GDR, Clermont-Ferrand - 17/12/2006
Présentation Chaque équipement exécute un méta-service appelé « Base » qui lui permet de partager ses services et son contexte La Base PerSE découvre et communique avec les autres bases afin d’exécuter des services répartis de manière transparente et adaptée Chaque base PerSE est autonome et aucun élément central n’est nécessaire Le méta-service fonctionne sur Windows, Windows CE et Linux Inter GDR, Clermont-Ferrand - 17/12/2006
Découverte de Bases Inter GDR, Clermont-Ferrand - 17/12/2006
Découverte de services Inter GDR, Clermont-Ferrand - 17/12/2006
Définition des services locaux Dans la version actuelle, les services sont lancés en mode ligne de commande Les services d’une base sont décrits dans un fichier (Services.ini) avec une section donnant pour chaque service : nom du service identifiant du service ligne de commande utilisable description XML du service Ces informations sont transmises lors de la décourverte de services, pour la résolution d’action et pour l’exécution de services Inter GDR, Clermont-Ferrand - 17/12/2006
Exemple de description d’un service Exemple avec le service TextToSpeech : [TextToSpeech] AppName=TextToSpeech Path=C:\PerSE\PerSESpeech.exe GUID={http://perse.insa-lyon.fr/texttospeech} CmdLine=%path% %texte% %audio% %lang% %gender% Description=Speech synthesis, text file or simple string to audio. Specification= <service> <name>TextToSpeech</name> <role type='filter/texttoaudio'></role> <effect>USE %p1_value AS %p1_name ON BASE %2, %p2_value as %p2_name ON BASE %3, %p3_value AS %p3_name, %p4_value AS %p4_name FOR SERVICE %srv_name ON BASE %4</effect> <inputs> <input name='texte' type='string' format='file' format_type='text/plain' format_ext='txt' p_values='*' mandatory='1' probability='1.0'></input> <input name='lang' type='string' format='value' p_values='fr;en;de' default='fr' mandatory='1' probability='0.5'></input> <input name='gender' type='string' format='value' p_values='M;F' default='M' mandatory='1' probability='0.2'></input> </inputs> <outputs> <output name='audio' type='string' format='file' format_type='audio/wav' format_ext='wav' default='' mandatory='1' probability='0.5'></output> </outputs> </service> Inter GDR, Clermont-Ferrand - 17/12/2006
Résolution d’action Language PsaQL, Pervasive Service Action Query Language Une action est considérée comme étant une composition de services. Chaque service est décrit sous forme de triplet (base, service, paramètres) RESOLVE [WITH [[LIKE] [@|?]<parameter_value> [AS [LIKE] <parameter_name>]] [ON BASE [LIKE] <base_name>] [, ...] [FOR SERVICE [LIKE] <service_name> [ON BASE [LIKE] <base_name>]] ] [IN CONTEXT [NEIGHBORHOOD | LOCALHOST] [FOR USER [LIKE] <user_name>] Inter GDR, Clermont-Ferrand - 17/12/2006
Résolution d’action, exemple PsaQL use http://liris.cnrs.fr/vasile-marian.scuturici/ for service WebViewer use "c:\501_317.wmv" for service "MediaPlayer" on base "Desktop_B" use "\PresentationPerSE.ppt" as file on base " Base_PDA " for service "PptViewer" on base " Desktop_B " Inter GDR, Clermont-Ferrand - 17/12/2006
Gestion du contexte Le méta-service PerSE gère des données de contexte, statiques ou dynamiques C’est une gestion de données sous la forme de paires (nom, valeur). Il y a également une notion de classe permettant de grouper des données de contexte homogènes. La localisation wifi dans un bâtiment est une donnée de contexte que le méta-service peut acquérir à l’aide de plugins adéquats. Les modules du méta-service peuvent recevoir des notifications lorsque certaines valeurs de contexte changent Inter GDR, Clermont-Ferrand - 17/12/2006
Gestion de l’historique Le méta-service PerSE intègre une véritable Base de données qui lui permet de conserver l’historique des actions qui ont été exécutées sur une base ainsi que l’état du contexte à ce moment. On dispose de la puissance du language SQL pour interroger les données de l’historique Ces données permettent déjà de résoudre des demandes incomplètes d’utilisateur en exploitant l’historique use "c:\501_317.wmv“ Déclenchera le lancement du service MediaPlayer avec ce fichier Inter GDR, Clermont-Ferrand - 17/12/2006
Architecture PerSE Le méta-service PerSE se compose de modules répartis en 3 niveaux : Communication, Environnement et Action Inter GDR, Clermont-Ferrand - 17/12/2006
Evolutions possibles Ajouter l’authentification et gérer la notion d’utilisateur Améliorer la description des services Mettre en place un mécanisme de composition de services dans l’ActionResolver Réaliser la supervision de services Mettre en place des mécanismes de sécurisation Développer des plugins pour exécuter les services autrement que par la ligne de commande Développer des plugins de découverte de services utilisant d’autres mécanismes que les mécanismes PerSE (UPnp, …) Inter GDR, Clermont-Ferrand - 17/12/2006
Evolutions possibles Enrichir et exploiter la notion de contexte Faire évoluer PerSE vers un environnement de Data Space dans lequel diverses sources de données peuvent être intégrées et utilisées (vidéo, capteurs) Inter GDR, Clermont-Ferrand - 17/12/2006
Contributions Direction et coordination des travaux : V-M Scuturici Expression et interprétation de l’intention de l’utilisateur dans un environnement pervasif : PsaQL, P. Bilher Conception et implémentation de l'architecture PerSE : Y. Gripay, avec la collaboration de F. Conil Reconnaissance des postures de la main pour exprimer certaines intentions de l’utilisateur dans l’environnement PerSE : HandRecon, D. Piguet-Lacroix Contrôler l’accès des utilisateurs aux ressources (données et services) de leur équipement à l'aide de profils de sécurité adaptés au contexte de l'environnement : CE. Pigeot Inter GDR, Clermont-Ferrand - 17/12/2006