(计算机软件与理论专业论文)基于规则的软件体系结构研究.pdf_第1页
(计算机软件与理论专业论文)基于规则的软件体系结构研究.pdf_第2页
(计算机软件与理论专业论文)基于规则的软件体系结构研究.pdf_第3页
(计算机软件与理论专业论文)基于规则的软件体系结构研究.pdf_第4页
(计算机软件与理论专业论文)基于规则的软件体系结构研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机软件与理论专业论文)基于规则的软件体系结构研究.pdf.pdf 免费下载

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

文档简介

中文摘要 近年来,软件体系结构已经成为软件工程领域的研究热点以及大型软件系统 开发中的关键技术之一。随着软件系统规模越来越大、越来越复杂,整个系统的 结构和规格说明显得越来越重要。人们逐渐认识到软件体系结构在软件开发中的 重要地位,软件体系结构是解决系统需求向最终实现进行平坦过渡的有效方法, 软件模式为重用成功经验提供了一条有效的途径。 语义w e b 研究的目的就是要提供一种具有语义支持的计算平台,以一种机 器可以处理的方式来表示信息,使得人机之间、计算机之间的语义交互变得畅通, 自动处理得以实现。随着语义w e b 研究的深入,规则引擎技术再一次被人们提 起并将在信息系统中发挥它不可比拟的作用。规则引擎技术将业务逻辑当作结构 化的对象进行处理,使复杂的业务逻辑变成简单的业务规则,将业务逻辑与系统 实现分离开来,使业务改变能够不影响系统的正常应用,并且能实时地将变化的 业务规则应用在业务处理中。 本文针对目前软件系统面向大规模和复杂业务处理的要求,研究重点在于对 业务流程和逻辑进行形式化的逻辑描述和逻辑处理。本文根据软件工程领域的分 层思想和人工智能领域的逻辑表示方法和处理理论,结合语义w e b 中逻辑层的 概念,使用业务规则对业务逻辑进行形式化的描述和存储,将业务规则的实现从 具体的程序代码中抽取出来,实现了业务流程和业务逻辑的形式化和逻辑表示。 在业务逻辑形式化的基础上,引入m a n d a r a x 规则引擎进行业务逻辑的推理处理, 实现业务逻辑的集中处理。业务逻辑的形式化和标准化的描述,提供了业务流程 配置的支持。 本文设计的基于规则的软件体系结构,作为一个可复用的系统构架,整合了 本文的主要研究成果,使用p r o v a 建立了规则层,使用规则引擎实现业务逻辑的 推理处理。最后本文证明了基于规则的软件系统结构的可行性和有效性,并且更 有利于提高软件的可复用性和易维护性,在一定程度上完善了软件工程设计技术 的理论层次。 关键词:软件体系结构语义w e b 规则规则引擎 a b s t r a c t i nr e c e n ty e a r s ,s o f t w a r ea r c h i t e c t u r e ( s a ) h a sb e c o m eo n eo ft h eh o t s p o t so ft h e r e s e a r c ho fs o f t w a r ee n g i n e e r i n ga n da l s oo n eo ft h ek e yt e c h n i q u e sd u r i n gt h e d e v e l o p m e n to ft h el a r g es o f t w a r es y s t e m t h es t r u c t u r ea n ds p e c i f i c a t i o no faw h o l e s y s t e mb e c o m em o r ea n dm o r ei m p o r t a n t ;a l o n gw i t ht h es c a l eo fs o f t w a r es y s t e m b e c o m e sb i g g e ra n dm o r ec o m p l e x t h ed e v e l o p e r sg r a d u a l l yr e a l i z et h ei m p o r t a n c e o ft h es ad u r i n gt h ep r o c e d u r eo fd e v e l o p m e n t s ai sa ne f f e c t i v em e t h o do n t r a n s i t i o nf r o mr e q u i r e m e n tt or e a l i z a t i o n ,a n ds o f t w a r ep a t t e r n so f f e r e da ni m p a c t f u l a p p r o a c hf o rt h er e u s eo fs u c c e s s f u ls o l u t i o n t h e p u r p o s eo fs e m a n t i cw e b sr e s e a r c hi st op r o v i d ea k i n do fs e m a n t i cs u p p o r t f o rc o m p u t a t i o np l a t f o r m ,e x p r e s si n f o r m a t i o nt h a tc o m p u t e rc a nu n d e r s t a n d ,e n a b l e s e m a n t i ci n t e r a c t i o nb e t w e e nh u m a na n dc o m p u t e r sc o n v e n i e n t l y a n dr e a l i z e a u t o m a t i o n a c c o r d i n gt h el u c u b r a t i n go ns e m a n t i cw e b ,r u l ee n g i n et e c h n o l o g y a r o u s e sp e o p l e sa t t e n t i o na g a i na n dw i l lp l a ya ni n c o m p a r a b l er o l ei nt h ei n f o r m a t i o n s y s t e m r u l ee n g i n et e c h n o l o g y d e a l st h eb u s i n e s s l o g i c 嚣s t r u c t u r a lo b j e c t , t r a n s f o r m st h ec o m p l e xb u s i n e s sl o g i ci n t os i m p l er u l e s ,a n dd i v i d e sb u s i n e s sl o g i c f r o mt h er e a l i z a t i o no ft h es y s t e m t h a tm a k e sl i t t l ei n f l u e n c et ot h es y s t e mw h e nt h e l o g i cc h a n g e s a n dt h es y s t e mc a nr e a l t i m ea p p l yt h e s ec h a n g e si n t ot h eb u s i n e s s t r a n s a c t t h i sp a p e ra i m sa tt h en e e do fl a r g es c a l ea n dc o m p l e xb u s i n e s sp r o c e s s e so f c u r r e n ts o f t w a r es y s t e m ,f o c u s e so nf o r m a l i z i n gt h el o g i c a ld e s c r i p t i o na n dd i s p o s a l o fb u s i n e s sf l o wa n dl o g i c a c c o r d i n gt ot h ed e l a m i n a t i o ni ns aa n dr e p r e s e n t a t i o no f t h el o g i ci na ia r e aa n dt h et h e o r i e so ft h er u l e sl a y e ri ns e m a n t i cw e b ,t h i sp a p e r u s e sb u s i n e s sr u l e st os t o r et h eb u s i n e s sl o g i c ,t a k e sl o g i co u to ft h es o u r c ec o d e ,a n d i m p l e m e n t st h er e p r e s e n t a t i o no ff o r m a l i z a t i o nt ob u s i n e s sf l o wa n dl o g i c b a s e do n t h ef o r m a l i z a t i o no fb u s i n e s sl o g i c ,m a n d a r a x ,aj a v ar u l ee n g i n e ,i si n t r o d u c e df o r c o n s e q u e n c eo ft h eb u s i n e s sr u l e s t h ef o r m a l i z a t i o no fb u s i n e s sl o g i ca l s op r o v i d e s s u p p o r tf o rd y n a m i cr e c o n f i g u r a t i o no fb u s i n e s sp r o c e s s t h es a 觞ar e u s a b l e s y s t e m a r c h i t e c t u r ei n t e g r a t e st h em a i nr e s e a r c h a c h i e v e m e n to ft h ep a p e r , w h i c hb u i l d st h er u l el a y e ru s i n gp r o v a ,i m p l e m e n t st h e r e a s o n i n gp r o c e s so fb u s i n e s sl o g i c f i n a l l y , t h e r u l e - b a s e ds o f t w a r e s y s t e m a r c h i t e c t u r ei sp r o v e dt ob ef e a s i b l ea n de f f e c t i v e ,m o r ef i tt oi m p r o v et h er e u s a b l i t y a n dm a i n t e n a n c eo fs o f t w a r e ,a n dm o r ec o m p l e t ei nt h et h e o r yl e v e lo fs o f t w a r e e n g i n e e r i n gd e s i g nt e c h n i q u et os o m ee x t e n t k e yw o r d s :s o f t w a r ea r c h i t e c t u r e ,s e m a n t i cw e b ,r u l e s ,r u l ee n g i n e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得丞鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:歹曩锄 签字日期:乒胂7 年三月歹日 学位论文作者签名:薯勃 签字日期:乒胂7 年三月歹日 学位论文版权使用授权书 本学位论文作者完全了解鑫鲞盘堂有关保留、使用学位论文的规定。 特授权鑫空盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 乃加 签字日期:山叼年z 月罗1 7 t 导师签名:红轫司 签字日期:加7 年砂月j 一日 第一章绪论 1 1 课题的研究背景 第一章绪论 2 1 世纪是信息技术高度发展的时代,信息化正从整体上引导着世界经济和 社会发展的进程。在信息技术中,微电子是基础,计算机及通信设施是载体,而 软件是核心。 1 1 随着计算机技术的不断发展,软件数量也不断膨胀,早期“软 件作坊”式的个体化软件开发方法所存在的问题逐渐暴露出来。 近年来,人们逐渐认识到,整个软件系统结构的设计与规格说明已经比在早 期软件开发中占有重要地位的算法选择和计算问题的数据结构更为重要,代码级 别的复用方式现在已经远远不能满足软件开发的需求。业务规则的概念便在这种 情况下诞生。 业务规则是一组准确凝练的语句,用于描述、约束及控制企业的结构、运作 和战略。【2 】业务规则系统是完成业务逻辑快速变换的理想方案,它将业务逻辑本 身和实现分离开来,以业务规则的形式表述,系统执行业务规则以完成企业的业 务流程,使得业务逻辑的变化不会影响到应用系统本身。它提升了管理软件的集 成性和技术无关性,提升了i t 系统的寿命。 1 2 课题的研究现状 作为下一代w e b 技术,语义w e b 的出现和发展己经成为推动业务规则相关 技术发展新的驱动力之一。语义w e b 的核心思想是赋给当前的w e b 信息以机器 可以理解的语义,克服当前w e b 信息只能供人工阅读和理解的先天弊端,使施 加于w e b 信息之上的各种智能技术更加易于实现。语义w e b 的出现使i n t e m e t 上杂乱浩瀚的“信息海洋”变成了脉络清晰的“知识网络”,为高层次的智能w e b 应用提供了广阔的运转空间。语义信息模型今后必将成为因特网上的主流信息模 型,从而跨越w e b 信息检索和信息集成在语义异构等难点上的困扰,实现网上 许多目前很难实现的一系列智能化应用。 基于规则的服务水平协议( r u l e b a s e ds e r v i c el e v e la g r e e m e n t s ,r b s l a ) 是 慕尼黑工业大学正在研究的课题,是在语义w e b 规则层上的一个尝试。它将一 个商业合同条款用一定格式的规则进行描述,并使用规则引擎实现s l a 管理工 第章绪论 具的功能。 1 3 课题的研究目标 在现有软件系统结构分层模式的基础上,结合语义w e b 的规则推理的能力, 本课题围绕规则层主要进行了以下2 个方面的研究工作: ( 1 ) 讨论规则的标准和描述方法,研究建立规则层的方法; ( 2 ) 研究规则层与表示层、数据层的通信方式,通过设计仿真的应用环境来 证明规则层的可行性。 1 4 论文的结构 第一章,首先阐述了本文所选课题的选题背景、业内的研究现状以及课题具 体的研究目标。 第二章,介绍软件体系结构的相关概念和层模式的具体内容,指出课题对待 解决问题的研究思路。 第三章,介绍语义w e b 的基本概念,通过介绍语义w e b 的体系结构,着重 说明了语义w e b 的规则推理能力。 第四章,介绍规则的生成、规则的描述方式,并基于此介绍了规则层形成的 相关算法。 第五章,介绍了规则引擎的相关知识,并选用了m a n d a r a x 及其扩展p r o v a 作为本课题研究的规则引擎,并围绕它们设计了规则层与表示层和数据层的通信 方法,说明了规则层相对独立、易于维护的特点。 最后一章对全文进行了总结,并指出了今后的研究方向。 第二章软件体系结构和层模式的技术基础 第二章软件体系结构和层模式的技术基础 2 1 软件体系结构的提出和发展 在企业需求不断增长,引入面向对象、分布式和异构等新技术的情况下,各 种应用系统,尤其是大型的企业级系统的规模和复杂度也随之迅速膨胀。近来计 算机科学领域的一个重要的问题就是如何将一些较小的子系统合并为一个完整 的软件系统。 3 1 因此,传统的软件构架设计和开发方式逐渐不能适应现代软件开 发的需求。在这样的背景下,人们开始深入的研究软件系统,希望通过对软件体 系结构进行系统地研究,来解决提高软件生产率、保障软件质量、改善软件维护 等不断涌现的问题。因此,解决好软件的复用、质量和维护问题,也就成为了研 究软件体系结构的根本目的。能够像硬件系统那样,将部分软件组合起来构建软 件系统,一直是软件行业多年来追求的目标。 可以说,软件行业工业化的趋势导致了软件体系结构的产生。【4 】 软件体系结构是上个世纪末期被人们认识和创建的一门科学。它是软件工程 领域的一个分支学科,也是其中发展最迅速的一门研究与实践领域之一。早期的 一些软件工程师从机器语言或汇编语言的粒度水平解决软件合成的问题,成功的 软件工程师则采用一个相对较粗的粒度水平一高级语言。软件体系结构和体系结 构风格的出现则带来了一个更粗粒度及更抽象的方法来帮助我们开发和集成软 件系统。 现在,软件体系结构的设计已经成为整个软件开发过程中的关键一步。选择 设计合理的系统体系结构,才能使开发的软件系统经得起用户需求变化,满足数 据一致性、可移植性、可维护性、可复用性、可适应性、易管理性、可伸缩性, 便于扩充并容易修改等方面的要求。 早期的结构化程序是以语句组成模块,模块的聚集和嵌套形成层层调用的程 序结构,也可以说就是体系结构。结构化程序的程序表达结构和逻辑结构的一致 性及自项向下开发方法自然而然地形成了体系结构。由于结构化程序设计时代程 序规模不大,通过强调结构化程序设计方法学,自顶向下、逐步求精,并注意模 块的耦合性就可以得到相对良好的结构。 然而在软件工业化的今天,对于大规模的复杂软件系统来说,总体的系统结 构设计和规格说明比起对早期结构化程序设计中的算法和数据结构的选择已经 第二章软件体系结构和层模式的技术基础 变得明显重要得多。在这种背景下,人们认识到软件体系结构的重要性,并认为 对软件体系结构的研究和发展将会成为解决提高软件生产率、保障软件质量、改 善软件维护这3 个问题的最有希望的途径。 2 2 软件体系结构的定义 体系结构( a r c h i t e c t u r e ) - - 词最早来源于建筑学,a n s u i e e es t d1 4 7 1 2 0 0 0 中 定义a r c h i t e c t u r e 是一个系统的基本组织结构,包括该系统的各个组件 ( c o m p o n e n t s ) ,各组件之间的相互关系和所处环境,以及指导该系统设计和演变 时的基本准则。【5 】软件体系结构( s o f t w a r ea r c h i t e c t u r e ,s a ) 贝j j 是将软件比作是一 座建筑,从整体上来看,基础、主体和装饰,即操作系统之上的基础设施软件和 应用软件正确执行所需要的相关数据、实现计算逻辑的上体应用程序、方便使用 的用户界面程序。 从抽象角度来说,软件体系结构包含对于用于构建系统的元素,元素之间的 互操作,指导系统构成的模式以及模式上的约束的描述。正如信息工程领域中的 其他许多理论一样,作为在研究和实践中都在不断发展演化的理论,加上对软件 过程中的各种制品没有形成真正工业意义上的准确界定与标准名称,因此,迄今 为止,对于软件体系结构尚未形成一个公认的统一定义。但是许多专家学者从不 同的方面提出了自己的理解与看法,其中比较典型的定义有以下5 种: 2 2 1d e w a y n ep e r r y 和ale xw o l f 定义 软件体系结构是具有一定形式的结构化元素,即组件的集合,包括处理组件、 数据组件和连接组件。处理组件负责对数据进行加工,数据组件是被加工的信息, 连接组件把体系结构的不同部分组组合连接起来。 p e r r y 和w b l 锵软件体系结构表示为由元素( e l e m e n t s ) 、形式( f o r m ) 和准则 ( r a t i o n a l ) 组成的三元组s a = e l e m e n t s ,f o r m ,r a t i o n a l 。软件体系结构形式( f o r m ) 是由专有特性( p r o p e r t i e s ) 和关系( r e l a t i o n s h i p ) 组成。专有特性用于限制软件体系结 构元素的选择,关系用于限制软件体系结构元素组合的拓扑结构。而在多个体系 结构方案中选择合适的体系结构方案往往基于一组准贝j j ( r a t i o n a l ) 。1 6 j 这个定义着重强调了软件体系结构中结构化元素构成,也就是处理元素、数 据元素和连接元素。这一方法在其他的定义和方法中基本上得到保持。 第二章软件体系结构和层模式的技术基础 2 2 2m a r ys h a w 和d a v i dg a r l a n 定义 m a r ys h a w 和d a v i dg a r l a n 在他们s o f t w a r ea r c h i t e c t u r e :p e r s p e c t i v e so na l l e m e r g i n gd i s c i p l i n e t 7 】一书中详细解释件体系结构是软件设计过程中的一个层次, 这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括总体组 织和全局控制、通讯协议、同步、数据存取,给设计元素分配特定功能,设计元 素的组织,规模和性能,在各设计方案间进行选择等。软件体系结构处理算法与 数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局 控制结构、关于通讯、同步与数据存取的协议,设计组件功能定义,物理分布与 合成,设计方案的选择、评估与实现等。 软件体系结构可以用三元组来表示:s a = c o m p o n e n t s , c o n n e c t o r s , c o n s t r a i n s 。构件( c o m p o n e n t ) 可以是一组代码,如程序的模块;也可以是一个独 立的程序,如数据库的s q l 服务器;连接器( c o n n e c t o r ) 表示构件之间的相互作用。 它可以是过程调用、管道、远程过程调用等。一个软件体系结构还包括某些限制 ( c o n s t r a i n ) 。i s l 可以看出,这个定义的视角是程序设计语言。 2 2 3b a s s ,c t e m e n t s 和k a z m a n 定义 b a s s ,c t e m e n t s :和k a z m a n 在s o t t w a r ea r c h i t e c t u r ei np r a c t i c e 一书中给出如下 的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件组件、软件 组件的外部的可见特性及其相互关系:s a = c o m p o n e n t s ,v i s i b i l i t y , r e l a t i o n s h i p 。其中,“软件外部的可见特性”是指软件组件提供的服务、性能、特 性、错误处理、共享资源使用等。 9 1 2 2 4b o o c h ,r u m b u g h 和j a c o b s 定义 b o o c h , r u m b u g h 和j a c o b s 认为软件体系结构应该是一组重要的决策,包 括软件系统的组织和带有接1 2 1 的结构组件( e l e m e n t s ) 的选择,以及组件协作时的 特定行为:s a - - o r g a n i z a t i o n ,e l e m e n t s ,c o o p e r a t i o n 。这其中组件的接口用于 组成系统,而带有结构和行为的组件又组成更大的子系统。 2 2 5b a r r yb o e h m 定义 软件体系结构包括一个软件的系统构件、连接件和约束的集合,一个反映不 同人员需求的集合,以及证明构件、连接件和约束定义的系统在实现后能满足需 求的理论的集合。用如下六元组表示:s a = c o m p o n e n t s ,c o n n e c t i o n s ,c o n s t r a i n t s , 第二章软件体系结构和层模式的技术基础 s t a k e h o l d e r s ,n e e d s ,r a t i o n a l 。【1 0 】 所有这些定义反映了软件架构研究和发展的过程,虽然这些概念并不完全一 致,但大多数定义的要点是一致的,那就是组件、关系和结构这3 个部分,他们 的区别主要在于对这些要点的划分以及对软件架构的表述上的细节差异。 软件体系结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求 和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理,是构建于 软件系统之上的系统级复用。软件体系结构能够反映系统开发的重要决策,便于 管理和开发人员进行交流。 2 3 层模式的引入 同体系结构一样,模式的思想也是来自于建筑领域。建筑工程师们经常借鉴 己经通过对一系列成功和失败的范例进行知识与经验的提炼和总结,而得到验证 的准则和经验,来描述和构造他们的设计。这些准则和经验构成了可以重用的模 式。每一个模式描述了一个不断重复发生的问题,以及该问题的解决方案的核心。 软件业的设计模式是软件设计师和软件工程师在软件开发过程中解决某些 重复出现的问题后所总结出来的、被证明成熟的经验。所以说,模式就是对某种 特定的场景下某个不断重复出现的问题的解决方案。通过正确理解和运用软件设 计模式中凝聚的有关软件设计开发知识和经验,能够更好地适应当前和未来的需 求变化,从而减少重新设计和组合工作带来的危险,降低开发和维护费用。 软件体系结构经历了从单机环境到分布式计算模式的演变,分布式计算模式 又历经了几种基本类型的发展从对等网络,到两层的c l i e n t s e r v e r 结构,再 到三层结构,到现在所倡导的多层分布式应用。多层分布式计算模式提升了系统 的效率和弹性。采用多层分布式计算模式,在隐藏系统复杂性的同时,也满足了 可维护性、可复用性等非功能特性。 在分解复杂的企业应用系统时,分层是一种十分有效的技术。每一层都依托 在下层之上,使用下层定义的各种服务;但下层对上层隐藏了实现的细节,同时 下层对上层一无所知。层模式有利于层的复用,可以支持标准化,支持系统的可 移植性和可替换性。已知的层模式应用有t c p i p 通信协议、j a v a 虚拟机、w i n d o w s n t 操作系统等。 根据软件功能的不同,软件体系结构理论一般将系统划分为不同的层次( 如 图2 1 所示】1 : 用户层,也称为表现层,负责与用户的交互,并提供应用的用户界面。它根 据用户的操作调用相应的业务逻辑,但不会直接访问后台数据库。 第二章软件体系结构和层模式的技术基础 应用逻辑层( 中间件) :包括应用服务器和w e b 服务器,是应用系统的构建所 在,完成具体的业务功能。它负责处理所有的用户请求,并把处理结果返回给表 现层。 数据服务层:也称为数据层,提供数据库支持,对数据的处理和维护都通过 数据服务器来完成。 图2 1 软件的3 层模式 2 4 基于规则的软件系统结构 本文主要关注的是应用逻辑层。应用逻辑层是一个软件系统功能实现的核 心,前文中提到的提高软件的可复用性和维护效率这两个问题,很大程度上跟应 用逻辑层的实现方式有关。 随着计算机稳定性和安全性的提高和网络的普及,软件的用户对计算机信息 系统的需求也越拉越细化,每个企业或用户都希望使用完全切合本单位需求的应 用系统软件。而且,任何用户对软件的具体需求也并不是一成不变的。这样就对 软件的可复用性提出了更高的要求。 随着需求的细化,软件功能的实现也更加复杂,因此带来的维护花费也水涨 船高。由于软件工业的专业性以及软件开发单位对软件知识技术产权的保护意 识,目前软件的维护工作只能由开发人员来完成。这样就不可避免了开发人员在 软件经过严格测试并交付使用之后,还要不断地对代码进行修改和调整。这些代 码级的修改是在系统的总体设计之后进行的,所以在不断地修改之后,整个系统 设计的合理性甚至是正确性都会不可避免地受到影响。 同时,目前的开发方式是软件的使用客户提出需求,由专业的软件开发工程 师来完成软件的功能设计。所以在这个过程中客户和软件开发工程师之间对需求 的理解是不可能完全相同的,这也是软件工程中最基本的矛盾之一。 基于以上3 点,本文提出了一个基于规则的应用逻辑层( 如图2 2 ) 。这个应 第二章软件体系结构和层模式的技术基础 用逻辑层具有下面几个特点: ( 1 ) 从整个架构上来讲,基于规则的应用逻辑层不需要严格依赖于表示层 和数据层,也就是说,基于对规则格式相同的理解和表示,那么不同 的表示层可以使用同一个应用逻辑层; ( 2 ) 将应用逻辑的实现剥离出代码,抽象为规则。不同用户对于系统的需 求,从细节上来讲通常是大相径庭,但是从逻辑角度来看又在一定程 度上是相似甚至是相同的。那么基于规则的应用逻辑可以更好的体现 系统的可复用性。 ( 3 ) 系统功能上的修改体现为对规则的增删和修改,而对整个系统架构没 有影响。 ( 4 ) 软件工程师可以为不同的用户设计开发对应他们需求的、形象而友好 图形界面,允许软件的使用人员凭借他们对需求的理解自行修改规则 库,从而达到完善系统的目的。 i l表示层 l 王 i i 规则层 l 王 i 数据服务层 图2 2 基于规则的应用逻辑层 本章主要系统的介绍了软件体系结构的提出和定义,以及层模式的特点和应 用,并提出了本文的观点,设计基于规则的应用逻辑层。在后面,本文将首先介 绍规则存在的基础语义w e b 。 第三章语义w e b 的相关理论背景 第三章语义w e b 的相关理论背景 3 1 语义w e b 的基本概念 互联网的出现使人类真正的进入了信息时代,基于w e b 的应用已经成为计 算机领域最活跃、发展最迅速的方向,也必将成为未来计算机发展的主流。随着 网络的迅猛发展,存在于w 曲上的信息在数量上成指数级增长,但是对于用户 的查找和访问等需求的满足仍然不尽如人意。解决这个问题的办法之一就是:使 用机器可以理解的形式将w e b 内容表现出来,然后通过智能技术来使用这种表 述方式。 w 曲创始人t i mb e r n e r s l e e 在19 9 8 年提出了语义w e b ( s e m a n t i cw e b ) 的概念: “语义w e b 是一个网,它包含了文档或文档的一部分,描述了事物间的明显关系, 且包含语义信息,以利于机器的自动处理”。1 1 2 1 w 3 c 也在2 0 0 1 年2 月正式推出 s e m a n t i cw e ba c t i v i t y ,其目标是开发一系列计算机可理解和处理的表达语义信 息的语言和技术,以支持网络环境下广泛而有效的自动推理。【1 3 】语义化w e b 是网 络发展的一个转折点,它将改变目前w e b 信息非结构化的特点,转而提供一种基 于知识的、具有智能处理的信息共享环境,使人类在最大范围内共享、并高效获 取信息成为可能,同时语义w e b 还将具有一定的逻辑判断、推理能力。 通过t i mb e m e r s l e e 对语义w e b 的描述和理解中我们可以看到,语义w e b 并非一个独立的w e b ,而是当前w e b 的延伸;现有的w w w 是面向文档而语 义w 曲则面向文档所表示的数据;其目标是让计算机能够“理解和处理”现在 w 曲仅仅能显示的数据,并为人们提供各种智能服务。 随着时间的推移,对语义w e b 的研究已经引起了我国学者的高度重视。研 究内容越来越广泛而深入,大致可分为3 个层次: 第l 层次,即对语义w e b 及其关键技术的描述与介绍,主要包括语义w e b 的 含义、体系结构、关键技术( r d f 、o n t o l o g y ) 、面临的挑战等。 第2 层次是关于语义w e b 及其关键技术对相关学科或研究领域的影响与启 示,包括信息管理、信息检索、知识库系统、数字图书馆、数据挖掘、电子商 务、机器翻译、智能代理、需求分析、元数据描述与交换、网络信息资源和知识 的表达等。 第3 个层次则是针对语义w e b 及其关键技术所做的具体实验与应用,包括 第三_ 章语义w e b 的梢关理沧背景 r d f 的应丌丁与存储、基j + r d f p x m l 的搜索引擎的设汁与实现、讯义w e b 的试 探性实现、o n t o l o g y 的构建、基t :o n t o l o g y 的青询系统设计、o n t o l o g y 在吲书 服务网络、知汉| 錾| 书馆和数字h 书馆t i ,的应用、o n t o l o g y 与主题词表柑结合实 现对兀数据的查询等。 1 4 1 3 2 语义w e b 的体系结构 b e m e l s 2 l e er2 0 0 0 年提山丁语义w e b 的体系结构( 如1 錾i3 - 1 ) ,该体系结 构je 打7 层亢f 而上各屡功能逐渐增强。 3 2 1u n i c o d e 和u r j | 錾| 3 1 语义w e b 体系结构i ”i 笫麒可以称之_ :i ;j 编码层。 就像h 1 提到过的 胥义w e b 是当前w e b 的延伸。n 此语义w e b 的最终 i j 的足职构迎覆盖全球信息的网络,在这个阿络上应该可以i 雨盖秤种语占和文字 信息资源。u n i c o d e 是个字符集,这个字符集t i ,所钉字符都,1 1 两个产竹表示, 可l l 表d j6 5 5 3 6 个字符,基本上包括,1 ”界上, 目i t f 语胄的宁符。所以语义w e b 采用j - u n i c o d e 作为r 字符的编码方案数据格式采用u n i c o d e 的好处就是它支 持1 廿界l 所打卜鹱语占的混合,并h 可以可时进行榆索。 第三章语义w e b 的相关理论背景 w e b 环境下的各应用之间不可避免的需要互相通信,直接或者间接的以机器 可读的格式传递信息。u r i ( u n i f o r mr e s o u r c ei d e n t i f i e r ,统一资源定位符) 用于唯 一标识网络上的一个概念或资源及其属性。u r i 是一个i n t e r a c t 标准,它既可以 表示网络的可达资源( 例如网络上的一份文档、一张图片或是一个w e b 服务等) , 又可以表示网络不可达的资源( 例如人、图书馆的书籍等) ,w w w 的统一资源定位 符( u n i f o r mr e s o u r c el o e a t o r ,切阻) 和统一资源名称( u n i f o r mr e s o u r c en a m e , u r n ) 都是他的子集。 在语义w e b 体系结构中,该层是整个语义w e b 的基础,其中u n i c o d e 负责 处理资源的编码,u r i 负责资源的标识。【1 6 】它成功地解决- j w w w 上渊j 定位 和统一不同地区字符编码格式的问题,可以说是整个语义w e b 的基石。 3 2 2x m l 、n a m e s p a c e 和x m ls c h e m a 第二层是语法层。 说到网络上的信息资源,我们不能不提及超文本标记语言( h y p e rt e x t m a r k u pl a n g u a g e ,h t m l ) 。超文本的概念源于超媒体,他的组织结构与普通媒 体线形的结构完全不同。h t m l 是在s g m l 定义下的一个描述性的语言,是一 个包含标记( t a g ) 的文本文件,也就是为普通文件中某些字句加上标识的语言, 其目的在于运用标记达到预期的效果。然而h t m l 自身也有着天生的缺陷:它 的数据内容和数据表示形式不分,内部结构性和条理性较差以及标签固定使用不 灵活,用户不能自行扩展。因此,语义w e b 使用x m l 作为其语法层。 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 是一种可扩展的标志语言。它融合了 h t m l 的易用性,又不局限于事先定义好的标签,而只是提供一种定义标签的标 准。这样使用者可以根据这些定义标签的规则,自己制定通用的可读性高的标签, 而无需说明这些结构的含义。 x m ls c h e m a 是文档类型定义( d t d ,d o c u m e n tt y p ed e f i n i t i o n ) 的替代品, 它本身采用x m l 的语法,但是又比d t d 更加灵活,提供更多的数据类型,能 更好地为有效的x m l 文档服务并提供数据校验机制,可以约束x m l 自定义标 签内部的组织结构。 x m l 给用户带来了更高的灵活性的同时,不可避免的出现不同用户为描述 不同的资源信息使用了相同的标签结构这类问题。为此,w 3 c 的x m l 小组制订 了有关命名空间州a m e s p a c e ) 的标准。x m l 为n a m e s p a c e 元素类型与属性名的 集合,它们由x m ln a m e s p a c e 给定的名字标识。n a m e s p a c e 独一无二的标识使 得具有不用来源的同名对象混合在一起不再会产生不确定性。也就是说,不同的 n a m e s p a c e 之间的同名标签不会造成命名冲突,因此,开发人员只需要关注自己 第三章语义w e b 的相关理论背景 n a m e s p a c e 内部的命名不会发生冲突就可以正确使用。此外,因为n a m e s p a c e 可能与网址或者u 砌有关,同时u r i 可以很方便的成为一个独一无二的名字, 所以这一层的n a m e s p a c e 由下层的u r i 索引确定。 这一层主要利用了x m l 的特性,实现了文档对自身结构的描述,也正是由 于x m l 灵活的结构性、由u r i 索引的n a m e s p a c e 而带来的数据可确定性以及x m l s c h e m a 所提供的多种数据类型及检验机制,使其成为语义w e b 体系结构的重要组 成部分。该层负责从语法上表示数据的内容和结构,通过使用标准的语言将网络 信息的表现形式、数据结构和内容分离。【l7 】对具体标签含义的定义和互操作以及 文档内容的语义、联系等问题则需要交给语义w e b 的上层去解决。 3 2 3r d f 和l m fs c h e m a 资源描述层r d f ( r e s o u r c ed e s c r i p t i o nf r a m e w o r k ) 专门用于表达关于w e b 资源的元数据( m e t a d a t a ) ,是一种开放的数据描述框架,它和r d fs c h e m a 构成 了语义w e b 的资源描述层。 r d f 是一种描述w w w 上的信息资源的一种语言,其目标是建立一种供多种 元数据标准共存的语义描述框架。该框架能充分利用各种元数据的优势,进行基 于w e b 的数据交换和再利用。将“w e b 资源( w e br e s o u r c e ) ”这一概念一般化后, r d f 可被用于表达关于任何可在w e b 上被标识的事物的信息,即使有时它们不 能被直接从w e b 上获取。r d f 解决的是如何采用x m l 标准语法无二义性地描 述资源对象的问题,使得所描述的资源的元数据信息成为机器可理解的信息。所 以r d f 用于信息需要被应用程序处理而不是仅仅显示给人观看的场合,而且 r d f 可以使这些信息能在应用程序间交换而不丧失语义。如果把x m l 看作为 一种标准化的元数据语法规范的话,那么r d f 就可以看作为一种标准化的元数 据语义描述规范。 和x m l 一样,r d f 也是机器可处理的,也使用u r i ,r d f 也可以链接w e b 上任何地方的信息。然而与传统超文本不同的是,r d fu r i 可以引用任何可标 识的事物,包括那些不是直接可从w e b 上获取的事物( 也就是我们提到过的网络 不可达的资源) 。因此,r d f 除了能够描述像网页这类事物以外,还可以描述汽 车,商业活动,人类,新闻事件等等。此外,r d f 中的属性本身有u r i ,用以 准确标识被链接的事物之间的关系。 r d f 提供了一种通用的数据描述方式,而有关特定域的元数据的定义和它 们的语义描述就需要用到r d fs c h e m a 。r d fs c h e m a 使用一种机器可以理解的 体系来定义描述资源的词汇,其功能就像一个字典,目的是提供词汇嵌入的机制 或框架,在该框架下多种词汇可以集成在一起实现对w e b 资源的描述。此外r d f 第三章语义w e b 的相关理论背景 s c h e m a 还可以对r d f 数据给出一定程度上的解释和合理性验证。但是和其他相 对完备的知识描述语言相比,其语义表达能力是不够的,因此需要语义w e b 的 上层对其语义解释能力做进一步的扩展。 3 2 4o n t o l o g yv o c a b u l a r y o n t o l o g yv o c a b u l a r y 是本体层。 o n t o l o g y ( 本体或本体论) ,也叫存在论,原本是一个哲学上的概念,是研究 存在的本质的哲学问题。但在人工智能领域的知识表现中,我们常常用它来描述 概念、物体、实体及它们之间的关系的表现形式的概念型模块,从而这些概念模 块具有阐释客观世界的功能。他们同样可以拥有通用性和无限制的重用性,它是 研究存在的本质的哲学问题。近几年来,这个词被应用到计算机

温馨提示

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

评论

0/150

提交评论