Title
Signatures for a network protocol stack: a systems application of Standard ML
Abstract
Advanced programming languages such as Standard ML have rarely been used for systems programming tasks such as operating systems and network communications. In order to understand more fully the requirements of systems programming, we have implemented a suite of industry-standard network communication protocols in a completely type-safe extension of Standard ML. While the implementation has only recently become operational, we already observe acceptable communications throughput. We make careful use of the Standard ML modules system, with the core component of the implementation being a signature which is generic to all communications protocols. This generic protocol is then specialized for specific protocols, and these are implemented by functors parameterized by generic protocols. This leads naturally to a layered system structure and also provides an important and useful “mix-and-match” capability in composing protocols into complex networking systems.We have found the advanced features of Standard ML, in particular the modules system, static typing, and higher-order functions, to be extremely useful in building complex communications systems. The type compatibility of the various components of a system is guaranteed by the compiler. Furthermore, we find it significant that most of the information needed to understand the structure and interactions in our code can be obtained from a study of the signatures alone. Perhaps most important is that we have been able to use the expressive power of Standard ML modules to give concrete expression to previously ad hoc system-structuring concepts developed by other researchers in the field of network communications. For language designers and implementors, our experience has also pointed out specific areas for further work that may lead to advanced languages that are useful for systems programming.
Year
DOI
Venue
1994
10.1145/182409.182431
LISP and Functional Programming
Keywords
Field
DocType
acceptable communications throughput,systems programming,standard ml module,network communication,systems application,systems programming task,network protocol,standard ml modules system,complex communications system,communications protocol,generic protocol,standard ml,operating system,communication protocol,programming language,communication system,expressive power,complex network,higher order functions
System programming,Programming language,Suite,Standard ML,Computer science,Communications system,Compiler,Theoretical computer science,Throughput,Protocol stack,Communications protocol,Distributed computing
Conference
Volume
Issue
ISSN
VII
3
1045-3563
ISBN
Citations 
PageRank 
0-89791-643-3
23
3.47
References 
Authors
7
4
Name
Order
Citations
PageRank
Edoardo Biagioni116019.87
Robert Harper22213225.81
Peter Lee 00013975147.71
Brian G. Milnes4233.47