一种基于本体概念相似度的软件构件检索方法技术

技术编号:15189690 阅读:81 留言:0更新日期:2017-04-19 19:34
本发明专利技术公开了一种基于本体概念相似度的软件构件检索方法,包括:用户根据需求向软件构件库发出构件检索请求,软件构件库根据用户的构件需求构建相应的语义本体树;所述的软件构件库根据用户的需求,从构件的OWL描述文档库中检索出对应的构件描述本体树;将所述的构件描述本体树与用户需求本体树进行模糊匹配;如果所述的构件描述本体树与用户需求本体树的匹配不成功,则对失配的构件进行构件重组;并使用KMP算法对查询本体树的相似概念进行修改重匹配;根据构件的OWL描述文档与相对应构件的自动映射,使用户从构件库中检索到相应的构件。本发明专利技术可以利用语义相似度精确地发现目标构件,有效地提高构件的查询效率和复用率,缩短软件的开发周期。

【技术实现步骤摘要】

本专利技术属于软件工程
,涉及一种基于本体的软件构件检索方法,特别是一种基于本体概念相似度的软件构件检索方法。
技术介绍
随着软件工程技术的快速发展,面向构件和服务的软件开发方法已经成为广大软件开发人员的开发主流。而面向构件的软件开发方法的最大依赖对象为构件库。对软件构件的表示和查询的方法很多。目前主流的构件库系统对构件的描述都采用基于特征或者XML的刻面描述方法。于文静、赵海燕、张伟、金芝在“基于特征模型的软件产品自动导出方法综述[J].软件学报,2016,1:002”中提到一种利用特征模型和分类框架自动导出软件构件的方法,为自动导出软件产品提供了支持。但基于特征的方法缺乏对特征模型组织框架的细致研究和说明,在一定程度上导致了特征模型在表现形式上的冗余性和混乱性,也使得领域分析人员在实践中很难有效地进行领域建模活动。WangY,WangB等在“AComponentRetrievalTreeMatchingAlgorithmBasedonaFacetedClassificationScheme[J].CyberneticsandInformationTechnologies,2015,15(1):14-23”中提到一种刻面分类的软件构件检索方法的框架与理论,可以查询某种特定领域的构件,提高了查询的效率和准确性。但是,在语义网的条件下,采用刻面的构件描述方法无法描述领域构件的上下文语义,而基于关键字或者刻面描述的查询方法的查全率和查准率十分有限,不能满足软件开发人员的查询需求。随着软件种类大幅增加和软件规模的扩大,在语义上相似而在语法不同的构件也随之增多,而已有的方法很难利用语义相似度精确的发现目标构件,增加构件的复用率,提高软件开发的效率。本专利技术正是基于本体、利用语义相似度查询目标构件,提高构件的查准率,进而缩短软件的开发周期。
技术实现思路
本专利技术的目的是为克服上述现有技术的不足而提供一种基于本体概念相似度的软件构件检索方法,该方法通过使用本体web语言(OWL)描述构件,并将其转化为本体树进行模糊匹配,然后对失配的构件进行重组,并使用KMP算法对查询本体树的相似概念进行修改以提高构件检索的查准率,提高软件开发的效率。为了解决现有技术的上述问题,本专利技术采用以下技术方案。本专利技术的一种基于本体概念相似度的软件构件检索方法,包括以下步骤:步骤一、用户根据需求向软件构件库发出构件检索请求,软件构件库收到用户的请求后,根据用户的构件需求构建相应的语义本体树;步骤二、所述的软件构件库根据用户的需求,粗粒度地从构件的OWL描述文档库中检索出对应的构件描述本体树;步骤三、将所述的构件描述本体树与用户需求本体树进行模糊匹配;步骤四、如果所述的构件描述本体树与用户需求本体树的匹配不成功,则对失配的构件进行构件重组;并使用KMP算法对查询本体树的相似概念进行修改重匹配;步骤五、根据构件的OWL描述文档与相对应构件的自动映射,使用户从构件库中检索到相应的构件。在所述的步骤二中,所述的从构件的OWL描述文档库中检索出对应的构件描述本体树,包括以下过程:(21)对每一个领域构件采用OWL进行描述从而形成构件的OWL描述文档,然后利用XPath提取其中的本体概念;但对于本体中的对象概念的基本属性进行忽略,所述的基本属性包括:作者,日期;(22)将XPath提取出的本体概念进行分层分类形成一棵本体树;所述的构件描述文档对应有一棵描述本体树;为了更好地实现本体概念相似度的映射,将上述的描述本体树转化为描述二叉树。在所述的步骤三中,所述的构件描述本体树与用户需求本体树进行模糊匹配,是指:通过计算两棵构件描述本体树与用户需求本体树中节点之间的相似度和树中节点的个数,即匹配长度,来计算所述两棵本体树之间的匹配价值;并根据其匹配价值实现两棵本体树之间的模糊匹配映射,在这一过程存在两种情况;第一种情况,两树本体树之间存在模糊匹配:设T=(V,E,root(T))为任意的一棵本体树对应的二叉树,则二叉树T的匹配价值H(M)为:其中:表示树中所有节点的本体概念相似度和;︱v︱表示匹配长度,即为树中节点的个数;设Q=(V,E,root(Q))为查询本体树对应的二叉树,D=(V,E,root(D))为描述本体树对应的二叉树,其中:若:则称两棵本体树为模糊匹配;其中,≈是指在某个阀值范围内成立;第二种情况,如果两棵本体树不存在模糊匹配,则将查询本体树的二叉树D中的节点Node和连同节点的叶子一起划分成︱Node︱棵子树;同理也将查询本体树的二叉树Q也划分为若干棵子树;然后将上述划分出的每棵子树对进行模糊匹配;采用下列算法提取查询本体树的二叉树D中节点Node:p=com→lchild;while(p→rchild!=null){p=p→rchild;printf(″p″);本文档来自技高网
...

【技术保护点】
一种基于本体概念相似度的软件构件检索方法,其特征在于,包括以下步骤:步骤一、用户根据需求向软件构件库发出构件检索请求,软件构件库收到用户的请求后,根据用户的构件需求构建相应的语义本体树;步骤二、所述的软件构件库根据用户的需求,粗粒度地从构件的OWL描述文档库中检索出对应的构件描述本体树;步骤三、将所述的构件描述本体树与用户需求本体树进行模糊匹配;步骤四、如果所述的构件描述本体树与用户需求本体树的匹配不成功,则对失配的构件进行构件重组;并使用KMP算法对查询本体树的相似概念进行修改重匹配;步骤五、根据构件的OWL描述文档与相对应构件的自动映射,使用户从构件库中检索到相应的构件。

【技术特征摘要】
1.一种基于本体概念相似度的软件构件检索方法,其特征在于,包括以下步骤:步骤一、用户根据需求向软件构件库发出构件检索请求,软件构件库收到用户的请求后,根据用户的构件需求构建相应的语义本体树;步骤二、所述的软件构件库根据用户的需求,粗粒度地从构件的OWL描述文档库中检索出对应的构件描述本体树;步骤三、将所述的构件描述本体树与用户需求本体树进行模糊匹配;步骤四、如果所述的构件描述本体树与用户需求本体树的匹配不成功,则对失配的构件进行构件重组;并使用KMP算法对查询本体树的相似概念进行修改重匹配;步骤五、根据构件的OWL描述文档与相对应构件的自动映射,使用户从构件库中检索到相应的构件。2.根据权利要求1所述的一种基于本体概念相似度的软件构件检索方法,其特征在于,在所述的步骤二中,所述的从构件的OWL描述文档库中检索出对应的构件描述本体树,包括以下过程:(21)对每一个领域构件采用OWL进行描述从而形成构件的OWL描述文档,然后利用XPath提取其中的本体概念;但对于本体中的对象概念的基本属性进行忽略,所述的基本属性包括:作者,日期;(22)将XPath提取出的本体概念进行分层分类形成一棵本体树;所述的构件描述文档对应有一棵描述本体树;为了更好地实现本体概念相似度的映射,将上述的描述本体树转化为描述二叉树。3.根据权利...

【专利技术属性】
技术研发人员:柯昌博肖甫王少辉
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1