{"title":"On Determining Variability Annotations In Partially Annotated Models","authors":"Sandra Greiner, B. Westfechtel","doi":"10.1145/3302333.3302341","DOIUrl":null,"url":null,"abstract":"In model-driven software product line engineering (SPLE) the superset of products is developed over models. A feature model typically states the discriminating and common factors of the software. In annotative approaches model elements are associated with variability annotations which are boolean expressions over the features defining in which products the elements are visible. When the product line is defined over different models, the developer wants to annotate the model of one type and transform it to different representations, e.g., a (UML) class diagram into a relational database schema for establishing an object-relational mapping. Assigning the annotations manually to the target model is an error-prone and laborious task. In a black-box approach we automatically assign the correct annotations to the target model without analyzing the transformation specification. It is an easy task in the case of 1:1 mappings where the annotation of the source element is copied to the corresponding element in the target model. Typically this kind of information is available, e.g., in traces written during the transformation execution. In reality, more complex mappings are frequent but the correspondences harder to determine. Assuming a target model is already annotated with the annotation of 1:1 correspondences, a certain number of elements remains without annotations. This paper contributes strategies to determine missing annotations in partially annotated models. We compare a global include strategy with more sophisticated ones which take the model structure into account. Since we apply missing annotations locally on one model, we solve a general SPLE problem where completely annotated models reduce the manual user effort and are desirable for filtering.","PeriodicalId":300036,"journal":{"name":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","volume":"53 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-02-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"8","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3302333.3302341","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 8
Abstract
In model-driven software product line engineering (SPLE) the superset of products is developed over models. A feature model typically states the discriminating and common factors of the software. In annotative approaches model elements are associated with variability annotations which are boolean expressions over the features defining in which products the elements are visible. When the product line is defined over different models, the developer wants to annotate the model of one type and transform it to different representations, e.g., a (UML) class diagram into a relational database schema for establishing an object-relational mapping. Assigning the annotations manually to the target model is an error-prone and laborious task. In a black-box approach we automatically assign the correct annotations to the target model without analyzing the transformation specification. It is an easy task in the case of 1:1 mappings where the annotation of the source element is copied to the corresponding element in the target model. Typically this kind of information is available, e.g., in traces written during the transformation execution. In reality, more complex mappings are frequent but the correspondences harder to determine. Assuming a target model is already annotated with the annotation of 1:1 correspondences, a certain number of elements remains without annotations. This paper contributes strategies to determine missing annotations in partially annotated models. We compare a global include strategy with more sophisticated ones which take the model structure into account. Since we apply missing annotations locally on one model, we solve a general SPLE problem where completely annotated models reduce the manual user effort and are desirable for filtering.