OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
On the expressive power of programming languages
ESOP '90 Selected papers from the symposium on 3rd European symposium on programming
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Aspect-oriented programming: Introduction
Communications of the ACM
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
IEEE Transactions on Software Engineering
Variability management with feature-oriented programming and aspects
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
XVCL: a mechanism for handling variants in software product lines
Science of Computer Programming - Special issue: Software variability management
Feature oriented refactoring of legacy applications
Proceedings of the 28th international conference on Software engineering
Granularity in software product lines
Proceedings of the 30th international conference on Software engineering
A model of refactoring physically and virtually separated features
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
On the impact of the optional feature problem: analysis and case studies
Proceedings of the 13th International Software Product Line Conference
The Choice Calculus: A Representation for Software Variation
ACM Transactions on Software Engineering and Methodology (TOSEM)
Features, modularity, and variation points
Proceedings of the 5th International Workshop on Feature-Oriented Software Development
Hi-index | 0.00 |
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.