Journal ArticleDOI
Superimposition: a component adaptation technique
TLDR
This article proposes superimposition, a novel black-box adaptation technique that allows one to impose predefined, but configurable types of functionality on a reusable component.Abstract:
Several authors have identified that the only feasible way to increase productivity in software construction is to reuse existing software. To achieve this, component-based software development is one of the more promising approaches. However, traditional research in component-oriented programming often assumes that components are reused “as-is”. Practitioners have found that “as-is” reuse seldom occurs and that reusable components generally need to be adapted to match the system requirements. Existing component object models provide only limited support for component adaptation, i.e. white-box techniques such as copy–paste and inheritance, and black-box approaches such as aggregation and wrapping. These techniques suffer from problems related to reusability, efficiency, implementation overhead or the self problem. To address these problems, this article proposes superimposition, a novel black-box adaptation technique that allows one to impose predefined, but configurable types of functionality on a reusable component. Three categories of typical adaptation types are discussed, related to the component interface, component composition and component monitoring. Superimposition and the types of component adaptation are exemplified by several examples.read more
Citations
More filters
Journal ArticleDOI
A taxonomy of variability realization techniques
TL;DR: The factors that are relevant in determining how to implement variability, and a taxonomy of variability realization techniques are described, are described and presented.
Proceedings ArticleDOI
FEATUREHOUSE: Language-independent, automated software composition
TL;DR: This work unify languages and tools that rely on superimposition by using the language-independent model of feature structure trees (FSTs), and proposes a general approach to the composition of software artifacts written in different languages.
Journal ArticleDOI
Aspectual Feature Modules
TL;DR: This work proposes the symbiosis of FOP and AOP and aspectual feature modules (AFMs), a programming technique that integrates feature modules and aspects and provides a set of tools that support implementing AFMs on top of Java and C++.
Book ChapterDOI
Type-Safe Delegation for Run-Time Component Adaptation
TL;DR: This paper presents a type-safe integration of delegation into a class-based object model and shows how it overcomes the problems faced by forwarding-based component interaction, how it supports independent extensibility of components and unanticipated, dynamic component adaptation.
Journal ArticleDOI
Twenty-eight years of component-based software engineering
Tassio Vale,Ivica Crnkovic,Eduardo Santana de Almeida,Paulo Anselmo da Mota Silveira Neto,Yguaratã Cerqueira Cavalcanti,Silvio Romero de Lemos Meira +5 more
TL;DR: This paper addresses five dimensions of CBSE: main objectives, research topics, application domains, research intensity and applied research methods, and synthesizes the available evidence, identifies open issues and points out areas that call for further research.
References
More filters
Book
Design Patterns: Elements of Reusable Object-Oriented Software
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
Journal ArticleDOI
Aspect-oriented programming
TL;DR: This work proposes to use aspect-orientation to automate the calculation of statistics for database optimization and shows how nicely the update functionality can be modularized in an aspect and how easy it is to specify the exact places and the time when statistics updates should be performed to speed up complex queries.
Book
The art of metaobject protocol
TL;DR: A new approach to programming language design is presented, which resolves fundamental tensions between elegance and efficiency, and a metaobject protocol is presented that gives users the ability to incrementally modify the language's behavior and implementation.
Book
The Art of the Metaobject Protocol
Gregor Kiczales,Jim des Rivieres +1 more
TL;DR: In this article, the authors present a new approach to programming language design, which resolves fundamental tensions between elegance and efficiency, called metaobject protocols, which are interfaces to the lanaguage that give users the ability to incrementally modify the language's behavior and implementation, as well as to write programs within the language.
Journal ArticleDOI
Object-oriented application frameworks
TL;DR: Object-oriented (OO) application frameworks are a promising technology for reifying proven software designs and implementations in order to reduce the cost and improve the quality of software.