Systèmes d'Information Distribués
(SID)

Nos thèmes de recherche


Le thème Systèmes d'Information Distribués (SID) travaille depuis plusieurs années sur la prise en charge des problèmes liés à la distribution des données et des applications dans un contexte de plus en plus hétérogène. En effet, en quelques années, nous sommes passés d'une architecture où plusieurs individus se connectaient sur une même machine (Mainframe, puis Client/serveur), à une architecture applicative, où les utilisateurs ont à leur disposition plusieurs outils informatiques (PDA, téléphone mobile, console de jeu, SetTopBox, PC, etc.) connue sous le nom d’informatique ubiquitaire (ubiquitous computing). Dans le même temps, les réseaux, qu'ils soient mobiles (UMTS, WLAN, Bluetooth, ...) ou fixes (LAN, ADSL, ...) se sont largement répandus. Ceci a permis d'interconnecter, à tout moment et de manière ponctuelle, tous ces outils informatique. Cependant, cette hétérogénéité a amplifié des problèmes bien connu en informatique distribuée, comme la tolérance aux pannes, la localisation de services ou de données, ou la sécurité. Il est donc nécessaire à la fois créer de nouveaux services et d'adapter les services existants.  Une autre direction de recherche explorée par l'équipe est l'adaptation de méthodes permettant la certification de composants logiciels. Les exigences de sécurité sont en effet des éléments essentiels du développement logiciel, en particulier pour des composants embarqués ou enfouis dans des systèmes de transports terrestres (un des axes prioritaires de recherche pour la région Nord-Pas-de-Calais). Ces méthodes peuvent aussi être utilisées pour fournir une certification de la qualité d'un service fourni par un élément logiciel, permettant de choisir l'élément le mieux adapté au contexte de déploiement d'une application (garantie de temps de réponse, d'espace mémoire nécessaire, de temps de connexion nécessaire, ...). 

Dans le thème SID, nous nous intéressons principalement à l'adaptation des services non fonctionnels (transaction, sécurité, localisation de services, etc.) dans les environnements mobiles et hétérogènes. Ce problème devient incontournable avec le développement de l’ubiquitous computing (informatique ubiquitaire ou n ordinateurs sont utilisés par 1 seul usager) pour faire face à l’hétérogénéité, de plus en plus forte, des terminaux maintenant à la disposition des personnes (assistant numérique, téléphone GSM évolués (SmartPhone), consoles de jeux, etc...). Ce problème est abordé selon deux points de vue :  tout d'abord l'adaptation proprement dite de ces services, puis fournir la garantie formelle que les services ainsi définis atteignent leurs objectifs. Ce thème de recherche s'appuie sur plusieurs réseaux et projets régionaux et nationaux.

Evolution des services non fonctionnels en fonction des nouveaux besoins

Les services non fonctionnels (destinés à simplifier la tâche des programmeurs d'applications distribuées) sont de plus en plus nombreux à la disposition des programmeurs pour leurs applications. De plus, l'hétérogénéité des environnements (postes clients, serveurs, connexions réseaux, etc..) accroît  encore plus le nombre de services disponibles.  Cela pose le problème de l'adaptation des services non fonctionnels au contexte applicatif.

Les travaux de SID dans ce cadre se sont divisés en  2 parties : la première a constitué en  l'étude et la réalisation d'un service transactionnel avancé; et la seconde en la réalisation d'une architecture offrant l'adaptation dynamique en fonction des besoins des applications et des capacités des terminaux, des services non fonctionnels.

 

Transactions avancées pour modèle à composants :

Ce travail a consisté a proposer une réalisation des transactions emboîtées ouvertes, en utilisant les caractéristiques du modèle de programmation à base de composants. SID s'est aussi intéressé à la cohabitation de ce nouveau modèle transactionnel avec les anciens (transactions plates et emboîtées fermées). Ce projet a été soutenu par un projet européen (ITEA – PEPiTA – Best ITEA project Award en 2002) et par un projet national RNTL (IMPACT)

publication de référence :

Hérault (C), Nemchenko (S) &  Lecomte (S).  “ A Component-Based Transactional Service, Including Advanced Transactional Models” In  Fourth International Symposium and School on Advance Distributed Systems (ISSADS 04), Guadalajara, Mexique, janvier.2004

 

Adaptabilité dynamique des services non fonctionnels

Dans ce cadre, SID propose un modèle permettant de moduler le contenu des services non fonctionnels en fonction des besoins applicatifs et des capacités des terminaux devant exécuter ce service. Pour chaque type d'environnement on peut plus ou moins spécialiser le service non fonctionnel, de manière à l'adapter au mieux aux contraintes rencontrées (que nous pouvons appeler « Personnalité »). Une architecture complète a été définie, reposant sur l'utilisation d'un annuaire de stockage des services non fonctionnels, permettant de retrouver une personnalité d'un service, en fonction de descripteurs représentant l'état du terminal et les besoins applicatifs. De manière à réaliser cela, et en cohérence avec les travaux déjà menés sur les modèles transactionnels, la proposition repose sur l'utilisation du modèle de programmation à composants pour réaliser les services, et obtenir rapidement et facilement plusieurs personnalités pour un service. Ce travail a été soutenu par un projet national RNRT (COMPiTV)

Publication significative :

Hérault (C) &  Lecomte (S) « Adaptabilité des Services Techniques dans un Modèle à Composants » Conférence Française sur les Systèmes d'Exploitation (CFSE'3), pp488-499, ACM France, La Colle sur Loup, France, octobre 2003

 

Un service de localisation pour les nouvelles applications mobiles

L 'apparition de l'informatique ubiquitaire et la popularisation des réseaux sans fil favorisent le développement de nouveaux services et de nouvelles applications dédiées aux usagers mobiles. Parmi ces applications, SID a définit le concept d’applications de proximité. Dans ces applications, un utilisateur se trouve successivement, suivant ses déplacements, dans différentes sphères de communication et peut ainsi participer à différentes applications de proximité avec d'autres utilisateurs physiquement proches de lui. Il doit alors être en mesure de découvrir et/ou de localiser les données disponibles. Pour cela, nous avons proposé ISLANDS (Information and Services LocalizAtioN and Discovery Service), un service de localisation adapté à la distribution de l’information qui considère également la mobilité des utilisateurs. Pour cela, ISLANDS supporte l’évaluation de requêtes dépendantes de la localisation telles que « quel est l’arrêt de bus le plus proche de moi ? ».   Afin de permettre l’évaluation des requêtes dépendantes de la localisation, le service ISLANDS doit disposer de la localisation géographique du client qui émet la requête. Aujourd’hui, les techniques de localisation existantes ne sont pas toujours exploitables : par exemple, le GPS qui est la solution de localisation la plus répandue, ne fonctionne pas à l’intérieur d’un bâtiment, nous proposons donc une solution de localisation reposant sur les métadonnées de l’environnement. Cette solution permet de localiser un utilisateur de façon approximative mais suffisante pour l’évaluation des requêtes dépendantes de la localisation. Enfin, cette solution a été optimisée de façon à minimiser la consommation des ressources sur les terminaux nomades et à réduire le nombre de communications entre les participants.

Publication significative :

Thilliez (M) & Delot (T) “A Localization Service for Mobile Users in Peer-To-Peer Environments”. In Fabio Crestani, Mark Dunlop, Stefano Mizzaro (Ed.), Mobile and Ubiquitous Information Access, Springer-Verlag, LNCS 2954, pp. 271-282, ISBN 3-540-21003-2.


Application au domaine de la santé

Le travail sur l'utilisation de terminaux nomades dans les systèmes d'information distribués  se poursuit avec l'implication de l'équipe SID dans le projet COQUAS porté par le professeur Régis Beuscart (Lille 2), en collaboration avec l’équipe PERCOTEC du LAMIH. Ce projet est subventionné par le programme RNTS (Ministère de l Education et de la Recherche). La contribution de SID porte sur l’étude de l’informatique nomade dans le contexte de l’hospitalisation à domicile : les acteurs du corps médical et para-médical doivent pouvoir s’organiser et se partager l’information autour d’un patient hospitalisé à son domicile. Dans ce cadre, plusieurs propositions d'architecture pour l'échange d'information entre les différents acteurs ont été faites, et une maquette fonctionnelle de l'application finale a été réalisée.

Publication significative :

Anceaux, (F)., Bennani, (N)., Souf, (N.), Watbled, (L)., Beuscart-zéphir, (M) &  Lecomte, (S)  « Prise en charge de patients à domicile : un contexte nécessitant l’élaboration de systèmes d’information coopératifs ». Numéro Spécial RTSI-ISI 2003


Spécification, validation et modularité

Le développement de composants logiciels à partir de spécifications formelles est une des solutions utilisées par l'industrie du logiciel pour la nécessité des logiciels critiques, en particulier dans les logiciels pour les transports terrestres guidés. La dissémination de ces méthodes, qui peuvent avoir un impact plus large que les logiciels critiques, passe par la mise à disposition de plate-formes ouvertes permettant leur intégration avec d'autres approches de développement logiciel .

Les travaux de SID dans ce contexte s'effectuent dans le cadre d'une coopération forte avec l'équipe ESTAS de l'INRETS. L'INRETS co-finançant les deux doctorants travaillant dans cette thématique. Les travaux réalisés sont divisés en deux parties: la première consiste à étudier la génération de code à partir de spécification en langage B, permettant d'en mieux comprendre la modularité et les possibilités d'interaction avec une approche de développement par contrats. La deuxième partie consiste en l'étude de l'insertion de spécifications de contraintes temps réels dans les méthodes de développement formel.


Génération de code et interaction avec un modèle à composants:

Dans ce cadre, ne sémantique pour la modularité du langage B, fondée sur le langage de modules connu sous le nom de Harper-Lillibridge-Leroy(HLL) est définie.. Ce travail s'intègre dans le projet régional  COLORs, une plate-forme ouverte et libre est réalisée et mise à disposition de la communauté. La spécification de la modularité de B avec le langage de modules HLL permet de clarifier certains aspects de cette modularité et autorise à produire simplement du code équipé de contrats à partir de spécifications formelles. Ce code, produit dans un langage cible qu'il est possible de choisir (Eiffel, Ada, Ocaml,...), s'intègre alors naturellement dans un processus de développement par contrats. Nous nous intéressons maintenant à l'étude de l'impact de cette intégration dans le processus de développement et à l'adaptation de cette méthode au traçage du suivi des exigences de sécurité formulées dans la spécification du logiciel. 

Publication de référence:

Petit, (d), Poirriez, (v) & Mariano, (g): The B method and the component-based approach, Journal of Integrated Design & Process Science, march 2004,vol 8, N 1, p 65-76


Intégrations de spécifications de durée dans un langage de spécifications formelles généraliste:

Grâce à la plate-forme développée auparavant, il est possible de s'intéresser à l'intégration de logiques adressant des problèmes particuliers dans une méthode de spécification généraliste. La thèse en cours de Samuel Colin explore la faisabilité et l'intérêt de l'intégration de la logique connue sous le nom de Calcul des Durées dans la méthode B et dans le langage de contraintes OCL lié à UML. L'objectif est de permettre d'exprimer simplement des contraintes de durée liées à des nécessités temps réels des logiciels embarqués intégrant les composants développés. Deux implantations du calcul des durées ont été réalisées dans les prouveurs COQ et PHOX. Ces implantations servent à la démonstration des propriétés de durée introduites dans des spécifications B ou OCL.

 Publication de référence:

Colin, (s), Mariano, (g) & Poirriez, (v): Duration Calculus: a real-time Semantic for B, International Colloquium on Theoretical Aspects of Computing, ICTAC2004, septembre 2004, China.