skip to main content
research-article

Feature interactions, products, and composition

Published:22 October 2011Publication History
Skip Abstract Section

Abstract

The relationship between feature modules and feature interactions is not well-understood. To explain classic examples of feature interaction, we show that features are not only composed sequentially, but also by cross-product and interaction operations that heretofore were implicit in the literature. Using the Colored IDE (CIDE) tool as our starting point, we (a) present a formal model of these operations, (b) show how it connects and explains previously unrelated results in Feature Oriented Software Development (FOSD), and (c) describe a tool, based on our formalism, that demonstrates how changes in composed documents can be back-propagated to their original feature module definitions, thereby improving FOSD tooling.

References

  1. A. Aho, M. S. Lam, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools Second Edition. pearson Education, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. S. Apel and C. Kästner. An overview of feature-oriented software development. Journal of Object Technology, July-August 2009.Google ScholarGoogle Scholar
  3. S. Apel, C. Kästner, and D. Batory. Aspectual feature modules. ACM TSE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Apel, C. Kastner, and C. Lengauer. Featurehouse: Language-independent, automated software composition. In ICSE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Apel, C. Lengauer, B. Möller, and C. Kästner. An algebraic foundation for automatic feature-based program synthesis. Science of Computer Programming, pages 1022--1047, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Apel, W. Scholz, C. Lengauer, and C. Kästner. Detecting dependences and interactions in feature-oriented design. In ISSRE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Bassett. Frame-based software engineering. IEEE Software, 4(4), 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Batory. Feature Models, Grammars, and Propositional Formulas. In SPLC, Sept. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Batory, J. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE TSE, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Calder, M. Kolberg, E. H. Magill, and S. Reiff-Marganiec. Feature interaction: A critical review and considered forecast. In Computer Networks, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Clarke, M. Helvensteijn, and I. Schaefer. Abstract delta modeling. In GPCE, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. K. Czarnecki and M. Antkiewicz. Mapping features to models: A template approach based on superimposed variants. In GPCE, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Delaware, W. Cook, and D. Batory. Theorem proving for product lines. In OOPSLA/SPLASH, 2011.Google ScholarGoogle Scholar
  14. Z. Diskin. Algebraic models for bidirectional model synchronization. In MoDELS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. N. Foster, M. Greenwald, J. T. Moore, B. C. Pierce, and A. Schmitt. Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. In POPL, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. C. Ghezzi, M. Jazayeri, and D. Mandrioli. Fundamentals of Software Engineering. Prentice Hall, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. E. International. Office open XML file formats, 2nd Edition. http://www.ecma-international.org/publications/standards/Ecma-376.htm, 2008.Google ScholarGoogle Scholar
  18. M. Jackson and P. Zave. Distributed feature composition: A virtual architecture for telecommunications services. IEEE TSE, Oct 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. Kang. Private Correspondence, Oct. 2003.Google ScholarGoogle Scholar
  20. K. Kang, S. Cohen, J. Hess, W. Novak, and A. Peterson. Feature-oriented domain analysis (foda) feasibility study. Carnegie Mellon University/SEI-90-TR-021, 1990.Google ScholarGoogle Scholar
  21. C. Kästner. Virtual Separation of Concerns: Toward Preprocessors 2.0. PhD thesis, University of Magdeburg, 2010.Google ScholarGoogle Scholar
  22. C. Kästner, S. Apel, and M. Kuhlemann. Granularity in software product lines. In ICSE, 2008.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. C. Kästner and et al. On the impact of the optional feature problem: Analysis and case studies. In SPLC, 2009.Google ScholarGoogle Scholar
  24. C. H. P. Kim, C. Kästner, and D. Batory. On the modularity of feature interactions. In GPCE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Kim. Paan: A Tool for Back-Propagating Changes to Projected Documents. M.Sc. Thesis, The University of Texas at Austin, 2011.Google ScholarGoogle Scholar
  26. J. Liu, D. Batory, and C. Lengauer. Feature Oriented Refactoring of Legacy Applications. In ICSE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. Liu, D. Batory, and S. Nedunuri. Modeling interactions in feature oriented designs. In Int. Conf. on Feature Interactions, 2005.Google ScholarGoogle Scholar
  28. R. Lopez-Herrejon, D. Batory, and C. Lengauer. A Disciplined Approach to Aspect Composition. In PEPM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. W. McCune. Prover9 and Mace4. http://www.cs.unm.edu/~mccune/prover9/, 2010.Google ScholarGoogle Scholar
  30. C. Prehofer. Feature Oriented Programming: A Fresh Look at Objects. In ECOOP, 1997.Google ScholarGoogle ScholarCross RefCross Ref
  31. Automatic generation of word document variants. http://www.pure-systems.com/flash/pv-wordintegration/flash.html, 2010.Google ScholarGoogle Scholar
  32. R. Rabiser and et al. A Flexible Approach for Generating Product-Specific Documents in Product Lines. In SPLC, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. D. Roundy. Darcs: Distributed version management in haskell. In Workshop on Haskell, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. I. Schaefer, L. Bettini, F. Damiani, and N. Tanzarella. Delta-oriented programming of software product lines. In SPLC, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Feature interactions, products, and composition

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM SIGPLAN Notices
                ACM SIGPLAN Notices  Volume 47, Issue 3
                GCPE '11
                March 2012
                179 pages
                ISSN:0362-1340
                EISSN:1558-1160
                DOI:10.1145/2189751
                Issue’s Table of Contents
                • cover image ACM Conferences
                  GPCE '11: Proceedings of the 10th ACM international conference on Generative programming and component engineering
                  October 2011
                  194 pages
                  ISBN:9781450306898
                  DOI:10.1145/2047862

                Copyright © 2011 ACM

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 22 October 2011

                Check for updates

                Qualifiers

                • research-article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!