Title :
First-Class Change Objects for Feature-Oriented Programming
Author_Institution :
Programming Technol. Lab., Vrije Univ. Brussel, Brussels
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 system variations. Feature-oriented programming (FOP) is the research domain that targets this trend. We argue that the state-of-the-art approaches to FOP lack expressiveness because they specify a feature as a set of building blocks rather than a transition that has to be applied on a 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 FOP.
Keywords :
object-oriented programming; software engineering; composition verification; feature-oriented programming; first-class change objects; software construction; software modularity; software system; Application software; Cameras; Encapsulation; Filters; Hardware; Programming profession; Reverse engineering; Scholarships; Software maintenance; Software systems; Feature-oriented programming; First-class changes; Software variation;
Conference_Titel :
Reverse Engineering, 2008. WCRE '08. 15th Working Conference on
Conference_Location :
Antwerp
Print_ISBN :
978-0-7695-3429-9
DOI :
10.1109/WCRE.2008.43