Academic Commons

Articles

NDL: A Domain-Specific Language for Device Drivers

Conway, Christopher L.; Edwards, Stephen A.

Device drivers are difficult to write and error-prone. They are usually written in C, a fairly low-level language with minimal type safety and little support for device semantics. As a result, they have become a major source of instability in operating system code. This paper presents NDL, a language for device drivers. NDL provides high-level abstractions of device resources and constructs tailored to describing common device driver operations. We show that NDL allows for the coding of a semantically correct driver with a code size reduction of more than 50% and a minimal impact on performance.

Subjects

Files

Also Published In

Title
Proceedings of the 2004 ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES '04): Washington, DC, USA, June 11-13, 2004
DOI
https://doi.org/10.1145/998300.997169

More About This Work

Academic Units
Computer Science
Publisher
ACM
Published Here
March 8, 2012
Academic Commons provides global access to research and scholarship produced at Columbia University, Barnard College, Teachers College, Union Theological Seminary and Jewish Theological Seminary. Academic Commons is managed by the Columbia University Libraries.