PARIS: a system for reusing partially interpreted schemas
ICSE '87 Proceedings of the 9th international conference on Software Engineering
The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
An overview of the Mjølner BETA system
Software engineering environments
Design patterns for object-oriented software development
Design patterns for object-oriented software development
Meta-programming composers in second-generation component systems
Proceedings of the IFIP TC2 WG2.4 working conference on Systems implementation 2000 : languages, methods and tools: languages, methods and tools
Extreme programming explained: embrace change
Extreme programming explained: embrace change
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
The GenVoca Model of Software-System Generators
IEEE Software
From Macros to Reusable Generative Programming
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
Designing an Extensible Distributed Language with a Meta-Level Architecture
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
CLU REFERENCE MANUAL
Semantically-Sensitive Macroprocessing
Semantically-Sensitive Macroprocessing
Variability management with feature models
Science of Computer Programming - Special issue: Software variability management
Architectural styles for active documents
Science of Computer Programming - Special issue on new software composition concepts
Hi-index | 0.00 |
For flexible use in application contexts, software components should be parameterized, but also extended appropriately. Until now, there is no language mechanism to solve both problems uniformly. This paper presents a new concept, component hooks. Hooks are similar to generic component parameters but go some steps beyond. Firstly, they allow genericity on arbitrary program elements, leading to generic program elements. Secondly, they introduce an abstraction layer on generic parameters, allowing for structured generic parameters that bind several program elements together. Thirdly, if they are abstract set or sequence values, they can also be used to extend components. Lastly, since they only rely on a meta model they are a language independent concept which can be applied to all languages.Hooks form a basic parameterization concept for components written in languages with a meta model. For such languages, hooks generalize many well known generic language mechanisms, such as macros, semantic macros, generic type parameters, or nested generics. They also provide a basic concept to realize simple forms of aspect weavers and other advanced software engineering concepts.