Ph.D.
, Department of Computer Science, Princeton University

Home Personal Contact Me Quotes
Title
ESP: A language for programmable devices.

Authors
Sanjeev Kumar, Yitzhak Mandelbaum, Xiang Yu, Kai Li.

Publication
In the Proceedings of ACM Conference on Programming Language Design and Implementation (PLDI), Pages 309-320, Snowbird, Utah, June 2001.

Downloads
Paper: pdf [0.18MB ], ps [0.42MB ]
Talk: ppt

Abstract
This paper presents the design and implementation of Event-driven State-machines Programming (ESP)---a language for programmable devices. In traditional languages, like C, using event-driven state-machines forces a tradeoff that requires giving up ease of development and reliability to achieve high performance. ESP is designed to provide all of these three properties simultaneously.

ESP provides a comprehensive set of features to support development of compact and modular programs. The ESP compiler compiles the programs into two targets---a C file that can be used to generate efficient firmware for the device; and a specification that can be used by a verifier like SPIN to extensively test the firmware.

As a case study, we reimplemented VMMC firmware that runs on Myrinet network interface cards using ESP. We found that ESP simplifies the task of programming with event-driven state machines. It required an order of magnitude fewer lines of code than the previous implementation. We also found that model-checking verifiers like SPIN can be used to effectively debug the firmware. Finally, our measurements indicate that the performance overhead of using ESP is relatively small.


Home Personal Contact Me Quotes