MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Feature-oriented programming: A fresh look at objects (1997) [61 citations — 6 self]

Download:
Download as a PDF | Download as a PS
by Christian Prehofer
http://www4.informatik.tu-muenchen.de/papers/ecoop_prehofer_1997_Publication.ps.gz
Add To MetaCart

Abstract:

Abstract. We propose a new model for flexible composition of objects from a set of features. Features are similar to (abstract) subclasses, but only provide the core functionality of a (sub)class. Overwriting other methods is viewed as resolving feature interactions and is specified separately for two features at a time. This programming model allows to compose features (almost) freely in a way which generalizes inheritance and aggregation. For a set of n features, an exponential number of different feature combinations is possible, assuming a quadratic number of interaction resolutions. We present the feature model as an extension of Java and give two translations to Java, one via inheritance and the other via aggregation. We further discuss parameterized features, which work nicely with our feature model and can be translated into Pizza, an extension of Java. 1

Citations

1415 The Java Language Specification – Gosling, Joy, et al. - 1996
1268 The C++ Programming Language – Stroustrup - 1997
483 Self: the power of simplicity, in – Ungar, Smith - 1987
331 Mixin-based inheritance, in – Bracha, Cook - 1990
298 Pizza into Java: Translating theory into practice – Odersky, Wadler - 1997
86 Delegation is inheritance – Stein - 1987
79 The Java Language Speci cation – Gosling, Joy, et al. - 1996
64 Feature interactions and formal specifications in telecommunications – Zave - 1993
58 Evolution of Object Behavior Using Context Relations – Seiter, Palsberg, et al. - 1998
50 Refactoring: An aid in designing application frameworks and evolving object-oriented systems – Opdyke, Johnson - 1990
29 Delegation in C – Johnson, Zweig - 1991
17 Design Patterns: MicroArchitectures for Reusable Object-Oriented Design – Gamma, Helm, et al. - 1994
10 An object-oriented approach to feature interaction – Prehofer - 1997
7 Feature interactions and formal speci cations in telecommunications – Zave - 1993
5 Understanding CLOS: The Common Lisp Object System – Lawless, Miller - 1991
3 From inheritance to feature interaction or composing monads – Prehofer - 1997
2 From inheritance to feature interaction – Prehofer - 1997
2 Dynamic Object Modification without Name Collisions – Mezini - 1997
1 Prototype of a run-time adaptable object-oriented system – Frohlich - 1996
1 Dynamic object modi cation without name collisions – Mezini