Skip to Main content Skip to Navigation
Conference papers

A programmable client-server model: Robust extensibility via DSLs

Charles Consel 1, 2 Laurent Réveillère 1, 2
2 Phoenix - Programming Language Technology For Communication Services
LaBRI - Laboratoire Bordelais de Recherche en Informatique, Inria Bordeaux - Sud-Ouest, EA4136 - Handicap et système nerveux :Action, communication, interaction: rétablissement de la fonction et de la participation [Bordeaux]
Abstract : The client-server model has been successfully used to support a wide variety of families of services in the context of distributed systems. However, its server-centric nature makes it insensitive to fast changing client characteristics like terminal capabilities, network features, user preferences and evolving needs. To overcome this key limitation, we present an approach to enabling a server to adapt to different clients by making it programmable. A service-description language is used to program server adaptations. This language is designed as a domain-specific language to offer expressiveness and conciseness without compromising safety and security. We show that our approach makes servers adaptable without requiring the deployment of new protocols or server implementations. We illustrate our approach with the Internet Message Access Protocol (IMAP). An IMAP server is made programmable and a language, named Pems, is introduced to program robust variations of e-mail services. Our approach is uniformly used to develop a platform for multimedia communication services. This platform is composed of programmable servers for telephony services, e-mail processing, remote-document processing and stream adapters.
Complete list of metadatas

Cited literature [15 references]  Display  Hide  Download
Contributor : Laurent Réveillère <>
Submitted on : Monday, January 5, 2009 - 5:40:38 PM
Last modification on : Friday, September 6, 2019 - 3:22:08 PM
Long-term archiving on: : Tuesday, June 8, 2010 - 6:34:08 PM


Files produced by the author(s)


  • HAL Id : hal-00350051, version 1



Charles Consel, Laurent Réveillère. A programmable client-server model: Robust extensibility via DSLs. International Conference on Automated Software Engineering, 2003, Montréal, Canada. pp.70-79. ⟨hal-00350051⟩



Record views


Files downloads