(教育技术学专业论文)规则引擎在学分制教务管理系统中的应用研究.pdf_第1页
(教育技术学专业论文)规则引擎在学分制教务管理系统中的应用研究.pdf_第2页
(教育技术学专业论文)规则引擎在学分制教务管理系统中的应用研究.pdf_第3页
(教育技术学专业论文)规则引擎在学分制教务管理系统中的应用研究.pdf_第4页
(教育技术学专业论文)规则引擎在学分制教务管理系统中的应用研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(教育技术学专业论文)规则引擎在学分制教务管理系统中的应用研究.pdf.pdf 免费下载

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

文档简介

规则弓i 擎在学分制教务管理系统中的应用研究 摘要 进入2 l 世纪,中国的高等教育迎来了一个掰的发展阶段。教务管理是高校管理 工作的核心部分,随着教学体制的不断改革,尤其是隐前进行的高校学分制教学改 革的不断深入和全面推进,高校教务管理工作面临着新的挑战。相比传统学年制下 的教务管理,学分制教务管理工作变得更加复杂和繁重,传统的教务管理系统已经 不能适应学分制教务管理灵活多变的特点。因此,根据学分制的特点,开发完善适 应学分制的教务管理软件系统,是耳前的当务之急。 规则引擎由基于规则的专家系统发展而来,其核心部分推理引擎由高效的改进 r e t e 算法实现。规则引擎的特点是,能将业务逻辑中的业务规则分离出来,形成独 立的业务规则模块;业务规则的开发与管理可由业务管理人员来实现。从而提高了 软件系统的灵活性与适应性。 本论文首先论述了规则引擎的基本概念与工作原理,分析了学分制及其教务管 理的特点,提出将规则弓| 擎应用于高校教务管理系统中,分离学分制教务管理中的 业务规则,提高系统灵活性和适应性,降低系统维护成本;并以基于规则的技术为 学生的学习过程提供指导、监督以及个性化的资源与信息推荐服务,从而构建适应 学分制的高校教务管理系统。本文给出了规则引擎在学分制教务管理系统中的应用 模型、集成体系结构以及应用实例。 关键词:规则引擎;学分制;教务管理系统;w 曲服务 硕士学位论文 a b s t r a c t a l o n gw i t he n t e r st h e2 ls t c e n l u 巧,c h i n e s eh i g he d u c a t i o nu s h e r si nan e w d e v e l o p m e n ts t a g e 。e d l l c a t i o na d m i n i s t r a t i o 觳m a n a g e m e n t ,w h i c hi st h ec o f ep a r to ft h e h i 曲e re d u c a t i o nm a n a g e m e n t ,i sf a c i n gt h en e wc h a l l e n g ew i t ht h er e f o 册o ft e a c h i n g s y s t e m ,e s p e e i a l l yw i 也l h ee o 瞰i n u o u sd e e p e n i n g 赫de o m p f e 魏e n s i v e l yp u s 矗f o f w 嚣do f t h er e f o r mi nc r e d i te d u c a t i o n t h ec r e d i te d u c a t i o na d m i n i s t r a t i o nm a n a g e m e mh a s b e e o m e糙o f e c o m p l e x褫do 珏e 瓣u se o 溅p a r 主n gw i 氇 凌eo d 毽e 式i o n越m i 鼗i 蛙f a 专i o 藏 m a n a g e m e n tu n d e rt r a d i t i o n a la c a d e m i c - y e a rs y s t e m ,w h i c hh a sb e e nu n a b l et om e e tt h e 是e x i b i l i t ye h a f a e t e 砖s 鼍主c so f t h ec r e d i te d u c 鼗专i o na d m i n i s t r a t i q 娃m a n a g e m e n t t h e r e f o f e , t h e p r e s e n tu r g e n c y i st o d e v e l o pa n di m p r o v e s o r w a r es y s t e mo fe d u c a t i o n a d m i n i s t r a t i o nm a n a g e m e n ti no r d e rt oa d a p tt ot h ec r e d i te d u c a t i o na d m i 娃i s t r a t i o n m a n a g e m e 啦a c c o r d i n gt o 像ec h a r a c t e r i s t i e so ft h ec r e d i ts y s t c m 。 r u l ee n g i n ed e v e l o p sf r o mt h er u l e - b a s e de x p e r ts y s t e m ,t h ei n f c r e n c ee n g i n e ,o f w 醚e hi s氆ec o r e p a r 毫, e 强b er e a l i z e d b y谦ei m p v e d r e t ea 重g o f i 搬m t h e c h a r a c t e r i s t i c so fm er u l ee n g i n ei sm a ti tc a nf o r ma ni n d e p e n d e n tm o d u l et l l r o u g h s e p 越采i 觳g 氇eb u s i 珏e s s 摊l e sf 幻瓣也eb 毽s i 船s sl o g i e ,锺d 疆e 曩撒呔e 氇eb u s i 登e s s m a n a g e r si m p l e m e n tt h ed e v e l o p m e n ta n dm a n a g e m e n to ft h eb u s i n e s sm l e s ,b yw h i c h e a ne n h 鞣c et h e 舔e x i b i l i t ya n d a d 印t a b i l i t yo ft h es o 建w a f es y s t e m 豆n a l l y 。 t h ep a p e rf i r s td i s c u s s e st h eb a s i cc o n c 印t sa n dp f i n c i p l eo f1 1 l l ee n g i n e ,a n d a n a l y s e sf b a t u r e so ft h ec r c d i te d u c a t i o na d m i n i s t r a t i o nm a n a g e m e n t ,b r i n g sf o r w a r dt h e e o n e e p ta p p l i e dt h er u l ee n g i n ei nt h ec r e d i 专e d u c a ,t i o nm a n a g e m e n ts y s 专e m ,t os e p a r a t e t h em l e so fc r e d i te d u c a t i o na d m i n i s t r a t i o nm a n a g e m e n t , i m p r o v ef l e x i b i l i t y a n d 越a p l a b i l i 锣o f 壤es y s t e m ,a 珏df e 蠢u e e 撒a 主n t e n a n e ee o s l so f 凌es y s l e m ;a 熊du s i n g i _ u l e s b a s e d t e c h n o l o g y t o p r o v i d eg u i d a n c e ,s u p e r v i s i o n , a sw e i la sp e r s o n a l i z e d 羚s o 珏f e e s 强di 致岛潍a 鼍i o 藏羚f e r f a ls e “i e e s 专。也el e 鑫搬i n gp e e s s 内fs 蚀d e 嫩s ,s o c o n s t r u c t st h ea d m i n i s t r a t i o n m a n a g e m e n ts y s t e m w h i c h a d a p t t ot h ec r e d i t a d m i n i s t r a t i o nm a l l a g e m e 飘t 。t h ep a p e fg i v e s搬e a p p l i e a t i o nm o d e l ,i 觳t e g r a t e d a r c h i t e c t u r ea n da p p l i c a t i o ne x 砌p l e so ft h er u l ee n g i n ei nt h ec r e d i ta d m i n i s t r a t i o n m a n a g e m e n ts y s t e m k e yw o r d s :r u l ee g i n e ;c r e d i t ;e d u c a t i o na d m i n i s t r a t i o nm a n a g e m e n ts y s t e m ; w e bs e r v i e e s - l l l 硕士学位论文 插图索引 图2 1 基于规则的专家系统结构一7 图2 2 规则引擎架构图8 图3 1d r o o l s 基本结构1 3 图3 2 编制组件1 4 图3 3 运行时组件1 5 图3 4d r o o l s 基于e c l i p s e 的i d e 18 图4 1 规则引擎在教务管理系统中的集成应用模型2 2 图4 2 学生选择专业活动图2 4 图4 3 工作流程2 6 图4 4 基于规则的个性化推荐系统2 7 图5 1w 曲服务架构技术协议堆栈3 l 图5 。2w e b 服务体系结构3 l 图5 。3 基于b s 的多层体系结构3 4 图5 。4 基于w 曲服务的业务逻辑分层3 5 图5 5 自顶向下的开发模式3 7 图5 。6w e b 服务安全网络结构3 9 图6 1 目录结构4 5 图6 2 、b 服务部署4 6 硕士学位论文 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得 的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人 和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由 本人承担。 作者签名: 谚喀 日期:一( 年月厶日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论 文。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密囤。 ( 请在以上相应方框内打“ ) 作者签名: 导师签名: 治喀 i 善 日期:l 一乎年乍月厶日 日期:毋口驴年9 月。锣日 硕士学位论文 第1 章绪论 1 1 教务管理系统应用进展与现状 随着信息技术的发展,管理信息系统( m a n a g e m e n ti n f o r m a t i o ns y s t e m ,m i s ) 已被广泛应用于各行各业,在政府、企业、高校等各项信息与业务管理中发挥着 越来越重要的作用。 教务管理是高校管理工作的核心部分,涉及到学校、院系、教师、学生等诸 多部门和人员。教务管理业务复杂、工作量大,要求的准确性高,应用计算机管 理信息系统来进行高校教务管理,可以大大的提高管理的效率和质量,随着计算 机信息技术的发展和高校教学体制的改革,高校教务管理系统也随着技术的进步 和应用环境的变化而不断改善和更新。 在国外,高校教学的信息化管理起步较早,并且有不少有实力的企业机构和 学术团体致力于教育管理信息系统及其相关标准的研究。这些研究着重于不同的 层面,涉及到教育信息的数据标准化、处理数据的流程规范以及不同系统之间的 互操作性接口规范等等。例如,早在19 9 6 年,e d u c o m ( 美国大学校际交流委 员会) 设立了一个称为i m s ( 教学管理系统) 的研究项目,后来发展成为非赢利 性的i m s 全球学习联合公司,专门从事教学系统技术的相关工作。其中的i m s e n t e r p r i s es p e c i n c a t i o n ( i m s 企业接口规范) 是研究企业开发的教学管理系统之 间的互操作规范,它建立了i m s 企业信息模型,定义了软件的标准化结构等相关 内容f l 】。目前,国外大学已将包括教务管理系统在内的数字化校园的应用提高到 了一个新的水平,比如许多高校已将e r p ( e n t e r p r i s er e s o u r c ep l a n n i n g ) 系统 等前沿的概念和技术方法,引入到高校的教学管理系统之中。综上所述,国外在 高校教务管理系统的开发和应用方面已经处于比较成熟和完善的阶段。 在国内,计算机技术真正的普及应用始于2 0 世纪9 0 年代,在当时,教育界 出现了以信息技术的广泛应用为特征的发展趋势,国内学者称之为教育信息化。 在高校教务管理系统方面,经过了多年的自主开发和经验借鉴,教务管理系统已 从开始的成绩管理等比较单一的数据记录与查询功能,发展到了涵盖学籍管理、 成绩管理、选课排课、考务管理等全面的管理功能。基于数据挖掘的统计分析、 决策支持等前沿技术也被应用到系统之中;软件系统体系结构也由原来的单机软 件发展到现在的基于b s ( b r o w s e r s e r v e r ) 的多层分布式体系结构。 目前,中国的高等教育迎来了一个新的发展阶段。随着教学体制的不断改革, 尤其是目前进行的高校学分制教学改革的不断深入和全面推进,高校教务管理工 规划引擎在学分制教务管理系统中的成用研究 俸面临着新的阆题和挑战。相比传统学年制下的教务管理,学分制教务管理工佟 变得更加繁重和复杂,传统的教务管理系统已不能适应学分制教务管理灵活多变 的特点。因此,需要根据学分制的特点,开发完善适应学分制教学的教务管理系 统软件。 1 2 规则引擎研究进展 1 2 1 规则引擎产生背景 规则引擎的产生起源于专家系统,由基于规则的专家系统中的推理引擎发展 而来。专家系统是人工智能的一个分支,它模仿人类的推理方式,使用试探性的 方法进行推理,并使用人类能够理解的术语解释和证明它的推理结论。 1 9 6 5 年至1 9 6 8 年,斯坦福大学计算机系的f e i g e n b a u m 及其硬件小组开发 趱启发式d e n d r a l 系统,用于解释化合物结构。于是,人工智能( a 矩j f l c i a l i n t e l l i g e n c e ,a i ) 出现了个新的研究领域一一专家系统。随后,各个领域的各 类专家系统也迅速发展起来。 2 0 世纪7 0 年代,斯坦福大学使用链表处理语言( l i s tp r o c e s s o r ,l i s p ) 开发 的m y c l n 是第一个用于血液疾病诊断的基于规则的诊断专家系统。该系统实现 的主要思想是知识和控制的分离,将以规则表示的知识从用于评估、执行的程序 中分离出来,这是规则管理技术的启蒙时期。 2 0 世纪8 0 年代,基于规则的编程方法随着人工智能技术的研究得到了极大 的发展,很多开发组织和机构开始购买商业化的规则引擎,但是由于当时的规则 弓| 擎性能较差,并且没有与当时主流系统进行集成的能力,基于规则的编程方法 没有得到很好的应用。 2 0 世纪8o 年代后期,随着西向对象技术的兴起,分类机制、封装、消息透 信机制等技术为人们解决复杂应用软件系统提供了新的方法,也为基于知识规则 的程序开发提供了更好的集成和实现方式。业务规则管理系统的孳| 入,使应用系 统结构和维护方式发生了巨大的改变,基于业务规则的开发方法大大缩短了系统 开发时间,更加适应系统业务逻辑的变化。开发者可以直接使用业务规则技术而 无需了解过多的实现细节,大大减少了编程的工作量,提高了编程的正确率,从 而使开发者能够更加关注系统本身的业务需求。基于业务规则的开发方法还模糊 了系统需求分孝斤、设计和编程的界限,相比定制开发更节省时间,同时麓满足用 户的个性化需求【2 1 。 1 2 2 规刘引擎应用现状 规则引擎已在电信计费、故障排查、 等领域得到了广泛应用。例如计费方面, 医疗诊断、保险核保以及银行信贷评估 在国外,露前国际上比较知名的计费厂 硕士学位论文 商,如美国u s h a 、s a m a 等,都使用规则引擎做为计费系统。在国内,如北京 城市热点有限公司,作为广电行业宽带计费的领先厂家,为了适应和推动广电数 字网的三网融合的发展思路,将在2 0 0 8 年推出新一代的d f c o m 广电综合业务规 则引擎,既可以嵌入广电b o s s 系统中作为计费模块,也可以作为单独的产品, 为广电运营商提供决策支持服务【3 1 。另外如中国移动、大唐等在批价、帐务优惠 和最终帐单等方面也都开始使用规则引擎。规则弓l 擎可以对系统的故障管理进行 高效的处理,例如惠普在专门故障管理方面,对于告警的相关性处理,使用的是 l l o gj r u l e s 。除此之外,规则弓l 擎还可以嗣来做渠道管理和各项考核管理,如佣 金考核、酬金计算等,现在企业的绩效考核管理系统大都应用了规则引擎来提高 系统的效率和灵活性1 4 】。 在教育软件系统方面,从目前搜集到的资料来看,还没有集成应用规则引擎 的相关产品和研究。高校学分制教务管理系统涉及到了诸如管理、审核、学生学 习绩效、教师绩效考核等众多复杂易变的业务规则,因此,研究如何在教务管理 系统中集成应用规则引擎,以提高软件系统适应性和扩展服务功能,对学分制教 务管理水平的提升具有一定的价值。 目前主流的规则引擎多是基于j a v a 和c + + 语言环境,已经有多种j a v a 规则 弓| 擎商业产品与开源软件,现奔绍如下: 1 商业产品 至l o g 豫m l e s :l l o gj r 珏l e s 作力l l o g 的旗舰级企业规赋弓| 擎产晶,具有完 备的功能、较强的可靠性、可定制性和可扩展性。在系统中可以将规则囟动部署 为j 2 e e 、j 2 s e 、j a v a 或w 曲服务应用程序,能够自动检查规则,甚至可以通过 w 曲浏览器编写、阅读和更新规则。在i l o g 的业务规则语言框架中,定义了三 种规则语言:业务操作语言( b a l ) ,使用自然语言语法编写规则;技术规则语言 ( t r l ) ,采用伪代码形式编写规则;l l o g 规则语言( 1 r l ) ,使用类似于j a v a 或x m l 的语法编写规则。在规则库中,具有规则版本控制、权限管理、规则历 史记录、锁视制等一系列的功能。在规则库的实现上,采用了直接绑定x m l 文 档的方法。i l 0 0j r u l e s 是商业规则引擎的代表产品【5 j 。 规煲| l 弓| 擎商业产晶还有j 嚣s s ( j a v 鑫e x p e f ls y s t e 搬s h e l l ) ,r u l e s 4 j 以及 b l a z e s o f t 公司的b l a z e 等。j e s s 是商业产品,但可以免费用于学术研究,用于商 业用途则要收取费用。 2 开源软件 d r o o l s :d r o o l s 是一个由b o bm c w h i r t e r 开发的开源软件,实现了j s r 9 4 ( j a v a s p e c 通c a t i o nr e q u e s 专s ) 规范并提供了单元测试代码。d f o o l s 规则弓| 擎应用r e t e 算法的改进形式r e t e i i 算法,从内部机制上讲,它使用了和f o r g y 算法相同的概 念和方法,僵是增加了胃与匿向对象语言无缝连接的节点类型。 规则引擎在学分制教务管理系统中的应用研究 m a n d a r a x :m a n d a r a x 是基于反向推理( 归纳法) 的规则引擎,能够较容易地 实现多个数据源的集成。例如,数据库记录能方便地集成为事实集( f a c t ss e t s ) , r e f l e c t i o n 用来集成对象模型中的功能,目前还不支持j s r 9 4 。 o f b i zr u l ee n 百n e :支持归纳法( b a c k w a r dc h a i n i n g ) ,最初的代码是基于 s t e v e nj o h nm e t s k e r 的b u i l d i n gp a r s e r si nj a v a , 目前不支持j s r 9 4 。 儿i s a :j l i s a 是用来构建业务规则的强大框架,它扩展了l i s p 的优点,比 c l i p s 还要强大,这些特色对于多范例软件的开发是非常重要的,支持j s r 9 4 。 其它的开源规则引擎软件还有a l g e r n o n ,t y r u b a ,j t p ,j e o p s ,i n f o s a p i e n , r d f e x p e r t ,j e n a2 ,e u l e r ,j l o g ,p e l l e to w lr e a s o n e r ,p r o v a ,o p e n r u l e s ,s e e t r u l e s , j s h o p 2 等等。 在国内,一些公司也开发和研制了规则引擎相关产品,相比国外来说,国内 的规则引擎产品的开发和应用还处于初始阶段。 v i s u a l r u l e s :v i s u a l r u l e s ( 旗正商业规则定制平台) 由杭州旗正信息技术有 限公司开发,是一个图形化的辅助软件开发工具,可以嵌入到现有的软件项目中, 方便其进行业务逻辑的快速开发和维护【6 j 。 i n t e l l i r u l e :i n t e l l i r u l e 业务规则管理系统由东南融通系统工程有限公司开发, 该系统基于j 2 e e 平台,遵从j s r 9 4 规范以及业务规则系统原理,产品提供包括 规则编辑工具和规则执行引擎技术的完整解决方案,使业务人员能摆脱开发人员 独立地修改业务规则。i n t e l l i r u l e 也可以和i n t e l l i f l o w 很好地配合使用,工作流 负责宏观的任务流程定制和重组,规则系统则负责微观的任务逻辑与实现分离【7 j 。 1 3 研究内容与目的 本文首先论述了教务管理系统及规则引擎的发展背景与应用现状,对规则引 擎的基本概念与工作原理进行了深入的分析和讨论,研究了r e t e 模式匹配算法, 并介绍了开源j a v a 规则引擎d r o o ls 的体系结构、功能特点等。 规则引擎在教务管理系统中的应用模型的构建、技术架构和实现方法是本论 文的重点内容。本文首先对学分制教务管理的特点进行了分析,在此基础上建立 了规则引擎在教务管理系统中的应用模型。提出运用规则引擎来改善学分制教务 管理系统体系结构、扩展系统服务功能。并给出了集成规则引擎的技术方法以及 实现实例。 通过以上内容的分析与研究,论文主要达到以下两个目的: 1 运用规则引擎实现教务管理业务规则的分离,改进教务管理系统体系结 构。从而增强软件系统的灵活性和适应性,降低软件系统维护成本,延长软件系 统生命周期。 2 运用规则引擎实现教务管理系统服务功能扩展。在教务管理系统中提供 硕士学位论文 对学生学习过程的指导和监督;将教务管理系统与教学资源进行整合,为学生提 供个性化的资源和信息推荐。 论文的内容组织结构如下: 第l 章绪论。论述了高校教务管理系统的应用现状及存在的问题;规则引擎 技术的国内外研究与应用现状。 第2 章规则雩| 擎概述。深入讨论了规则引擎的基本概念、工作原理、应用特 点、r e t e 模式匹配算法以及j a v a 规则引擎a p i 等相关内容。 第3 章j a v a 规则弓| 擎d f q o l s 。通过对d f o o l s 的体系结构、知识表示方法、 工作原理及功能特点的研究,确定了选用开源软件d r o o l s 作为具体的规则引擎实 现工具。 第4 章应用模型的建立与分析。在分析学分制教务管理特点的基础上,建立 了规则萼l 擎在学分制教务管理系统中的应用模型,并分析了其组成和实现方法。 第5 章规则引擎与教务管理系统的集成。研究了w 曲服务的相关技术、基 于w 曲服务的应用逻辑分层结构,w 曲服务开发方法及其安全问题。 第6 章应用实例。逶过一个具体的实例,攒述了将教务管理业务规萸l j 开发部 署为w e b 服务的过程与方法。 结论部分:总结论文研究过程帮得嬲的结果、论文存在的不足之处以及下一 步研究建议。 规则引擎在学分制教务管理系统中的成用研究 2 1 业务规则简贪 第2 章规则引擎概述 。业务规则专家组( b r g ) 提出了业务规则的两个定义。 第一个定义:从业务的角度看,业务规则是一种原则,是包含在特定活动或 范围内关于指导、操作、实践或过程的行为规范。 第二个定义:从信息系统的角度看,业务规则是一个定义或限制业务某些方 面的声明。业务规则旨在用于断言业务结构,控制或者影响业务行为【8 】。 麸第一个定义来看,业务翘则的实质是实现一个组织麓謦标时所应用到的操 作、定义和约束,这些规则的作用是帮助组织去更好地达成目标。 从第二个定义来看,个业务规则包含一组条件和在此条件下执行的操作, 它们表示业务规则应用程序的一段业务逻辑,这种逻辑的实现可以通过使用专门 的工具业务规则语言和业务规则引擎进行简化。业务规则通常应该由业务分 析人员和业务管理入员开发和修改。 根据分类标准的不同,业务规则有多种分类方法。针对不同的应用,可以将 业务规则分为以下三类: 1 简单业务规则( s i m p l eb u s i n e s sr u l e ) 。简单业务规则可以由如i b t h e n 语 句、决策表等方式来表达,此类规则可以作为独立的逻辑组件来实现,可以在不 影响其它服务的情况下维护规则,并且在大多数情况下支持规则的动态更新。 2 。事件相关规则( e v e n tc o r r e l 撕o nr u l e ) 。在事件相关性中用到的规则,用 于将一套各自独立的事件形成一种聚合的( a g g r e g a t e d ) 有意义的形态。事件相 关规则可识别先后发生的多个事件间的关系。这些规则通常将对某个时间段内的 消息按照类型和条件进行筛选,然后根据各种预定义模式检测各种状况。事件相 关规则用于识别一系列消息或业务事件状况,以方便地监视在业务中值得注意的 状况,麸焉将在英他情况下需要避过很多手动工作,或者需要进行编程来完成酶 任务,简化为创建简单的规则语句。 3 。人工智能规则( a 砖i 蠡e i a l 差纛l e l l 培e 致e er u l e ) 。人工智能规则是实现演绎法、 归纳法或其他人工智能( a r t i f i c i a li n t e l l i g e n c e ,a i ) 样式的推理规则。资源选择、 优化、阀题诊断和规划闻题通常都需要进行一定的推理。这些闯题涉及到要在很 多潜在解决方案中进行搜索,以找到那些满足规则的解决方案f 9 均】。 硕士学位论文 2 。2 规则引擎概念与原理 2 2 1 基于规则的专家系统 专家系统( e x p e f ts y s t e m ,e s ) ,也称基予知识的系统( k n o w l e d g eb a s e d s y s t e m ,k b s ) ,是人工智能( a r t i 丘c i a li n t e l l i g e n c e ,a i ) 的一个分支,是人工智 能应用研究领域最活跃和最广泛的课题之一。它模仿人类的推理方式,使用试探 性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论,从而能 够利用人类专家的知识和解决闯题的方法来处理该领域阀题。专家系统有多种分 类:如基于神经网络、基于案例推理和基于规则的专家系统等。 规则引擎起源于基予规则的专家系统( r u l e b a s e de x p e f ls y s t e 搬,r b e s ) , 一个典型的基予规则的专家系统结构如图2 1 所示。 图2 。1 基于规则的专家系统结构 系统各部分功能如下: 推理引擎( i n f e r e n c ee n g i n e ) :根据工作内存中的事实数据和知识库内的规则, 通过规则的江配来推断阏题的结采。推理零| 擎把事实与规则的先决条件进行比较, 确定能够激活的规则,通过这些激活的规则得出结果并将其加入工作内存,直到 没有符合匹配的规则为止。 议程( a g e n d a ) :由推理引擎创建的一个规则优先级表,这些规则匹配工作 内存中的事实或嚣标。 知识库( k n o w l e d g eb a s e ) :又称为产生式存储库,用来存储规则。 工作内存( f a c tb a s e ) :被规则所使用的事实的全局数据库。 解释机( e x p l a n a t i o nf a e i l i t y ) :解释系统的推理给用户。 知识获取机( k n o w l e d g ea c q u i s i t i o nf a c i l i t y ) :为用户建立的一个知识自动输 入方法,以代替知识工程师去编码知识。在有些系统中,知识获取机是可选功能。 用户界面( u s e ri n t e r f a c e ) :用户和专家系统之间的通信机制。 系统的核心部件是推理孳| 擎,推理引擎通过决定哪些规则满足事实或臣标, 规则引擎在学分制教务管理系统中的成用研究 并授予规则优先级,满足事实或嚣标的规则被加入议程。存在两种摊理方式:演 绎法( f o r w a r d c h a i n i n g 正向链) 和归纳法( b a c k w a r d c h a i n i n g 反向链) 。演绎 法从一个初始的事实出发,不断地应用规则得出结论( 或执行指定的动作) 。丽归 纳法则是从假设出发,不断地寻找符合假设的事实f l l 】【1 2 1 。 2 。2 。2 规则引擎工作原理 规则引擎由基于规则专家系统中的推理引擎发展而来,是一种嵌入在应用程 序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语 义模块编写业务决策,接受数据输入,解释业务规则,并根据规则做出业务决策。 规则引擎需要通过程序接口的方式来进行控制和使用,规则引擎的程序接口 至少包含以下几种a p i :加载和卸载规则集的a p i ,数据搡作的a p i ,引擎执行 的a p i 。规则引擎的使用需要以下几个步骤:创建规则引擎对象;向引擎中加载 规则集或更换规则集;向引擎提交需要被规则集处理的数据对象集合;命令雩l 擎 执行;导出引擎执行结果,从引擎中撤出处理过的数据【l3 。规则引擎的核心组件 包括规则管理器、推理弓| 擎、议程、工作内存以及规则库。规则弓| 擎架构如图2 2 所示: 圈2 2 规则弓l 擎架构图 规则引擎的工作过程是: a 。将初始事实数据( f a c t ) 输入至工作内存( f a e tb a s e ) 。 b 使用规则匹配器( p a t t e r nm a t c h e r ) 将规则库( r u l e sr e p o s i t o r y ) 中的规 则( r u l e ) 和数据( f a c t ) 进行匹配。 c 如果执行规则存在冲突( c o n n i c t ) ,即同时激活了多个规则,将冲突的规 则放入冲突集合。 d 解决冲突,将激活的规则按顺序放入议程( a g e n d a ) 。 e 执行议程中的规则,重复步骤b 至e ,直到执行完毕议程中的所有规则。 硕士学位论文 当芍| 擎执行时,会根据规则执行队列中的优先顺序逐条执行规则执行实例, 由于规则的执行部分可能会改变工作区中的数据对象,从而会使队列中的某些规 则执行实例因为条件改变而失效,必须从队列中撤销,也可能会激活原来不满足 条件的规则,生成新的规则执行实例进入队列。于是就产生了一种动态的规则执 行链,形成规则的推理机制。 规则条件匹配的效率决定了规则雩l 擎的性能,规则引擎需要快速测试工作区 中的数据对象,从加载的规则集中发现符合条件的规则,生成规则执行实例。1 9 8 2 年美国卡耐基梅隆大学c 魏a f l e sl 。f o 玛y 发明的装e t e 算法,很好地解决了规则匹 配的问题【1 4 】【15 1 。 2 。2 3 规则引擎的特点 1 声明式编程。规则引擎采用了声明式的编程方法,声明式编程的主要优 点是,使规则更加容易对复杂的闻题进行表述,并得到验证。规则系统能够解决 非常困难的问题,并为解决问题所作的每一个步骤提供了选择决策的原因。 2 逻辑与数据分离。与面向对象系统中将数据和逻辑耦合起来的方式不同, 在规则引擎中,数据保存在系统对象中,而业务规则逻辑保存在规则中。这种方 式的好处是,当业务逻辑发生改变时,璺容易被更新和维护,因为逻辑傈存在规 则中,而规则是独立的。总之,规则引擎是通过将规则逻辑集中存储在规则数据 库或是规则文件中,取代了之前分散在代码中的方式。 3 高效率的算法。r e t e 算法提供了对系统数据对象的高效匹配,尤其当数 据不完全改变时,这种匹配的高效性更为显著,这种高效的匹配算法经过了大量 实际应用的验证。 4 集成的开发环境与工具。规则引擎产品大都提供了集成的规则开发与管 理等工具。例如规则引擎d f o o | s 提供了基于e c l i p s e 昀薹d e 以及业务规则管理系 统b r m s ( b u s i n e s sr u l e sm a n a g e m e n ts y s t e m ) ,这些界面工具环境为规则的开发、 调试、内容验证、修改与管理等提供了方便。 5 良好的解释机制。通过将规则引擎决策与决策的原因记录下来,规则系 统提供了良好的解释机制。 6 易于理解的规则。可以通过建立对象模型以及域定义语言( d o m a i ns p e c i j f i c l a n g u a g e s ,d s l ) ,应用接近自然语言的方式来编写规则,所以非技术人员与领 域专家可以用他们自己的逻辑来理解规则疆懿。 规则引擎也存在一些问题,如不同的规则引擎有各自的构建体系、语言规范 和标准,从两影响了不阕系统之闻的共享和信息交换。为了解决这一问题,j 嬲a 规则引擎a p i ( j s r 9 4 ) 允许客户程序使用统一的方式和不同厂商的规则引擎产 品进行交互,这在一定程度上给规则引擎厂商提供了标准化规范。 规则引擎在学分制教务管理系统中的应用研究 2 。3r e t e 算法 r e t e 模式匹配算法( r e t ep a t t e r n m a t c h i n ga l g o r i t h m ) 由卡耐基梅隆大学的 c h a r l e s 己f o r g y 在1 9 7 4 年发表的论文中提出。r e t e 算法是目前效率最高的一个 正向链推理算法,其核心思想是将分离的匹配项根据内容动态构造匹配树,避免 在工作记忆( w b r 赫n gm e m o f y ) 及规则记忆( r u l em e m o f y o fp f o d 毽e l i o 珏m o 擞o r y ) 中重复匹配。r e t e 算法利用单元的串列( l i s to f e l e m e n t ) 来记录已经匹配过的资 料,以避免工作记忆重复匹配的问题,两利用树状架构排序网路( 誓f e e s 专f 娃e l u f e d s o r t i n gn e t w o r k ) 来避免规则记忆的重复匹配,以达到显著降低计算量的效果。 规则的匹配是一个不断循环的过程,在每次循环之后,推理机需要检查每条 规则以指导对事实的搜索,从而为解决这个问题提供简单直接的技巧。这种方法 最主要的缺点是速度太慢,大多数基于规则的专家系统都显示了这种特征:时间 冗余性( m p o r a lr e d u n d a n c y ) 。在每次循环中,仅添加、删除了很少一部分事 实,所以,事实表中的变化只影响到很少部分的规则。因此,要求规则推动对所 需事实的搜索,需要大量不必要的计算,因为在誊前循环中,大多数规则所找到 的事实很可能与上一次循环所找到的相同。在不断循环中,通过记住哪些是已经 匹配好的,然后只计算那些刚添加或删除事实新弓| 起的变化,从而可以避免不必 要的计算。 r e t e 算法正是利用上述时间冗余性的特征来提高匹配效率的,实现的方法是 通过存储不断循环中匹配过程的状态,并且只重新计算在事实表中发生的变化、 又反映到本次状态中的变化来完成的。仅当添加或删除事实时,匹配过程的状态 才被更新。如果添加、删除事实的数量与事实和模式的总数相比很小,那么匹配 过程会进行的很快。 当一个新的事实与规则的第三个模式相匹配时,前面两个模式的匹配信息必 须存在以完成匹配过程。这种状态信息指出了与某一规则中前面的模式相匹配的 攀实,称为部分医配( p a 砖i a lm a t e h ) 。觏则的部分匹配是满足规则模式的任何一 组事实,它以规则的第一个模式为开始,以任一模式,包括最后一个模式为结束。 还有一种存储的状态信息被称为模式匹配( p a t t e mm a t c h ) ,当一个事实满足了任 一规则中的单个模式,而不需考虑在其它模式中可能会限制匹配过程的变量时, 就会出现模式匹配【l 。 经过实际应用的验证,r e t e 算法是实现规则产品中最有效的算法,也是唯一 一个实现效率接近与规则数量无关的算法,随着规则数量的增加,其性能优势也 越来越显著。r e l e 算法的主要缺点是需要占用大量的内存空闻,但这并不影响其 实际应用价值,在硬件发展迅速的今天,我们可以轻易的通过增加内存容量来满 足爻e 专e 算法的需要。 硕士学位论文 2 。4j a v 鑫规癸唾弓l 擎穴pl j a v a 规则引擎a p i ( j s r 9 4 ) 由j c p ( j a v ac o m m u n i t yp r o c e s s ) 定义,是用 于访问规赠弓| 擎的标准企业级a p l ,得到了b e a 、l j j i m 等厂商的推动和支持。j s r 9 4 规定了客户程序如何使用统一的方式与不同厂商的规则引擎产品进行交互,包括 创建与管理规则集合的机铡,在工作内存中添加、删除和修改对象的机制,以及 初始化、重置和执行规则引擎的机制。j a v a 规则引擎a p i 由i a v a x r u l e s 包定义, 分为两个主要部分;运行时客户a p l ( 也ef l i n t i m ee l i e n ta p l ) 和规则管理a p i ( 1 h e r u l e sa d m i n i s t r a t i o na p i ) 。 1 规则管理a p i 规则管理a p i 由i a v a x r u l e s a d m i n 定义,包括规则的装载、与规则对应的动 作执行集以及实例化规则引擎。规则可以从外部资源中装载,同时规则管理a p i 提供了注册和取消注册执行集,以及对执行集进行维护的概制。使用醚撒i n 包定 义规则有助于对客户访问运行规则进行控制管理,它通过在执行集上定义许可权 使得未经授权的用户无法访阕受控规则。 规则管理a p i 使用类r u l e s e r v i c e p r o v i d e r 来获得规则管理接口的实例。规则 管理器( r u l ea d m i n i s t f a l o f ) 提供了本地程远程的r u l e e x e e u t i o 珏s e t p f o v i d e f , r u l e e x e c u t i o n s e t p r o v i d e r 负责创建规则执行集,规则执行集可以从如x m l s t r e a m s ,l n p u ts t r e a m s 等来源中创建。这些数据来源及其内容经汇集和序列化后 传送到远程的运行规则引擎的服务器上。大多数应用程序中,远程规则引擎或远 程规则数据来源的情况并不常见。为了避免这些情况中的网络开销,a p i 规定了 可以从运行在弱一虚拟桃的规则库中读取数据的本地n l e e x e e u t i 。n s e t p f o v i d e f 。 规则执行集接口除了拥有能够获得有关规则执行集的方法,还有能够检索在 规则执行集中定义的所有规

温馨提示

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

评论

0/150

提交评论