Results 1 -
4 of
4
Knit: Component Composition for Systems Software
- IN OSDI
, 2000
"... 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 c ..."
Abstract
-
Cited by 37 (3 self)
- Add to MetaCart
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.
Static and dynamic structure in design patterns
- Vlissides, Design Patterns-Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995 [Hann02] J. Hannemann, G. Kiczales, Design Pattern Implementation in Java and AspectJ. Proceedings of OOPSLA 2002 [Kicz97
, 2002
"... eeide @ cs. utah.edu Design patterns are a valuable mechanism for emphasizing struc-ture, capturing design expertise, and facilitating restructuring of software systems. Patterns are typically applied in the context of an object-oriented language and are implemented so that the pat-tern participants ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
eeide @ cs. utah.edu Design patterns are a valuable mechanism for emphasizing struc-ture, capturing design expertise, and facilitating restructuring of software systems. Patterns are typically applied in the context of an object-oriented language and are implemented so that the pat-tern participants correspond to object instances that are created and connected at run-time. This paper describes a complementary real-ization of design patterns, in which many pattern participants cor-respond to statically instantiated and connected components. Our approach separates the static parts of the software design from the dynamic parts of the system behavior. This separation makes the software design more amenable to analysis, thus en-abling more effective and domain-specific detection of system de-sign errors, prediction of run-time behavior, and more effective op-timization. This technique is applicable to imperative, functional, and object-oriented languages: we have extended C, Scheme, and Java with our component model. In this paper, we illustrate our ap-proach in the context of the OSKit, a collection of operating system components written in C. 1.
Knit: Component Composition for Systems Software
- In OSDI
, 2000
"... 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 c ..."
Abstract
- Add to MetaCart
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. 1 Components for Sys...
Appeared in the Workshop on Advanced Separation of Concerns in Software Engineering at ICSE 2001,
"... Knit is a new component specification and linking language. It was initially designed for low-level systems software, which requires especially flexible components with especially well-defined interfaces. For example, threads and virtual memory are typically implemented by components within the syst ..."
Abstract
- Add to MetaCart
Knit is a new component specification and linking language. It was initially designed for low-level systems software, which requires especially flexible components with especially well-defined interfaces. For example, threads and virtual memory are typically implemented by components within the system, instead of being supplied by some execution environment. Consequently, components used to construct the system must expose interactions with threads and memory. The component composition tool must then check the resulting system for correctness, and weave the components together to achieve reasonable performance.

