Access control in feature-oriented programming

https://doi.org/10.1016/j.scico.2010.07.005Get rights and content
Under an Elsevier user license
open archive

Abstract

In feature-oriented programming (FOP) a programmer decomposes a program in terms of features. Ideally, features are implemented modularly so that they can be developed in isolation. Access control mechanisms in the form of access or visibility modifiers are an important ingredient to attain feature modularity as they allow programmers to hide and expose internal details of a module’s implementation. But developers of contemporary feature-oriented languages have not considered access control mechanisms so far. The absence of a well-defined access control model for FOP breaks encapsulation of feature code and leads to unexpected program behaviors and inadvertent type errors. We raise awareness of this problem, propose three feature-oriented access modifiers, and present a corresponding access modifier model. We offer an implementation of the model on the basis of a fully-fledged feature-oriented compiler. Finally, by analyzing ten feature-oriented programs, we explore the potential of feature-oriented modifiers in FOP.

Research highlights

► Contemporary access and visibility control mechanisms in feature-oriented programming languages are suboptimal (undefined semantics and limited expressiveness). ► There is a considerable potential for access and visibility modifiers tailored to feature-oriented programming, which is supported by an empirical study on ten non-trivial feature-oriented product lines. ► Most features of a sample of ten software product lines are largely self-referential, which supports the philosophy of viewing features as cohesive units that should be developed independently, rather than viewing features as transformations that have access to all program elements.

Keywords

Feature-oriented programming
Feature modularity
Access control
Access modifier model
Fuji

Cited by (0)