Knit - Component Composition for Systems Software

Alastair Reid, Matthew Flatt, Leigh Stoller, Jay Lepreau, Eric Eide
University of Utah
[pdf] [url]

4th Symposium on Operating System Design and Implementation (OSDI 2000)
San Diego, California, USA
October 2000

Abstract

Knit is a new component definition and linking language for systems code. Knit helps make C code more understandable and reusable by third parties, helps eliminate much of the performance overhead of componentization, detects subtle errors in component composition that cannot be caught with normal component type systems, and provides a foundation for developing future analyses over C-based components, such as cross-component optimization. The language is especially designed for use with component kits, where standard linking tools provide inadequate support for component configuration. In particular, we developed Knit for use with the OSKit, a large collection of components for building low-level systems. However, Knit is not OSKit-specific, and we have implemented parts of the Click modular router in terms of Knit components to illustrate the expressiveness and flexibility of our language. This paper provides an overview of the Knit language and its applications.

First page of paper

BibTeX

@inproceedings{DBLP:conf/osdi/ReidFSLE00 , abstract = { Knit is a new component definition and linking language for systems code. Knit helps make C code more understandable and reusable by third parties, helps eliminate much of the performance overhead of componentization, detects subtle errors in component composition that cannot be caught with normal component type systems, and provides a foundation for developing future analyses over C-based components, such as cross-component optimization. The language is especially designed for use with component kits, where standard linking tools provide inadequate support for component configuration. In particular, we developed Knit for use with the OSKit, a large collection of components for building low-level systems. However, Knit is not OSKit-specific, and we have implemented parts of the Click modular router in terms of Knit components to illustrate the expressiveness and flexibility of our language. This paper provides an overview of the Knit language and its applications. } , affiliation = {University of Utah} , ar_file = {OSDI_00} , ar_shortname = {OSDI 00} , author = {Alastair Reid and Matthew Flatt and Leigh Stoller and Jay Lepreau and Eric Eide} , booktitle = {4th Symposium on Operating System Design and Implementation (OSDI 2000)} , day = {23-25} , editor = {Michael B. Jones and M. Frans Kaashoek} , file = {knit-osdi00.pdf} , link = {http://dl.acm.org/citation.cfm?id=1251253} , location = {San Diego, California, USA} , month = {October} , pages = {347--360} , png = {knit-osdi00.png} , publisher = {USENIX Association} , title = {{K}nit: {C}omponent {C}omposition for {S}ystems {S}oftware} , url = {http://dl.acm.org/citation.cfm?id=1251253} , year = {2000} }