Advertisement

Feature Dependency Analysis for Product Line Component Design

  • Kwanwoo Lee
  • Kyo C. Kang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3107)

Abstract

Analyzing commonalities and variabilities among products of a product line is an essential activity for product line asset development. A feature-oriented approach to commonality and variability analysis (called feature modeling) has been used extensively for product line engineering. Feature modeling mainly focuses on identifying commonalities and variabilities among products of a product line and organizing them in terms of structural relationships (e.g., aggregation and generalization) and configuration dependencies (e.g., required and excluded). Although the structural relationships and configuration dependencies are essential inputs to product line asset development, they are not sufficient to develop reusable and adaptable product line assets. Other types of dependencies among features also have significant influences on the design of product line assets. In this paper, we extend the feature modeling to analyze feature dependencies that are useful in the design of reusable and adaptable product line components, and present design guidelines based on the extended model. An elevator control software example is used to illustrate the concept of the proposed method.

Keywords

Product Line Software Product Line Fire Fighter Feature Dependency Call Request 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison- Wesley, Upper Saddle River (2002)Google Scholar
  2. 2.
    Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)Google Scholar
  3. 3.
    Ferber, S., Haag, J., Savolainen, J.: Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 235–256. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  4. 4.
    Fey, D., Fajta, R., Boros, A.: Feature Modeling: A Meta-model to Enhance Usability and Usefulness. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 198–216. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Griss, M.: Implementing Product-Line Features by Composing Aspects. In: Donohoe, P. (ed.) Software Product Lines: Experience and Research Directions, Kluwer Academic Publishers, Boston (2000)Google Scholar
  6. 6.
    Griss, M., Favaro, J., d’Alessandro, M.: Integrating Feature Modeling with the RSEB. In: Proceedings of Fifth International Conference on Software Reuse, pp. 76–85 (1998)Google Scholar
  7. 7.
    Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8(3), 231–274 (1987)zbMATHMathSciNetCrossRefGoogle Scholar
  8. 8.
    Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture, Process and Organization for Business Success. Addison Wesley Longman, New York (1997)Google Scholar
  9. 9.
    Kang, K.C., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA (1990)Google Scholar
  10. 10.
    Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures. Annals of Software Engineering 5, 143–168 (1998)CrossRefGoogle Scholar
  11. 11.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J., Irwin, J.: Aspect-Oriented Programming. LNCS, vol. 1241, pp. 220–242 (1997)Google Scholar
  12. 12.
    Kimbler, K., Bouma, L.G.: Feature Interactions in Telecommunication and Software Systems V. IOS Press, Amsterdam (1998)Google Scholar
  13. 13.
    Lee, K., Kang, K.C., Chae, W., Choi, B.W.: Feature-Based Approach to Object-Oriented Engineering of Applications for Reuse. Software-Practice and Experience 30, 1025–1046 (2000)CrossRefGoogle Scholar
  14. 14.
    Lee, K., Kang, K.C., Lee, J.: Concepts and Guidelines of Feature Modeling for Product Line Software Engineering. In: Gacek, C. (ed.) ICSR 2002. LNCS, vol. 2319, pp. 62–77. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    van Hilst, M., Notkin, D.: Using C++ Templates to Implement Role-Based Designs. In: Proceedings of the 2nd JSSST International Symposium on Object Technologies for Advanced Software, pp. 22–37 (1996)Google Scholar
  16. 16.
    Vici, A.D., Argentieri, N.: FODAcom: An Experience with Domain Analysis in the Italian Telecom Industry. In: Proceedings of Fifth International Conference on Software Reuse, pp. 166–175 (1998)Google Scholar
  17. 17.
    Zalman, N.S.: Making the Method Fit: An Industrial Experience in Adopting FODA. In: Proceedings of Fourth International Conference on Software Reuse, pp. 233–235 (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Kwanwoo Lee
    • 1
  • Kyo C. Kang
    • 2
  1. 1.Division of Information EngineeringHansung UniversitySeoulKorea
  2. 2.Department of Computer Science and EngineeringPohang University of Science and TechnologyPohangKorea

Personalised recommendations