APP下载

基于RGPS的网络化软件需求内容管理

2015-12-01胡建强李涓子吴克寿朱顺痣

关键词:关键字网络化实例

胡建强,李涓子,谢 勇,吴克寿,朱顺痣

(1.厦门理工学院计算机与信息工程学院,福建 厦门361024;2.清华大学计算机科学与技术系,北京100084)

互联网快速发展和面向按需服务的架构、群体软件工程[1]驱动网络化软件正逐步成为互联网上软件开发的主流.网络化软件的生产方式是实现个性化与多样化的涉众需求的软件服务规模化定制,即面向领域的群体用户的共性需求和个性化需求,在元级上整合成服务需求的元描述,以面向按需服务的软件规模化定制形式实现大众需求,具有“面向领域,用户需求主导”特性[2].

针对网络化软件,北京大学提出本体制导、面向问题框架需求建模,并应用到商业模型、保险业和电子商务等领域[3].武汉大学面向具体领域问题,对该问题相关的用户角色、目标、流程和服务建模[4].武汉大学、清华大学等院校加入ISO/IEC JTC1SC32 WG2,制定网络化软件的互操作性元模型框架国际标准ISO/IEC19763-Metamodel Framework for Interoperability(MFI)[5],其中需求元描述国际标准 RGPS(Role-Goal-Process-Service)用来指导网络化软件的需求建模.RGPS包括角色层、目标层、过程层和服务层4个层次,各层次关联并整体协同:角色承担相应的角色目标,参与者提出个性化目标;过程可以完成功能目标,并可以促进非功能目标的实现;软件服务可以实现过程.基于R/G/P/S各层元模型之间的互操作和相互关联,从分析用户个性化需求开始,通过角色层,目标层,过程层和服务层之间的映射和转换,分析和诱导出完整的网络化软件需求[6],从而实现面向按需服务的软件规模化定制.根据网络化需求变更和网络资源的动态变化,网络化软件规模化定制支持适应性调整和演化.

需求管理是软件需求过程的重要基础.传统软件需求管理系统[7-9]存在计算机自动化程度低,管理粒度较粗以及对需求获取,需求分析,需求演化和需求变更等需求活动支持有限等问题.

相对地,网络化软件的需求管理面对新的挑战:存在基于本体的网络化软件需求的元描述标准RGPS,要求计算机对需求文档实现语义内容管理;基于关键字检索未必充分,因为需要确保需求查询的粒度和精度;传统采用信息检索技术不适用于构建需求跟踪关系,需要智能发现需求内在关联,同时保证粒度和可跟踪性;需要为需求分析,需求演化和需求验证等活动提供支撑服务.

针对上述挑战,融合本体图数据管理,语义数据索引以及语义数据可视化等语义Web前沿技术,提出一种基于RGPS的网络化软件的需求内容管理的层次结构,包括网络化软件需求的语义内容存储、语义内容细粒度索引、语义内容分类与组织、层次化语义检索和结果输出与显示5个层次.围绕以上5个层次,重点解决基于关键字的倒排索引算法,基于条件随机场算法的需求实例分类和启发式实例关联查找算法等关键技术问题.最后,实现了基于RGPS的网络化软件需求内容管理原型工具RGPS-RM,结合面向交通领域的按需回答案例,可视化展示功能.

1 网络化软件的需求内容管理

图1给出基于RGPS的网络化软件的需求内容管理的层次结构,各层之间的依赖关系是下层为上一层提供服务和支持.

图1 网络化软件的需求内容管理的层次结构Fig.1 Ahierarchical architecture for semantic requirements management of networked software

网络化软件的需求内容管理的各个层次功能具体如下:

1)语义内容存储:遵循需求元描述标准RGPS,在领域本体和领域模型的支持下,个性化需求借助诱导和转换等需求分析技术生成网络化软件需求的实例.本质上,网络化软件需求的数据模型是本体图,其数据存储模式直接影响到数据访问和检索效率.原生式存储模式[10]符合本体图数据模型特点,可以避免基于内存的存储模式、基于关系或对象数据库存储模式存在的弱点.

2)语义内容细粒度索引:细粒度索引是实现任意片断、任意粒度检索网络化软件需求的语义内容的重要基础.通过细粒度索引并形成语义索引库,为层次化语义内容检索支持.大多数系统使用大量索引,如Oracle RDF(resource description framework,资源描述框架)提取模式描述信息并建立规则索引;文献[11]在关系存储基础上建立主索引和二级索引.本文采用基于关键字的倒排索引算法,可以克服网络化需求实例的检索性能瓶颈.

3)语义内容分类与组织:由于网络化软件的需求文档的复杂性和可成长性,存在查询返回的结果日渐庞大.结合领域模型和领域本体,通过基于线型条件随机场 CRFs(linear conditional random fields)分类算法,综合利用需求元描述标准RGPS定义的上下文概念关系,实现有效组织和自动归类,提高层次化语义检索的效率,以及结果输出与显示的性能.

4)层次化语义检索:由于需求活动要求的多样性,以及网络化软件需求内容共享的灵活性,需要解决传统语义检索系统中存在的检索形式单一,结果返回单一以及关联检索关注度不够等问题.按照涉众关注精细度不同,可以构造概念,属性和实例索引并实现复合检索;利用需求元描述标准RGPS中概念层次的关系指导节点扩展,挖掘需求实例关联检索.

5)结果输出与显示层:根据统一输入应用程序接口(application programming interface,API)接收需求活动的请求,经层次化语义检索层获得需要的结果,再按照一定的过滤规则,以本体有向超图方式展示结果或统一输出API反馈文本形式结果.一方面,达到需求活动对网络化软件需求的细粒度透明访问;另一方面,通过定制API为需求跟踪,需求变更管理和需求版本管理等需求活动按需接收文本结果,方便调用和集成.

2 关键技术

2.1 基于关键字的倒排索引算法

由于需求元描述标准RGPS,因此广泛采用的网络化软件需求的描述语言是 OWL(web ontology language)本体描述语言,其数据模型是本体图,具体定义:

定义1(本体图)本体图记为G=(V,E,lV,lE),其中V是构成该本体的全体概念集合,称为本体图的结点;E是概念到概念之间的关系集合,称为本体图的有向边,有向边的起点表示关系中实施作用的概念,终点表示关系中被作用的概念;lV,lE是本体图结点和边上的标记函数[10].

根据本体图模型,解决网络化软件需求存储的关键是V中结点元素(起点vs和终点vo)和E中边元素的表示问题.E集合中有向边元素视为一个结点元素vp.网络化软件需求的存储问题本质上是三元组(vs,vp,vo)的存储问题.采用原生方式存储网络化软件需求文档能适应本体图特点,克服基于内存的存储模式和基于传统数据库的存储模式(三元组表、垂直分割和属性表)存在的不足,摆脱传统数据库普通存在的阻抗失配问题,减少数据加载和更新时间[11].

完全索引是一种较有影响力的设计方法,通过建立6个索引,来包含三元组中3个元素所有可能的排序方式.例如(YARS)对三元组及其上下文信息建立了6个B+树索引;Kowari则利用(AVL)和B树来代替B+树建立索引[12].如果能按关键字建立网络化软件需求文档的索引,就可以根据关键字快速地检索网络化软件需求文档的内容.通常情况下,这种倒排索引结构由词典(lexicon)和置入表两部分组成.词典用于存储关键字(keywords),每个关键字和一个置入表(postings)相关联,该表中的每个指针指向与该关键字相关的某个文档.为实现细粒度查询,将置入表设计为二维指针链表:一维中每一指针指向该关键字相关的网络化软件需求文档;另一维中每一指针都指向同一需求文档中包含该关键字的一个三元组,并且包括该关键字在三元组中的统计信息.下面给出基于关键字的倒排索引算法[10].

利用基于关键字的倒排索引算法经由置入表中第一维指针很容易得到与该关键字相关的网络化软件需求文档,并且通过置入表第二维指针信息可以进一步明确该关键字位置.在获得关键字在本体图中位置信息的同时,索引还同时返回相关的统计信息,因而能确保需求检索的细粒度和精确度.

2.2 基于线性条件随机算法的需求实例分类

从全局管理和本体概念角度,结合领域模型和领域本体,采用分类算法(如线型条件随机场CRF,支持向量机(support vector machine,SVM)等)实现对网络化软件需求有效组织和自动归类,及层次化语义内容检索结果有序缓存,同时有利于提高检索效率.

传统的SVM分类利用关键字构造特征向量,然后利用关键字向量之间余弦计算相似度是否大于阈值[13],从而实现简单分类.其缺点是完全没有考虑元描述RGPS和领域模型中定义各种的上下文关系.为此,采用线性条件随机场算法CRF[14].由于输入线性CRF分类算法的特征向量包括边向量和数值属性向量.首先,利用网络化软件需求元模型RGPS定义的概念上下文关系生成线性边向量,算法过程如下:

设对于某个属于概念C的实例i,输入线性CRF的数值属性向量所对应的属性p和属性p的取值v,数值属性向量(pd1,vd1),(pd2,vd2),…,(pdn,vdn);由网络化软件需求实例的线性边向量生成算法得到边属性向量(pe1,ve1),(pe2,ve2),…,(pen,ven)作为线性条件随机场算法CRF的输入向量.线性条件随机场算法CRF表示为如下形式:

其中,Z(x)对所有可能状态的归一化分配函数,使得所在状态序列的概率和为1,Z(x)的计算公式如下:

其中,y|ve和y|vd分别对应边属性向量(pe1,ve1),(pe2,ve2),…,(pen,ven)和属性向量(pd1,vd1),(pd2,vd2),…,(pdn,vdn),参数tk和sj表示边和数值属性的特征函数,λk和uj分别表示边特征和属性特征的权重.根据最大熵原理和条件概率最大的状态序列来确定需求实例分类.根据最大熵原理和条件概率最大的状态序列来确定数据的类别[15].

2.3 启发式关联查找算法

为解决传统语义检索系统中存在的检索形式单一,结果返回单一以及关联检索关注度不够等问题,需要由浅入深挖掘潜在的语义信息.由于网络化软件遵循需求元描述标准RGPS,因此利用R/G/P/S本体概念层次间的关系,挖掘实例与实例之间的关联,为动态需求跟踪服务和需求变更分析创造条件.

定义2(关联关系)网络化软件需求存在以下关联关系:Rdirect(c1,c2)=r(c1,c2)表示存在从概念c1指向概念c2的直接关系;Rdirect(i1,i2)=r (i1,i2)表示存在实例i1指向实例i2的直接关系;Rindirect(c1,c2)=r(c1,ck)r(ck,ca)…r(cb,c2)表示概念c1和概念c2存在间接关系;Rindirect(i1,i2)=r(i1,ik)r (ik,ia)…r (ib,i2)表示实例i1指向实例i2存在间接关系.

根据定义2,可以以启发式宽度优先策略,利用需求元模型标准指导节点的扩展方式查找一条实例之间的间接关联.但由于需要对元模型标准RGPS依赖性较强,同时在子类嵌套层次较多的本体中会产生大量需要扩展的结点,影响查找效率,具体算法如下:

3 系统演示

3.1 案例说明

以武汉城市旅游出行规划为例:美籍华人王教授按照天气条件,宾馆与景点距离和出行路况选择交通工具等约束确定游玩路线.遵循需求元描述标准RGPS,基于改进的SORL[15]经过角色层模型、目标层模型和过程层模型逐层分析和诱导,得到服务层模型,最终基于互联网动态挖掘软件服务,并实现按需服务的软件规模化定制,从而构造面向交通领域的按需回答平台,以多媒体展示出行路线规划推荐给最终用户.图2展示用户输入“武汉大学”到“江汉路”得到最佳出行路线规划,以及天气、交通和信息系统等综合集成效果.

由于RGPS各层次模型相对比较复杂,只给出客户角色王教授的出行路线目标描述、出行路线过程描述、出行路线服务的部分描述示例如图3所示.

3.2 管理工具RGPS-GM

遵循网络化软件需求RGPS元描述,采用基于RGPS的需求语义内容管理的层次结构初步实现原型工具RGPS-GM.其中,数据库采用开源软件Berkeley DB v4.7.25保证可靠和高性能;界面采用SUN公司的图形类库Java Swing和Sourceforge JUNG v2.0.1图形化框架.

图4给出RGPS-GM工具的总体视图,包括工具栏,需求快速导航,网络化软件需求属性(优先级,稳定性,版本号等),需求有向视图窗口和查询窗口等.用户能对结果中的某个实例进行观察和导航.需求有向视图窗口展示面向交通领域的按需回答平台的完整需求描述,并以不同颜色(红/黄/浅蓝/绿)的圆点分别表示R/G/P/S的概念层次关系.查询窗口支持简单查询(simple query),关联查询(relation query),层次查询 (hierarchy query)和 高级查询 (advanced query),实现任意粒度的查询,具有很高的灵活性.

图2 面向交通领域的按需回答平台Fig.2 An on-demand Q/A Case in transport domain

图3 部分基于RGPS的网络化软件需求Fig.3 Apart of RGPS-based requirement for networked software

RGPS-GM工具支持网络化软件需求任意实例的关联查询.根据用户输入的需求文档中资源的URI,运用启发式实例关联查找算法能动态挖掘数据库中相关联的其它资源,图5展示直接或间接关联的R/G/P/S各层次资源关联关系.

图4 RGPS-GM界面Fig.4 An overview of RGPS-GM

图5 RGPS-GM中关联挖掘结果Fig.5 Association mining of RGPS-GM

4 结 论

语义Web与需求工程领域的结合尚属较新探索领域.目前仅限于两类情况:一是建立特定领域的本体为多个目标应用系统的需求提供共享知识库,如基于本体的软件需求恢复[16];二是基于本体的领域模型为相应领域内应用系统的需求规范提供基础,实现知识重用,如基于本体的需求演化管理框架[17]等.

网络化软件的需求元描述RGPS决定网络化软件需求的数据模型是本体图,其特殊性对传统的需求管理技术提出很大挑战.本文提出了基于RGPS的网络化软件需求内容管理的层次化结构,重点突破以下关键技术:采用关键字的倒排索引算法保证支持对网络化软件需求的任意粒度检索,以方便需求活动能共享需求内容;采用基于线性条件随机算法的需求实例分类算法实现自动组织和分类,提高管理系统的总体性能;提出基于启发式实例关联查找算法挖掘实例变化和内在关联,为需求跟踪和变更数据奠定基础.

下一步将重点围绕进一步研究需求跟踪和需求变更,解决动态RGPS数据集的查询优化等问题;对需求分析,需求演化和需求验证等活动的支撑服务;完善原型系统RGPS-RM的功能,增强交互式浏览查询,并在云计算和大数据等领域展开应用研究.

致谢 感谢清华大学周立柱教授和唐杰副教授,武汉大学何克清教授,李兵教授和彭蓉教授,北京航空航天大学张莉教授,东北大学吴刚副教授的指导和帮助!

[1]李未.云计算和群体软件工程[EB/OL].[2013-04-22].http:∥ ocow.copu.org.cn/zhutiyanjiang/201304/P020130422484782941399.pdf.

[2]马于涛,何克清,李兵,等.网络化软件的复杂网络特性实证[J].软件学报,2011,22(3):381-407.

[3]陈小红,尹斌,金芝.基于问题框架的需求建模:一种本体制导的方法[J].软件学报,2011,22(2):177-194.

[4]刘建晓,何克清,王健,等.RGPS制导的按需服务组织与推荐方法[J].2013,36(2):238-251.

[5]ISO/IEC JTC1SC32WG2.ISO/IEC 19763-3,information technology-metamodel framework for interoperability[EB/OL].[2014-06-11].http:∥metadata-stds.org/19763/.

[6]王建.网络式软件的需求元建模框架及关键技术研究[D].武汉,武汉大学,2008.

[7]Borland.Borland CaliberRM [EB/OL].[2013-03-29].http:∥www.borland.com/us/products/caliber/index.html.

[8]IBM.DOORS(dynamic object oriented requirements system)[EB/OL].[2014-12-03].http://www.telelogic.com/index.cfm.

[9]IBM.Rational RequisitePro[EB/OL].[2014-06-06].ht-tp:∥www-306.ibm.com/software/awdtools/reqpro/.

[10]Wu Gang,Li Juanzi,Hu Jianqiang,et al.System Pi:a native RDF repository based on the hypergraph representation for RDF data model[J].Journal of Computer Science Technology,2009,24(4):652-664.

[11]Lu J,Ma L,Zhang L,et al.SOR:apractical system for ontology storage,reasoning and search[C]∥Proc of the 33rd Int′l Conf on Very Large Data Bases (VLDB 2007).Austria:ACM Press,2007:1402-1405.

[12]Gugnani S,Roul R K.Triple indexing:an efficient technique for fast phrase query evaluation[J].International Journal of Computer Applications,2014,87(13):9-13.

[13]Cristianini N,Shawe-Taylor J.An introduction to support vector machines[M].Cambridge,UK:Cambridge University Press,2000.

[14]李艳丽,周忠,吴威.一种双层条件随机场的场景解析方法[J].计算机学报,2013,36(9):1898-1907.

[15]Liu Wei,He Keqing.Requirements dynamic elicitation and analysis:heavyweight semantic inducement solution[J].Special Issue on Software Engineering and Complex Networks:DCDIS Series B,2007,14(S6):238-245.

[16]Elviawaty M,Eko K B,Heru S.Requirements recovery using ontology model for capturing end-to-end interaction of proven application software[J].International Journal of Software Engineering and Its Applications,2013,7(6):425-434.

[17]He Hongye,Wang Zhixue,Zhang Ying,et al.An ontologybased framework of requirements evolvement management[J].Journal of Software,2012,7(9):2018-2025.

猜你喜欢

关键字网络化实例
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
成功避开“关键字”
基于最优树的网络化作战装备体系结构优化
基于HDS和CANopen多品牌PLC网络化控制实验平台搭建
完形填空Ⅱ
完形填空Ⅰ
网络化时代社会认同的深刻变迁
一类非线性网络化系统的鲁棒故障检测
智能垃圾箱