PhD Thesis: Software Engineering Techniques for Support of Communication Protocol Implementation

PhD Student: Matthias Jung

Supervisor: Prof. Dr. Ernst W. Biersack

Key Words: Application-tailored protocols, protocol composition, Java Beans, patterns, CBD, OO frameworks

Download: available as ps.gz



Distributed application developers are often forced to implement with application-specific protocols also transport layer semantics that are incorporated in and delivered with the application code. However, implementing new protocols from scratch is tedious and expensive. The goal of our thesis is the development of techniques and tools that minimize the cost to implement and maintain protocols in end-systems. Our focus is on modern software engineering techniques -- like OO frameworks, design-patterns, and component-based development -- that have recently shown their applicability in various application domains.

The foundation of our work is a set of structuring principles and abstractions that promote reusability and flexibility of protocol software. The main idea behind these principles is to follow a vertical instead of a horizontal structure (such as layering). Our approach suggests to integrate all application-specific services into one entity and to decouple demultiplexing functionality from protocol processing. We further propose to structure protocol software along all its types of data paths and to partition the identified data paths into fine-grained, reusable, and configurable modules. Based on our structuring approach, we present a Java framework called PITOU that allows to construct new protocols by assembling existing components and configuring them to the specific application requirements. We further implement a number of tools to assist protocol development, such as a tool to simulate protocol sessions, a tool to animate protocol software, and a tool to generate protocol code based on specified structures and configurations. The applicability and expressiveness of our structuring approach is demonstrated by a modular implementation of the TCP data transfer services, RTP/RTCP snoop application, and a QoS aware lightweight middleware system.


Publications

[JB00a]
Matthias Jung and Ernst W. Biersack.A Component-Based Architecture for Software Communication Systems.In Proceedings of IEEE ECBS, pages 36--44, Edinburgh, Scotland, April 2000.
[JB00b]
Matthias Jung and Ernst W. Biersack.How Layering Protocol Software violates Separation of Concerns.In ECOOP Workshop on Aspects and Dimensions of Concerns, Cannes, France, June 2000.
[JB00c]
Matthias Jung and Ernst W. Biersack.Order-Worker-Entry: A System of Patterns to Structure Communication Protocol Software.In Proc. of EuroPLoP, Irsee, Germany, July 2000.
[JB00d]
Matthias Jung and Ernst W. Biersack.QoS for Distributed Objects by Generating Tailored Protocols.In ECOOP Workshop on QoS in Distributed Object Systems, Cannes, France, June 2000.
[Jun00]
Matthias Jung.SOFTWARE ENGINEERING TECHNIQUES FOR SUPPORT OF COMMUNICATION PROTOCOL IMPLEMENTATION.PhD thesis, University of Nice -- Sophia Antipolis, Institut Eurécom, October 2000.
[JB99]
Matthias Jung and Ernst W. Biersack.Thread-Oriented Protocol Structuring For Modular and Reusable Communication Software.EURECOM/Siemens, Technical Report, June 1999.
[JBP99]
Matthias Jung, Ernst W. Biersack, and Alexander Pilger.Implementing Network Protocols in Java - A Framework for Rapid Prototyping.In Proceedings of ICEIS, pages 649--656, Setubal, Portugal, March 1999.

Btroup Home Page