A generic component model for building systems software

Geoff Coulson*, Gordon Blair, Paul Grace, Francois Taiani, Ackbar Joolia, Kevin Lee, Jo Ueyama, Thirunavukkarasu Sivaharan

*Corresponding author for this work

    Research output: Contribution to journalArticlepeer-review

    Abstract

    Component-based software structuring principles are now commonplace at the application level; but componentization is far less established when it comes to building low-level systems software. Although there have been pioneering efforts in applying componentization to systems-building, these efforts have tended to target specific application domains (e.g., embedded systems, operating systems, communications systems, programmable networking environments, or middleware platforms). They also tend to be targeted at specific deployment environments (e.g., standard personal computer (PC) environments, network processors, or microcontrollers). The disadvantage of this narrow targeting is that it fails to maximize the genericity and abstraction potential of the component approach. In this article, we argue for the benefits and feasibility of a generic yet tailorable approach to component-based systems-building that offers a uniform programming model that is applicable in a wide range of systems-oriented target domains and deployment environments. The component model, called OpenCom, is supported by a reflective runtime architecture that is itself built from components. After describing OpenCom and evaluating its performance and overhead characteristics, we present and evaluate two case studies of systems we have built using OpenCom technology, thus illustrating its benefits and its general applicability.

    Original languageEnglish
    Article number1
    JournalACM Transactions on Computer Systems
    Volume26
    Issue number1
    DOIs
    Publication statusPublished - 1 Mar 2008

    Keywords

    • Component-based software
    • Computer systems implementation

    Fingerprint

    Dive into the research topics of 'A generic component model for building systems software'. Together they form a unique fingerprint.

    Cite this