Building Efficient Distributed Systems: A Domain-Specific Language Based Approach

Abstract : In recent years, many distributed systems have evolved to cope with the convergence of their domain and computer networks. As an example, Internet telephony has drastically change the face of the telecommunications domain in the last decade by introducing many new services based on Web services and databases. Distributed systems that provide advanced services must be efficient to be able to treat a large number of users and must be robust to face various attacks targeting the service itself or the underlying platform. However, building efficient and robust distributed systems requires an intimate knowledge of the relevant protocols and a substantial understanding of low-level system and network programming, which can be a challenge for many programmers. Nevertheless, the development process of distributed systems still remains rudimentary and requires a high level of low-level expertise. In this thesis, we show that domain-specific languages (DSLs) can successfully reduce the level of expertise required to build efficient and robust distributed systems, making service programming in the reach of average developers. We present three contributions in this area. Our first contribution targets the creation of telephony services based on the SIP protocol. We have defined a domain-specific virtual machine for SIP and a DSL named SPL, providing the programmer with high-level notations and abstractions dedicated to telephony service development. The robustness of SPL has been a key factor in expediting service deployment. A variety of services have been written in SPL, demonstrating the usability and ease of programming of the language. Our second contribution is Zebu, a DSL-based approach for the development of network application protocol-handling layers. We have demonstrated, through various experiments, that this approach is a reliable alternative to manual development in the context of protocol-handling layers. Zebu generated code has good performance and has a significantly lower memory footprint than comparable existing manually encoded solutions, while guaranteeing the robustness and performance properties. The third contribution of this thesis is z2z, a generative approach to gateway construction that enables communication between devices that use incompatible protocols. Z2z includes a compiler that checks essential correctness properties, and a runtime system that hides low-level details from the gateway programmer. We have used z2z to automatically generate gateways between various incompatible protocols. The generated gateways run with a low runtime memory footprint, with essentially no runtime overhead.
Document type :
Habilitation à diriger des recherches
Complete list of metadatas

Cited literature [95 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-00814406
Contributor : Laurent Réveillère <>
Submitted on : Wednesday, April 17, 2013 - 9:56:21 AM
Last modification on : Friday, July 12, 2019 - 11:16:03 AM
Long-term archiving on : Thursday, July 18, 2013 - 4:03:58 AM

File

Identifiers

  • HAL Id : tel-00814406, version 1

Collections

Citation

Laurent Réveillère. Building Efficient Distributed Systems: A Domain-Specific Language Based Approach. Operating Systems [cs.OS]. Université Sciences et Technologies - Bordeaux I, 2011. ⟨tel-00814406⟩

Share

Metrics

Record views

385

Files downloads

722