基于刻面分类的构件检索
基于刻面描述和术语的构件检索算法

在树匹配领域中树包含问题 已被证 明为 N P问
题. 虽然下文提 出的对查询树与构件刻面描述树之
问匹配代价计算 的算法 的时 间复杂度是指数级 别 的, 但通过具体分析以及实验验证 , 可以证明改进后 枚举算法的有效性 和可用性. 了描述改进后 的枚 为 举算法, 先引入 以下的两个 概念 : 匹配点集 M 和合
化 为叶节 点 , 用 一 个 虚 拟 的根 节 点 将 它 们 组 合 为 并
一
棵查询树 . 于是 , 构件的检索就转化为查询树与库
用各种构件库管理命令利用构件 , 控制构件的执行 . 通过构件库管理系统使用各类构件将更加方便.
中构件的刻 面描述树之间的匹配.
3 2 算法 描述 .
随着软件复用实践的深入和软件构件库规模 的 扩大 , 对软件构件的研究越来越受到重视. 可复用构
件 的描述 和检 索是软 件 复用和 构件库 研 究 的一个 重
用 者理解 相关 领 域 , 同时 术语 空 间可 以 随着 构 件 描 述 的变 化而 演变 .
3 检索算法
3 1 算 法理 论 .
2 构件 的分类 和检索 的方法
常用构件的分类 和检索方法有 以下几种: 基于 构件规约检索、 基于 自由文本的分类和检索、 基于功 能规范化表示的构件存储和检索方法、 基于枚举的 分类 和检索方法、 刻面分类法.
其中, 刻面分类法是一种基 于库科学分类计 划 的标准术语词汇 的构件描述模式. 面分类法将术 刻 语置于一定的语境 中, 从反映构件本质特性的不 同 的视角( 刻面) 对构件进行 分类. 每个刻面中有一组 术语 ( 关键词) 术语 间由于有一般特殊关系和同义 , 词关系而形成结构化的术语空间 , 由表示领域手工
基于刻面分类的构件检索系统的设计与实现

1 )刻面必须充 分并明确地描述构件库 中全 体构件 , 即每一
Ke w o ds y r Fa e e l siiain Co o n ere a Co c t d c a sfc to mp ne trtiv l mpo e tr g n ntso a e
中取值 , 在术语空 间中游历可 以帮助用户理解 相关领域 。
0 引 言
b e s d i a k y tc n lg s u . e r u e s e e h o o is e Amo g v ro sc mp n n ere a t o s f c td b s d rtiv li a k n fhg l fe t e me h d t y n ai u o o e t t v lme h d ,a ee — a e er a s i d o ih y efc i t o r i e v o b i ey a p id I h sp p rt e c a a t r t ft ef c td c a sf ai n p t r sa a y e a fc t d ca s ia in meh d o o o e t e w d l p l . n t i a e h r ce i i o a ee l s i c t at n i n z d, a e e ls i c t to fc mp n n e h sc h i o e l f o i i t d c d, n a e n w ih a k n f o o e t rtiv ls se i d sg e n mp e ne . s n r u e a d b s d o h c i d o mp n n s er a y t m s e in d a d i lme td o c e
构件检索详细设计说明书-1221

L ive S ky®R esearch文档编号:DTESD-DCT-1Confidential level(受控)构件检索工具设计说明书Version 0.1湖南力唯中天研究院All Rights ReservedA. 文档变更历史日期版本变更说明作者2011.12.21 1.0 赵鄂B.文档审核历史审核日期版本审核意见审核人内部资料,请妥善保存第2页/共14页目录1引言 (4)1.1编写目的 (4)2设计技术及开发环境 (4)2.1 设计技术 (4)2.2 开发环境 (4)3系统设计 (4)3.1 运行环境 (4)3.2 系统功能描述 (4)3.3 系统架构 (5)4.框架组成 (5)5.模块设计 (6)5.1 构件检索对话框 (6)5.2 构件下载对话框 (9)5.3 数据库操作 (10)5.4 检索信息模型 (10)5.5 FTP操作 (12)5.6 文件操作 (13)内部资料,请妥善保存第3页/共14页1引言1.1编写目的本文档是为了系统开发人员和测试人员能快速查阅系统的设计思路和具体功能,对系统的整体架构有大概的了解。
2设计技术及开发环境2.1 设计技术2.2 开发环境本系统需要的开发环境:Eclipse 3.7,JDK 1.6。
服务器端需要的环境:mysql5.1,Serv-U V11.0。
3系统设计3.1 运行环境3.2 系统功能描述功能列表:1. 能通过关键词或刻面属性检索构件。
2.查看构件的基本信息。
内部资料,请妥善保存第4页/共14页内部资料,请妥善保存 第5页/共14页3. 可以选择需要用到的构件。
包含功能:按关键字模糊检索构件,按刻面属性精确检索,查看构件信息,下载构件。
3.3 系统架构构件提交工具中主要模块之间的交互如下图所示:构件检索对话框用户操作检索结果表读取数据表t_register构件库检索检索信息本地构件读取检索构件下载对话框提取选中的构件信息下载进度条下载构件图3.1 构件提交阶段主要模块之间的交互4.框架组成构件检索采用一个构件检索对话框。
基于刻面分类的信息检索匹配优化探讨

关键词 信息检索 刻面 异构数据源 软构件模 型
中图分 类号 T 3 1 P 1 文献标识码 B 文章编号 1 10 — 54 0 7 5 9 1
Ba e n F c tIf ma i n Re r v l t hn t z t n s d o a e or t ti a n o e Ma c i g Op i a i mi o
K y rs R e wo d I
F ct a e
OD S
CC M
一
、
构 件 刻 面 ( a e ) 要 介 绍 F c t简
刻 面是 构 件 为 客户 端 提 供 的接 口 ,这 些 接 口不 一
定与被继承 的所支持 的接 口有联系 。刻面允许 构件 通 过 提供 不 同 的接 口为 客 户端 提 供 不 同 的视 图 。 在 C R A构件模型 中,客户端是通过构件 的组 件接 口 O B ( q i ln Itfc ) E uv etne ae 对构件进行访 问的.组件接 E唯 a r l
LI Ba l oi n
(co l fnomao nier g Enu ot r V ct nl ng K n n 6 0 Sh o o fr t nE g ei , isnS f e oao aCo ee u mig 5 0) I i n n wa i 1 7
基于刻面分类和本体的类库检索

上 与 时 间上 是 不 可 行 的 。
库 管 理 和 检 索 方 法 , 过 刻 面 分 类 描 述 机 制 和 本 体 的 语 通 义 扩 展 及 推 理 能 力 , 效 地 对 类 进 行 存 储 和 管 理 , 便 有 方
用 户 快 捷 准 确 地 从 类 库 中 寻 找 适 合 自 己 需 要 的 类 , 而 从 更 好 地 达 到 软 件复 用 的 目的 。主要 内容 有 : 出一 个 合适 给
制 和 本 体 的语 义 扩 展 与 推 理 能 力 , 效 地 对 类 进 行 存 储 和 管 理 , 便 用 户 快 捷 准 确 地 从 类 库 中寻 找 适 有 方
合 自己需要 的类 , 而更好 地 达到 软 件 复 用 的 目的。 从
关 键 词 :类 库 ; 件 复 用 ; 面 分 类 ; 体 软 刻 本
中 图分 类 号 :T 3 1 P 1 文 献 标 识 码 :A 文 章 编 号 :1 7 — 7 0 2 1 ) 3 0 1 — 5 6 4 7 2 (0 0 2 — 0 4 0
Co b n n f c t d l s i c to a o t l g o c a s i r r r t i v l m i i g a e e c a sf a i n nd n o o y f r l l a y e re a i s b
基于刻面分类的ERP构件检索

E P构 件 库作 为支 持 E P系统 实 现 构 R R 件化 开发 的一个 重要 基 础设 施 ,关键 的 目标 是支 持件 ,与这 一 目标 有关 的主要 技 术 问题 是 E P 件 的分 类和 检索 方法 。 R R 构 E P构 件 的分 类方 法有 很 多种 ,其 中隶 属信 息 科学 领域 的 刻 面分 类 方 法 正 逐 步 得 到 重 视 与应 用。 本文 将 E P构件 以刻 面分 类模 式 的基础 R 上 , 鉴树 匹配 模型 , 借 提 了一 种新 的基 于 刻 面分类 模式 的构 件 检索 方法 ,这 种 方法 既 能 检索 到与检 索 条件 精确 匹 配 的构件 ,又 能兼 顾对 所检索 构 件 的不 完全描 述 ,对 构件 的 检 索具 有一定 的 张弛 能力 。 因此 能够兼 顾 构 件 检索 的查 全率 和查 准率 ,并 且有 较 好 的检 索 效率 。
信 息技 术
C h i
Z U U I| I Nj U 嗣囵团圜墨 U . 困
基 于刻 面分 类 的 E P构 件检索 R
闰 学伟
( 尔 滨理 工 大 学 计 算机 科 学与 技 术 学 院 , 龙 江 哈 尔滨 10 81 哈 黑 500
摘 要 : 何从 E P构件 库 中准确 快速 找到 需要 的 构件 , 如 R 是每 个 E P构件 库 系统 需要解 决 的一 个主要 问题 。本 文从 E P构件 的刻 R R 面分 类模式 出发 , 对 E P构件检 索的特 点 , 针 R 结合树 匹配模 型 思 想 , 出了 E P 件 树路 径 匹配 算 法 , 算 法可 以在保 持 构件 查询 提 R 构 该 速 度的 前提 下 , 效提 高 E P构件 的 查全 率和 查准 率 , 有 R 实验 姑 孚 明 了访 算法 的可行 鲁有效性 。 关键词 : R E P构件库 ; 面分 类 ; R 刻 E P构件 检 索 ; 匹配 树
基于刻面分类模式的构件库检索方法

维普资讯 hቤተ መጻሕፍቲ ባይዱtp://
本栏 贵任 辑: 薇 目 编 贾薇
・ ・ ・计 算 机 工 程 应 用 技 术 ・ ・ ・・
基于刻面分类模 式的构件库检 索方法
梁 任洪 ,敬 粤, 敏 张 周
(. 海 海 事 大 学 信 息 工 程 学 院 , 海 20 3 ;. 旦 大 学 计 算 机 系 , 海 2 0 3 ) 1 上 上 0 1 5 2复 上 0 4 3
sf r. h er v eh o ge b s n f ee l s ct n s e a eb e d l ac pe r t h h ac r y a d e f e c ot e T ert e a tc n li s a d o c t c s f a o h meh v en wie ce t f s i cua n fc n y wa i l o e a d ai i c i y d o i g c li i
基于FI-BPNN的构件检索算法

关键 词 : 可重构 ; 由; 路 构件 分 类; 构件检 索 ; 糊推 理 ; 模 神经 网络
中 图 分 类 号 : N 1 T 95 文献 标识码 : A 文 章 编 号 :6 1— 6 3 2 1 )2— 2 8— 6 17 0 7 ( 0 0 0 0 2 0
a i n p I r e o i r v h e o ma c fte c m p n n e re a rm o o e t l— nd bul g u . n o d rt mp o e t e p r r n e o h o o e tr ti v l o c mp n n s i di f f
Abs r c Th e o fg a l t r o i g p a f r i e l e y c m p n n e r tn t a t: e r c n ur b e ne wo k r ut l t m s r a i d b o i n o z o e t g ne a i g,r ti v l e re a
b ay f rt e p af r , o r r o h l t m a c mpo e tc a sf ain m eh d o o t r n a d r a e n f c ti o n n ls ii to t o fs f c wa e a d h r wa e b s d o a e s
p ee td o o e trtiv lag r h ae n F — P rs ne .A c mp n n ere a loi m b s d o IB NN( u z n ee c a k Po a ain t F zy I frn e B c rp gt o
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于刻面分类的构件检索袁冬娟,周晓峰河海大学计算机及信息工程学院,江苏南京(210098)摘要:构件库是软件复用技术的核心,而如何有效检索到可复用的构件是关键。
在众多的构件检索方法中,刻面检索是一种得到广泛应用和高效的检索方法。
这方面的研究和实践也一直是构件检索的重点,并且结合新技术而不断发展着。
本文介绍了构件刻面检索的现状,并对其未来的发展进行了展望。
关键词:软件复用,构件检索,刻面1引言软件构件技术是影响整个软件产业的关键技术之一[1]。
它被认为是有效提高软件生产率、缩短软件产品交付时间和提高软件质量的新途径。
近年来,构件技术的发展和基于构件的软件工程(Component - Based Software Engineering,CBSE)[2]的提出,使得构件库的建立成为发展的必然趋势, 因为基于构件的软件开发需要具有大量可供选择的可复用构件,提供验证合格的构件就必须通过构件库来实现,但如何有效地从构件库中准确地检索到所需要的构件是构建构件库的关键技术问题。
有效的构件检索机制能够降低构件查找和理解的成本,软件构件的分类和检索方法决定了构件库的组织、管理,以及构件库的查询和用户对软件构件的理解,是软件复用的基础性问题,也是近来软件复用研究的一个热点。
基于刻面分类的构件检索方法以其能够较大地提高检索效率,而且有助于复用者理解构件和目标领域的优点得到广泛的应用。
2构件检索的现状随着软件复用实践的深入和构件库规模的扩大以及新技术的不断发展,出现了很多构件检索方法。
目前的构件分类和检索方法有两种:一是W. Frakes从构件表示出发分为的人工智能方法、超文本方法和信息科学方法三类。
信息科学方法是目前实际复用项目中应用较为成功的一类, 又分为基于受控词汇表(枚举、刻面)分类和基于不受控词汇表(如关键词)分类两种形式,其中以枚举、刻面、属性值、关键词和正文检索几种方法较为常见;另外就是H. Mili按照复杂度和检索效果的递增将其分为基于文本的、基于词法描述子的和基于规约的编码和检索方法[3]。
构件检索方法又可以归结为三类:基于外部索引的检索(如关键词、刻面、属性值)、基于内部静态索引的检索(基于规约的构件检索)和基于内部动态索引的检索(基于行为的检索)[4]。
具体的研究和实际应用例如Prieto-Diaz提出的基于刻面分类的检索[5],Andy Podgurski等人提出的基于构件行为采样的检索[6],Merkl D.[7]等人首次将神经网络用于构件检索,Penix J.[8]等人提出利用语义特征对构件进行分类检索;到对构件的形式化表示和检索,在文[9]中作者提出对构件的基调匹配和规约匹配;1999年Damiani E.在文[10]将模糊数学用于构件的检索。
构件搜索引擎是近年来CMU/SEI的Seacord等人研究和开发的一种构件搜索系统[11],能够在Internet的各个节点上自动寻找和搜集JavaBeans、Active X、CORBA、EJB等构件,获得构件的URL等相关信息,并为之建立索引。
随着www 和Internet技术的发展,出现了xml、Web Services等技术以及本体的理论都为构件检索提供更为广阔的前景。
在文[12]中将xml结合刻面分类方法来对构件进行表示和检索。
李玉山等人在文[13]中介绍了在刻面分类的检索的基础上采用Web Services技术对构件进行封装实现了构件库的互操作功能。
近年来随着本体的理论研究和应用的发展,本体在信息检索特别是基于知识检索中得到广泛的应用[14,15]。
Ruben PrietoDiaz在他的文章[16]中给出了一种基于方面(Facet)的本体构建方法。
目前基于刻面分类的构件检索以其能够丰富表达构件,较大的提高检索效率而且有助于复用者理解构件功能而得到了广泛的重视和应用,被视为是一种比较理想的构件库分类和检索策略,被众多构件库管理系统所采用。
3基于刻面分类的构件检索3.1刻面分类的特点刻面(facet)[17]这个术语最早使用是在50年代,分别出现在Ranganathan的图书馆分类系统中和Guttman的一项社会调查中。
但是那时的刻面概念还比较模糊,刻面之间也存在着语义上的交迭等诸多不合理因素。
然后Prieto-Diaz[18]将刻面分类方法应用于GTE公司的构件项目时,发现该方法能够提高检索效率,而且有助于构件使用者理解构件和目标领域。
刻面是一个单词或短语的固定集合,用于描述构件的某个方面或视角(viewpoint)。
每个刻面具有一组术语,术语之间有类层次关系和同义词关系而形成结构化的术语空间。
不同的刻面(刻面,术语)构成分类中子集合中元素的满足条件。
构件的描述术语仅限在给定的刻面之中选取,在术语空间中游历可以帮助复用者理解相关领域。
刻面具有下列特点[19]:(1) 刻面必须充分明确地描述构件库中全体构件,即每一个构件都可以用该刻面分类。
(2) 每一个刻面与一个术语空间相关联。
任意两个刻面的术语空间是正交的,即一个刻面的术语发生变化不会影响到另一个刻面的术语空间。
(3) 一个刻面的术语空间为有限的不定空间,即可以随时间的演进而动态地增加和删除术语。
(4) 每一个构件的所有刻面必须予以定义,不允许在对构件分类时有未定义的刻面;但查询时,用户可以利用任意数目的刻面来查询。
(5) 构件库管理者对构件进行分类时,应该针对每一个刻面,从术语空间中选择适当的术语可以是多个术语,来完成构件的封装工作。
(6) 在一个术语空间中的术语按一般/特殊关系形成树状的层次结构,每一个术语附带有不定数目的同义词(术语间可以具有同义词关系)。
F1F2 ………… F i图1刻面及其术语空间的关系F1 F2…F i是描述构件特征的刻面,{ F1;T11,T12 …T1j } { F2;T21,T22 …T2j }…{ F i;T i1,T i2 …T ij }是一个分类子集合中元素的满足条件。
其中T11,T12 …T1j;21,T21,T22 …T2j ;T i1,T i2 …T ij分别是F1 F2…F i中的术语集合。
在刻面分类策略中,构件库管理者通过将刻面与对应的术语相联结,可以在构件间建立复杂的联系。
与一般的层次分类策略相比,刻面分类策略更易于修改,更富有弹性,因为对一个刻面的修改不会影响到其它的刻面。
同时,每个刻面对应一个结构化的术语空间,避免了一般的关键词分类策略的杂乱无章,使得对关键词的管理更为方便和有序。
术语空间中的术语有两种关系,即一般/特殊关系和同义词关系,术语间有了这两种关系后,用户可以沿着术语间的关系迅速对术语进行定位。
同时,用户在检索所需的构件时,有时很难对构件的各个刻面作出准确的描述,因而要查找的术语可能不够精确。
另外不同的用户由于习惯不同,使用的术语也不尽相同,因而查找时容易出现术语的不匹配(mismatch)。
利用这两种关系,既可以统一用户间术语使用上的差异,又可以帮助用户将自己的检索需求进一步修正和细化,这也是一个逐步求精的过程。
3.2刻面分类模式的发展NATO标准最初的刻面的分类是NATO标准中的刻面分类模式,它的刻面集合包括:对象、功能、算法、构件类型、语言、环境[20][21]。
3C构件模型3C构件模型是在1989 年的“Reuse in Practice Workshop”中由一些系统工程领域的专家提出的,它是关于构件的一个指导性模型。
3C构件模型的刻面分类方案主要来自该模型描述构件所采用的3个特征:概念(concept)、内容(content)和语境(context)[22]。
概念用于描述构件的功能,构件的概念依靠它的接口说明及所执行操作的语义描述表现出来,使用者可以从概念描述中了解它的功能;内容描述构件怎样完成概念所描述的功能,它是概念的细化描述;语境描述构件与其它构件的关系,这是构件中最复杂的特征描述,这种描述又可以从3个方面考虑。
(1)概念语境,说明在给定系统中,构件在接口和操作语义上的相互关系。
(2)操作语境,说明操作对象的特征。
(3)行为语境,说明一个构件在执行时与其他构件之间的相互信赖关系。
3C 模型是一个高抽象层次的、可裁减的、可扩展的一个构件描述的指导性模板,它主要用于对构件的可复用信息的描述。
3C模型的描述主要由构件生产者提供。
基于3C 模型的软构件描述语言允许刻画类属构件属性,更适合于形式化的方法和语言。
REBOOT系统的刻面分类模型 REBOOT(Reuse Based on Object-Oriented Technology)模型是Even-Andre karsson等人在REBOOT项目总结中提出的[23]。
REBOOT 中采用的刻面包括:(1)抽象(abstraction):对构件概念的抽象描述。
(2)操作(operation):对构件所提供的操作的描述。
(3)操作对象(operate on):描述构件操作的对象。
(4)依赖(dependency):描述构件与外界的依赖关系。
它主要用于对可复用构件进行分类及检索。
使用这四个刻面为面向对象构件分类时,抽象刻面常为类名,操作刻面常是类的方法,操作于刻面描述与之合作的其它构件,其术语空间与抽象刻面是基本一致的。
从整体上看来,REBOOT的刻面分类模式主要针对的是源代码级别的构件,而且不具备描述粒度较大、结构较复杂的构件如模式、框架等的能力。
REBOOT模型则主要用于对可复用构件进行分类及检索REBOOT 的描述则应由构件库的管理者提供。
REBOOT模型只允许按照给定的刻面框架结构描述已有的软构件。
因而适合于非形式化的方法。
青鸟构件库系统的刻面分类模型北京大学软件工程研究所提出的青鸟构件库中的构件也是采用以刻面分类为主、多种分类模式相结合的方法对构件进行分类描述。
它分为五个刻面:(1)使用环境:构件库中任何构件都必须依赖于一定的使用环境才能得到复用,即使是源代码级的某些通用构件,也必须依赖于特定的编译系统。
(2)应用领域:构件的应用领域是该构件原来或可能被使用到的应用领域(及其子领域)的名称。
这里的领域,指共享某种功能性(functionality)的系统或应用程序的集合。
构件库中任何构件都有一个适用的领域,一般的通用构件适用领域为General。
(3)功能:构件的功能是该构件在原有或可能的软件系统中所提供的软件功能集。
构件库中任何构件都必须提供一种或多种功能。
(4)层次:构件的层次是构件相对于软件开发过程阶段的抽象层次。
(5)表示方法:构件的表示方法是用来描述构件内容的语言形式或媒体,如源代码构件所用的编程语言等[22,24]。
每个刻面中的术语按照一定的关系组成术语空间,青鸟构件库中的刻面术语存在一般-特殊和同义词关系,术语的一般、特殊关系形成一个树形结构,越顶层的术语抽象层次越高。