胡月瑩
摘要:特征模型是軟件產品線(SPLs)需求建模的熱門技術,Feature IDE是基于特征模型的實現軟件產品線所有階段的成熟技術,Guidsl語法集成在Feature IDE框架中,用于對特征模型進行語法定義和命題邏輯公式描述。本文以綜述的形式描述Guidsl 語法定義和命題邏輯公式,對后期的軟件自動化推理有很重要的作用和意義。
關鍵詞:綜述;軟件產品線;特征模型;Feature IDE 框架;Guidsl形式化描述
引言
軟件產品線是模仿工業的流水線生產的思想,可以高效率的生產高質量的軟件產品的一種方法,是針對某一領域的專業性思想方法[1]。使用特征模型構建軟件產品線的需求模型是目前在軟件產品線技術中比較成熟和熱門的一種方法。FeatureIDE是集成在Eclipse中的一個插件,可以完全覆蓋軟件產品線生產軟件的整個過程,而且也是基于特征模型的一種環境,對于需求模型的形式化描述的語法有很多種,其中FeatureIDE中是使用Guidsl語法進行描述,本文以綜述的形式總結了Guidsl的語法和命題邏輯公式。
1 Guidsl 語法
Guidsl 語法是描述軟件產品線特征模型中各成員的語法[2]。Feature IDE 可以應用 Guidsl 表示SPLs 的特征模型。Guidsl 語法包括三部分內容:語法定義、命題約束和注釋。其格式如下:
其中語法定義是對特征模型進行語義定義,然后用命題邏輯公式表示。
2 語法定義
Guidsl 語法用Products(產品)表示一個軟件產品,而產品中的特征元素Pattern組成,其具體格式如下圖所示:
上式中的 Pr 是Product的簡寫形式,P1,P1,…,Pn 是Pattern的縮寫。將一個軟件產品進行特征分解,用特證模型,也就是特征樹描述,那么這個特征樹包括若干層次,用Pattern表示。而樹的各節點用標識(Token)表示,當標識為大寫字母時,表示葉子結點,為小寫字母是為中間節點,當小寫字母后加加號,代表一個到多個中間節點,叫星號代表零個到多個中間節點,當節點用[]括起來,代表該特征為可選特征。根產品是個特例,它沒有Pattern。
特征模型可以使用命題公式表示,一個特征模型(即語法+約束)就是一個命題公式。通過語法到命題公式的映射可知一個模型(語法+約束)就是一個命題公式。
參考文獻:
[1] 張偉,梅宏.面向特征的軟件復用技術——發展與現狀[J].科學通報.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.