Sujet : Vérification et extraction de vues pour un langage métier
Responsables : Charles Consel et Laurent Réveillère
Téléphone : 05 40 00 35 19
e-mail : consel@labri.fr reveillere@labri.fr
Équipe : LaBRI / LSR
Thème : Phoenix
Présentation du sujet :
Contexte
Le groupe de recherche Phoenix développe actuellement une approche
génie logiciel pour produire des programmes dont la fiabilité
est garantie vis à vis des propriétés critiques du
domaine. Cette approche sÇappuie sur le développement de
langages spécifiques à un domaine (DSL - Domain-Specific
Languages). Un DSL, ou langage métier, facilite le développement
logiciel sans sacrifier la sûreté.
Phoenix a étudié l'approche DSL dans le contexte des services
de communication. Nous avons conçu et mis en «uvre un DSL
appelé SPL (Session Processing Language) destiné à faciliter
le développement de services de téléphonie. Ce langage offre
des constructions et des extensions spécifiques au domaine qui
abstraient la complexité des technologies sous jacentes. De par sa
conception, SPL garantit des propriétés critiques, bien
au-delà de ce quÇil est possible avec des langages
généralistes tels que Java ou C++. Les exemples d'erreurs
détectées dans les services incluent la perte d'appel et
l'utilisation non bornée de ressources.
Au delà de la téléphonie, nous étudions maintenant
l'extension de SPL pour le domaine de l'informatique ubiquitaire. Dans
ce contexte, il permet de spécifier des scénarios de
coordination pour des entités communicantes, telles que des
capteurs et des caméras. Les entités communicantes sont
intégrées dans des plates-formes spécialisées dans la
surveillance de sites ou l'assistance aux personnes agées ou
handicapées. Sujet Le travail de thèse proposé a pour
objectif de concevoir et de développer diverses analyses de
programmes SPL. Les informations collectées rempliront deux
objectifs principaux.
1. Extraction de vues. Un programme SPL permet de coordonner une
multitude d'évenements (appels audi/vidéo, alarmes, ...) . La
richesse de cette coordination peut devenir difficile à
appréhender. Il est donc important de pouvoir disposer de vues
simplifiées d'un programme SPL, permettant au développeur de se
concentrer sur certaines facettes spécifiques.
2. Vérification. Bien que dédié, SPL est un langage riche
qui permet d'exprimer une variété de types de calculs. La
vérification de certaines propriétés de sûreté et de
sécurité est donc primordiale. Cette vérification repose sur
l'identification des propriétés critiques pour les domaines
ciblés par SPL (téléphonie et informatique ubiquitaire).
Des approches basées sur l'interprétation abstraite et sur la
vérification de modèles seront étudiées. La garantie de
certaines propriétés à vérifier pourront nécessiter une
phase d'itération de la conception de SPL, entrainant des
extensions et/ou des restrictions (système de types, constructions
syntaxiques, ...). Équipe d'accueil (LaBRI/INRIA) L'équipe
Phoenix a pour objectif de concevoir des principes, des techniques et
des outils pour le développement de services de communication. Pour
satisfaire les exigences de ce domaine, le spectre de nos recherces
comprend les éléments clés qui sous-tendent les services de
communication : l'infrastructure permettant de déployer des
services (plateforme de signalisation, protocoles de transport, et
description de sessions), l'architecture logicielle supportant les
services (le modèle client-serveur, les interfaces de
programmation, et la notion de logique du service), et enfin, les
terminaux permettant la communication (fonctionnalités des
terminaux et systèmes embarqués).
Mot-clés : SIP, DSL, Modélisation, Analyse de programmes,
Vérification de modèles. Références
1. L. Burgy, C. Consel, F. Latry, J. Lawall, L. Réveillère,
and N.
Palix. Language Technology for Internet-Telephony Service
Creation.
In IEEE International Conference on Communications, TO
APPEAR,
2006.
2. C. Consel and R. Marlet. Architecturing
software using a
methodology
for language development. In C.
Palamidessi, H. Glaser,
and K.
Meinke, editors, Proceedings of the 10th International
Symposium
on Programming Language Implementation and Logic
Programming,
volume 1490 of Lecture Notes in Computer Science, Pisa,
Italy,
pages 170--194, September 1998.
3. C. Consel and L. Réveillère. A
Programmable Client-Server
Model:
Robust Extensibility via DSLs. In Proceedings of the 18th IEEE
International
Conference on Automated Software Engineering (ASE 2003),
Montréal, Canada, pages 70--79, November 2003. IEEE Computer
Society
Press.
4. C. Consel. Domain-Specific Program
Generation; Proceedings of
Dagstuhl
School, chapter From a Program Family to a Domain-Specific
Language. Number 3016 in Lecture Notes in Computer
Science,
State-of-the-Art Survey. Springer-Verlag, 2004.
5. L. Burgy, C. Consel, F. Latry, L. Réveillère, and
N. Palix.
Telephony over IP: Experience and Challenges. ERCIM News,
63:53, October 2005.