ACM Home Page
Please provide us with feedback. Feedback
Signatures for a network protocol stack: a systems application of Standard ML
Full text PdfPdf (1.14 MB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1994 ACM conference on LISP and functional programming table of contents
Orlando, Florida, United States
Pages: 55 - 64  
Year of Publication: 1994
ISBN:0-89791-643-3
Also published in ...
Authors
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 22,   Citation Count: 20
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/182409.182431
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Mark B. Abbott and Larry L. Peterson. Automated integration of communication protocol layers. Technical Report TR 92-24, Department of Computer Science, University of Arizona, December 1992.
2
3
 
4
David D. Clark, Van Jacobson, John Romkey, and Howard Salwen. An analysis of TCP processing overhead. IEEE Communications, 27(6), June 1989.
 
5
J. D. Day and H. Zimmerman. The OSI reference model. Proceedings o/ the IEEE, 71(12):1334-1340, 1983.
 
6
 
7
Robert Harper, Bruce F. Dubs, and David MacQueen. Typing first-class continuations in ML. The Journal of Functional Programming, 1994. to appear.
 
8
USC Information Sciences Institute. Internet protocol. RFC 791, September 1981.
9
 
10
R. Rashid, R. Baron, A. Forin, D. Golub, M. Jones, D. Orr, and R. Sanzi. Mach: A foundation for open systems (operating systems). In Workstation Operating Systems: Proceedings of the Second Workshop on Workstat,on Operating Systems, September 1989.

CITED BY  20
 
 
 

Collaborative Colleagues:
Edoardo Biagioni: colleagues
Robert Harper: colleagues
Peter Lee: colleagues
Brian G. Milnes: colleagues

Peer to Peer - Readers of this Article have also read: