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… (More)
This paper describes the design of an implementation of the Transmission Control Protocol using an extension of the Standard ML (SML) language. SML supports higher-order functions, modularity, and type-safe module composition. We find that by using SML we can achieve good structure and good performance simultaneously. Good structure includes a modular… (More)
The FoxNet is an implementation of the standard TCP/IP networking protocol stack using the Standard ML (SML) language. SML is a type-safe programming language with garbage collection, a unique and advanced module system, and machine-independent semantics. The FoxNet is a user-space implementation of TCP/IP that is built in SML by composing modular protocol… (More)
Threads can easily be implemented using first-class continuations, but the straightforward approaches for doing so lead to space leaks, especially in a language with exceptions like Standard ML. We show how these space leaks arise and give a new implementation for threads that is safe for space.
We have been studying communication in wireless ad-hoc sensor networks. One of the authors has designed the Multipath On-demand Routing (MOR) protocol , which makes use of all possible paths to a given destination. Each node in MOR has, wherever possible, a choice of next hops for a given destination. We have designed and implemented a MOR reliability… (More)
The hardware and low-level software in many mobile devices are capable of mobile-to-mobile communication, including ad-hoc mode for 802.11, Bluetooth, and cognitive radios. We have started to leverage this capability to provide in-terpersonal communication both over infrastructure networks (the Internet), and over ad-hoc and delay-tolerant networks composed… (More)
—Wireless sensor networks that are energy-constrained must transmit and receive data as efficiently as possible. If the transmission is delay tolerant, transferring blocks of accumulated data can be more efficient than transferring each sensed measurement as soon as it is available. This paper proposes a Block Transfer Protocol (BTP) designed for efficient… (More)