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.
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
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.
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
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.
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.