A Formal Representation for Software Variation
Martin Erwig, Oregon State University, USA
Managing variations is a fundamental problem in software engineering that
surfaces in different forms, ranging from version control and configuration
management to feature modeling and software product lines. In this talk, I
present our recent work on the choice calculus, a fundamental representation
for software variation that can serve as a common language of discourse for
variation research, filling a role similar to lambda calculus in programming
language research.
After motivating the design of the choice calculus and sketching its syntax
and semantics, I will lay out a theory of software variation that is based on
sound transformations of variation artifacts and that allows the definition of
various strategic normal forms. Finally, I will sketch the basics of a design
theory for variation structures that provides guidance for the creation and
maintenance of variations.