Abstract
The notion of feature is heavily used in Software Engineering, especially for software product lines. However, this notion appears to be confusing, mixing various aspects of problem and solution. In this paper, we attempt to clarify the notion of feature in the light of Zave and Jackson’s framework for Requirements Engineering. By redefining a problem-level feature as a set of related requirements, specifications and domain assumptions—the three types of statements central to Zave and Jackson’s framework—we also revisit the notion of feature interaction. This clarification work opens new perspectives on formal description and verification of software product lines. An important benefit of the approach is to enable an early identification of feature interactions taking place in the systems’ environment, a notoriously challenging problem. The approach is illustrated through a proof-of-concept prototype tool and applied to a Smart Home example.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Pohl, K., Bockle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)
Batory, D.S.: Feature-oriented programming and the ahead tool suite. In: 26th International Conference on Software Engineering (ICSE 2004), Edinburgh, United Kingdom, May 23-28, 2004, pp. 702–703 (2004)
Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University (November 1990)
Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Feature Diagrams: A Survey and A Formal Semantics. In: Proceedings of the 14th IEEE International Requirements Engineering Conference (RE 2006), Minneapolis, Minnesota, USA, September 2006, pp. 139–148 (2006)
Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics of feature diagrams. In: Computer Networks (2006). special issue on feature interactions in emerging application domains, vol. 38 (2006), (doi:10.1016/j.comnet.2006.08.008)
Eisenecker, U.W., Czarnecki, K.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)
Metzger, A., Heymans, P., Pohl, K., Schobbens, P.Y., Saval, G.: Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. In: Proceedings of the 15th IEEE International Requirements Engineering Conference (RE 2007), New Delhi, India, October 2007, pp. 243–253 (2007)
Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: Form: A feature-oriented reuse method with domain-specific reference architectures. Annales of Software Engineering 5, 143–168 (1998)
Bosch, J.: Design and use of software architectures: adopting and evolving a product-line approach. ACM Press/Addison-Wesley, New York (2000)
Chen, K., Zhang, W., Zhao, H., Mei, H.: An approach to constructing feature models based on requirements clustering. In: Proceedings of the 13th IEEE International Conference on Requirements Engineering (RE 2005), pp. 31–40 (2005)
Batory, D.: Feature modularity for product-lines. In: OOPSLA 2006 Generative Programming and Component Engineering (GPCE) (tutorial) (October 2006)
Batory, D., Benavides, D., Ruiz-Cortes, A.: Automated analysis of feature models: Challenges ahead. Communications of the ACM (December 2006)
Apel, S., Lengauer, C., Batory, D., Möller, B.: Kästner, C.: An algebra for feature-oriented software development. Technical report, Fakultät für Informatik und Mathematik, Universität Passau (2007)
Classen, A.: Problem-oriented modelling and verification of software product lines. Master’s thesis, Computer Science Department, University of Namur, Belgium (June 2007)
Zave, P., Jackson, M.A.: Four dark corners of requirements engineering. ACM Transactions on Software Engineering and Methodology 6(1), 1–30 (1997)
Gunter, C.A., Gunter, E.L., Jackson, M., Zave, P.: A reference model for requirements and specifications. IEEE Software 17(3), 37–43 (2000)
Cheng, B.H., Atlee, J.M.: Research directions in requirements engineering. In: Proceedings of the 29th International Conference on Software Engineering (ICSE 2007), May 20-26 (2007)
Metzger, A., Bühne, S., Lauenroth, K., Pohl, K.: Considering Feature Interactions in Product Lines: Towards the Automatic Derivation of Dependencies between Product Variants. In: Feature Interactions in Telecommunications and Software Systems VIII (ICFI 2005), June 2005, pp. 198–216. IOS Press, Leicester (2005)
Jackson, M.A.: Problem frames: analyzing and structuring software development problems. Addison-Wesley, Boston (2001)
Makinson, D.: General Patterns in Nonmonotonic Reasoning. In: Handbook of Logic in Artificial Intelligence and Logic Programming, vol. 2, pp. 35–110. Oxford University Press, Oxford (1994)
Batory, D.S.: Feature Models, Grammars, and Propositional Formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)
Wilson, M., Kolberg, M., Magill, E.H.: Considering side effects in service interactions in home automation - an online approach. In: Proceedings of the 9th International Conference on Feature Interactions in Software and Communication Systems (ICFI 2007), Grenoble, France, September 2007, pp. 187–202 (2007)
Hall, J.G., Rapanotti, L., Jackson, M.: Problem frame semantics for software development. Software and System Modeling 4(2), 189–198 (2005)
Calder, M., Kolberg, M., Magill, E.H., Reiff-Marganiec, S.: Feature interaction: a critical review and considered forecast. Computer Networks 41(1), 115–141 (2003)
Mueller, E.T.: Commonsense Reasoning. Morgan Kaufmann, San Francisco (2006)
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)
Classen, A., Heymans, P., Laney, R., Nuseibeh, B., Tun, T.T.: On the structure of problem variability: From feature diagrams to problem frames. In: Proceedings of the First International Workshop on Variability Modelling of Software-intensive Systems, Limerick, Ireland, LERO, January 2007, pp. 109–117 (2007)
Silva, A.: Requirements, domain and specifications: a viewpoint-based approach to requirements engineering. In: ICSE 2002: Proceedings of the 24th Int. Conference on Software Engineering, pp. 94–104. ACM Press, New York (2002)
Laney, R., Tun, T.T., Jackson, M., Nuseibeh, B.: Composing features by managing inconsistent requirements. In: Proceedings of the 9th International Conference on Feature Interactions in Software and Communication Systems (ICFI 2007), Grenoble, France, September 2007, pp. 141–156 (2007)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Classen, A., Heymans, P., Schobbens, PY. (2008). What’s in a Feature: A Requirements Engineering Perspective. In: Fiadeiro, J.L., Inverardi, P. (eds) Fundamental Approaches to Software Engineering. FASE 2008. Lecture Notes in Computer Science, vol 4961. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78743-3_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-78743-3_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78742-6
Online ISBN: 978-3-540-78743-3
eBook Packages: Computer ScienceComputer Science (R0)