Software variation by means of first-class change objects

Peter Ebraert, Leonel Merino, Theo D’Hondt · 2008

Abstract—A growing trend in software construction advocates the encapsulation of software building blocks as features which better match the specification of requirements. As a result, programmers find it easier to design and compose different variations of their systems. Feature-oriented programming (FOP) is the research domain that targets this trend. We argue that the state-of-the-art techniques for FOP have shortcomings because they specify a feature as a set of building blocks rather than a transition that has to be applied on a software system in order to add that feature’s functionality to the system. We propose to specify features as sets of first-class change objects which can add, modify or delete building blocks to or from a software system. We present ChEOPS, a proof-of-concept implementation of this approach and use it to show how our approach contributes to FOP on three levels: expressiveness, composition verification and bottom-up development. F 1 SOFTWARE PRODUCT LINING CUSTOMERS are becoming more and more demand-ing and cost-conscious. They want specific products that exactly cope with their needs at the lowest cost possible. From the producers point of view, these two requirements are usually conflicting. The development of a specific product for every client takes a lot of time and

Read the paper · More papers on PaperTik