999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于特征的軟件產(chǎn)品線配置方法研究

2016-02-23 07:50:14劉玉梅黃鳴宇
計算機技術(shù)與發(fā)展 2016年2期
關(guān)鍵詞:特征產(chǎn)品分析

劉玉梅,黃鳴宇

(南京航空航天大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京 210016)

基于特征的軟件產(chǎn)品線配置方法研究

劉玉梅,黃鳴宇

(南京航空航天大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京 210016)

軟件產(chǎn)品線是指具有一組可管理的公共特性的軟件密集性系統(tǒng)的合集,這些系統(tǒng)滿足特定的市場需求或任務(wù)需求,并且按預(yù)定義的方式從一個公共的核心資產(chǎn)集開發(fā)得到。可變性建模是實現(xiàn)系統(tǒng)間共性和可變性管理的有效方法以及滿足用戶特定需求的產(chǎn)品配置的關(guān)鍵。特征建模是可變性建模方法的一個主流并得到了廣泛的研究?;谔卣鞯能浖a(chǎn)品線配置方法指專門解決如何從特征模型中選擇出滿足利益相關(guān)者需求以及模型整體約束的產(chǎn)品集的問題。產(chǎn)品配置方法在學(xué)術(shù)領(lǐng)域和工業(yè)領(lǐng)域都取得了眾多的研究成果,然而很少有文獻對其進行專門地分析。為有效分析產(chǎn)品配置方法領(lǐng)域,首先構(gòu)建一個分析框架用以描述配置方法家族所涉及的模型結(jié)構(gòu)、約束管理、自動化支持以及特征選擇技術(shù)等共性和可變性特征;其次根據(jù)該框架理解并歸類不同配置方法,同時分析各方法間的共性和可變性。

軟件產(chǎn)品線;特征模型;產(chǎn)品配置;共性;可變性

1 概 述

近年來,用戶需求的多樣性以及軟件開發(fā)和維護的高成本壓力促使軟件開發(fā)者迫切尋求一種提高軟件復(fù)用的新技術(shù)。軟件產(chǎn)品線工程(Software Product Line,SPLE)[1]迅速成為一種可行的、重要的軟件產(chǎn)品開發(fā)范式。其目的就是最大化滿足用戶需求的同時實現(xiàn)批量開發(fā)的效率。區(qū)別于獨立開發(fā)單個系統(tǒng),軟件產(chǎn)品線工程將特定領(lǐng)域中相似的系統(tǒng)看作一個整體,抓住系統(tǒng)間的共性和可變性并通過最大化的平臺復(fù)用和批量個性化定制實現(xiàn)產(chǎn)品家族開發(fā)。該方式具有低成本、高質(zhì)量、縮短產(chǎn)品上市時間等優(yōu)勢。

軟件產(chǎn)品線工程通過領(lǐng)域工程和應(yīng)用工程兩個階段實現(xiàn)產(chǎn)品家族開發(fā)。在領(lǐng)域工程階段,關(guān)鍵是對軟件產(chǎn)品線的領(lǐng)域、共性和可變性進行分析建模,確保軟件部件能夠被有效地復(fù)用。其中領(lǐng)域(Scope)分析指明確定義軟件產(chǎn)品線的組件,即哪些組件屬于該領(lǐng)域,哪些組件不屬于該領(lǐng)域;共性分析指明確定義哪些特征屬性為不同組件集所共享;可變性分析指描述哪些特征屬性為各組件集所區(qū)別。特征模型(Feature Model,F(xiàn)M)[2]是一種廣泛應(yīng)用于領(lǐng)域工程階段描述軟件產(chǎn)品線共性和可變性特征以及特征間關(guān)系的需求模型。在應(yīng)用工程階段,關(guān)鍵是通過對特征的取舍從特征模型中派生出滿足特定需求的具體軟件產(chǎn)品。該取舍過程也稱為產(chǎn)品配置過程,其復(fù)雜性取決于特征模型的復(fù)雜性。綜觀以上兩個過程可知,特征模型是產(chǎn)品配置的基礎(chǔ),產(chǎn)品配置是特征建模的目的。

基于特征的軟件產(chǎn)品線配置方法指專門解決如何從特征模型中選擇出滿足不同利益相關(guān)者需求以及多種約束條件的產(chǎn)品集的問題。產(chǎn)品配置方法在學(xué)術(shù)領(lǐng)域和工業(yè)領(lǐng)域都取得了眾多的研究成果,但很少有文獻對配置方法進行專門的分析和研究。文中的目的在于通過對現(xiàn)有配置方法的研究,能夠幫助讀者對該領(lǐng)域的技術(shù)和發(fā)展有一個整體的把握和理解,同時能夠?qū)ξ磥砀咏Y(jié)構(gòu)化的研究奠定初步基礎(chǔ)。

為了有效而全面地分析現(xiàn)有的配置方法,文中將所有基于特征的軟件產(chǎn)品線配置方法作為一個產(chǎn)品線,利用產(chǎn)品線現(xiàn)有的技術(shù)對其進行整體分析研究。

具體實施如下:首先構(gòu)建基于特征的軟件產(chǎn)品線配置方法領(lǐng)域的特征模型以描述配置方法間的共性和可變性,如圖1所示;其次利用該模型框架來理解和歸類不同方法間的共性和可變性。

2 基于特征的產(chǎn)品配置方法產(chǎn)品線框架模型

基于特征的軟件產(chǎn)品線配置方法家族可以看作一個產(chǎn)品線,該產(chǎn)品線由一組專門用于配置特定產(chǎn)品的方法組成。因此,文中對配置方法家族構(gòu)建特征模型用以描述各方法間的共性和可變性特征并為后續(xù)進行整體分析奠定基礎(chǔ)。

圖1是基于特征的軟件產(chǎn)品線配置方法領(lǐng)域?qū)?yīng)的特征圖。該模型描述了配置方法領(lǐng)域的共性和可變性特征以及特征間的關(guān)系。

圖1 基于特征的軟件產(chǎn)品線配置方法特征圖

在該模型中,根節(jié)點PCA(Product Configuration Approaches)表示該配置方法領(lǐng)域。特征FM(Feature Modelling)、AS(Automated Support)和FS(Feature Selection)分別表示配置方法中實現(xiàn)產(chǎn)品配置的三個過程:特征建模、自動化工具支持以及特征選擇。其中特征建模過程包括對特征組織框架和約束依賴信息的建模,分別對應(yīng)特征Structure和Constraints。在特征組織框架的建模中,分為基本特征模型(Basic)、基于基數(shù)的特征模型(Cardinality-based)和擴展的特征模型(Extended)三類。由圖1可知,所有的配置方法都支持基本特征圖的產(chǎn)品配置,部分方法支持基于基數(shù)的特征模型或擴展的特征模型。約束依賴信息特征是一個可選特征,表示并不是所有的方法都支持包含約束信息的產(chǎn)品配置。在對約束依賴信息的建模中,分為滿足Or分解模式的布爾和非布爾約束兩種,分別對應(yīng)特征Bool和Non-bool。在自動化工具支持過程中,SAT、BDD和CSP為該領(lǐng)域三大主流的自動化分析工具。三者滿足Or分解模式,表示某配置方法可以包含至少一個分析工具實現(xiàn)產(chǎn)品配置。在特征選擇過程,所有的配置方法被分為兩大類:非合作配置和合作配置,分別對應(yīng)特征Non-Collaborate和Collaborate。

后續(xù)章節(jié)將根據(jù)圖1對應(yīng)的綜述框架模型來理解和歸類不同方法間的共性和可變性。具體分析從配置方法涉及的特征建模、自動化工具支持以及特征選擇三個過程來分析該領(lǐng)域的研究成果以及各方法間的共性和可變性。

3 特征建模

特征模型通常由特征圖和文本型的約束信息組成。特征模型是產(chǎn)品配置方法的基礎(chǔ),其復(fù)雜性決定配置方法的特性。自Kang等于1990年提出特征模型以來,特征模型得到了廣泛的擴展。下面分別對特征圖和約束信息進行綜述。

3.1 特征圖

特征圖是描述特征模型的一種圖形化方式,廣泛應(yīng)用于軟件產(chǎn)品線工程中的可變性管理以及產(chǎn)品配置領(lǐng)域。本節(jié)對配置方法中常見的特征圖結(jié)構(gòu)進行綜述。

3.1.1 基本特征圖

基本特征圖一般組織成樹形結(jié)構(gòu),圖中有且僅有一個根節(jié)點,通常表示一個領(lǐng)域系統(tǒng);一般節(jié)點表示特征,分為可選(Optional)和必選(Mandatory)兩類;邊表示父節(jié)點與子節(jié)點特征自上而下的層次分解關(guān)系,包括Add分解、Xor分解以及Or分解。其中在Add分解中,子節(jié)點由可選和必選兩類特征組成;在Xor分解中,所有的子節(jié)點滿足多選一的分解模式;而Or分解滿足多選多的分解模式。不同的分解模式代表著不同的配置約束。圖1所示為基本特征圖。

3.1.2 基于基數(shù)特征圖

實際需求驅(qū)動著特征模型的擴展。Riebisch等[3]引入UML語言中的多樣性關(guān)系描述特征模型中對應(yīng)的分解關(guān)系。方括號表示的區(qū)間[n..m]用于描述某特征是否出現(xiàn)在產(chǎn)品中,如[0..1]和[1..1]分別表示可選和必選特征;尖括號表示的區(qū)間用于限制子特征出現(xiàn)在產(chǎn)品中的個數(shù),如<1..1>和<1..m>分別表示Xor分解和Or分解。其中m,n分別表示區(qū)間的上下界。

3.1.3 擴展特征圖

在現(xiàn)有的軟件產(chǎn)品線工程中,特征分析主要從系統(tǒng)配置角度來構(gòu)建特征模型,如軟件和硬件部件等。Kang等[4-5]多次在文獻中建議考慮特征非功能屬性的必要性。FODA和FORM[6]等方法中都強調(diào)應(yīng)增加一些問題和決策信息作為特征選擇的標(biāo)準(zhǔn)。通常,擴展特征模型是在基本特征模型基礎(chǔ)上增加描述特征的屬性信息,如價格等。Benavides等在文獻[7]中描述了一個簡單的擴展特征圖,其中特征屬性由屬性名、屬性值和值域三部分組成,并與相應(yīng)的特征用虛線連在一起。Czarnecki等[8]提出概率特征模型,該模型是在基本特征模型的基礎(chǔ)上增加特征條件概率分布。其中條件概率分布通過數(shù)據(jù)挖掘技術(shù)從眾多應(yīng)用實例樣本中提取得到。

然而,特征屬性以定量的擴展方式會給特征模型增加更多的負(fù)擔(dān)。多模型以定性或定量的擴展方式實現(xiàn)對更復(fù)雜現(xiàn)實世界的上下文建模,提高了軟件產(chǎn)品線的復(fù)用性與可擴展性。Ubayashi[9]等在上下文相關(guān)的軟件產(chǎn)品線方法中通過構(gòu)建系統(tǒng)特征模型和上下文特征模型描述領(lǐng)域信息。前者通過分析產(chǎn)品家族的特征得到,后者通過分析與系統(tǒng)家族相關(guān)聯(lián)的現(xiàn)實世界得到。Lee等[10]在應(yīng)用環(huán)境驅(qū)動特征選擇方法中總結(jié)了影響特征選擇的兩大因素:質(zhì)量屬性和應(yīng)用環(huán)境。該方法通過對質(zhì)量屬性、應(yīng)用環(huán)境以及產(chǎn)品特征分別構(gòu)建相應(yīng)的特征模型,并通過質(zhì)量屬性和應(yīng)用環(huán)境模型與產(chǎn)品特征間的映射關(guān)系驅(qū)動特征選擇,實現(xiàn)產(chǎn)品配置。

3.2 約束關(guān)系

在可變性管理中,特征圖只限于描述父特征與子特征之間的組合約束關(guān)系,不能很好地表示跨層次特征間的約束依賴關(guān)系。另外,作為特征選擇標(biāo)準(zhǔn)的特征屬性、用戶需求等信息更超出了特征圖所能表示的范圍。因此約束信息多以文本形式描述。本節(jié)分別從布爾約束和非布爾約束進行綜述。

3.2.1 布爾約束

布爾表達(dá)式是由布爾運算量和邏輯運算符按一定語法規(guī)則組成的式子,該表達(dá)式只能取邏輯值True或False。布爾約束指所有能用布爾表達(dá)式進行描述的約束關(guān)系。特征模型中特有的約束關(guān)鍵詞Requires和Excludes通常用布爾表達(dá)式表示。例如,對于特征A和B,ArequiresB等價于布爾表達(dá)式A→B,而AexcludesB等價于A→B。

3.2.2 非布爾約束

非布爾約束指不能用布爾表達(dá)式進行描述的約束關(guān)系。在擴展的特征模型中,特征屬性以及用戶需求等信息往往從定量和定性兩個角度對約束信息進行描述。Czarneck等[8]利用概率描述特征間的約束關(guān)系,如特征A、B滿足AgiveB0.8,表示在特征A被選中的條件下,特征B被選中的概率為0.8。Etxeberria等[11]通過--,-,+,++等符號描述特征影響屬性的程度,如FeatureA++AttributeB,表示選擇特征A對屬性B有很大程度的影響。Bagheri等[12]用模糊邏輯描述用戶的軟性需求約束,實現(xiàn)產(chǎn)品線配置。

不同類型的約束與特征圖的組合,除了提高特征模型表達(dá)能力外,也給軟件產(chǎn)品線配置增加了困難。

4 自動化分析工具的支持

給定一個特征模型,如何給用戶提供一個有效的配置集是一個關(guān)鍵問題。手動進行特征選擇是一個繁瑣且容易出錯的過程,因此自動化驗證工具的支持是配置方法的共性。

本節(jié)介紹三種主流的自動化分析工具的特性。

4.1 SAT

布爾可滿足性問題(boolean SATisfiability problem,SAT)[13]指給定一個命題公式,判斷是否存在一組使公式為真的變量賦值。使用SAT Solver分析特征模型的重點是實現(xiàn)特征模型到命題公式的轉(zhuǎn)換。Batory[14]將語法、特征模型和命題邏輯聯(lián)系在一起,首次提出利用SAT Solver分析特征模型。Benavides等[15]總結(jié)了基本特征模型到命題邏輯的映射關(guān)系。

SAT可以實現(xiàn)對基本特征模型以及布爾約束進行有效性分析。盡管SAT問題是一個典型的NP完全問題,但是SAT Solver完全可以處理包含上千個特征的復(fù)雜特征模型[16]。然而,SAT無法表示非布爾約束,以致無法有效地實現(xiàn)約束復(fù)雜的產(chǎn)品配置以及解決基于資源約束的優(yōu)化問題。

4.2 BDD

類似于SAT,二叉決策圖(Binary Decision Diagrams,BDDs)[17]分析特征模型也是對等價的命題公式進行分析。區(qū)別在于前者用合取范式表示命題公式,后者是用二叉決策圖的形式表示。

BDD的優(yōu)勢在于能夠提供高效的算法計算有效配置集的個數(shù)。BDD的不足同SAT一樣,也是NP難問題,同樣無法有效地實現(xiàn)約束復(fù)雜的產(chǎn)品配置以及解決基于資源約束的優(yōu)化問題。

4.3 CSP

約束滿足問題(Constraint Satisfaction Problem,CSP)[18]由一組變量、每一個變量對應(yīng)的值域和一組限制變量取值的約束組成。CSP Solver不僅能解決布爾型變量,同時還能解決數(shù)值型變量(如整型等),適用于分析數(shù)據(jù)類型復(fù)雜的特征模型。Benavides等[19-20]于2005年首次使用約束規(guī)劃(Constraint Programming)對特征模型進行自動化分析。在該方法中,作者給出將特征模型映射到CSP的機制并實現(xiàn)對擴展的特征模型進行分析。

盡管CSP在分析特征模型方面比較靈活,但比較適應(yīng)于分析小型特征模型。在處理中型或大型特征模型上,時間性能是其弱點。

上述自動化分析工具各有其適用范圍與優(yōu)缺點。Benavides等[21]在產(chǎn)品線工具FAMA中集成SAT、BDD和CSP三種自動化分析工具,可使用戶根據(jù)不同的分析操作選擇最適合的分析工具進行產(chǎn)品配置。

5 特征選擇

產(chǎn)品配置過程也是特征選擇的過程。為了從特征模型中選出最理想的特征,需根據(jù)企業(yè)的戰(zhàn)略目標(biāo)、利益相關(guān)者的需求、模型的完整性約束等信息進行選擇。產(chǎn)品配置過程根據(jù)參與者人數(shù)和角色的不同分為非合作配置和合作配置。在非合作配置過程中,用戶需求被解釋成配置決策,由產(chǎn)品經(jīng)理一人完成特征選擇,用戶處于一種被動狀態(tài)。合作配置過程指多個用戶參與產(chǎn)品配置,產(chǎn)品經(jīng)理只負(fù)責(zé)分配和管理決策任務(wù)。本節(jié)從非合作配置、合作配置兩大類對基于特征的產(chǎn)品配置方法進行綜述。

5.1 非合作配置

非合作配置過程的關(guān)鍵是對用戶的需求信息進行分析與建模。用戶需求分為硬性需求和軟性需求。其中,硬性需求指用戶對最終產(chǎn)品功能的約束,即用戶指定包含哪些特征;軟性需求是一種模糊的概念,是用戶在選擇產(chǎn)品時的一種權(quán)衡和折中。因此,如何實現(xiàn)對軟性需求的建模是一個難點。

Bagheri等[12]提出基于利益相關(guān)者的軟性和硬性需求實現(xiàn)軟件產(chǎn)品線配置方法。該方法首先采用擴展的命題邏輯P(N)語言以及模糊P(N)語言分別描述利益相關(guān)者的硬性需求和軟性需求;其次通過Mamdani-type模糊推理技術(shù)[22]計算未綁定特征滿足約束的適應(yīng)度;最后用戶根據(jù)適應(yīng)度的高低進行特征選擇實現(xiàn)產(chǎn)品配置。

Czarnecki等[8]提出基于概率特征模型的配置方法。該方法利用特征以及特征間的聯(lián)合概率分布描述利益相關(guān)者的軟硬性需求。其中聯(lián)合概率分布是從一組已存在的軟件產(chǎn)品樣本空間中獲得。然后將概率特征模型映射到概率命題邏輯,通過使用現(xiàn)成的算法(如BN、最大化熵等)實現(xiàn)配置。

White等[23]針對移動設(shè)備的特殊性,提出自動化軟件產(chǎn)品變體選擇方法。移動設(shè)備領(lǐng)域的產(chǎn)品配置特點是用戶可以隨時隨地根據(jù)需要訪問網(wǎng)頁或下載應(yīng)用軟件。此特點要求配置過程需在有限配置時間內(nèi)自動獲取不同設(shè)備參數(shù),同時配置最優(yōu)的產(chǎn)品變體返回給移動設(shè)備。該方法通過遠(yuǎn)程技術(shù)獲取移動設(shè)備參數(shù),根據(jù)配置約束和資源消耗約束選擇特征,并利用CSP對多種數(shù)據(jù)類型的約束信息進行分析實現(xiàn)產(chǎn)品配置。

White等[24]提出多步配置方法,即從一個初始配置,經(jīng)過一系列中間配置,得到一個滿足約束條件的最終配置。多步配置的特點是每一個中間配置都是滿足當(dāng)前市場需求的有效產(chǎn)品。該方法用有向圖描述配置路徑,其中節(jié)點表示有效的中間配置,邊表示相鄰配置所需滿足的約束,如年預(yù)算。特征的選擇需滿足配置點約束以及配置邊約束。此過程中的特征模型是固定不變的。為適應(yīng)特征模型隨著市場、環(huán)境、技術(shù)等變化而變化,White等[25]對多步配置方法進行擴展,實現(xiàn)隨著時間的推移調(diào)整特征模型的功能。該功能根據(jù)不同特征模型的分類實現(xiàn)不同的變化。對于基本特征模型,可實現(xiàn)增加、刪除特征和關(guān)系等;對于基于基數(shù)的特征模型可以通過基數(shù)的修改實現(xiàn)特征模型的演變;對于擴展的特征模型,可以修改屬性值以及屬性域?qū)崿F(xiàn)演變。

Bartholdt等[26]提出一個IQ-SPLE方法。該方法支持從定量和定性兩個角度對質(zhì)量屬性需求進行建模,通過將質(zhì)量屬性映射到特征模型實現(xiàn)特征選擇。該方法將配置問題分為問題空間和方法空間,其中問題空間由特征模型組成,用戶根據(jù)可視化的特征模型自上而下逐個進行特征選擇;方法空間對質(zhì)量屬性進行建模,并將為用戶在問題空間的決策映射到方法空間,通過決策函數(shù)將屬性值反射到問題空間幫助用戶決策哪些特征必選,哪些特征可選以及哪些特征不可選等。

5.2 合作配置

相比于非合作配置,多用戶合作配置可有效解決基于大而復(fù)雜特征模型的產(chǎn)品配置問題。

Hubaux等[27]提出適應(yīng)不同利益相關(guān)者切面的多視圖配置方法。該方法通過將一個大而復(fù)雜的特征模型根據(jù)不同利益相關(guān)者的切面信息裁剪出相關(guān)視圖,隱藏?zé)o關(guān)視圖以實現(xiàn)關(guān)注點分離。為了實現(xiàn)配置的一致性,Hubaux等在文獻[28]中提出基于特征配置流的工具集實現(xiàn)多視圖配置。該配置流通過約定不同利益相關(guān)者的配置順序來避免視圖間的交互沖突問題。

同樣的,Czarnecki等[29]提出多階段配置實現(xiàn)合作配置。其中每一個階段對應(yīng)不同的利益相關(guān)者,后一個階段是在前一個階段的基礎(chǔ)上進行配置,最后通過將不同階段的配置整合成一個最終滿足用戶需求的產(chǎn)品。與多視圖方法相比,兩者目的都是根據(jù)不同的利益相關(guān)者需求分離關(guān)注點,模型結(jié)構(gòu)都支持基數(shù)特征模型,在裁剪視圖的方法上都通過修改特征基數(shù)以實現(xiàn)特征模型的一致性。區(qū)別在于多視圖方法是通過選擇特征來移除無關(guān)特征,而多階段配置是通過逐步排除特征以實現(xiàn)特征選擇,如通過對某特征屬性賦值操作等。

后來,Czarnecki等[30]提出多層次分階段配制方法。該方法被Classen等[31]加以形式化定義并被Hubaux等[32]進行擴展。該方法中,多層次對應(yīng)多個子特征圖,每個特征圖針對不同的部門或者軟件供應(yīng)商。通過將子特征圖的根節(jié)點作為父特征圖的子節(jié)點整合成一個大的特征圖。最后將不同利益相關(guān)者的配置分階段進行配置,實現(xiàn)最終的產(chǎn)品配置。該方法是在分階段配置的基礎(chǔ)上將多個子特征圖整合成一個特征圖實現(xiàn)配置。既考慮了不同利益相關(guān)者的不同需求,又通過整合子特征模型的方式來降低軟件產(chǎn)品線中特征模型的復(fù)雜性。

Mendonca等[33]提出協(xié)作產(chǎn)品配置(Collaborative Product Configuration,CPC)方法。多個利益相關(guān)者共同參與產(chǎn)品配置是一種必然趨勢。該方法通過分割特征模型(Splittng)生成對應(yīng)不同利益相關(guān)者的配置空間,根據(jù)不同配置空間的依賴強弱制定配置的執(zhí)行順序,如順序執(zhí)行或同時執(zhí)行等。CPC方法是對分階段配置方法的擴展和優(yōu)化,使合作配置方法能夠更好地協(xié)助多個利益相關(guān)者在產(chǎn)品配置過程中做出更好的決策。

6 相關(guān)工作

軟件產(chǎn)品線工程已成為一種日益突出的軟件開發(fā)范式。可變性管理是構(gòu)建軟件產(chǎn)品線工程的關(guān)鍵。該過程對于理解特定領(lǐng)域中產(chǎn)品家族的復(fù)雜性和多樣性具有重要的作用,同時也是實現(xiàn)有效產(chǎn)品配置的基礎(chǔ)。在現(xiàn)有的可變性管理方法中,特征建模和決策建模得到了廣泛的關(guān)注和應(yīng)用。文獻[16]總結(jié)了近20年來基于特征模型的操作、技術(shù)、工具和經(jīng)驗等方面的研究成果。但該綜述并沒有介紹基于特征模型的產(chǎn)品配置過程。

文中重點關(guān)注配置過程的方法和技術(shù),是在以上工作的基礎(chǔ)上對基于特征模型領(lǐng)域研究的一種完善和補充。關(guān)于決策模型的產(chǎn)品配置,Schmid等[34]比較了五個典型的基于決策模型的配置方法。與文中相比較,兩者都是從模型結(jié)構(gòu)、約束、自動化支持部件以及產(chǎn)品配置特性等角度對配置方法進行分析。不同點在于,文中是基于特征領(lǐng)域研究成果多的特點采用基于特征模型的綜述方式分析各配置方法的共性和可變性。

7 結(jié)束語

基于特征模型的產(chǎn)品配置方法在軟件產(chǎn)品線工程中得到了廣泛的研究和應(yīng)用。為實現(xiàn)對配置方法領(lǐng)域的眾多工作進行研究,文中將特征建模應(yīng)用于文獻綜述,對基于特征模型的配置方法家族構(gòu)建特征模型,通過對不同特征所代表的不同配置方法特性的分析,為讀者呈現(xiàn)一個整體的概念,使讀者能夠更好地理解該領(lǐng)域的研究現(xiàn)狀以及發(fā)展前景。

在后續(xù)工作中,將進一步完善基于特征模型的綜述方法,使其更好地支持對特定領(lǐng)域方法的分析。其次希望以該文為基礎(chǔ),進一步研究基于特征模型和基于決策模型配置方法的共性和可變性。

[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

國家自然科學(xué)基金資助項目(61170043);國家“973”重點基礎(chǔ)研究發(fā)展計劃項目(2014CB744904)作者簡介:劉玉梅(1990-),女,研究生,研究方向為模型檢測、軟件產(chǎn)品線。

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

猜你喜歡
特征產(chǎn)品分析
隱蔽失效適航要求符合性驗證分析
如何表達(dá)“特征”
不忠誠的四個特征
電力系統(tǒng)不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
抓住特征巧觀察
電力系統(tǒng)及其自動化發(fā)展趨勢分析
2015產(chǎn)品LOOKBOOK直擊
Coco薇(2015年1期)2015-08-13 02:23:50
線性代數(shù)的應(yīng)用特征
河南科技(2014年23期)2014-02-27 14:19:15
新產(chǎn)品
玩具(2009年10期)2009-11-04 02:33:14
產(chǎn)品
個人電腦(2009年9期)2009-09-14 03:18:46
主站蜘蛛池模板: 久久精品欧美一区二区| 亚洲高清在线天堂精品| 国产成人精品18| 中文字幕在线不卡视频| 国产十八禁在线观看免费| 91精品国产自产在线老师啪l| 亚洲天堂2014| 国产成人精品视频一区视频二区| 国产精品人莉莉成在线播放| 91亚洲视频下载| 亚洲无码在线午夜电影| 精品三级网站| 99激情网| 国产午夜福利片在线观看| 久久综合亚洲鲁鲁九月天| 亚洲h视频在线| 自慰网址在线观看| 爱爱影院18禁免费| 国产精品亚洲日韩AⅤ在线观看| 久久不卡精品| 久久无码免费束人妻| 91久久偷偷做嫩草影院免费看| 中文字幕2区| 欧洲精品视频在线观看| 91久久精品日日躁夜夜躁欧美| 国产av色站网站| 免费播放毛片| 2021国产精品自拍| 秋霞午夜国产精品成人片| 中文字幕亚洲专区第19页| 日本午夜精品一本在线观看 | 青青草原国产免费av观看| 青青国产成人免费精品视频| 欧美日韩中文国产| 亚洲国模精品一区| 综合亚洲色图| 亚洲欧美成aⅴ人在线观看| 六月婷婷综合| 免费毛片视频| 三区在线视频| 亚洲男人的天堂在线观看| 欧美在线三级| 亚洲三级片在线看| 国产高清又黄又嫩的免费视频网站| 国产自视频| 国产福利一区二区在线观看| 亚洲黄网视频| a亚洲天堂| 国产精品免费露脸视频| 国产91无码福利在线| 欧美专区在线观看| 日韩无码视频播放| 四虎国产在线观看| 亚洲人在线| 亚洲国产欧美国产综合久久 | 人妻少妇久久久久久97人妻| 亚洲精品不卡午夜精品| 国产人成网线在线播放va| 啪啪免费视频一区二区| 五月激激激综合网色播免费| 亚洲色图综合在线| 国产情侣一区| 国产精品天干天干在线观看| 日韩性网站| 亚洲九九视频| 久久semm亚洲国产| 蜜桃视频一区二区| 色噜噜狠狠狠综合曰曰曰| 99热这里只有精品在线播放| 99免费视频观看| 亚洲国产午夜精华无码福利| 国产精品jizz在线观看软件| 国产精品免费久久久久影院无码| 最新国产你懂的在线网址| 亚洲无码在线午夜电影| 国产第三区| 精品国产福利在线| 伊人91在线| 欧美性色综合网| 欧美亚洲国产精品第一页| 中文字幕第1页在线播| 亚洲日韩精品伊甸|