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.
- S. Apel and C. Kästner. An Overview of Feature-Oriented Software Development. Journal of Object Technology, 8(5): 49--84, 2009.Google ScholarCross Ref
- D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. on Software Engineering, 30(6): 355--371, 2004. Google ScholarDigital Library
- 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 ScholarDigital Library
- T. Elrad, R. E. Filman, and A. Bader. Aspect-Oriented Programming. Communications of the ACM, 44(10): 28--32, 2001. Google ScholarDigital Library
- 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 ScholarDigital Library
- M. Erwig and E. Walkingshaw. Variation Programming with the Choice Calculus. In Generative and Transformational Techniques in Software Engineering, 2011. To appear.Google Scholar
- M. Felleisen. On the Expressive Power of Programming Languages. Science of Computer Programming, 17(1--3): 35--75, 1991. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- M. Mezini and K. Ostermann. Variability Management with Feature-Oriented Programming and Aspects. ACM SIGSOFT Software Engineering Notes, 29(6): 127--136, 2004. Google ScholarDigital Library
- C. Prehofer. Feature-Oriented Programming: A Fresh Look at Objects. In European Conf. on Object-Oriented Programming, pages 419--443, 1997.Google Scholar
- 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 ScholarDigital Library
Index Terms
- A calculus for modeling and implementing variation
Recommendations
A calculus for modeling and implementing variation
GPCE '12We 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 ...
FeatureIDE: An extensible framework for feature-oriented software development
FeatureIDE is an open-source framework for feature-oriented software development (FOSD) based on Eclipse. FOSD is a paradigm for the construction, customization, and synthesis of software systems. Code artifacts are mapped to features, and a customized ...
Formula choice calculus
FOSD 2016: Proceedings of the 7th International Workshop on Feature-Oriented Software DevelopmentThe choice calculus is a simple metalanguage and associated theory that has been successfully applied to several problems of interest to the feature-oriented software development community. The formal presentation of the choice calculus essentially ...
Comments