Name Resolution Strategies in Variability Realization Languages for Software Product Lines
Software Product Lines (SPLs) exploit reuse-in-the-large to enable customization by explicitly modeling commonalities and variabilities of closely related software systems. Different approaches exist to enable SPL development and product creation by using modular languages, such as Feature-Oriented Programming (FOP) (compositional) or Delta-Oriented Programming (DOP) (transformational). These languages incorporate, e.g., object-oriented languages, and add a layer of variability. Creating a variability-aware Abstract Syntax Tree (AST), i.e., an AST that comprehends all modules at once and, thus, the variability of the SPL, facilitates family-based analyses and is essential for enabling tool support for SPL development. To create a variability-aware AST, these languages must be parsed and semantic analyses have to be performed, which includes name resolution. For these languages, name resolution is a challenge as multiple declarations for the same element may occur in different modules. In this talk, we propose different name resolution strategies for compositional and transformational SPL languages and reason about their benefits and drawbacks, categorized by relevant application scenarios of the AST.
Sun 25 Oct
|13:30 - 14:00|
Anastasia IzmaylovaCentrum Wiskunde & Informatica
|14:00 - 14:30|
Michael D. AdamsUniversity of Utah
|14:30 - 15:00|