一种基于异质刻面转换的网构软件构件库中构件检索方法
【技术领域】
[0001]本发明涉及一种网构软件构件库中的构件检索方法,尤其涉及一种基于异质刻面转换的网构软件构件库中构件检索方法。
【背景技术】
[0002]构件检索是构件库研宄中的重要问题,有效的构件检索机制能够降低构件复用成本,提高构件的复用率和整个构件库的效益。一个构件库检索系统的检索质量通常通过查全率、查准率和检索效率来进行衡量。在分布式构件库环境下,构件数量较多,一次查询可能从多个构件库返回许多结果。为进一步提高用户的查询效果,我们需要关注查准率的提高方法,避免在结果集中出现大量无用信息。同时,又必须注意到,构件检索请求是基于一定的分类描述机制提出的,而一个请求可能会被采用了不同的分类描述机制的构件库处理,如果依然采用既有的基于该构件库特定分类描述机制的检索方法和匹配指标,容易导致查全率的大幅降低,因此必须考虑如何屏蔽两者间的异构性。
[0003]目前已有的方法主要有:基于构件行为采样的检索、基于构件形式化规约的特征匹配和规约匹配方法、基于神经网络、模糊数学、关联传动的构件检索方法等等。本发明提出一种基于异质刻面转换的构件检索方法,在保障一定的查全率的基础上追求更好的查准率。
【发明内容】
[0004]针对上述问题,本发明公开一种基于异质刻面转换的网构软件构件库中构件检索方法。
[0005]本发明的技术方案如下:
[0006]一种基于异质刻面转换的网构软件构件库中构件检索方法包括如下:
[0007]I)分析网构软件构件库的拓扑要求,引入公告牌系统作为协作模型存在于整个网络中;
[0008]2)借助树结构匹配的方法,实现异质刻面方案之间的转换机制,使构件检
[0009]索根据本地构件库的刻面方案进行。
[0010]所述的分析网构软件构件库的拓扑要求,引入公告牌系统作为协作模型存在于整个网络中具体为:网构软件建立在Peer-to-Peer,即P2P网络之上,需要一种协作模型作为形式化框架存在于整个网络中,以支持Peers之间的交互,实现良好的协作,由于各个分布在单个节点上的构件库的物理、逻辑和语境独立性,不需要处理构件库之间的直接通信,因此需要在整个P2P网络中存在一台中央服务器,用以协调每个Peer端的全局行为,引入公告牌系统作为协作模型,公告牌系统将公告牌作为全局信息存储空间,消息的发送者向公告牌写入信息,接收者在需要的时候从公告牌系统读取信息;在公告牌系统与单个节点上的构件库进行交互时,公告牌接收检索请求,并提供检索结果;公告牌系统协调多个运行在单个节点上的构件库接至Internet过程中的集成行为。
[0011]所述的借助树结构匹配的方法具体为:对一个刻面描述方案,引入一个虚拟根结点,然后将其中的刻面、子刻面分别映射为树中对应的父结点、子结点,形成一棵刻面树;对采用某个刻面方案来描述的构件,将其各个描述术语映射为对应的叶子结点,将其建模为一棵刻面描述树;将构件的检索请求表示为一棵检索树,将检索请求中出现的刻面名、子刻面名转化为相应层次的父、子结点,并将检索中给出的刻面术语值映射为叶结点;构件的检索转化为检索树与构件库中每个构件的刻面描述树之间的匹配。
[0012]所述的实现异质刻面方案之间的转换机制具体为:异质刻面描述方案的转换模型通过不同刻面描述方案的转化机制和计算转化代价来描述,所述的不同刻面描述方案的转化机制为:在中央构件库上有一套公共刻面描述方案CF,单个节点的构件库需要实时更新这个公共刻面描述方案到本地,用以构造基于CF的检索请求;各个本地构件库中有自己的刻面描述方案RF,由各个构件库提交到公告牌系统的检索请求,要经过刻面转化,把基于本地的刻面描述方案的检索请求转换成基于公共刻面方案的检索请求;当本地构件库从公告牌系统中取回检索请求时,必须先转换成自身的刻面描述方案,然后交给本地的构件库处理。
[0013]所述的转化代价的计算具体步骤包括如下:
[0014]I)将树T和树Q中的结点按自左向右的后序顺序编号,并按编号值的升序来遍历这两棵树中的所有结点;
[0015]2)在遍历的过程中将每一个与P结点的标签相同或具有近似关系的t结点记录进集合M[p]中;其中P结点属于树Q,t结点属于树T ;
[0016]3)枚举所有可能的Qsub和Tsub ;其中Qsub表示Q的一个结点子集,Tsub属于Π qi e Qsub M(qi),其中qi表示Qsub中的一个节点;
[0017]4)对枚举出来的一对Qsub和Tsub,首先判断Qsub — Tsub的映射是否符合Mi的条件,Mi表示五种匹配类型的某一种;
[0018]5)对匹配条件成立的映射再得到相应的匹配代价,即相应匹配模型的时间复杂度,具体为:子树匹配的时间复杂度为0(πι.η);区域匹配的时间复杂度为0(πι2.η);包容匹配的时间复杂度为 0(m.ndegree(Q).degree (Q)2)。
[0019]本发明首先分析网构软件构件库的拓扑要求,引入公告牌系统;其次借助树结构匹配的理论方法,实现不同构件库上刻面方案之间的转换机制,即将刻面方案映射为树结构,用树之间的匹配来完成不同刻面方案之间的转换,使检索请求能够根据本地构件库的刻面方案被提出。本发明提出一种基于异质刻面转换的构件检索方法,在保障一定的查全率的基础上追求更好的查准率。
【附图说明】
[0020]图1基于公告牌机制的系统体系结构;
[0021]图2公告牌系统的结构;
[0022]图3构件的刻面描述树实例;
[0023]图4检索请求树实例;
[0024]图5刻面转换过程;
[0025]图6A检索请求树和构件刻面描述树的子树匹配模型;
[0026]图6B检索请求树和构件刻面描述树的区域匹配模型;
[0027]图6C检索请求树和构件刻面描述树的包容匹配模型;
[0028]图6D检索请求树和构件刻面描述树的强约束包容匹配模型;
[0029]图6E检索请求树和构件刻面描述树的弱约束包容匹配模型;
[0030]图7检索请求树和构件的刻面描述树的匹配算法。
【具体实施方式】
[0031]网构软件运行在Internet环境下,每个节点维护的本地构件库相对独立。本文研宄的网构软件建立在Peer-to-Peer,即P2P网络之上,需要一种协作模型作为形式化框架存在于整个网络中,以支持Peers之间的交互,实现良好的协作。各个分布在单个节点上的构件库的物理、逻辑和语境独立性,不需要处理构件库之间的直接通信,因此需要在整个P2P网络中存在一台中央服务器,用以协调每个Peer端的全局行为。
[0032]公告牌系统是一种良好的分布式系统通信机制,它去除了一些分布式技术所需要的进程间通信交互和紧密绑定,对于由分布式进程组成的动态社区内的问题解决提供了具有良好扩展性的框架。在公告牌系统中,公告牌是一个全局信息存储空间,消息的发送者可以向公告牌写入信息,接收者在需要的时候从公告牌系统读取信息。每个进程可以自主观察感兴趣的项目,并基于从公告牌获取的信息和自身的状态执行计算。写入操作和读取操作不需要同步进行,形成一种非时间耦合的协作模型,适合于具有自主性的智能主体的运行特性。基于公告牌机制的系统体系结构如图1所示。
[0033]在该体系结构中,多个运行在单个节点上的构件库接至Internet,并由服务器上的公告牌系统作为集成行为的协调者。单个节点上的构件库与公告牌系统进行交互,将检索请求发送至公告牌,并从公告牌取回检索结果。在每个Peer端的构件库上都运行着若干个Agent,负责向公告牌系统提交检索请求、从公告牌系统取回检索请求、在本地库中进行检索、向公告牌系统返回检索结果、从公告牌系统取回检索结果等职责。
[0034]图2描述了公告牌系统的结构,一个公告牌系统包括发布区、请求区和结果区三个部分。由于公告牌系统是属于中央构件库的一部分,运行于同一台服务器或同一个服务器集群。因此,发布区主要是保存那些由单个节点上的本地构件库提交到公告牌系统中的共享构件。请求区是单个节点上的本地构件库提交的检索请求被集中到构件检索请求区。检索请求首先由中央服务器上的本地检索Agent进行处理,在可供共享的构件信息中查找是否有符合要求的构件。如果获得满足条件的结果,结果将被发布到公告牌系统的结果区。单个节点上的本地构件库通过本地检索产生的结果也通过检索结果提交/获取Agent汇集到结果区。最后,单个节点上的本地构件库可以从结果区观察他们的检索结果,通过检索结果提交/获取Agent取回本地。
[0035]在这