School of Computing

A process oriented approach to USB driver development

Carl G. Ritson and Frederick R.M. Barnes

In Alistair A. McEwan, Steve Schneider, Wilson Ifill, and Peter Welch, editors, Communicating Process Architectures 2007, volume 65 of Concurrent Systems Engineering Series, pages 182-196, Amsterdam, The Netherlands, July 2007. IOS Press.


Operating-systems are the core software component of many modern computer systems, ranging from small specialised embedded systems through to large distributed operating-systems. The demands placed upon these systems are increasingly complex, in particular the need to handle concurrency: to exploit increasingly parallel (multicore) hardware; support increasing numbers of user and system processes; and to take advantage of increasingly distributed and decentralised systems. The languages and designs that existing operating-systems employ provide little support for concurrency, leading to unmanageable programming complexities and ultimately errors in the resulting systems; hard to detect, hard to remove, and almost impossible to prove correct.

Implemented in occam-pi, a CSP derived language that provides guarantees of freedom from race-hazards and aliasing error, the RMoX operating-system represents a novel approach to operating-systems, utilising concurrency at all levels to simplify design and implementation. This paper presents the USB (universal serial bus) devicedriver infrastructure used in the RMoX system, demonstrating that a highly concurrent process-orientated approach to device-driver design and implementation is feasible, efficient and results in systems that are reliable, secure and scalable.

Download publication 155 kbytes (PDF)

Bibtex Record

author = {Carl G. Ritson and Frederick R.M. Barnes},
title = {A Process Oriented Approach to {USB} Driver Development},
month = {July},
year = {2007},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    publication_type = {inproceedings},
    submission_id = {24494_1205782955},
    ISBN = {978-1-58603-767-3},
    booktitle = {Communicating Process Architectures 2007},
    editor = {Alistair A. McEwan and Steve Schneider and Wilson Ifill and Peter Welch},
    volume = {65},
    series = {Concurrent Systems Engineering Series},
    address = {Amsterdam, The Netherlands},
    publisher = {IOS Press},
    ISSN = {1383-7575},
    refereed = {yes},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014