Skip to main content
Log in

A metamodel for modeling system features and their refinement, constraint and interaction relationships

  • Special Issue Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

    We’re sorry, something doesn't seem to be working properly.

    Please try refreshing the page. If that doesn't work, please contact support so we can address the problem.

Abstract

This paper presents a metamodel for modeling system features and relationships between features. The underlying idea of this metamodel is to employ features as first-class entities in the problem space of software and to improve the customization of software by explicitly specifying both static and dynamic dependencies between system features. In this metamodel, features are organized as hierarchy structures by the refinement relationships, static dependencies between features are specified by the constraint relationships, and dynamic dependencies between features are captured by the interaction relationships. A first-order logic based method is proposed to formalize constraints and to verify constraints and customization. This paper also presents a framework for interaction classification, and an informal mapping between interactions and constraints through constraint semantics.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Barstow, D., Arango, G.: Designing software for customization and evolution. In: Proceedings of the Sixth International Workshop on Software Specification and Design, pp. 250–255 (1991)

  2. Kang, K.C. et al.: Feature-oriented domain analysis feasibility study. SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (November 1990)

  3. Kang, K.C. et al.: FORM: A feature-oriented reuse method with domain-specific architecture. Annals of Software Engineering 5, 143–168 (1998)

    Article  Google Scholar 

  4. Griss, M.L., Favaro, J., d'Alessandro, M.: Integrating feature modeling with the RSEB. In: Proceedings of Fifth International Conference on Software Reuse, pp.76–85. IEEE Computer Society, Canada (1998)

  5. Chastek G. et al.: Product line analysis: A practical introduction. (CMU/SEI-2001-TR-001), Software Engineering Institute, Carnegie Mellon University (2001)

  6. Palmer, S.R., Felsing, J.M.: A Practical Guide to Feature-Driven Development. Prentice Hall PTR (2002)

  7. Mehta, A., Heineman, G.T.: Evolving legacy system features into fine-grained components. In: Proceedings of the 24th International Conference on Software Engineering. Orlando, Florida (2002)

  8. Keck, D.O., Kuehn, P.J.: The feature and service interaction problem in telecommunications systems: A survey. IEEE Transactions on Software Engineering 10(24), 779–796 (1998)

    Article  Google Scholar 

  9. Antón, A.I., Potts, C.: Functional paleontology: The evolution of user-visible system services. IEEE Transactions on Software Engineering 29(2) (2003)

  10. Jackson, M., Zave, P.: Distributed feature composition: A virtual rchitecture for telecommunications services. Ieee Transactions on Software Engineering 24(10) (1998)

  11. Turner, C.R., Fuggetta, A., Lavazza, L., Wolf, A.L.: A conceptual basis for feature engineering. Journal of Systems and Software 49(1) (1999)

  12. Tracz, W.: The 3 cons of software reuse. In: Proceedings of the Third Annual Workshop: Methods and Tools for Reuse (1990)

  13. Edwards, S.H.: The 3C model of reusable software components. In: Proceedings of the Third Annual Workshop: Methods and Tools for Reuse (1990)

  14. Wiegers, K.E.: Software Requirements. Microsoft Press (1999)

  15. Griss, M.L.: Implementing product-line features with component reuse. In: Proceedings of Sixth International Conference on Software Reuse, pp. 137–152. LNCS 1844,Vienna (2000)

  16. Kang, K.C., Lee, K., Lee, J., Kim, S.: Feature oriented product line software engineering: principles and guidelines. A chapter in “Domain Oriented Systems Development—Practices and Perspectives”, UK, Gordon Breach Science Publishers (2002)

  17. Ferber, S., Haag J., Savolainen, J.: Feature interaction and dependencies: modeling features for reengineering a legacy product line. In: The Second Software Product Line Conference 2002, LNCS 2379, pp. 235–256 (2002)

  18. Carlshamre, P., Sandahl, K., Lindvall, M., Regnell, B.: Natt och Dag, J.L An industrial survey of requirements interdependencies in software product release planning. In Proceedings of Fifth IEEE International Symposium on Requirements Engineering, pp. 84–91 IEEE Computer Society (2001)

  19. Karlsson, J., Olsson, S., Ryan, K.: Improved practical support for large-scale requirements prioritizing. Requirements Engineering Journal 2(1), 51–60 (1997)

    Article  Google Scholar 

  20. SMV, Model Checking @CMU, The SMV System”, http://www-2.cs.cmu.edu/∼modelcheck/smv.html

  21. Mannion, M., Kaindl, H., Wheadon, J., Keepence, B.: Reusing single system requirements from application family requirements. In: Proceedings of the 21st International Conference on Software Engineering, pp. 453–462 (1999)

  22. Fife, L.D.: Feature interaction: How it works in telecommunication software. IEEE (1996)

  23. Buhr: Use case maps as architectural entities for complex systems. IEEE Transactions on Software Engineering 24(12) (1998)

  24. Garlan, D., Shaw, M.: An introduction to software architecture. In: Advances in Software Engineering and Knowledge Engineering, vol. 1. World Scientific (1993)

  25. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Inc. (1996)

  26. Biddle, R.L., Tempero, E.D.: Understanding the impact of language features on reusability. In: Proceedings Fourth International Conference on Software Reuse, pp. 52–61 (1996)

  27. Sutcliffe, A., Maiden, N.: The domain theory for requirements engineering. IEEE Transactions on Software Engineering 24(3) (1998)

  28. Jackson, M.: Problem Frames: Analysing and Structuring Software Development Problems. Addison-Wesley (2001)

  29. Mannion, M.: Using first-order logic for product line model validation. The Second Software Product Line Conference 2002, LNCS 2379, pp. 176–187 (2002)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hong Mei.

Additional information

Communicated by B. Schärtz and I. Krüger

Hong Mei received the BSc and MSc degrees in computer science from the Nanjing University of Aeronautics and Astronautics (NUAA), China, in 1984 and 1987, respectively, and the PhD degree in computer science from the Shanghai Jiao Tong University in 1992. He is currently a professor of Computer Science at the Peking University, China. His current research interests include Software Engineering and Software Engineering Environment, Software Reuse and Software Component Technology, Distributed Object Technology, and Programming Language. He has published more than 100 technical papers.

Wei Zhang received the BSc in Engineering Thermophysics and the MSc in Computer Science from the Nanjing University of Aeronautics and Astronautics (NUAA), China, in 1999 and 2002, respectively. He is currently a PhD student at the School of Electronics Engineering and Computer Science of the Peking University, China. His research interests include feature-oriented requirements modeling, feature-driven software architecture design and feature-oriented software reuse.

Haiyan Zhao received both the BSc and the MSc degree in Computer Science from the Peking Univeristy, China, and the Ph.D degree in Information Engineering from the University of Tokyo, Japan. She is currently an associate professor of Computer Science at the Peking University, China. Her research interests include Software Reuse, Domain Engineering, Domain Specific Languange and Program Transformation.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mei, H., Zhang, W. & Zhao, H. A metamodel for modeling system features and their refinement, constraint and interaction relationships. Softw Syst Model 5, 172–186 (2006). https://doi.org/10.1007/s10270-006-0004-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-006-0004-1

Keywords

Navigation