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.