skip to main content
10.1145/2371401.2371421acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
research-article

A calculus for modeling and implementing variation

Published:26 September 2012Publication History

ABSTRACT

We present a formal calculus for modeling and implementing variation in software. It unifies the compositional and annotative approaches to feature implementation and supports the development of abstractions that can be used to directly relate feature models to their implementation. Since the compositional and annotative approaches are complementary, the calculus enables implementers to use the best combination of tools for the job and focus on inherent feature interactions, rather than those introduced by biases in the representation. The calculus also supports the abstraction of recurring variational patterns and provides a metaprogramming platform for organizing variation in artifacts.

References

  1. S. Apel and C. Kästner. An Overview of Feature-Oriented Software Development. Journal of Object Technology, 8(5): 49--84, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  2. D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. on Software Engineering, 30(6): 355--371, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Bracha and W. Cook. Mixin-Based Inheritance. In ACM SIGPLAN Int. Conf. on Object-Oriented Programming, Systems, Languages, and Applications, pages 303--311, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. Elrad, R. E. Filman, and A. Bader. Aspect-Oriented Programming. Communications of the ACM, 44(10): 28--32, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Erwig and E. Walkingshaw. The Choice Calculus: A Representation for Software Variation. ACM Trans. on Software Engineering and Methodology, 21(1): 6:1--6:27, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Erwig and E. Walkingshaw. Variation Programming with the Choice Calculus. In Generative and Transformational Techniques in Software Engineering, 2011. To appear.Google ScholarGoogle Scholar
  7. M. Felleisen. On the Expressive Power of Programming Languages. Science of Computer Programming, 17(1--3): 35--75, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Nov. 1990.Google ScholarGoogle ScholarCross RefCross Ref
  9. C. Kästner and S. Apel. Integrating Compositional and Annotative Approaches for Product Line Engineering. In GPCE Workshop on Modularization, Composition and Generative Techniques for Product Line Engineering, pages 35--40, 2008.Google ScholarGoogle Scholar
  10. C. Kästner and S. Apel. Virtual Separation of Concerns---A Second Chance for Preprocessors. Journal of Object Technology, 8(6): 59--78, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  11. C. Kästner, S. Apel, and M. Kuhlemann. Granularity in Software Product Lines. In IEEE Int. Conf. on Software Engineering, pages 311--320, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Kästner, S. Apel, and M. Kuhlemann. A Model of Refactoring Physically and Virtually Separated Features. In Int. Conf. on Generative Programming and Component Engineering, pages 157--166, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Kästner, S. Apel, S. S. ur Rahman, M. Rosenmüller, D. Batory, and G. Saake. On the Impact of the Optional Feature Problem: Analysis and Case Studies. In Int. Software Product Line Conf., pages 181--190, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An Overview of AspectJ. In European Conf. on Object-Oriented Programming, volume 2072 of LNCS, pages 327--354. Springer-Verlang, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. Kohlbecker, D. Friedman, M. Felleisen, and B. Duba. Hygienic Macro Expansion. In ACM Conf. on LISP and Functional Programming, pages 151--161, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. Le, E. Walkingshaw, and M. Erwig. #ifdef Confirmed Harmful: Promoting Understandable Software Variation. In IEEE Int. Symp. on Visual Languages and Human-Centric Computing, pages 143--150, 2011.Google ScholarGoogle Scholar
  17. J. Liu, D. Batory, and C. Lengauer. Feature Oriented Refactoring of Legacy Applications. In IEEE Int. Conf. on Software Engineering, pages 112--121, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. Mezini and K. Ostermann. Variability Management with Feature-Oriented Programming and Aspects. ACM SIGSOFT Software Engineering Notes, 29(6): 127--136, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Prehofer. Feature-Oriented Programming: A Fresh Look at Objects. In European Conf. on Object-Oriented Programming, pages 419--443, 1997.Google ScholarGoogle Scholar
  20. H. Zhang and S. Jarzabek. XVCL: A Mechanism for Handling Variants in Software Product Lines. Science of Computer Programming, 53(3): 381--407, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A calculus for modeling and implementing variation

          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
          • Published in

            cover image ACM Conferences
            GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component Engineering
            September 2012
            148 pages
            ISBN:9781450311298
            DOI:10.1145/2371401
            • cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 48, Issue 3
              GPCE '12
              March 2013
              140 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/2480361
              Issue’s Table of Contents

            Copyright © 2012 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 26 September 2012

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate56of180submissions,31%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader