Abstract
This paper presents the design and implementation of Event-driven State-machines Programming (ESP)-a language for programmable devices. In traditional languages, like C1 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 mo del-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.
| Original language | English (US) |
|---|---|
| Pages | 309-320 |
| Number of pages | 12 |
| State | Published - 2001 |
| Event | ACM SIGPLAN'01 Conference on Programming Language Design and Implementation (PLDI) - Snowbird, UT, United States Duration: Jun 20 2001 → Jun 22 2001 |
Other
| Other | ACM SIGPLAN'01 Conference on Programming Language Design and Implementation (PLDI) |
|---|---|
| Country/Territory | United States |
| City | Snowbird, UT |
| Period | 6/20/01 → 6/22/01 |
All Science Journal Classification (ASJC) codes
- Software
Fingerprint
Dive into the research topics of 'ESP: A language for programmable devices'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver