Adding Features to Component-Based Systems

  • Maritta Heisel
  • Jeanine Souquières
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2975)


Features and components are two different structuring mechanisms for software systems. Both are very useful, but lead to different structures for the same system. Usually, features are spread over more than one component. In this paper, we aim at reconciling the two structuring mechanisms. We show how component orientation can support adding new features to a base system. We present a method for adding features in a systematic way to component-based systems that have been specified according to the method proposed by Cheesman and Daniels [5].


Class Diagram Object Constraint Language Reservation System Component Architecture User Story 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading (1999)Google Scholar
  2. 2.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison-Wesley, Reading (1999)Google Scholar
  3. 3.
    Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Chichester (1996)Google Scholar
  4. 4.
    Calder, M., Miller, A.: Detecting feature interactions: how many components do we need? In: Ryan, M.D., Meyer, J.-J.C., Ehrich, H.-D. (eds.) Objects, Agents, and Features. LNCS, vol. 2975, pp. 45–66. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Cheesman, J., Daniels, J.: UML Components – A Simple Process for Specifying Component-Based Software. Addison-Wesley, Reading (2001)Google Scholar
  6. 6.
    Coad, P., Lefebvre, E., De Luca, J.: Java Modeling In Color With UML. Prentice-Hall, Englewood Cliffs (1999)Google Scholar
  7. 7.
    Coleman, D., Arnold, P., Bodoff, S., Dollin, C., Gilchrist, H., Hayes, F., Jeremaes, P.: Object- Oriented Development: The Fusion Method. Prentice-Hall, Englewood Cliffs (1994)Google Scholar
  8. 8.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addison Wesley, Reading (1995)Google Scholar
  9. 9.
    Gilmore, S., Ryan, M. (eds.): Language Constructs for Describing Features. Springer, Heidelberg (2000)Google Scholar
  10. 10.
    Heineman, G.T., Councill, W.T.: Component-Based Software Engineering. Addison-Wesley, Reading (2001)Google Scholar
  11. 11.
    Heisel, M., Santen, T., Souquièeres, J.: Toward a formal model of software components. In: George, C.W., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 57–68. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Heisel, M., Souquièeres, J.: A heuristic algorithm to detect feature interactions in requirements. In: Gilmore, S., Ryan, M. (eds.) Language Constructs for Describing Features, pp. 143–162. Springer, Heidelberg (2000)Google Scholar
  13. 13.
    Heisel, M., von Schwichow, C.: A method for guiding software evolution. In: Proceedings IASTED Conference on Software Engineering, SE 2004 (2004) (to appear)Google Scholar
  14. 14.
    Jackson, M.: Problem Frames. Analyzing and structuring software development problems. Addison-Wesley, Reading (2001)Google Scholar
  15. 15.
    Jarke, M.: Requirements tracing. Communications of the ACM, 32–36 (December 1998)Google Scholar
  16. 16.
    Kiczales, G.: Aspect oriented programming. ACM SIGPLAN Notices 32(10), 162–162 (1997)CrossRefGoogle Scholar
  17. 17.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)zbMATHGoogle Scholar
  18. 18.
    Microsoft Corporation. COM+ (2002),
  19. 19.
    The Object Mangagement Group (OMG). Corba Component Model, v3.0 (2002),
  20. 20.
    Shaw, M., Garlan, D.: Software Architecture. Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  21. 21.
    Sun Microsystems. JavaBeans Specification, Version 1.01(1997),
  22. 22.
    Sun Microsystems. Enterprise JavaBeans Specification, Version 2.0 (2001),
  23. 23.
    Szyperski, C.: Component Software. ACM Press, Addison-Wesley (1999)Google Scholar
  24. 24.
    Reid Turner, C., Fuggetta, A., Lavazza, L., Wolf, A.: A conceptual basis for feature engineering. Journal of Systems and Software 49(1), 3–15 (1999)CrossRefGoogle Scholar
  25. 25.
    Warmer, J., Kleppe, A.G.: The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading (1999)Google Scholar
  26. 26.
    Zave, P.: Architectural solutions to feature-interaction problems in telecommunications. In: Kimbler, K., Bouma, W. (eds.) Proc. 5th Feature Interaction Workshop, pp. 10–22. IOS Press, Amsterdam (1998)Google Scholar
  27. 27.
    Zave, P.: Feature-oriented description, formal methods, and DFC. In: Gilmore, S., Ryan, M. (eds.) Language Constructs for Describing Features, pp. 11–26. Springer, Heidelberg (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Maritta Heisel
    • 1
  • Jeanine Souquières
    • 2
  1. 1.Fakultät für Informatik, Institut für Verteilte SystemeOtto-von-Guericke-Universität MagdeburgMagdeburgGermany
  2. 2.LORIA – Université Nancy2, Bâtiment LORIAVandœuvre-les-NancyFrance

Personalised recommendations