{"title":"利用microsoftsolver基础对特征模型和配置进行分析","authors":"J. Navarro, J. Chavarriaga","doi":"10.1109/EATIS.2016.7520125","DOIUrl":null,"url":null,"abstract":"Feature Models are widely used in Software Product Lines to represent commonalities and variabilities in a family of products and to support the interactive configuration of these products. They comprise features and options that can be included in a product and constraints about which combinations of features are allowed. Libraries and frameworks such as SPLOT and FaMa help engineers to determine if a feature model is valid, detect errors in the models and validate if a configuration (i.e., a set of features selected by an user) does not contradict the constraints in the model. Regrettably, these libraries are based on Java and cannot be used in .Net platforms such as the recent Windows Phone systems. For that platforms, there is a Microsoft Solver Foundation (MSF) library that provides a set of solvers such as the used to analyse feature models. This paper explains (1) how to translate feature models and configurations into Constraint Satisfaction Problems in MSF, and (2) how to use that library to determine if a model is valid, enumerate all the valid configurations, and detect core and dead features that may exist in the model. In addition, we present a performance evaluation of the approach.","PeriodicalId":158157,"journal":{"name":"2016 8th Euro American Conference on Telematics and Information Systems (EATIS)","volume":"61 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Using microsoft solver foundation to analyse feature models and configurations\",\"authors\":\"J. Navarro, J. Chavarriaga\",\"doi\":\"10.1109/EATIS.2016.7520125\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Feature Models are widely used in Software Product Lines to represent commonalities and variabilities in a family of products and to support the interactive configuration of these products. They comprise features and options that can be included in a product and constraints about which combinations of features are allowed. Libraries and frameworks such as SPLOT and FaMa help engineers to determine if a feature model is valid, detect errors in the models and validate if a configuration (i.e., a set of features selected by an user) does not contradict the constraints in the model. Regrettably, these libraries are based on Java and cannot be used in .Net platforms such as the recent Windows Phone systems. For that platforms, there is a Microsoft Solver Foundation (MSF) library that provides a set of solvers such as the used to analyse feature models. This paper explains (1) how to translate feature models and configurations into Constraint Satisfaction Problems in MSF, and (2) how to use that library to determine if a model is valid, enumerate all the valid configurations, and detect core and dead features that may exist in the model. In addition, we present a performance evaluation of the approach.\",\"PeriodicalId\":158157,\"journal\":{\"name\":\"2016 8th Euro American Conference on Telematics and Information Systems (EATIS)\",\"volume\":\"61 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-04-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2016 8th Euro American Conference on Telematics and Information Systems (EATIS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/EATIS.2016.7520125\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 8th Euro American Conference on Telematics and Information Systems (EATIS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/EATIS.2016.7520125","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6
摘要
在软件产品线中,特性模型被广泛用于表示一系列产品中的共性和可变性,并支持这些产品的交互式配置。它们包括可以包含在产品中的特性和选项,以及允许哪些特性组合的约束。诸如SPLOT和FaMa之类的库和框架可以帮助工程师确定特征模型是否有效,检测模型中的错误,并验证配置(即用户选择的一组特征)是否与模型中的约束不冲突。遗憾的是,这些库是基于Java的,不能在。net平台上使用,比如最近的Windows Phone系统。对于这些平台,有一个Microsoft Solver Foundation (MSF)库,它提供了一组求解器,例如用于分析特征模型的。本文解释了(1)如何将特征模型和配置转换为MSF中的约束满足问题,以及(2)如何使用该库来确定模型是否有效,枚举所有有效配置,并检测模型中可能存在的核心和死特征。此外,我们还对该方法进行了性能评估。
Using microsoft solver foundation to analyse feature models and configurations
Feature Models are widely used in Software Product Lines to represent commonalities and variabilities in a family of products and to support the interactive configuration of these products. They comprise features and options that can be included in a product and constraints about which combinations of features are allowed. Libraries and frameworks such as SPLOT and FaMa help engineers to determine if a feature model is valid, detect errors in the models and validate if a configuration (i.e., a set of features selected by an user) does not contradict the constraints in the model. Regrettably, these libraries are based on Java and cannot be used in .Net platforms such as the recent Windows Phone systems. For that platforms, there is a Microsoft Solver Foundation (MSF) library that provides a set of solvers such as the used to analyse feature models. This paper explains (1) how to translate feature models and configurations into Constraint Satisfaction Problems in MSF, and (2) how to use that library to determine if a model is valid, enumerate all the valid configurations, and detect core and dead features that may exist in the model. In addition, we present a performance evaluation of the approach.