Standard ML Signatures for a Protocol Stack

reportActive / Technical Report | Accession Number: ADA272060 | Open PDF

Abstract:

This paper describes the design of a protocol stack implemented in Standard ML. Standard MLs signatures are a language construct which can be used to specify or constrain the interface of a module. The design includes both a generic signature which generalizes all the protocol modules, and individual signatures specific to each protocol module. The specific signatures all inherit from the generic signature. The implementation of each protocol is parametrized, so protocols can be composed into custom protocol stacks. The parameter to each protocol is constrained only by the generic signature, and this lets any protocol instance satisfying a specific signature be used as the parameter to any other protocol. As a result, the design and implementation are highly modular, and syntactic compatibility between modules is checked by the compiler. To provide some context for the discussion of the signatures, some of the details of the implementation are also presented.

Security Markings

DOCUMENT & CONTEXTUAL SUMMARY

Distribution:
Approved For Public Release
Distribution Statement:
Approved For Public Release; Distribution Is Unlimited.

RECORD

Collection: TR
Identifying Numbers
Subject Terms