[Prev][Next][Index][Thread]
Release of "Knit" component composition toolset
Knit's first target was the OSKit, but it's a tool of general utility.
The University of Utah's Flux Research Group announces the first release
of the "Knit" component composition toolset. Knit is a new component
definition and linking language which can be used with C and assembly
code. Get Knit's open source code, examples, papers, and docs at:
http://www.cs.utah.edu/flux/knit/
Knit:
o supports components created from C and assembly code;
o supports component definitions that require little or no
modification of existing code;
o automatically schedules component initializers and finalizers;
o provides an extensible constraint system to detect subtle
errors in component composition;
o provides cross-module inlining that largely eliminates
the overheads of componentization;
o supports component hierarchies;
o supports cyclic component dependencies.
Knit can be used for any C program, but is especially well suited for
use in systems that have some of the following characteristics:
Many separate components, multiple implementations of the same
component, intricate initialization requirements, complex component
interdependencies, low-level code and embedded systems, or code that
is used in radically different configurations.
As described in our OSDI 2000 paper, we have already used Knit with the
Utah OSKit (a kit of OS components which has all these properties) and
with a suite of network router components based on MIT's "Click."
Knit is part of an ongoing R&D effort. One challenge is to balance
precision and conciseness of expression. We seek feedback, external users,
and collaborators whose experiences and insight will help evolve Knit.
To join the knit-users or knit-announce mailing lists, send email to
majordomo@flux.cs.utah.edu with, e.g, "subscribe knit-users" in the body.
Thanks go to DARPA for their support, and thanks go to the entire Knit
crew below, but especially Alastair Reid, for the fine research,
development, and hard work that led to this Knit release. Matthew Flatt's
foundational work on Units underlies this work; Eric Eide is responsible
for the high quality of the tutorial and manual.
Kota Abe Sean McDirmid
Eric Eide John Regehr
Matthew Flatt Alastair Reid
Mike Hibler Leigh Stoller
Jay Lepreau Patrick Tullmann
and Alastair says... Enjoy!
Jay Lepreau, lepreau@cs.utah.edu
Flux Research Group, School of Computing
University of Utah