资源描述:
《基于刻面描述的构件检索》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1000-9825/2002/13(08)1546-06©2002JournalofSoftware软件学报Vol.13,No.8基于刻面描述的构件检索Ã11121王渊峰,张涌,任洪敏,朱三元,钱乐秋1(复旦大学计算机科学与工程系软件工程实验室,上海200433);2(上海计算机软件中心,上海200233)E-mail:yfwang@fudan.edu.cn;www_yf@sina.comhttp://www.fudan.edu.cn摘要:随着软件复用实践的深入和软件构件库规模的扩大,对软件构件的表示与检索的研究正受
2、到越来越多的重视.针对基于刻面描述的软件构件,结合模式分析中的树匹配思想,根据构件刻面描述的特点,提出了一种基于树包含(treeinclusion)的构件检索方法,并进行了理论上的分析与实验上的检验.实验结果证明了它的可行性与有效性.关键词:构件库;构件检索;刻面;树匹配;软件复用中图法分类号:TP311文献标识码:A可复用构件的描述和检索是软件复用和构件库研究的一个重点,它伴随着复用实践的深入和新技术的出现而不断取得进展.针对不同的构件描述形式,研究人员已提出了许多相应的检索方法.例如,AndyPodgurski等
3、[1]人针对构件的行为表示提出的基于构件行为采样的检索;AmyMoormann等人针对构件的形式化规格说明提[2]出的基调(signature)匹配(接口规约)和规约匹配(功能规约).针对传统的构件文献编目描述,许多研究学者还[3][4][5]提出了将神经网络、模糊数学、关联传动等方法应用于构件的检索.目前,构件的刻面描述是一种正逐步得到重视与应用的描述方法.例如,REBOOT,NATO提出的构件分类方法都是基于刻面的.青鸟构件库中的构件[6]也是采用以刻面分类为主、多种分类模式相结合的方法对构件进行分类描述.但是,
4、目前对于刻面描述的构件的检索主要采用的还是以传统的数据库检索技术为主,并结合利用同义词词典和刻面术语间的层次结构来实[6,7]现构件的松弛匹配.另外,伴随着构件库面向网络的实践,以XML作为构件描述的标记语言已经在Forbes[8]Gibb等人的项目中得到了一定的实现.但是对于XML的构件刻面描述文档,用目前的XML检索语言来完成构件检索的任务,还存在值得改进之处.首先,构件库的检索与一般的数据库或文献库中的检索不同,构件的检索需要一定的模糊匹配能力,在保证一定的查准率的情况下提高查全率.另外,构件库的检索需要兼顾对
5、查询的构件的不完全描述,对查询的匹配应有一定的张弛能力,不仅要求能给用户返回匹配的结果还要求能返回相应的匹配程度,为用户复用构件提供有意义的参考信息.另外,各构件库的刻面分类方案可能完全不一样,为了查到合适的构件,用户可能需要跨越多个构件库,如何实现跨构件库的构件检索,对用户有效地屏蔽异质构件的刻面描述间的差别,这也是一个亟待解决的有意义的研究课题.构件的刻面描述可以展开为一棵刻面描述树,于是构件描述与构件查询间的匹配可以转化为这种树形的结构化描述之间的匹配.我们首先借鉴了有关树匹配方面的研究成果,并在此基础上结合构
6、件匹配的具体特征给出了匹配的条件约束以及匹配代价的定义.由于求解树的匹配代价的算法在计算复杂性上还是一个NP难Ã收稿日期:2001-07-10;修改日期:2002-02-25基金项目:上海市教委重点学科建设资助项目(B990105)作者简介:王渊峰(1974-),男,上海人,博士,主要研究领域为软件复用,构件库系统;张涌(1973-),男,河北南皮人,博士,主要研究领域为软件复用,软件测试自动化;任洪敏(1969-),男,重庆人,博士生,主要研究领域为软件复用;朱三元(1936-),男,江苏苏州人,研究员,博士生导师
7、,主要研究领域为软件工程;钱乐秋(1942-),男,江苏吴江人,教授,博士生导师,主要研究领域为软件工程,CASE工具与环境,软件复用.王渊峰等:基于刻面描述的构件检索1547题,在本文中我们首先提出了一般的枚举算法,并对它利用查询树的层次性进行了改进,提出了改进后的枚举算法.最后在理论和实验上对它们的检索性能进行了分析,从一定程度上证明了应用树匹配的思想对刻面描述的构件进行检索这一方法的可行性和有效性.1基本概念1.1刻面描述及其查询的树建模一个基于刻面描述的构件库中与检索直接相关的有以下3个主要内容:(1)刻面分
8、类方案;(2)各个构件的刻面描述集合;(3)刻面描述术语之间的关系,即术语辞典.对一个刻面描述方案,我们将其中的刻面、子刻面分别映射为树中对应的父节点、子节点,对采用某个刻面描述方案描述的构件,可以将其相应的刻面描述术语映射为对应的叶子节点.例如:Prieto-Diaz最早提出来的刻面描述方案为两个主刻面:“功能”和“环境”,且每个主刻面分别有