Authors:
Sven Apel
;
Martin Kuhlemann
and
Thomas Leich
Affiliation:
Otto-von-Guericke-Universität Magdeburg, Germany
Keyword(s):
Feature-oriented programming, generics, program customization, software reuse, software product lines.
Related
Ontology
Subjects/Areas/Topics:
Applications and Software Development
;
Component-Based Software Engineering
;
Embedded Communications Systems
;
Languages and Compilers
;
Model-Driven Software Development
;
Object-Oriented Programming
;
Programming Languages
;
Software Architectures
;
Software Engineering
;
Telecommunications
Abstract:
With feature-oriented programming (FOP) and generics programmers have proper means for structuring software so that its elements can be reused and extended. This paper addresses the issue whether both approaches are equivalent. While FOP targets at large-scale building blocks and compositional programming, generics provide fine-grained customization at type-level. We contribute an analysis that reveals the individual capabilities of both approaches with respect to program customization. Therefrom, we extract guidelines for programmers in what situations which approach suffices. Furthermore, we present a fully implemented language proposal that integrates FOP and generics in order to combine their strengths. Our approach facilitates two-staged program customization: (1) selecting sets of features; (2) parameterizing features subsequently. This allows a broader spectrum of code reuse to be covered – reflected by proper language level mechanisms. We underpin our proposal by means of a c
ase study.
(More)