SIGCOMM '88 Symposium proceedings on Communications architectures and protocols
FUDGETS: a graphical user interface in a lazy functional language
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Composition Validation and Subjectivity in GenVoca Generators
IEEE Transactions on Software Engineering
The Flux OSKit: a substrate for kernel and language research
Proceedings of the sixteenth ACM symposium on Operating systems principles
Units: cool modules for HOT languages
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Modular object-oriented programming with units and mixins
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Type-safe linking and modular assembly language
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Building reliable, high-performance communication systems from components
Proceedings of the seventeenth ACM symposium on Operating systems principles
Proceedings of the seventeenth ACM symposium on Operating systems principles
MMLite: a highly componentized system architecture
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
Import is Not Inheritance - Why We Need Both: Modules and Classes
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
COMPCON '97 Proceedings of the 42nd IEEE International Computer Conference
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
The pebble component-based operating system
ATEC '99 Proceedings of the annual conference on USENIX Annual Technical Conference
Static and dynamic structure in design patterns
Proceedings of the 24th International Conference on Software Engineering
Programming language optimizations for modular router configurations
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
An Efficient Component Model for the Construction of Adaptive Middleware
Middleware '01 Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg
VEST - A Toolset for Constructing and Analyzing Component Based Embedded Systems
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
Think: A Software Framework for Component-based Operating System Kernels
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
VEST: An Aspect-Based Composition Tool for Real-Time Systems
RTAS '03 Proceedings of the The 9th IEEE Real-Time and Embedded Technology and Applications Symposium
OS portal: an economic approach for making an embedded kernel extensible
Journal of Systems and Software
NETKIT: a software component-based approach to programmable networking
ACM SIGCOMM Computer Communication Review
Exploiting prescriptive aspects: a design time capability
Proceedings of the 4th ACM international conference on Embedded software
DREAM: a component framework for the construction of resource-aware, reconfigurable MOMs
ARM '04 Proceedings of the 3rd workshop on Adaptive and reflective middleware
A sensor network application construction kit (SNACK)
SenSys '04 Proceedings of the 2nd international conference on Embedded networked sensor systems
DREAM: A Component Framework for Constructing Resource-Aware, Configurable Middleware
IEEE Distributed Systems Online
Eliminating stack overflow by abstract interpretation
ACM Transactions on Embedded Computing Systems (TECS)
An approach for a dependable Java embedded environment
EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
Design and implementation of the Lambda μ-kernel based operating system for embedded systems
EW 10 Proceedings of the 10th workshop on ACM SIGOPS European workshop
Constructing component-based extension interfaces in legacy systems code
Proceedings of the 11th workshop on ACM SIGOPS European workshop
BOTS: a constraint-based component system for synthesizing scalable software systems
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
Modular information hiding and type-safe linking for C
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
An aspect-oriented approach to bypassing middleware layers
Proceedings of the 6th international conference on Aspect-oriented software development
Supporting Heterogeneous Architecture Descriptions in an Extensible Toolset
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Towards trustworthy computing systems: taking microkernels to the next level
ACM SIGOPS Operating Systems Review
Rethinking software connectors
International workshop on Synthesis and analysis of component connectors: in conjunction with the 6th ESEC/FSE joint meeting
A generic component model for building systems software
ACM Transactions on Computer Systems (TOCS)
Architecting reconfigurable component-based operating systems
Journal of Systems Architecture: the EUROMICRO Journal
A tag-based approach for the design and composition of information processing applications
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Typing communicating component assemblages
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
Typing Component-Based Communication Systems
FMOODS '09/FORTE '09 Proceedings of the Joint 11th IFIP WG 6.1 International Conference FMOODS '09 and 29th IFIP WG 6.1 International Conference FORTE '09 on Formal Techniques for Distributed Systems
Component-Based Real-Time Operating System for Embedded Applications
CBSE '09 Proceedings of the 12th International Symposium on Component-Based Software Engineering
The mythical matched modules: overcoming the tyranny of inflexible software construction
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Mashup-based information retrieval for domain experts
Proceedings of the 18th ACM conference on Information and knowledge management
A dynamic platform for run-time adaptation
Pervasive and Mobile Computing
Architecting dynamic reconfiguration in dependable systems
Architecting dependable systems IV
Experience with safe dynamic reconfigurations in component-based embedded systems
CBSE'07 Proceedings of the 10th international conference on Component-based software engineering
Experiences with codifying event processing function patterns
Proceedings of the Fourth ACM International Conference on Distributed Event-Based Systems
Component adaptation and assembly using interface relations
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Application-Tailored I/O with Streamline
ACM Transactions on Computer Systems (TOCS)
Proceedings of the sixth conference on Computer systems
Programming sensor networks using REMORA component model
DCOSS'10 Proceedings of the 6th IEEE international conference on Distributed Computing in Sensor Systems
Lean and efficient system software product lines: where aspects beat objects
Transactions on Aspect-Oriented Software Development II
A three-tier approach for composition of real-time embedded software stacks
CBSE'10 Proceedings of the 13th international conference on Component-Based Software Engineering
Evolution for the sustainability of internetware
Proceedings of the Fourth Asia-Pacific Symposium on Internetware
Hi-index | 0.00 |
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.