Module interconnection languages
Journal of Systems and Software
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
The Flux OSKit: a substrate for kernel and language research
Proceedings of the sixteenth ACM symposium on Operating systems principles
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
Units: cool modules for HOT languages
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Partial evaluation for software engineering
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Modular object-oriented programming with units and mixins
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
The Java programming language (2nd ed.)
The Java programming language (2nd ed.)
A Classification and Comparison Framework for Software Architecture Description Languages
IEEE Transactions on Software Engineering
Type-based race detection for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
MultiJava: modular open classes and symmetric multiple dispatch for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Jiazzi: new-age components for old-fasioned Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Checking system rules using system-specific, programmer-written compiler extensions
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Knit: component composition for systems software
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Rethinking software connectors
International workshop on Synthesis and analysis of component connectors: in conjunction with the 6th ESEC/FSE joint meeting
Edicts: implementing features with flexible binding times
Proceedings of the 7th international conference on Aspect-oriented software development
View-based maintenance of graphical user interfaces
Proceedings of the 7th international conference on Aspect-oriented software development
TECDP: a tool for extracting creational design patterns
Proceedings of the International Conference and Workshop on Emerging Trends in Technology
A methodology to assess the impact of design patterns on software quality
Information and Software Technology
Hi-index | 0.00 |
Design patterns are a valuable mechanism for emphasizing structure, 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 pattern participants correspond to object instances that are created and connected at run-time. This paper describes a complementary realization of design patterns, in which many pattern participants correspond 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 enabling more effective and domain-specific detection of system design errors, prediction of run-time behavior, and more effective optimization. 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 approach in the context of the OSKit, a collection of operating system components written in C.