First class feature abstractions for product derivation

First class feature abstractions for product derivation

For access to this article, please select a purchase option:

Buy article PDF
(plus tax if applicable)
Buy Knowledge Pack
10 articles for $120.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Your details
Why are you recommending this title?
Select reason:
IEE Proceedings - Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

The authors have observed that large software systems are increasingly defined in terms of the features they implement. Consequently, there is a need to express the commonalities and variability between products of a product family in terms of features. Unfortunately, technology support for the early aspect of a feature is currently limited to the requirements level. There is a need to extend this support to the design and implementation level as well. Existing separation of concerns technologies, such as AOP and SOP, may be of use here. However, features are not first class citizens in these paradigms. To address this and to explore the problems and issues with respect to features and feature composition, the authors have formalised the notion of features in a feature model. The feature model relates features to a component role model. Using our model and a composition algorithm, a number of base components and a number of features may be selected from a software product family and a product derived. As a proof of concept, the authors have experimented extensively with a prototype Java implementation of their approach.


    1. 1)
      • J. Bosch . (2000) Design & use of software architectures – adopting and evolving a product-line approach.
    2. 2)
      • Bosch, J.: `Maturity and evolution in software product lines: approaches, artefacts and organization', Proc. 2nd Software Product Line Conf. (SPLC2), San Diego, August 2002, p. 257–271.
    3. 3)
      • Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: `Feature oriented domain analysis (FODA) feasibility study', CMU/SEI-90-TR-21, Technical Report, .
    4. 4)
      • K.C. Kang . FORM: a feature-oriented reuse method with domain-specific architectures. Ann. Softw. Eng. , 354 - 355
    5. 5)
      • Griss, M.L.: `Implementing product-line features by composing component aspects', Proc. 1st Int. Software Product Line Conf., Denver CO, August 2000, p. 271–288.
    6. 6)
      • Rashid, A., Sawyer, P., Moreira, A., Araujo, J.: `Early aspects: a model for aspect-oriented requirements engineering', Proc. IEEE Joint Int. Conf. on Requirements Engineering, Essen, Germany, 9–13 September 2002, p. 199–202.
    7. 7)
      • Gibson, P.: `Feature requirements models: understanding interactions', Presented at IEEE 4th Int. Workshop on Feature Interactions in Networks and Distributed Systems (FIW), June 1997, Montreal, Canada.
    8. 8)
      • M.L. Griss . Implementing product-line features with component reuse. Lect. Notes Comput. Sci. , 137 - 152
    9. 9)
    10. 10)
      • Zave, P.: `Feature-oriented description, formal methods, and DFC', Proc. FIRE-works Workshop on Language Constructs for Describing Features, Glasgow, 15–16 May 2000, p. 11–26.
    11. 11)
      • O.A. Agha . (1986) Actors: a model of concurrent computation in distributed systems.
    12. 12)
    13. 13)
      • Kiczalez, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Irwin, J.: `Aspect oriented programming', Proc. 11th European Conf. on Object-oriented Programming (ECOOP), Jyväskylä, Finland, 9–13 June 1997, p. 220–242.
    14. 14)
      • G. Kiczales , E. Hilsdale , J. Hugunin , M. Kersten , J. Palm , W.G. Griswold . An overview of AspectJ. Lect. Notes Comput. Sci. , 327 - 353
    15. 15)
      • Jansen, A.G.J.: `Feature based composition', , Master Thesis computer science, University of Groningen.
    16. 16)
      • Harrison, W., Ossher, H.: `Subject-oriented programming a critique of pure objects', Proc. 1993 Conf. on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Washington, DC, 26 September–1 October 1993, p. 411–428.
    17. 17)
      • Tarr, P., Ossher, H., Harrison, W.: `N degrees of separation: multi-dimensional separation of concerns', Int. Conf. on Software Engineering (ICSE), Los Angeles, CA, 16–22 May 1999, p. 419–443.
    18. 18)
      • H. Ossher , P. Tarr , M. Akcit . (2001) Multi-dimensional separation of concerns and the hyperspace approach, Software architectures and component technology.
    19. 19)
      • C. Prehofer . Feature-oriented programming: a fresh look at objects. Lect. Notes Comput. Sci.
    20. 20)
      • Prehofer, C.: `An object-oriented approach to feature interaction', Presented at 4th IEEE Workshop on Feature Interactions in Telecommunications Networks and Distributed Systems, 17–19 June 1997, Montreal, Canada.
    21. 21)
      • Griss, M.L., Favaroe, J., d'Alessandro, M.: `Integrating feature modeling with the RSEB', Proc. 5th Int. Conf. on Software Reuse, Los Alamitos, CA, USA, 1998, p. 76–85.
    22. 22)
      • K. Czarnecki , U.W. Eisenecker . (2000) Generative programming. methods, tools, and applications.
    23. 23)
      • T. Reenskaug . (1996) Working with objects - The OOram software engineering method.
    24. 24)
      • Riehle, D., Gross, T.: `Role model based framework design and integration', Proc. Conf. on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), Vancouver, BC, 18–22 October 1998, p. 117–133.
    25. 25)
      • Fowler, M.: `Dealing with roles', 4th Annual Conf. on Pattern Languages of programs’. Mantiello, Ullinios, USA, 2–7 September 1997.
    26. 26)
      • Smaragdakis, Y., Batory, D.: `Implementing layered designs with mixin layers', Proc. 12th Eur. Conf. on Object-Oriented Programming (ECOOP), Brussels, July 1998, p. 550–570.
    27. 27)
      • van Gurp, J., Bosch, J., Svahnberg, M.: `On the notion of variability in software product lines', Proc. Working IEEE/IFIP Conf. on Software Architecture (WICSA), Amsterdam, 28–31 August 2001, p. 45–54.
    28. 28)
      • van Deursen, A., de Jonge, M., Kuipers, T.: `Feature-based product line instantiation using source-level packages', Proc. 2nd Software Product Line Conference (SPLC2), San Diego, CA, 19–22 August 2002, p. 217–234.
    29. 29)
      • L. Bass , P. Clements , R. Kazman . (2003) Software architecture in practice.

Related content

This is a required field
Please enter a valid email address