{"title":"Name resolution strategies in variability realization languages for software product lines","authors":"Sven Schuster, M. Nieke, Ina Schaefer","doi":"10.1145/3001867.3001869","DOIUrl":null,"url":null,"abstract":"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, adding a layer of variability. Creating a variabilityaware Abstract Syntax Graph (ASG), i.e., an ASG that contains the complete variability of the SPL, facilitates family-based analyses and is essential for supporting developers during SPL development. To this end, name resolution has to be performed. However, name resolution for these languages is a challenge as multiple declarations for the same element may occur in different modules. In this paper, we propose four name resolution strategies for compositional and transformational SPL realization languages and discuss their benefits and drawbacks, categorized by relevant application scenarios of the ASG.","PeriodicalId":153261,"journal":{"name":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 7th International Workshop on Feature-Oriented Software Development","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3001867.3001869","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
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, adding a layer of variability. Creating a variabilityaware Abstract Syntax Graph (ASG), i.e., an ASG that contains the complete variability of the SPL, facilitates family-based analyses and is essential for supporting developers during SPL development. To this end, name resolution has to be performed. However, name resolution for these languages is a challenge as multiple declarations for the same element may occur in different modules. In this paper, we propose four name resolution strategies for compositional and transformational SPL realization languages and discuss their benefits and drawbacks, categorized by relevant application scenarios of the ASG.