APP下载

基于特征的软件产品线配置方法研究

2016-02-23刘玉梅黄鸣宇

计算机技术与发展 2016年2期
关键词:特征选择相关者约束

刘玉梅,黄鸣宇

(南京航空航天大学 计算机科学与技术学院,江苏 南京 210016)

基于特征的软件产品线配置方法研究

刘玉梅,黄鸣宇

(南京航空航天大学 计算机科学与技术学院,江苏 南京 210016)

软件产品线是指具有一组可管理的公共特性的软件密集性系统的合集,这些系统满足特定的市场需求或任务需求,并且按预定义的方式从一个公共的核心资产集开发得到。可变性建模是实现系统间共性和可变性管理的有效方法以及满足用户特定需求的产品配置的关键。特征建模是可变性建模方法的一个主流并得到了广泛的研究。基于特征的软件产品线配置方法指专门解决如何从特征模型中选择出满足利益相关者需求以及模型整体约束的产品集的问题。产品配置方法在学术领域和工业领域都取得了众多的研究成果,然而很少有文献对其进行专门地分析。为有效分析产品配置方法领域,首先构建一个分析框架用以描述配置方法家族所涉及的模型结构、约束管理、自动化支持以及特征选择技术等共性和可变性特征;其次根据该框架理解并归类不同配置方法,同时分析各方法间的共性和可变性。

软件产品线;特征模型;产品配置;共性;可变性

1 概 述

近年来,用户需求的多样性以及软件开发和维护的高成本压力促使软件开发者迫切寻求一种提高软件复用的新技术。软件产品线工程(Software Product Line,SPLE)[1]迅速成为一种可行的、重要的软件产品开发范式。其目的就是最大化满足用户需求的同时实现批量开发的效率。区别于独立开发单个系统,软件产品线工程将特定领域中相似的系统看作一个整体,抓住系统间的共性和可变性并通过最大化的平台复用和批量个性化定制实现产品家族开发。该方式具有低成本、高质量、缩短产品上市时间等优势。

软件产品线工程通过领域工程和应用工程两个阶段实现产品家族开发。在领域工程阶段,关键是对软件产品线的领域、共性和可变性进行分析建模,确保软件部件能够被有效地复用。其中领域(Scope)分析指明确定义软件产品线的组件,即哪些组件属于该领域,哪些组件不属于该领域;共性分析指明确定义哪些特征属性为不同组件集所共享;可变性分析指描述哪些特征属性为各组件集所区别。特征模型(Feature Model,FM)[2]是一种广泛应用于领域工程阶段描述软件产品线共性和可变性特征以及特征间关系的需求模型。在应用工程阶段,关键是通过对特征的取舍从特征模型中派生出满足特定需求的具体软件产品。该取舍过程也称为产品配置过程,其复杂性取决于特征模型的复杂性。综观以上两个过程可知,特征模型是产品配置的基础,产品配置是特征建模的目的。

基于特征的软件产品线配置方法指专门解决如何从特征模型中选择出满足不同利益相关者需求以及多种约束条件的产品集的问题。产品配置方法在学术领域和工业领域都取得了众多的研究成果,但很少有文献对配置方法进行专门的分析和研究。文中的目的在于通过对现有配置方法的研究,能够帮助读者对该领域的技术和发展有一个整体的把握和理解,同时能够对未来更加结构化的研究奠定初步基础。

为了有效而全面地分析现有的配置方法,文中将所有基于特征的软件产品线配置方法作为一个产品线,利用产品线现有的技术对其进行整体分析研究。

具体实施如下:首先构建基于特征的软件产品线配置方法领域的特征模型以描述配置方法间的共性和可变性,如图1所示;其次利用该模型框架来理解和归类不同方法间的共性和可变性。

2 基于特征的产品配置方法产品线框架模型

基于特征的软件产品线配置方法家族可以看作一个产品线,该产品线由一组专门用于配置特定产品的方法组成。因此,文中对配置方法家族构建特征模型用以描述各方法间的共性和可变性特征并为后续进行整体分析奠定基础。

图1是基于特征的软件产品线配置方法领域对应的特征图。该模型描述了配置方法领域的共性和可变性特征以及特征间的关系。

图1 基于特征的软件产品线配置方法特征图

在该模型中,根节点PCA(Product Configuration Approaches)表示该配置方法领域。特征FM(Feature Modelling)、AS(Automated Support)和FS(Feature Selection)分别表示配置方法中实现产品配置的三个过程:特征建模、自动化工具支持以及特征选择。其中特征建模过程包括对特征组织框架和约束依赖信息的建模,分别对应特征Structure和Constraints。在特征组织框架的建模中,分为基本特征模型(Basic)、基于基数的特征模型(Cardinality-based)和扩展的特征模型(Extended)三类。由图1可知,所有的配置方法都支持基本特征图的产品配置,部分方法支持基于基数的特征模型或扩展的特征模型。约束依赖信息特征是一个可选特征,表示并不是所有的方法都支持包含约束信息的产品配置。在对约束依赖信息的建模中,分为满足Or分解模式的布尔和非布尔约束两种,分别对应特征Bool和Non-bool。在自动化工具支持过程中,SAT、BDD和CSP为该领域三大主流的自动化分析工具。三者满足Or分解模式,表示某配置方法可以包含至少一个分析工具实现产品配置。在特征选择过程,所有的配置方法被分为两大类:非合作配置和合作配置,分别对应特征Non-Collaborate和Collaborate。

后续章节将根据图1对应的综述框架模型来理解和归类不同方法间的共性和可变性。具体分析从配置方法涉及的特征建模、自动化工具支持以及特征选择三个过程来分析该领域的研究成果以及各方法间的共性和可变性。

3 特征建模

特征模型通常由特征图和文本型的约束信息组成。特征模型是产品配置方法的基础,其复杂性决定配置方法的特性。自Kang等于1990年提出特征模型以来,特征模型得到了广泛的扩展。下面分别对特征图和约束信息进行综述。

3.1 特征图

特征图是描述特征模型的一种图形化方式,广泛应用于软件产品线工程中的可变性管理以及产品配置领域。本节对配置方法中常见的特征图结构进行综述。

3.1.1 基本特征图

基本特征图一般组织成树形结构,图中有且仅有一个根节点,通常表示一个领域系统;一般节点表示特征,分为可选(Optional)和必选(Mandatory)两类;边表示父节点与子节点特征自上而下的层次分解关系,包括Add分解、Xor分解以及Or分解。其中在Add分解中,子节点由可选和必选两类特征组成;在Xor分解中,所有的子节点满足多选一的分解模式;而Or分解满足多选多的分解模式。不同的分解模式代表着不同的配置约束。图1所示为基本特征图。

3.1.2 基于基数特征图

实际需求驱动着特征模型的扩展。Riebisch等[3]引入UML语言中的多样性关系描述特征模型中对应的分解关系。方括号表示的区间[n..m]用于描述某特征是否出现在产品中,如[0..1]和[1..1]分别表示可选和必选特征;尖括号表示的区间用于限制子特征出现在产品中的个数,如<1..1>和<1..m>分别表示Xor分解和Or分解。其中m,n分别表示区间的上下界。

3.1.3 扩展特征图

在现有的软件产品线工程中,特征分析主要从系统配置角度来构建特征模型,如软件和硬件部件等。Kang等[4-5]多次在文献中建议考虑特征非功能属性的必要性。FODA和FORM[6]等方法中都强调应增加一些问题和决策信息作为特征选择的标准。通常,扩展特征模型是在基本特征模型基础上增加描述特征的属性信息,如价格等。Benavides等在文献[7]中描述了一个简单的扩展特征图,其中特征属性由属性名、属性值和值域三部分组成,并与相应的特征用虚线连在一起。Czarnecki等[8]提出概率特征模型,该模型是在基本特征模型的基础上增加特征条件概率分布。其中条件概率分布通过数据挖掘技术从众多应用实例样本中提取得到。

然而,特征属性以定量的扩展方式会给特征模型增加更多的负担。多模型以定性或定量的扩展方式实现对更复杂现实世界的上下文建模,提高了软件产品线的复用性与可扩展性。Ubayashi[9]等在上下文相关的软件产品线方法中通过构建系统特征模型和上下文特征模型描述领域信息。前者通过分析产品家族的特征得到,后者通过分析与系统家族相关联的现实世界得到。Lee等[10]在应用环境驱动特征选择方法中总结了影响特征选择的两大因素:质量属性和应用环境。该方法通过对质量属性、应用环境以及产品特征分别构建相应的特征模型,并通过质量属性和应用环境模型与产品特征间的映射关系驱动特征选择,实现产品配置。

3.2 约束关系

在可变性管理中,特征图只限于描述父特征与子特征之间的组合约束关系,不能很好地表示跨层次特征间的约束依赖关系。另外,作为特征选择标准的特征属性、用户需求等信息更超出了特征图所能表示的范围。因此约束信息多以文本形式描述。本节分别从布尔约束和非布尔约束进行综述。

3.2.1 布尔约束

布尔表达式是由布尔运算量和逻辑运算符按一定语法规则组成的式子,该表达式只能取逻辑值True或False。布尔约束指所有能用布尔表达式进行描述的约束关系。特征模型中特有的约束关键词Requires和Excludes通常用布尔表达式表示。例如,对于特征A和B,ArequiresB等价于布尔表达式A→B,而AexcludesB等价于A→B。

3.2.2 非布尔约束

非布尔约束指不能用布尔表达式进行描述的约束关系。在扩展的特征模型中,特征属性以及用户需求等信息往往从定量和定性两个角度对约束信息进行描述。Czarneck等[8]利用概率描述特征间的约束关系,如特征A、B满足AgiveB0.8,表示在特征A被选中的条件下,特征B被选中的概率为0.8。Etxeberria等[11]通过--,-,+,++等符号描述特征影响属性的程度,如FeatureA++AttributeB,表示选择特征A对属性B有很大程度的影响。Bagheri等[12]用模糊逻辑描述用户的软性需求约束,实现产品线配置。

不同类型的约束与特征图的组合,除了提高特征模型表达能力外,也给软件产品线配置增加了困难。

4 自动化分析工具的支持

给定一个特征模型,如何给用户提供一个有效的配置集是一个关键问题。手动进行特征选择是一个繁琐且容易出错的过程,因此自动化验证工具的支持是配置方法的共性。

本节介绍三种主流的自动化分析工具的特性。

4.1 SAT

布尔可满足性问题(boolean SATisfiability problem,SAT)[13]指给定一个命题公式,判断是否存在一组使公式为真的变量赋值。使用SAT Solver分析特征模型的重点是实现特征模型到命题公式的转换。Batory[14]将语法、特征模型和命题逻辑联系在一起,首次提出利用SAT Solver分析特征模型。Benavides等[15]总结了基本特征模型到命题逻辑的映射关系。

SAT可以实现对基本特征模型以及布尔约束进行有效性分析。尽管SAT问题是一个典型的NP完全问题,但是SAT Solver完全可以处理包含上千个特征的复杂特征模型[16]。然而,SAT无法表示非布尔约束,以致无法有效地实现约束复杂的产品配置以及解决基于资源约束的优化问题。

4.2 BDD

类似于SAT,二叉决策图(Binary Decision Diagrams,BDDs)[17]分析特征模型也是对等价的命题公式进行分析。区别在于前者用合取范式表示命题公式,后者是用二叉决策图的形式表示。

BDD的优势在于能够提供高效的算法计算有效配置集的个数。BDD的不足同SAT一样,也是NP难问题,同样无法有效地实现约束复杂的产品配置以及解决基于资源约束的优化问题。

4.3 CSP

约束满足问题(Constraint Satisfaction Problem,CSP)[18]由一组变量、每一个变量对应的值域和一组限制变量取值的约束组成。CSP Solver不仅能解决布尔型变量,同时还能解决数值型变量(如整型等),适用于分析数据类型复杂的特征模型。Benavides等[19-20]于2005年首次使用约束规划(Constraint Programming)对特征模型进行自动化分析。在该方法中,作者给出将特征模型映射到CSP的机制并实现对扩展的特征模型进行分析。

尽管CSP在分析特征模型方面比较灵活,但比较适应于分析小型特征模型。在处理中型或大型特征模型上,时间性能是其弱点。

上述自动化分析工具各有其适用范围与优缺点。Benavides等[21]在产品线工具FAMA中集成SAT、BDD和CSP三种自动化分析工具,可使用户根据不同的分析操作选择最适合的分析工具进行产品配置。

5 特征选择

产品配置过程也是特征选择的过程。为了从特征模型中选出最理想的特征,需根据企业的战略目标、利益相关者的需求、模型的完整性约束等信息进行选择。产品配置过程根据参与者人数和角色的不同分为非合作配置和合作配置。在非合作配置过程中,用户需求被解释成配置决策,由产品经理一人完成特征选择,用户处于一种被动状态。合作配置过程指多个用户参与产品配置,产品经理只负责分配和管理决策任务。本节从非合作配置、合作配置两大类对基于特征的产品配置方法进行综述。

5.1 非合作配置

非合作配置过程的关键是对用户的需求信息进行分析与建模。用户需求分为硬性需求和软性需求。其中,硬性需求指用户对最终产品功能的约束,即用户指定包含哪些特征;软性需求是一种模糊的概念,是用户在选择产品时的一种权衡和折中。因此,如何实现对软性需求的建模是一个难点。

Bagheri等[12]提出基于利益相关者的软性和硬性需求实现软件产品线配置方法。该方法首先采用扩展的命题逻辑P(N)语言以及模糊P(N)语言分别描述利益相关者的硬性需求和软性需求;其次通过Mamdani-type模糊推理技术[22]计算未绑定特征满足约束的适应度;最后用户根据适应度的高低进行特征选择实现产品配置。

Czarnecki等[8]提出基于概率特征模型的配置方法。该方法利用特征以及特征间的联合概率分布描述利益相关者的软硬性需求。其中联合概率分布是从一组已存在的软件产品样本空间中获得。然后将概率特征模型映射到概率命题逻辑,通过使用现成的算法(如BN、最大化熵等)实现配置。

White等[23]针对移动设备的特殊性,提出自动化软件产品变体选择方法。移动设备领域的产品配置特点是用户可以随时随地根据需要访问网页或下载应用软件。此特点要求配置过程需在有限配置时间内自动获取不同设备参数,同时配置最优的产品变体返回给移动设备。该方法通过远程技术获取移动设备参数,根据配置约束和资源消耗约束选择特征,并利用CSP对多种数据类型的约束信息进行分析实现产品配置。

White等[24]提出多步配置方法,即从一个初始配置,经过一系列中间配置,得到一个满足约束条件的最终配置。多步配置的特点是每一个中间配置都是满足当前市场需求的有效产品。该方法用有向图描述配置路径,其中节点表示有效的中间配置,边表示相邻配置所需满足的约束,如年预算。特征的选择需满足配置点约束以及配置边约束。此过程中的特征模型是固定不变的。为适应特征模型随着市场、环境、技术等变化而变化,White等[25]对多步配置方法进行扩展,实现随着时间的推移调整特征模型的功能。该功能根据不同特征模型的分类实现不同的变化。对于基本特征模型,可实现增加、删除特征和关系等;对于基于基数的特征模型可以通过基数的修改实现特征模型的演变;对于扩展的特征模型,可以修改属性值以及属性域实现演变。

Bartholdt等[26]提出一个IQ-SPLE方法。该方法支持从定量和定性两个角度对质量属性需求进行建模,通过将质量属性映射到特征模型实现特征选择。该方法将配置问题分为问题空间和方法空间,其中问题空间由特征模型组成,用户根据可视化的特征模型自上而下逐个进行特征选择;方法空间对质量属性进行建模,并将为用户在问题空间的决策映射到方法空间,通过决策函数将属性值反射到问题空间帮助用户决策哪些特征必选,哪些特征可选以及哪些特征不可选等。

5.2 合作配置

相比于非合作配置,多用户合作配置可有效解决基于大而复杂特征模型的产品配置问题。

Hubaux等[27]提出适应不同利益相关者切面的多视图配置方法。该方法通过将一个大而复杂的特征模型根据不同利益相关者的切面信息裁剪出相关视图,隐藏无关视图以实现关注点分离。为了实现配置的一致性,Hubaux等在文献[28]中提出基于特征配置流的工具集实现多视图配置。该配置流通过约定不同利益相关者的配置顺序来避免视图间的交互冲突问题。

同样的,Czarnecki等[29]提出多阶段配置实现合作配置。其中每一个阶段对应不同的利益相关者,后一个阶段是在前一个阶段的基础上进行配置,最后通过将不同阶段的配置整合成一个最终满足用户需求的产品。与多视图方法相比,两者目的都是根据不同的利益相关者需求分离关注点,模型结构都支持基数特征模型,在裁剪视图的方法上都通过修改特征基数以实现特征模型的一致性。区别在于多视图方法是通过选择特征来移除无关特征,而多阶段配置是通过逐步排除特征以实现特征选择,如通过对某特征属性赋值操作等。

后来,Czarnecki等[30]提出多层次分阶段配制方法。该方法被Classen等[31]加以形式化定义并被Hubaux等[32]进行扩展。该方法中,多层次对应多个子特征图,每个特征图针对不同的部门或者软件供应商。通过将子特征图的根节点作为父特征图的子节点整合成一个大的特征图。最后将不同利益相关者的配置分阶段进行配置,实现最终的产品配置。该方法是在分阶段配置的基础上将多个子特征图整合成一个特征图实现配置。既考虑了不同利益相关者的不同需求,又通过整合子特征模型的方式来降低软件产品线中特征模型的复杂性。

Mendonca等[33]提出协作产品配置(Collaborative Product Configuration,CPC)方法。多个利益相关者共同参与产品配置是一种必然趋势。该方法通过分割特征模型(Splittng)生成对应不同利益相关者的配置空间,根据不同配置空间的依赖强弱制定配置的执行顺序,如顺序执行或同时执行等。CPC方法是对分阶段配置方法的扩展和优化,使合作配置方法能够更好地协助多个利益相关者在产品配置过程中做出更好的决策。

6 相关工作

软件产品线工程已成为一种日益突出的软件开发范式。可变性管理是构建软件产品线工程的关键。该过程对于理解特定领域中产品家族的复杂性和多样性具有重要的作用,同时也是实现有效产品配置的基础。在现有的可变性管理方法中,特征建模和决策建模得到了广泛的关注和应用。文献[16]总结了近20年来基于特征模型的操作、技术、工具和经验等方面的研究成果。但该综述并没有介绍基于特征模型的产品配置过程。

文中重点关注配置过程的方法和技术,是在以上工作的基础上对基于特征模型领域研究的一种完善和补充。关于决策模型的产品配置,Schmid等[34]比较了五个典型的基于决策模型的配置方法。与文中相比较,两者都是从模型结构、约束、自动化支持部件以及产品配置特性等角度对配置方法进行分析。不同点在于,文中是基于特征领域研究成果多的特点采用基于特征模型的综述方式分析各配置方法的共性和可变性。

7 结束语

基于特征模型的产品配置方法在软件产品线工程中得到了广泛的研究和应用。为实现对配置方法领域的众多工作进行研究,文中将特征建模应用于文献综述,对基于特征模型的配置方法家族构建特征模型,通过对不同特征所代表的不同配置方法特性的分析,为读者呈现一个整体的概念,使读者能够更好地理解该领域的研究现状以及发展前景。

在后续工作中,将进一步完善基于特征模型的综述方法,使其更好地支持对特定领域方法的分析。其次希望以该文为基础,进一步研究基于特征模型和基于决策模型配置方法的共性和可变性。

[1] Pohl K,Bockle G,Linden V D.Software product line engineering:foundations,principles and techniques[M].Berlin:Springer,2005.

[2] Schobbens P Y,Heymans P,Trigaux J C,et al.Generic semantics of feature diagrams[J].Computer Networks,2007,51(2):456-479.

[3] Riebisch M,Bollert K,Streitferdt D,et al.Extending feature diagrams with UML multiplicities[C]//Proceedings of the 6th world conference on integrated design & process technology.[s.l.]:[s.n.],2002.

[4] Chastek G,Donohoe P,Kang K C,et al.Product line analysis:a practical introduction[R].Pittsburgh:Carnegie Mellon University,2001.

[5] Kang K,Cohen S,Hess J,et al.Feature-Oriented Domain Analysis (FODA) feasibility study[R].Pittsburgh:Carnegie Mellon University,1990.

[6] Kang K C,Kim S,Lee J,et al.FORM:a feature-oriented reuse method with domain-specific reference architectures[J].Annals of Software Engineering,1998,5(1):143-168.

[7] Benavides D,Trinidad P,Ruiz-Cortés A.Automated reasoning on feature models[C]//Proceedings of the 17th international conference on advanced information systems engineering.[s.l.]:[s.n.],2005:491-503.

[8] Czarnecki K,She S,Wasowski A.Sample spaces and feature models:there and back again[C]//Proceedings of international software product line conference.Washington:IEEE Computer Society,2008:22-31.

[9] Ubayashi N, Nakajima S, Hirayama M.Context-dependent product line practice for constructing reliable embedded systems[J].Lecture Notes in Computer Science,2010,6287:1-15.

[10] Lee K,Kang K C.Usage context as key driver for feature selection[J].Lecture Notes in Computer Science,2010,6287:32-46.

[11] Etxeberria L,Sagardui G.Variability driven quality evaluation in software product lines[C]//Proceedings of the 2008 12th international software product line conference.Washington:IEEE Computer Society,2008:243-252.

[12] Bagheri E,Noia T D,Ragone A,et al.Configuring software product line feature models based on stakeholders’ soft and hard requirements[C]//Proceedings of the 14th international conference on software product lines:going beyond.Berlin:Springer,2010:16-31.

[13] Cook S.The complexity of theorem-proving procedures[C]//Proceedings of the third annual ACM symposium on theory of computing.New York:ACM,1971:151-158.

[14] Batory D.Feature models,grammars,and propositional formulas[J].Lecture Notes in Computer Science,2005,3714:7-20.

[15] Benavides D,Segura S,Ruiz-Cortés A.Automated analysis of feature models 20 years later:a literature review[J].Information Systems,2010,35(6):615-636.

[16] Maric F. Formalization and implementation of modern SAT solvers[J].Journal of Automated Reasoning,2009,43(1):81-119.

[17] Bryant R.Graph-based algorithms for boolean function manipulation[J].IEEE Transactions on Computers,1986,35(8):677-691.

[18] Tsang E.Foundations of constraint satisfaction[M].[s.l.]:Academic Press,1995.

[19] Benavides D,Cortés R A,Trinidad P.Coping with automatic reasoning on software product lines[C]//Proceedings of the 2nd Groningen workshop on software variability management.Groningen:[s.n.],2004.

[20] Benavides D,Trinidad P,Ruiz-Cortés A.Using constraint programming to reason on feature models[C]//Proceedings of the 17th international conference on software engineering & knowledge engineering.[s.l.]:[s.n.],2005:677-682.

[21] Benavides D,Trinidad P,Cortés R A,et al.FaMa[M].Berlin:Springer,2013:163-171.

[22] Mamdani E H.Application of fuzzy logic to approximate reasoning using linguistic synthesis[C]//Proceedings of the sixth international symposium on multiple-valued logic.Washington:IEEE Computer Society,1976:1182-1191.

[23] White J,Schmidt D C,Wuchner E,et al.Automating product-line variant selection for mobile devices[C]//Proceedings of the 11th annual software product line conference.Berlin:Springer,2007:129-140.

[24] White J,Doughtery B,Schmidt D,et al.Automated reasoning for multi-step software product-line configuration problems[C]//Proceedings of the software product line conference.Berlin:Springer,2009:11-20.

[25] White J,Galindo J A,Saxena T,et al.Evolving feature model configurations in software product lines[J].Journal of Systems & Software,2014,87(1):119-136.

[26] Bartholdt J,Medak M,Oberhauser R.Integrating quality modeling with feature modeling in software product lines[C]//Proceedings of international conference on software engineering advances.Washington:IEEE Computer Society,2009:365-370.

[27] Hubaux A,Heymans P,Schobbens P,et al.Supporting multiple perspectives in feature-based configuration[J].Software & Systems Modeling,2013,12(3):641-663.

[28] Abbasi E K,Hubaux A,Heymans P.A toolset for feature-based configuration workflows[C]//Proceedings of the 2011 15th international software product line conference.Washington:IEEE Computer Society,2011:65-69.

[29] Czarnecki K,Helsen S,Eisenecker U.Staged configuration using feature models[J].Lecture Notes in Computer Science,2004,3154:266-283.

[30] Czarnecki K, Helsen S, Eisenecker U.Staged configuration through specialization and multilevel configuration of feature models[J].Software Process:Improvement and Practice,2005,10(2):143-169.

[31] Classen A,Hubaux A,Heymans P.A formal semantics for multi-level staged configuration[C]//Proceedings of the international workshop on variability modelling of software-intensive systems.[s.l.]:[s.n.],2009:51-60.

[32] Hubaux A,Classen A,Heymans P.Formal modelling of feature configuration workflow[C]//Proceedings of the 13th international software product lines conference.San Francisco:Carnegie Mellon University,2009:221-230.

[33] Mendonça M,Bartolomei T T,Cowan D.Decision-making coordination in collaborative product configuration[C]//Proceedings of the ACM symposium on applied computing.New York:ACM,2008:108-113.

[34] Schmid K,Rabiser R,Grünbacher P.A comparison of decision modeling approaches in product lines[C]//Proceedings of the 5th workshop on variability modeling of software-intensive systems.[s.l.]:[s.n.],2011:119-126.

Research on Configuration Method for Software Product Based on Feature

LIU Yu-mei,HUANG Ming-yu

(College of Computer Science and Technology,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China)

A Software Product Line (SPL) is a set of software-intensive systems sharing a common,managed set of features that are satisfied specific requirements of market and task,which is developed from a common set of core assets in a prescribed way.Variability modeling is a widely used in commonalities and variabilities management in software product line.Among the existing variability modeling approaches to variabilities management,feature modeling have gained most importance.The approach of product configuration based on feature is about how to select features from a feature model based on specific domain requirements and stakeholders’ goals.Although the literature on this topic has gained most importance in academic and industrial fields,only little effort is dedicated to compare and analyze them.In order to address this shortcoming and to provide a basis for more structured research on feature modeling in the future,firstly build a framework model to describe model structure,dependency management,automated support,configuration approaches and so on shared in the approaches family.Then,understand and classify different configuration method based on the framework.Meanwhile analyze the commonalities and variabilities among different approaches.

software product line;feature model;product configuration;commonalities;variabilities

2015-05-06

2015-08-09

时间:2016-01-26

国家自然科学基金资助项目(61170043);国家“973”重点基础研究发展计划项目(2014CB744904)作者简介:刘玉梅(1990-),女,研究生,研究方向为模型检测、软件产品线。

http://www.cnki.net/kcms/detail/61.1450.TP.20160126.1517.012.html

TP311

A

1673-629X(2016)02-0001-06

10.3969/j.issn.1673-629X.2016.02.001

猜你喜欢

特征选择相关者约束
“碳中和”约束下的路径选择
约束离散KP方程族的完全Virasoro对称
基于利益相关者理论的本科教学中教师调课现象审视
Kmeans 应用与特征选择
全生命周期视角下PPP项目利益相关者关系网络动态分析
建构利益相关者管理的三层次结构分析
自我约束是一种境界
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统
XBRL的传播对利益相关者参与程度的影响研究