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.