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.



Also Published In

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

More About This Work

Academic Units
Computer Science
Published Here
March 8, 2012