Classboxes: supporting unanticipated variation points in the source code

Alexandre Bergel, Claus Lewerentz, Liam O’Brien · Arrow@dit (Dublin Institute of Technology) · 2007

Software product lines refer to engineering techniques for creating a portfolio of similar software systems from a shared set of software assets in a controlled way. Managing variability is the key issue of software product line practice. Modelling variation points is largely addressed by a selection of linguistic constructs and modelling techniques (e.g., design pattern, macro, configuration files). New constraints and industrial requirements often result in the emergence of new variation points. The success of the evolution of a product line depends on its capability to absorb unanticipated variation points. This paper presents the classboxes programming construct to support unanticipated variation point in the software source code. Classboxes offer a visibility mechanism that controls the scope of an evolution step and limits it only to the part of a program that needs to be affected by this evolution. Benefits of classboxes are illustrated on an arcade game maker product line.

Read the paper · More papers on PaperTik