Title
HAIL: a language for easy and correct device access
Abstract
It is difficult to write device drivers. One factor is that writing low-level code for accessing devices and manipulating their registers is tedious and error-prone. For many system-on-chip based systems, buggy hardware, imprecise documentation, and code reuse worsen the situation further. This paper presents HAIL (Hardware Access Interface Language), a language-based approach to simplify device access programming and generate error checking code against bugs in software, hardware, and documentation. HAIL is a domain-specific language that specifies all aspects of a device's programming interface and the access methods in a particular system and OS. A compiler automatically checks the specification and translates it into C code for device access, with optional debugging code. The generated code can be included directly into device driver code. In the paper, we argue that HAIL lowers development effort, incurs minimal runtime overhead, and reduces device access related bugs. We also show that the HAIL specification can be reused for different operating systems, thereby reducing porting costs.
Year
DOI
Venue
2005
10.1145/1086228.1086230
EMSOFT
Keywords
Field
DocType
correct device access,device access programming,error checking code,hail specification,device driver,device access,optional debugging code,c code,low-level code,device driver code,accessing device,embedded systems,domain specific language,embedded system,system on chip,generalization error,domain specific languages,access method
Code bloat,Programming language,Access method,Computer science,Source code,Debug code,Code generation,Compiler,Real-time computing,Code reuse,Operating system,Dead code
Conference
ISBN
Citations 
PageRank 
1-59593-091-4
15
0.87
References 
Authors
9
4
Name
Order
Citations
PageRank
Jun Sun1150.87
Wanghong Yuan246028.79
Mahesh Kallahalla353934.54
Nayeem Islam4150.87