胡月莹
摘要:特征模型是软件产品线(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.