Devil: an Idl for Hardware Programming Fabrice Mérillon, Laurent Réveillère, Charles Consel, Renaud Marlet, Gilles Muller
نویسنده
چکیده
To keep up with the frantic pace at which devices come out, drivers need to be quickly developed, debugged and tested. Although a driver is a critical system component, the driver development process has made little (if any) progress. The situation is particularly disastrous when considering the hardware operating code (i.e., the layer interacting with the device). Writing this code often relies on an inaccurate or incomplete device documentation and involves assembly-level operations. As a result, hardware operating code is tedious to write, prone to errors, and hard to debug and maintain. This paper presents a new approach to developing hardware operating code based on an Interface Deenition Language (IDL) for hardware functionalities, named Devil. This IDL allows a high-level deenition of the communication with a device. A compiler automatically checks the consistency of a Devil deenition and generates eecient low-level code. Our contributions are as follows. We introduce an expressive language to specify hardware operating layers. This expres-siveness is demonstrated by the wide variety of devices that we have already speciied The long-awaited notion of robustness for hardware operating code is made possible by the Devil compiler which checks safety critical properties. An experimental study comparing hardware operating code in C to that generated from Devil demonstrates that writing a Devil speciication is up to 5.9 times less prone to errors than writing C code, with minor (if any) loss in performance. Devil: un langage de d eclaration d'interfaces pour la programmation des circuits p eriph eriques R esum e : Pour suivre la cadence eeren ee a laquelle de nouveaux p eriph eriques sortent sur le march e, les pilotes correspondants doivent souvent ^ etre d evelopp es, d ebogu es et test es dans un temps tr es court. Bien que les pilotes de p eriph eriques soient des composants critiques des syst emes d'exploitation, leur processus de d eveloppement n'a pas vraiment progress e. Pour la couche basse des pilotes (c-ad , celle qui interagit directement avec le mat eriel), la situation est particuli erement d esastreuse. En eeet, le d eveloppement de cette couche n ecessite l'analyse d'une documentation trop souvent impr ecise ou incompl ete et son ecriture rel eve d'instructions de niveau assembleur. En cons equence, la couche basse des pilotes est sujette aux erreurs, diicile a ecrire, a d eboguer et a maintenir. Cet article pr esente une nouvelle approche du d …
منابع مشابه
Towards Verifiable Device Drivers: an Approach Based on Domain-specific Languages Fabrice Mérillon Laurent Réveillère Charles Consel Robin Hansen Renaud Marlet
Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on ambiguous or incomplete documentation , to determine how to operate a device. Then, assembly-level operations need to be used to interact with the device. ...
متن کاملA DSL Approach to Improve Productivity and Safety in Device Drivers Development
Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on inaccurate documentation. Then, assembly-level operations need to be used to interact with the device. These low-level operations reduce the readability of...
متن کاملTowards Verifiable Device Drivers: An Approach based on Domain-Specific Languages
Although peripheral devices come out at a frantic pace and require fast releases of drivers, little progress has been made to improve the development of drivers. Too often, this development consists of decoding hardware intricacies, based on ambiguous or incomplete documentation , to determine how to operate a device. Then, assembly-level operations need to be used to interact with the device. ...
متن کاملImproving Driver Robustness: an Evaluation of the Devil Approach Laurent Réveillère and Gilles Muller
To keep up with the frantic pace at which devices come out, drivers need to be quickly developed, debugged and tested. We have recently introduced a new approach to improve driver robustness based on an Interface Definition Language, named Devil. Devil allows a high-level definition of the communication of a device. A compiler automatically checks the consistency of a Devil specification and ge...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000