胡月瑩

摘要:特征模型是軟件產(chǎn)品線(SPLs)需求建模的熱門技術(shù),F(xiàn)eature IDE是基于特征模型的實(shí)現(xiàn)軟件產(chǎn)品線所有階段的成熟技術(shù),Guidsl語法集成在Feature IDE框架中,用于對特征模型進(jìn)行語法定義和命題邏輯公式描述。本文以綜述的形式描述Guidsl 語法定義和命題邏輯公式,對后期的軟件自動化推理有很重要的作用和意義。
關(guān)鍵詞:綜述;軟件產(chǎn)品線;特征模型;Feature IDE 框架;Guidsl形式化描述
引言
軟件產(chǎn)品線是模仿工業(yè)的流水線生產(chǎn)的思想,可以高效率的生產(chǎn)高質(zhì)量的軟件產(chǎn)品的一種方法,是針對某一領(lǐng)域的專業(yè)性思想方法[1]。使用特征模型構(gòu)建軟件產(chǎn)品線的需求模型是目前在軟件產(chǎn)品線技術(shù)中比較成熟和熱門的一種方法。FeatureIDE是集成在Eclipse中的一個插件,可以完全覆蓋軟件產(chǎn)品線生產(chǎn)軟件的整個過程,而且也是基于特征模型的一種環(huán)境,對于需求模型的形式化描述的語法有很多種,其中FeatureIDE中是使用Guidsl語法進(jìn)行描述,本文以綜述的形式總結(jié)了Guidsl的語法和命題邏輯公式。
1 Guidsl 語法
Guidsl 語法是描述軟件產(chǎn)品線特征模型中各成員的語法[2]。Feature IDE 可以應(yīng)用 Guidsl 表示SPLs 的特征模型。Guidsl 語法包括三部分內(nèi)容:語法定義、命題約束和注釋。其格式如下:
其中語法定義是對特征模型進(jìn)行語義定義,然后用命題邏輯公式表示。
2 語法定義
Guidsl 語法用Products(產(chǎn)品)表示一個軟件產(chǎn)品,而產(chǎn)品中的特征元素Pattern組成,其具體格式如下圖所示:
上式中的 Pr 是Product的簡寫形式,P1,P1,…,Pn 是Pattern的縮寫。將一個軟件產(chǎn)品進(jìn)行特征分解,用特證模型,也就是特征樹描述,那么這個特征樹包括若干層次,用Pattern表示。而樹的各節(jié)點(diǎn)用標(biāo)識(Token)表示,當(dāng)標(biāo)識為大寫字母時(shí),表示葉子結(jié)點(diǎn),為小寫字母是為中間節(jié)點(diǎn),當(dāng)小寫字母后加加號,代表一個到多個中間節(jié)點(diǎn),叫星號代表零個到多個中間節(jié)點(diǎn),當(dāng)節(jié)點(diǎn)用[]括起來,代表該特征為可選特征。根產(chǎn)品是個特例,它沒有Pattern。
特征模型可以使用命題公式表示,一個特征模型(即語法+約束)就是一個命題公式。通過語法到命題公式的映射可知一個模型(語法+約束)就是一個命題公式。
參考文獻(xiàn):
[1] 張偉,梅宏.面向特征的軟件復(fù)用技術(shù)——發(fā)展與現(xiàn)狀[J].科學(xué)通報(bào).2014(01)
[2] Batory D.A tutorial on feature oriented programming and the ahead tool suite [M]. Berlin Heidelberg:Springer,2006:3-35.
[3] Mannion M. Using first-order logic for product line model validation [M]//Software Product Lines. Springer Berlin Heidelberg,2002:176-187.