Summer 2006

Language Technology for Internet-Telephony Service Creation
Abstract: Telephony is evolving at a frantic pace, critically relying on the development of services to offer a host of new functionalities. However, programming Internet telephony services requires an intimate knowledge of a variety of protocols and technologies, which can be a challenge for many programmers. Furthermore, because telephony is a resource heavily relied on, programmability of telephony platforms should not compromise their robustness.

This talk presents an approach to creating telephony services that builds on programming language technology (i.e., language design and implementation, language semantics, and program analysis).We have developed a language, named Session Processing Language (SPL), that offers domain-specific constructs, abstracting over the intricacies of the underlying technologies. By design, SPL guarantees critical properties that cannot be verified in general-purpose languages. SPL relies on a Service Logic Execution Environment for SIP (SIP-SLEE) that introduces a design framework for service development based around the notion of session.

SPL and SIP-SLEE have been implemented and they are now being used to develop and deploy real services, demonstrating the practical benefits of our approach.
[This is joint work with L. Burgy, F. Latry, J. Lawall, N. Palix, L. Reveillere]

Bio: Charles Consel is a professor of Computer Science at ENSEIRB/University of Bordeaux I. He served on the faculty of Yale University, Oregon Graduate Institute and the University of RennesI. He leads the Phoenix group at INRIA/LaBRI. He has been designing and implementing Domain-Specific Languages (DSLs) for a variety of areas including device drivers, programmable routers, stream processing, and telephony services. These DSLs have been validated with real-sized applications and showed measureable benefits compared to applications written in general-purpose languages.

His research interests include programming languages, software engineering and operating systems.