Semantics of Protocol Modules Composition and Interaction

This paper studies the semantics of protocol modules composition and interaction in configurable communication systems. We present a semantic model describing Cactus and Appia -- two frameworks that are used for implementing modular systems. The model covers protocol graph, session and channel creation, and inter-module communication of events and messages. To build the model, we defined a source-code-validated specification of a large fragment of the programming interface provided by the frameworks; we developed an operational semantics describing the behaviour of the operations through state transitions, making explicit interactions between modules. Developing the model and a small example implementing a configurable multicast helped us to better understand the design choices in these frameworks. The work reported in this paper is our first step towards reasoning about systems composed from collections of modules.

[1]  Larry L. Peterson,et al.  The x-Kernel: An Architecture for Implementing Network Protocols , 1991, IEEE Trans. Software Eng..

[2]  Kenneth P. Birman,et al.  Reliable communication in the presence of failures , 1987, TOCS.

[3]  Matti A. Hiltunen,et al.  Coyote: a system for constructing fine-grain configurable communication services , 1998, TOCS.

[4]  Peter Sewell,et al.  The UDP Calculus: Rigorous Semantics for Real Networking , 2001, TACS.

[5]  Luís E. T. Rodrigues,et al.  Appia, a flexible protocol kernel supporting multiple coordinated channels , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[6]  Matti A. Hiltunen Configuration management for highly-customisable software , 1998, IEE Proc. Softw..

[7]  Paweł T. Wojciechowski,et al.  Nomadic pict: language and infrastructure design for mobile computation , 2000 .

[8]  Hugo Miranda,et al.  Light-Weight Groups: an implementation in Ensemble , 2001 .

[9]  Mark Garland Hayden,et al.  The Ensemble System , 1998 .

[10]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[11]  Neeraj Suri,et al.  On simplifying modular specification and verification of distributed protocols , 2001, Proceedings Sixth IEEE International Symposium on High Assurance Systems Engineering. Special Topic: Impact of Networking.

[12]  Benjamin C. Pierce,et al.  Location-Independent Communication for Mobile Agents: A Two-Level Architecture , 1998, ICCL Workshop: Internet Programming Languages.

[13]  Matti A. Hiltunen,et al.  A Configurable Membership Service , 1998, IEEE Trans. Computers.

[14]  Sam Toueg,et al.  A Modular Approach to Fault-Tolerant Broadcasts and Related Problems , 1994 .

[15]  Peter Sewell,et al.  Nomadic Pict: language and infrastructure design for mobile agents , 1999, Proceedings. First and Third International Symposium on Agent Systems Applications, and Mobile Agents.