2001
DOI: 10.1002/cpe.583
|View full text |Cite
|
Sign up to set email alerts
|

Feature‐oriented programming: A new way of object composition

Abstract: SUMMARYWe propose a new model for flexible composition of objects from a set of features. Features are services of an object and are similar to classes in object-oriented languages. In many cases, features have to be adapted in the presence of other features, which is also called the feature interaction problem. We introduce explicit interaction handlers which can adapt features to other features by overriding methods. When features are composed, the appropriate interaction handling is added in a way which gen… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
6
0

Year Published

2005
2005
2023
2023

Publication Types

Select...
5
3

Relationship

0
8

Authors

Journals

citations
Cited by 21 publications
(8 citation statements)
references
References 18 publications
0
6
0
Order By: Relevance
“…The subject of evolution. VRSs face variability at different degrees of automation (ad-hoc vs. systematic) through different implementation mechanisms: annotative approaches like pre-processor directives [14] or feature toggles [15]; compositional approaches such as source code super-imposition and merge [16]; generative programming [17], feature-oriented programming [18,19], aspect-oriented programming [20] or delta-oriented programming [21]. The binding time of the variability is also relevant ranging from design-time to runtime, the latter enabling the creation of self-adaptive systems (aka Dynamic SPLs [22]).…”
Section: Dimension 1: Analysis Scenariosmentioning
confidence: 99%
“…The subject of evolution. VRSs face variability at different degrees of automation (ad-hoc vs. systematic) through different implementation mechanisms: annotative approaches like pre-processor directives [14] or feature toggles [15]; compositional approaches such as source code super-imposition and merge [16]; generative programming [17], feature-oriented programming [18,19], aspect-oriented programming [20] or delta-oriented programming [21]. The binding time of the variability is also relevant ranging from design-time to runtime, the latter enabling the creation of self-adaptive systems (aka Dynamic SPLs [22]).…”
Section: Dimension 1: Analysis Scenariosmentioning
confidence: 99%
“…The suitable solution is to separate the development of features from classes. Inheritance-based approaches (like single/multiple inheritance, mixin [4][5][6]), Role-based approaches (like mixin-layers [22,23], Ob-jectTeams/Java [8], and J& [16]), approaches based on separation of concern (like aspect-oriented programming (AOP) [11], Hyper/J [24], and FOP [18][19][20][21]), and step-wise refining models (like refinement [2]), have had the same idea. They allow programmers to have features apart from classes and compose them on demand.…”
Section: Introductionmentioning
confidence: 99%
“…Product derivation is done by selecting only the artifacts with the desired annotations based on a configuration. Feature-Oriented Programming (FOP) [25] uses features to wrap the artifacts and describes a compositional approach to deriving new products. Other approaches [13] involve model transformations where artifacts can be both removed and added to existing models.…”
Section: Introductionmentioning
confidence: 99%