(计算机应用技术专业论文)基于构件资源库的程序挖掘实现技术研究.pdf_第1页
(计算机应用技术专业论文)基于构件资源库的程序挖掘实现技术研究.pdf_第2页
(计算机应用技术专业论文)基于构件资源库的程序挖掘实现技术研究.pdf_第3页
(计算机应用技术专业论文)基于构件资源库的程序挖掘实现技术研究.pdf_第4页
(计算机应用技术专业论文)基于构件资源库的程序挖掘实现技术研究.pdf_第5页
已阅读5页,还剩57页未读 继续免费阅读

(计算机应用技术专业论文)基于构件资源库的程序挖掘实现技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 程序挖掘是网络环境下实现按需定制服务的一种新型的网络计算模式。它的 基本思想是:分析用户计算需求,从构件资源库中检索获取所需构件,并把这 些构件组装成满足用户需求的程序,实现服务定制与服务动态创建。 按照用户需求处理的先后顺序,程序挖掘过程可划分成五个阶段:提交用户 需求、用户需求分析与功能提取、构件检索、构件分析选择与组装、程序验证 与执行。其中,构件检索是一个关键环节。 本文基于i n t e m e t 和本地的构件资源库,主要研究了程序挖掘系统框架模型 以及构件检索策略问题。在多智能代理平台下,把案例推理方法( c a s eb a s e d r e a s o n i n g ,c b r ) 应用到系统中,引入领域本体和用户兴趣,设计了程序挖掘 系统框架。根据w e b 服务存在的智能化和个性化问题,提出了一种基于领域本 体和用户兴趣的构件检索策略,即在基于刻面、关键字检索的基础上,将领域 本体和用户兴趣结合起来,查找满足用户需求的构件资源。同时开发了程序挖 掘系统,并通过实例验证了该系统的可行性和构件检索方法的有效性。具体研 究工作如下: 将c b r 应用到程序挖掘系统中,通过建立用户兴趣模型和领域本体知识库, 在原有程序挖掘系统结构的基础上,完善了系统框架模型,体现了主动服务智 能化和个性化特点。 根据本体的语义性和领域的内聚性特点,使用本体特征描述构件,定义了 本体特征领域模型,给出用户兴趣信息的获取方法,在此基础上提出了种基 于领域本体和用户兴趣的构件检索策略和关联构件检索算法。 最后,在m i c r o s o f t n e t 平台下开发了程序挖掘系统,其包含多个子系统,考 虑到程序挖掘系统的复杂性,本文详述了构件检索子系统的实现过程,并以 e c o m m e r c e 领域内构件资源为实例,与关键词和刻面检索机制相比较,验证了 该检索方法的可行性和有效性。实验结果表明,该方法对于大规模构件库具有 较好的查全率和查准率。 关键字:程序挖掘,构件,c b r ,领域本体,用户兴趣 a b s t r a c t p r o g r a mm i n i n gi san e wm o d e lo fn e t w o r kc o m p u t i n gi nn e t w o r ke n v i r o n m e n t w h i c hi m p l e m e n t st h eo n - d e m a n ds e r v i c e i t sb a s i ci d e ai st oa n a l y z eu s e r s r e q u e s t s , r e t r i e v er e q u i r e dc o m p o n e n t sa n da s s e m b l et h e mi n t oa i li n t e g r a lp r o g r a mt om e e t u s e r s ,n e e d sa n da c h i e v es e r v i c ec r e a t i o na n dc u s t o m i z a t i o nd y n a m i c a l l y a c c o r d i n gt ot h eo r d e ro fd e a l i n gw i t hu s e r s r e q u e s t s ,t h ep r o c e s so fp r o g r a m m i n i n gi sd i v i d e di n t of i v es t e p s :s u b m i tu s e r s r e q u e s t ;a n a l y z eu s e r s r e q u e s ta n d d i s s e c tf u n c t i o n s ;s e a r c ha n dr e t r i e v ec o m p o n e n t s ;t a i l o ra n da s s e m b l ec o m p o n e n t s ; v e r i f ya n dd e p l o yp r o g r a m a m o n gt h e m ,r e t r i e v i n gc o m p o n e n t si sak e y o n e o nt h eb a s i so ft h ei n t e r n e ta n dl o c a lc o m p o n e n tr e s o u r c ew a r e h o u s e ,t h ep a p e r r e s e a r c h e dm a i n l yt h ef r a m e w o r km o d e lo fp r o g r a mm i n i n gs y s t e ma n d t h e c o m p o n e n tr e t r i e v a ls t r a t e g y i nt h em u l t i - a g e n tp l a t f o r m ,t h ef r a m e w o r ko fp r o g r a m m i n i n gs y s t e mw a sd e s i g n e da c c o r d i n gt oi m p o r t i n g t h em e t h o do fc a s e - b a s e d r e a s o n i n g ( c b r ) a n dd o m a i no n t o l o g ya n du s e ri n t e r e s t m e a n w h i l e ,c o n s i d e r i n gt h e p r o b l e m so fi n t e l l i g e n c ea n dp e r s o n a l i t yi nw e bs e r v i c e ,an e w r e t r i e v a lm e c h a n i s m b a s e do nd o m a i no n t o l o g ya n du s e ri n t e r e s tw a sp r e s e n t ,w h i c hc o m b i n e dd o m a i n o n t o l o g ya n du s e ri n t e r e s t o nt h eb a s i so ft h es e a r c hm e c h a n i s mo ff a c e ta n d k e y w o r d st or e t r i e v er e q u i r e dc o m p o n e n t s e x c e p tt h a t ,t h ep r o g r a mm i n i n gs y s t e m w a si m p l e m e n t e d ,a n di tp r o v e df e a s i b i l i t yo fs y s t e ma n de f f e c t i v e n e s so ft h e c o m p o n e n tr e t r i e v a lm e t h o dw i t ha ni n s t a n c e s p e c i f i cs t u d i e s a r ea sf o l l o w s : c b rw a sa p p l i e dt ot h ep r o g r a mm i n i n gs y s t e m ;t h es y s t e mf r a m e w o r kw a s i m p r o v e dt h r o u g ht h ee s t a b l i s h m e n to fu s e ri n t e r e s tm o d e la n dd o m a i no n t o l o g y r e p o s i t o r y t h es y s t e mh a st h ec h a r a c t e r i s t i c so fi n t e l l i g e n c ea n dp e r s o n a l i t y o fa c t i v e s e r v i c e o n t o l o g yh a sf e a t u r e s o fs e m a n t i ca n dc o h e s i o n ,s oo n t o l o g yw a su s e dt o d e s c r i b ec o m p o n e n t st od e f i n eo n t o l o g yf e a t u r ed o m a i nm o d e l t h ea c q u i r i n gm e t h o d o fu s e ri n t e r e s ti n f o r m a t i o nw a sp u tf o r w a r d o nt h eb a s i so ft h e s e ,ar e t r i e v i n g m e t h o db a s e do nd o m a i no n t o l o g ya n du s e ri n t e r e s ta n da na l g o r i t h mo fs e a r c h i n g a s s o c i a t e dc o m p o n e n tw e r ep r e s e n t u f i n a l l y ,t h em i n i n gs y s t e mw a sd e v e l o p e do nt h ep l a t f o r mo fm i c r o s f l n e t , w h i c hi n c l u d e dan u m b e ro fs u b s y s t e m s ,t a k i n gi n t oa c c o u n tt h ec o m p l e x i t yo ft h e p r o c e d u r eo fm i n i n gs y s t e m ,t h ep a p e rd e t a i l e d t h es u b s y s t e mo fr e t r i e v i n g c o m p o n e n t s ,a n da n i n s t a n c ew i t hc o m p o n e n t si ne - c o m m e r c ef i e l d p r o v e d f e a s i b i l i t ya n dv a l i d i t yc o m p a r i n gw i t ht h er e t r i e v a lm e t h o d sb a s e do nk e y w o r d sa n d f a c e t t h ee x p e r i m e n t ss h o wt h a tt h em e t h o dh a sh i g h e rp r e c i s i o na n dr e c a l lt h a n o t h e r sf o rl a r g e s c a l ec o m p o n e n t sl i b r a r y k e yw o r d s :p r o g r a mm i m n g ,c o m p o n e n t s ,c b r , d o m a i no n t o l o g y ,u s e ri n t e r e s t i i i 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 武汉理工大学或其它教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示了谢意。 签名:望正日期:兰掣 学位论文使用授权书 雠以h 濉名伊叶洲 武汉理工大学硕士学位论文 1 1 研究背景和意义 第1 章绪论 计算机网络和i n t e m e t 技术的飞速发展正在改变着世界,i n t e m e t 的应用也随 着其发展不断地普及与深化。纵观i n t e m e t 的发展过程、计算模式的转变和软件 技术的发展,计算的本质就是为了更好地满足人们的需求,随着计算技术的不 断发展,计算本身越来越贴近终端用户。计算设备、网络、模式和软件,正逐 渐由“以计算机为中心”向“以人为中心”转变。与之相适应,软件技术也逐步向“软 件即服务”的方向过渡。软件生产者的角色逐渐转换为服务的提供者,以更好地 满足人的服务需求为目标不断发展。 目前,w e b 服务存在一些不足,例如,功能无法扩展、不能实现“按需”服 务等,主动服务正是为了解决上述问题而提出来的,具有智能化、个性化、综 合化特点。主动服务是一种面向用户的服务,能够自动适应用户的服务需求, 依靠相关的工业标准和i n t e m e t 上已有的构件资源,进行程序挖掘,为用户发现、 定制和运行能够满足用户需求的构件程序。 程序挖掘是主动服务的研究重点。在程序挖掘的研究过程中,需要对用户 的服务需求进行功能分解和对构件所提供的服务是否能满足这些功能进行判 别。如果构件所提供的服务能够满足用户的要求,则智能代理系统直接把该构 件提供的服务反馈给用户,否则,智能代理系统进一步根据分解后的服务功能 进行构件的搜索和匹配工作,在找到相关构件后,对它们进行组装、编译和验 证、测试。最后再把用户需要的服务提交给用户。 主动服务具有智能和主动适应用户需求的功能,是未来i n t e r n e t 的发展趋势。 目前,国内外关于主动服务和程序挖掘的研究还处于初始阶段,本课题对其做 进一步研究,具有实际意义。 1 2 国内外研究现状 主动服务用来解决未来w e b 服务的智能化、个性化和综合化问题。目前, 武汉理工大学硕士学位论文 主动服务和程序挖掘的研究还处在初始阶段,无论是主动服务的概念和定义, 还是主动服务模型和框架结构,以及框架结构中的每一层所包含的协议及描述 语言都不成熟,还需要做进一步研究。国内外部分学者已对主动服务的相关技 术做了初步地研究和探讨,例如用户需求描述语言规范,需求的分析方法,构 件资源的分类和组织方法,构件资源库模型,异构构件之间的组装,程序挖掘 方法,程序挖掘模型等等,但是所提出的技术存在一定的局限性。特别是在用 户界面、构件搜索和发现、异构构件的组装、验证和测试、本地构件资源库的 建设等方面都亟待进一步研究和完善。 在国外,t i mb e r n e r s l e e 在2 0 0 1 年的s c i e n t i f i ca m e r i c a n 中首次提出了语 义w e b 1 】的概念。语义w e b 是国际互联网组织w 3 c 制定的关于未来w e b 的一 个蓝图,主旨是在x m l 的基础上进一步提供语义级的互操作。p a o l u c c i 等人【2 3 1 提出了基于d a m l s 的w e b 服务匹配的思想。o w l - s t 4 】是d a m l s 的后继,其 基于标准w e b 本体语言o w l l 5 1 ,有望成为语义w e b 服务描述框架的标准。卡 内基梅隆大学实现了一个o w l s u d d im a t c h m a k e r t 6 1 ,首先把提交的需求进行 o w l s u d d i 转换,然后使用匹配引擎获得用户所需服务。在w e b 服务发现【7 1 的研究中,为了能够体现出服务请求者对服务性能的不同要求,实现程序挖掘, 一些学者对服务的q o s 方面做了量化研究【8 m 】。美国乔治亚大学l s d i s 实验室 开发的m e t e o r s 系统,采用语义本体论推理【l l 】和q o s 1 2 1 3 】策略相结合进行服 务的匹配和筛选。著名学者j o r g ec a r d o s o 指导性地给出了服务质量模型中应包 括的因素【l 引,具体包括费用( c o s 0 、时间( t i m e ) 、可靠性( r e l i a b i l i t y ) 和可信性 ( f i d e l i t y ) 。文 1 5 1 在a g f l o w 系统中选择以下5 个通用的服务属性来评价q o s 服 务:服务运行成本( e x e c u t i o np r i c e ) 、运行时间( e x e c u t i o nd u r a t i o n ) 、信任度 ( r e p u t a t i o n ) 、成功率( s u c c e s s f u le x e c u t i o n r a t e ) 和可用性( a v a i l a b i l i t y ) ,文【1 6 】提出 了把服务属性分成多类,并扩大到加密、安全等属性方面,量化结果为这几个 属性的取值加权后的总和。另外,在国外对程序挖掘中服务发现的匹配算法也 有讨论,如:ks y c a r a t l7 1 、k a r i s h a 18 1 、g jw i c k l e r t l 9 】分别提出不同的服务匹配 算法,文 2 0 】和 2 l 】中提出的匹配算法,基本上都是从功能性和接口上进行的匹 配,只将请求者的输出与现存服务的所有输出相匹配,以及将服务的输入与请求 者提供的输入相匹配。 在国内,2 0 0 1 年张尧学教授等人率先提出程序挖掘1 2 2 】的概念,并为程序挖 掘提出了一个移动代理平台_ p m m a p l 2 3 1 。2 0 0 4 年清华大学计算机系网络互联 2 武汉理工大学硕士学位论文 实验室介绍了程序挖掘系统p m s e y t e m ( p r o g r a mm i n i n gs y s t e m ) 中智能人机接口 p m f a c e 设计和实现的关键技术【2 4 1 ,p m f a c e 系统以x m l 技术为基础,通过分 析用户的网络和设备使用环境,采用动态智能加载机制,引导用户提出需求, 并结合层次分解和局部抽象,提出了用户需求的两层表示模型。【2 5 中给出了清 华大学研制的一个程序挖掘原型系统c o m p t 2 6 】,包括运行环境、系统功能设计、 模块结构、实现方法等,并在原型系统的基础上,通过一个应用实例说明如何 使用程序挖掘【2 7 2 8 1 技术获得主动服务。贾成【3 5 1 根据构件语义网络的先期研究工 作,提出用于构件挖掘的分布式构件库系统框架。基于代理和移动代理技术, 在局域网环境中实现了基于构件语义【3 6 】导航的构件检索以及基于移动代理的构 件搜索过程。中国科学院的史忠植3 7 瑚】等人研制的多主体服务环境m a g e 和基 于描述逻辑的主体服务匹配算法。毛莺池等人【4 5 】研究了异构构件组装方法,根 据主流构件模型的差异,设计了异构软件构件【4 0 1 组装模型,使构件对外呈现 一致的构件视图,屏蔽构件的异构性,有效地利用系统资源,最大限度地为应 用系统的生成提供支持。 以上是国内外对主动服务和程序挖掘的相关研究,这些研究还处于初始阶 段,许多问题还有待进一步研究和解决,主要包括以下几点: ( 1 ) 移动环境 随着i n t e r n e t 的发展,i n t e r n e t 正逐渐从以p c 机接入为主向着p c 机和各种 移动设备、消费类家电产品可接入的方向发展,如何使移动设备和i n t e m e t 等连 接之后,能够根据用户需求获得主动的个性化服务,需要进一步探讨和研究。 ( 2 ) 开发平台 目前所讨论的主动服务的开发平台都是基于w e b 服务或j a v a 等构件的,例 如m i c r o s o f t n e t ,s u n o n e ,w e b s p h e r e 等,迄今为止,虽然这些开发平台提供了 相应的开发工具和操作系统集,用来创建、发布和消费相应的w e b 服务,但是 它们都不能提供能够满足用户需求的主动服务。研制和开发相应的支撑开发平 台也是主动服务和程序挖掘的重要研究课题之一。 ( 3 ) 服务质量 服务质量一直是i n t e r n e t 需要研究和解决的重点问题。特别是分布式多媒体 应用大量之用以后,网络的传输速度、声音和图像的同步、传输延迟、跳变等 都影响着网络应用的发展。在主动服务模式下,服务质量问题将变得更加突出。 ( 4 ) 安全性 武汉理t 火学硕士学位论文 主动服务需要有足够多的程序支持。如何保证这些程序的安全性,特别是 从i n t e r n e t 上搜索和挖掘来的程序的安全性,是实现主动服务必须考虑和重视的 问题。 ( 5 ) 主动服务的管理 主动服务的管理不同于i n t e m e t 等通信网络的管理,他涉及服务的创建、发 布、使用和消费等各个方面。同时,还涉及与用户的交互,以及用户的输入输 出方式和对用户使用服务的记录和追踪等,对于主动服务的创建来说,主动服 务的管理还涉及对各种不同层次的协议标准和描述界面,例如x m l ,h c d l 的 控制和管理。构件的挖掘和组装执行也与主动服务的管理密不可分。由于主动 服务及支持主动服务的程序挖掘系统是分布式的,因此,多代理技术将在主动 服务的管理中发挥重要作用。 1 3 论文主要研究内容 本文在w e b 服务和数据挖掘技术基础上,针对i n t e m e t 和局域网中已有的构 件资源库,对程序挖掘实现方法进行了理论研究和具体实现。 主要研究内容如下: ( 1 ) 本文首先介绍了主动服务和程序挖掘技术以及其研究现状,然后给出常 用的构件分类、组织方法和构件检索策略。 ( 2 ) 针对构件库中存在的异构构件,通过分析u c d l 的结构,研究并实现 j a v a b e a n 到u c d l 的映射算法。 ( 3 ) 将c b r 应用到程序挖掘系统中,通过建立用户兴趣模型和领域本体知识 库,完善了系统框架模型。 ( 4 ) 根据本体的语义性和领域的内聚性特点,使用本体特征描述构件,定义 了本体特征领域模型。 ( 5 ) 设计并实现基于领域本体和用户兴趣的构件检索策略,并给出将基于领 域本体的构件检索结果和用户兴趣特征信息进行相似度计算的方法。 ( 6 ) 实现程序挖掘系统,并通过实例验证其可行性和有效性。 4 武汉理工大学硕十学位论文 1 4 论文结构 本文共有六章内容,各部分安排如下: 第一章为绪论,介绍课题的研究背景和意义,程序挖掘的国内外研究现状 以及本文的研究重点和论文结构。 第二章介绍了主动服务和程序挖掘技术的相关理论。详细阐述了主动服务 的概念、模型、实现过程以及程序挖掘技术的基本思想和应用过程。 第三章讨论了构件资源的组织和检索方法。首先介绍了常用构件分类方法 和统一构件描述语言u c d l ,根据u c d l 的结构和j a v a b e a n 构件的特点,研究 并实现了j a v a b e a n 到u c d l 的映射算法;然后介绍了本地构件资源库l c r w ; 最后阐述了常用的构件检索策略。 第四章和第五章是本文的重点,第四章引入c b r 、领域本体和用户兴趣, 在多智能代理运行平台m a r e 下对程序挖掘的具体过程和实现框架进行了深入 地研究,设计了程序挖掘系统框架模型,并提出了基于本体特征的构件描述模 型,介绍用户兴趣模型的创建过程,设计了基于领域本体和用户兴趣的构件检 索框架。 第五章实现了基于构件资源库的程序挖掘系统。首先介绍了系统运行环境 和模块划分;然后重点阐述了程序挖掘系统中构件检索子模块的具体实现,包 括了具体的构件检索方法和关联构件检索算法;最后利用实例,验证了该检索 方法的有效性。 第六章对全文进行了总结,并对进一步的工作进行了展望。 武汉理工大学硕士学位论文 第2 章主动服务及程序挖掘技术 i n t e r n e t 的发展经历了计算机互联、w e b 互联等阶段,正在向更贴近终端用 户的方向发展。在这样的背景下,i n t e m e t 以应用为导向,以贴近终端用户为目 标,正在沿着应用深度和广度两个方向发展。在应用深度上,i n t e m e t 已经从一 个简单的信息发布平台演化为分布式计算平台,人们不仅可以通过i n t e r n e t 发布 和共享各种信息,而且可以在i n t e r n e t 上部署和获得各种应用。这样,在i n t e r n e t 中,除了对信息的定制需求外,对处理信息的程序也有同样的要求,用户需要 特定的程序处理特定的信息。在应用广度上,i n t e m e t 逐步向无线与家电领域拓 展,i n t e r n e t 的接入方式和接入设备日趋多样化。 这两个方面的要求都要求我们提供大量的程序,针对应用环境和用户需求的 变化对信息和数据进行处理。w e b 服务可通过i n t e r n e t 为终端用户或服务请求者 提供各种应用程序预置的服务。但是,w e b 服务不能主动对应不同类型的个性化 需求及其变化,这就需要探求新的服务模式主动服务。 本章首先介绍了主动服务的概念、模型以及实现过程,然后对实现主动服务 的关键技术程序挖掘进行了相关阐述。 2 1 主动服务概述 2 1 1 主动服务的概念 目前,w e b 服务存在着以下两个主要不足:第一,无法进行功能扩展;第 二,无法感知用户的需求变化。主动服务是为了解决w e b 服务存在的上述问题 而提出来的。它是一种新的计算模式,能够根据用户的服务需求,从i n t e m e t 或 本地网络中搜索、发现、挖掘出能够提供用户服务需求的程序,并组装、编译 和执行它们,为用户提供服务。而且,即使是同一种服务,主动服务也能够根 据用户的个性化要求和特点,对服务进行定制和帮助,从而改变w e b 服务那种 无法根据用户需要而动态变化、主动适应用户要求的状况。 主动服务的研究主要包括三大部分: 6 武汉理丁大学硕士学位论文 ( 1 ) 主动服务的基本模型、体系结构、协议规范和描述等; ( 2 ) 发现实现服务的程序和数据。主动服务的研究重点是如何发现和组织已 有的程序,以及确认这些程序是否能够提供主动服务所需要的功能。 ( 3 ) 服务的定制。即使发现在i n t e m e t 上有能够满足用户需要的程序,但是, 怎样才能把这些程序组织起来,并在用户的软硬件平台和环境下链接、编译和 执行,仍是需要研究和有待解决的问题。构件技术的出现为服务定制提供了可 能。首先,构件为用户提供在功能级上进行通信和调用的接口和标准,使用户 不必关心构件内部的实现细节。其次,软件研制人员对构件的长期研制和开发 积累大批可供复用的标准化构件,使得大量定制个性化服务成为了可能。 2 1 2 主动服务模型 主动服务建立在w e b 服务技术规范上,它搜索和挖掘i n t e m e t 上的构件资源, 在一个开放、动态和自适应的框架内,实现面向用户的服务快速构造和按需计 算。 主动服务在w e b 服务基础上,引入主动服务的发现、定制、加载与使用机 制,导出相应的主动服务模型。主动服务模型是在现有w e b 服务模型中引入了 面向终端用户的主动服务中一i , ( a e t i v es e r v i c e b r o k e r ) 构成的,如图2 1 所示。 主动服务模型包括4 个角色和6 种基本操作。4 个角色分别是:服务使用者、 服务提供者、服务注册中心和主动服务中介;6 种基本操作是:发布、查找、调 用、挖掘和提交。在主动服务模型中,服务使用者、服务提供者注册中心的作 用与w e b 服务模型中各个角色的作用完全相同,发布、查定三个操作的作用也 是一样的。这里介绍一下主动服务中介与之相关的操作,主动服务中介是系统 和用户之间关于新服务的交互和执行平台。用主动服务中介向系统要求服务, 系统通过主动服务中介获取和分析用户需求,并在搜索和挖掘出能满足用户需 求的相关服务之后对其进行组装定制,生成新服务,再把新服务交给服务提供 者发布和执行。 7 武汉理工人学硕+ 学位论文 图2 一l 主动服务模型 当接收到用户的计算请求时,主动服务中介将进行下面三个操作: ( 1 ) 调用:主动服务总是试图使用现有的w e b 服务来实现用户的计算请求。 它先通过服务主动发现流程,试图找到直接满足用户需求的服务,如果在现有 的计算资源中存在这样的服务,则主动服务中介以一个服务使用者的身份使用 现有的w e b 服务调用机制调用相应的w e b 服务。 ( 2 ) 挖掘:如果服务的主动发现流程不能发现满足用户计算需求的服务,主 动服务中介将调用程序挖掘模块,通过对现有服务资源的分析,挖掘搜索可能 满足用户需求的程序资源,以产生新的符合用户需求的服务,满足用户的计算 需求。 ( 3 ) 提交:生成新的服务后,主动服务中介将把新服务的组合关系存储起来, 同时对组合的新服务进行提交,通过现有的w e b 服务发布机制发布出去,以利 于下一次使用。 2 1 3 主动服务实现过程 主动服务的实现过程可以分为三个阶段:服务需求定义阶段、服务发现与 定制阶段以及服务执行发布阶段,具体的实现过程如图2 2 。 武汉理工人学硕+ 学位论文 服务的主动发现 ji 1 r 田白霎带地 索 服务验证、执行 用厂帝水佃硷 j 和发布、重用 ji 1 + 1r 一 i 需求分析 服务的主动定制 ii 服务需求定义 : 服务发现与定制 ; 服务执行发布 il 图2 2 主动服务层的基本流程 在服务需求定义阶段,当用户输入某个具体的任务后,首先通过服务主动 发现模块在i n t e m e t 上试图寻找一个可以完成该任务的服务,如果有合适的服务 返回,则直接执行该服务来完成任务;如果没有合适的服务完成用户任务,那 么将调用需求分析模块对计算任务进行分解,并最终形成服务的组装方案。 在服务发布与定制阶段,再次利用服务主动发现模块对组装方案中的服务 进行发现,并就所发现服务的组合关系、服务协商关系进行分析,动态完善服 务的组装方案。在该过程中,服务的发现、分析及服务协商反复进行,在用户 的参与下,动态的对组装方案进行修改和求精,整个过程呈现一个螺旋上升的 交互过程,直到形成一个完善的服务组装方案。这个文档实际上就是一个服务 组装的定义。 在服务执行发布阶段,当成功的完成服务组装阶段后,用户已经有了一个 完备的服务组装方案,在这个文档中每个子服务的执行顺序、执行条件、执行 方式都已经被清晰的定义。将这一组装方案,连同涉及到的子服务提交至主动 服务的执行环境,验证其正确性以及是否满足用户需求。如果满足用户需求, 则提交给用户执行,并将其进行注册发布以便重用;如果不能满足用户需求, 则要求用户进行反馈,以便修改和再次求精。 9 武汉理工大学硕士学位论文 2 2 程序挖掘技术 2 2 1 程序挖掘的基本思想 程序挖掘是在i n t e m e t 环境下,为实现主动服务提出来的。其主要功能是通 过分析用户的服务请求,搜索在i n t e m e t 上发布和存在的构件资源,并按一定的 规范和标准对它们进行管理,通过构件复用来减少编程工作和实现主动服务。 程序挖掘的基本思想是:分析用户计算需求,从i n t e m e t 上大量的构件资源 中检索获取所需构件,并把这些构件组装成满足用户需求的程序。程序挖掘是 利用多个智能代理,分析用户计算请求,从大量构件资源中识别、发现、获取 所需的构件,并进行组装,形成用户所需计算功能程序的过程,是大量软构件 中智能再发现过程。 构件技术、代理技术为构件实现、搜索、获取奠定了实现基础,数据挖掘和 系统快速开发所积累的算法和技术可以用来分析软构件之间的关系和特征,为 从大量构件中挖掘、发现可用程序提供了帮助。 2 2 2 程序挖掘过程 程序挖掘是在网络环境中基于构件和多a g e n t 协作的软件重用方法,软构件 技术、代理技术和数据挖掘技术是程序挖掘的基础,其研究涉及到w e b 技术、 构件技术、智能代理技术、数据挖掘技术、机器学习、数据库技术、软件方法 学和数学等多个领域。 为了帮助用户从网络构件库中挖掘出可信且可用的程序,实现服务的定制 与动态创建,按照用户需求处理的先后顺序,一般将整个程序挖掘过程划分成 以下五个阶段: ( 1 ) 提交用户需求; ( 2 ) 用户需求分析与功能提取; ( 3 ) 构件搜索与获取; ( 4 ) 构件分析选择与组装; ( 5 ) 程序验证与执行。 在实现程序挖掘的过程中,程序挖掘系统需要在多智能代理运行平台m a r e ( m u l t i a g e n tr u n n i n ge n v i r o n m e n t ) 下进行。用户在客户端提交请求时,用户 1 0 武汉理工大学硕士学位论文 接口代理将该请求提交到程序挖掘服务器,程序挖掘服务器调用需求分析代理 对用户请求进行分析和功能提取,根据分析结果,构件搜索代理使用相应的构 件检索机制在资源库中寻找满足需求的构件,然后依次对构件进行分析、选择、 组装、验证,直至得到满足用户需求的程序,并返回到客户端执行,为用户提 供需要的服务。 在需求定义阶段,当用户有某个具体任务要完成的时候,首先通过用户智 能代理对用户需求进行规范化处理,并根据知识库中的规则对请求进行分析后, 形成初步的程序组装描述方案,需求定义阶段的用户需求分析与第二阶段的的 构件发现紧密关联,如果找不到相应的实现构件,就需要根据搜索结果重新调 整分解策略,直到获得满足要求的问题分解与构件组装方案。 在构件发现阶段,从程序组装描述方案中提取所需构件的描述,形成构件 查询条件,根据构件查询任务,利用智能代理首先访问本地构件目录库,得到 构件的位置信息,进而获取相应构件。如果本地构件库中没有要求的构件信息, 则启动相应代理到远程构件目录库中去访问搜索。如果找不到所需构件,则要 求重新调整分解策略。并对获得的构件进行分析选择和取舍,最终确定待组装 的构件和程序组装方案。 在程序链接组装阶段,首先对构件进行分析处理,并在组装环境中,按照 构件组装方案定义的构件依赖和调用关系,对选定的构件进行连线和组装,生 成相关的程序代码,完成用户所要求的计算功能。 在检验和执行阶段。当成功的完成程序的链接组装阶段后,用户已经有了 一个完备的程序组装描述文档,在这个文档中侮个构件的执行顺序、执行条件、 执行方式都已经清晰的被描述出来。将由该文档指导下的组装程序进行校验执 行,验证其是否满足用户的需求。如果不能满足用户的需求,则重新进行需求 描述和分解等,逐步形成满足用户的计算程序。 2 3 本章小结 本章介绍了主动服务和程序挖掘的原理与应用过程。 针对w e b 服务的不足,介绍了一种新的计算模式主动服务,并以主动 服务的概念为基础,详细阐述其工作模型。包括服务使服务提供者、服务注册 中心和主动服务中介等角色和发布、查定、调用、挖掘和提交等操作。并重点 武汉理工人学硕七学位论文 介绍了主动服务中介的调用、挖掘和提交操作。 通过服务需求定义、服务发现与定制以及服务执行发布等三个阶段,根据 用户的需求,形成服务组装方案,并清晰地定义每个子服务的执行顺序、方式 等,经过验证后正式组装服务,提供给用户使用。完成主动服务的提供。 为了帮助用户从网络构件库中发现需要程序,实现服务的定制与动态创建, 我们将整个程序挖掘过程划分成六个阶段:构件描述与组织、需求输入与分析、 构件搜索与获取、构件分析选择、构件剪裁与组装以及程序校验与执行。在构 件描述与组织阶段,通过建立分布式构件目录信息库,为程序挖掘提供了组织 良好的挖掘资源;在其他各阶段中,以用户需求的处理为主线,从用户需求的 输入与分析开始,依次进行构件的搜索获取、分析取舍、剪裁组装,直至得到 满足用户的程序,并经过校验后在客户端执行,完成用户需要的计算功能,或 者为用户提供需要的服务。 1 2 武汉理r 大学硕士学位论文 第3 章构件资源的组织和检索 构件资源是程序挖掘的基础,近年来,构件技术在研究领域和商业领域都 引起人们的高度重视,在技术上也有很大的进步,出现了许多构件产品,如 j a v a b e a n s 、e j b 、a e t i v e x 、c o r b a 和c o m d c o m 等等。目前,在i n t e m e t 上 出现了很多专门构件库,如a l p h a w o r k s 、f l a s h l i n e 、c o m p o n e n t p l a n e t 等,在i n t e m e t 上逐渐形成了一个不断扩展的巨大的在线构件库。怎样有效地组织管理这些构 件资源,缩短软件开发周期并提高软件质量成为一个重要的课题。 本章首先介绍了构件常用分类方法和构件描述语言u c d l ,在此基础上给出 了j a v a b e a n 到u c d l 的映射算法详细描述,然后介绍了本体构件资源库l c r w , 最后给出了常用的构件检索策略和构件检索评价指标。 3 1 构件分类及构件描述 3 1 1 常用构件分类方法 构件分类方法是构件资源库系统浏览、管理和检索构件的基础。目前, i n t e m e t 上的专业构件资源库采用的构件分类方法有:关键词分类、枚举分类、 属性值分类和刻面分类等几种。 ( 1 ) 关键词分类 关键词分类是最常用的分类方法。在使用关键词分类时,需要首先定义构 件的关键词。我们可以通过分析构件的功能和行为,找到组相关的关键词并 把它们赋予每个构件,然后按照关键词组织存储这些构件,并根据关键词来检 索构件。 关键词分类的优点是简单、易于实现。但是如何定义和确定构件的关键词, 则成为关键词分类的瓶颈问题。 ( 2 ) 枚举分类 枚举分类的特点是将受关注的领域分割成若干个严格不相交的子集,而这 些子集的并又正好全集。如此层层递归,形成树状结构。 武汉理工人学硕十学位论文 枚举分类的优点在于结构清晰,容易理解和使用。使用者在检索构件时, 可沿着树型结构上下移动,检索效率高。但是,这种方法也存在着一些缺点, 例如,构件资源库的结构一旦确定后就很难改变,创建构件库需要大量的领域 知识,描述上存在二义性等等。 ( 3 ) 刻面分类 刻面分类模式由一组描述构件本质特征的刻面组成,每个刻面从不同的侧 面对构件库中的构件进行分类。每个刻面由一组术语构成,称为术语空间。 刻面分类模式比较客观、全面地反映构件本身的特性,在刻面分类策略中, 构件资源库管理者通过将刻面和对应的术语相联接,可以在构件和刻面分类模 式之间建立复杂的联系。与一般的层次分类策略相比,刻面分类策略更容易修 改,更富有弹性,因为对一个刻面的修改不会影响到其他的刻面,避免了一般 的关键词分类策略的杂乱无章,使得对关键词的管理更加方便和有序。 刻面分类是一种比较理想的构件资源库系统分类策略,但该方法也有不足, 主要表现在刻面分类模式定义的复杂性和术语空间不易建立和维护两个方面。 ( 4 ) 属性值分类 属性值分类根据构件的属性和对应的值来进行分类。属性可以包含任何的 由管理人员所规定的属性值。这种方法与刻面分类方法很类似,但二者也存在 一定的区别: 刻面是经过严格筛选的,并且有数量限制,但属性没有限制; 刻面之间正交,且个刻面分类模式表达了构件的一个完备的描述,属 性一值方法可以随意选择属性来检索构件; 刻面的术语空间是有限不定空间,而属性的值域是无限空间; 术语之间存在各种关系,而属性值之间是一种线性的关系。 3 1 2 统一构件描述语言u c d l 目前i n t e m e t 上的构件库中存储的构件具备不同的类型,例如j a v a b e a n ,e j b , c o m d c o m ,c o r b a ,a c t i v e x 等,这些构件在格式、描述、组织结构和访问 方式上各不相同,造成程序挖掘中构件的选择、搜索、获取,以及分析、组装 等构件处理活动的困难。因此,要进行程序挖掘,首先要解决不同构件之间的 描述一致性问题。文献 2 5 】提出了通用构件描述语占u c d l 。 u c d l 参考了o c l 语言和w s d l 等构件描述语言,把构件描述分为5 个部 1 4 武汉理工大学硕士学位论文 分:构件基本信息、构件资源位置信息、构件分类信息、构件接口规约和构件 描述扩展,每个部分的详细条目如表3 1 所示: 表3 1u c d l 的构件描述 标识符说明 i d构件描述符的全局唯一 标识 n a m e构件的名称 构件基本信a u t h o r构件的作者 息 v e n d o r构件的厂商或组织 v e r s i o n构件的当前版本和修订 号码 d a t e构件发布和被索引的日 期 s i z e构件的大小( k 字节) f u n c t i o n a ld e s c r i p t i o n构件的功能描述 资源位置信u r l构件资源位置 息 a p p l i c a t i o nd o m a i n 构件实际应用的领域 c o m p o n e n tf u n c t i o n构件提供的功能集 构件分类信 r u n n i n gp l a t f o r m 构件的运行平台 息 c o m p o n e n tt y p e 构件类型,如j a v a b e a n p r o g r a m m i n gl a n g u a g e构件采用的编程语言 r e u s el e v e l构件的复用层次 i n t e r f a c en a m e接口名称 d e s c r i p t i o n接口功能描述 i n p u t m e s s a g e 接口的输入消息 构件接口规 o u t p u t m e s s a g e 接口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论