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 Scholar
Cross Ref
- D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling Step-Wise Refinement. IEEE Trans. on Software Engineering, 30(6): 355--371, 2004. Google Scholar
Digital 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 Scholar
Digital Library
- T. Elrad, R. E. Filman, and A. Bader. Aspect-Oriented Programming. Communications of the ACM, 44(10): 28--32, 2001. Google Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Cross 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 Scholar
Cross 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
Index Terms
A calculus for modeling and implementing variation
Recommendations
A calculus for modeling and implementing variation
GPCE '12: Proceedings of the 11th International Conference on Generative Programming and Component EngineeringWe 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 ...
A model elimination calculus for generalized clauses
IJCAI'91: Proceedings of the 12th international joint conference on Artificial intelligence - Volume 1Generalized clauses differ from (ordinary) clauses by allowing conjunctions of literals in the role of (ordinary) literals, i.e. they are disjunctions of conjunctions of simple literals. An advantage of this clausal form is that implications with ...






Comments