Software engineering techniques for support of communication protocol implementation

Jung, Matthias
Thesis

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 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 and a RTP/RTCP snoop application.


Type:
Thesis
Date:
2000-10-03
Department:
Digital Security
Eurecom Ref:
919
Copyright:
© Université de Nice. Personal use of this material is permitted. The definitive version of this paper was published in Thesis and is available at :
See also:

PERMALINK : https://www.eurecom.fr/publication/919