(计算机应用技术专业论文)基于net框架的专家系统研究与设计.pdf_第1页
(计算机应用技术专业论文)基于net框架的专家系统研究与设计.pdf_第2页
(计算机应用技术专业论文)基于net框架的专家系统研究与设计.pdf_第3页
(计算机应用技术专业论文)基于net框架的专家系统研究与设计.pdf_第4页
(计算机应用技术专业论文)基于net框架的专家系统研究与设计.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(计算机应用技术专业论文)基于net框架的专家系统研究与设计.pdf.pdf 免费下载

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

文档简介

摘要 专家系统是一个智能计算机程序,它利用知识和经验,通过推理来解决某领 域中只有人类专家才能解决的难题。专家系统的研究和应用已经成为全世界人工 智能研究的热点和焦点。农业气象灾害测评号家系统是针对安徽省气象灾害十分 频繁,每年均要造成数十亿甚至数百亿的损失的现状下提出的,对农业气象灾害 进行及时、准确的评 占具有重大的现实意义。 微软n e t 平台给专家系统开发提供了一个非常好的基础系统平台,n e t 平 台提供了创建x m lw e bs e r v i c e 的集成开发环境并将w c b 服务集成到专家系统 中,n e t 体系架构对专家系统的架构、性能、丌发、部署、管理、支持等方面 都进行了全面、综合的考虑,结合n e t 食业解决方案模式在构建专家系统r f l 的 应用和扩展,使构建在微软n e t 体系架构下的专家系统更具有良好的扩展性、 可靠性、安全性以及可管理性。 文中首先介绍了设计模式,m v c 、t h r e e b y e r e ds e r v i c e sa 1 ) p l i c a t i o n 模式 和x m l w e bs e r v i c e 架构;接着介绍了专家系统中的知识库希i 推理机制的相关知 识以及在农业气象灾害测评专家系统中的应用:最后运用m v c 、1 h r e e l 盘y e f e d s e r v i c e sa p p l i c a t i o n 模式和x m l w 曲s e r v i c e 架构,结合农业气象灾害测评专家 系统的实例,讨论i :r 在m i c r o s o f t n e t 框架l i 的研究与j 电用。系统很好地实现了 业务处理与用户交互的分离和推理机与知识库的分离,很好地实现了异构数据源 问的互相通信,使得构建的农业气象灾害测评专家系统具有较高的可重用性和较、 好的健壮性,具有较高的实用价值。 关键词:专家系统;n e t 框架;x m lw c b 服务:知识库;推理机制 a b s t r a c t a ne x p e r ts y s t e m ( e s ) i sac 0 1 t 】p u t e rp r o g r a mt h a ti s d e s i g n e dt oe m u l a t et h e l o g i ca n dr e a s o n i n gp r o c e s s e st h a ta ne x p e r tw o u i du s et os o l v eap r o b l e mi nh i s h e r f i e l do fe x p e r t i s e ,u s i n ga r t i f j c i a li n t e l l i g e n c et e c h n o l o g y t h er e s e a r c ha n da p p l i c a t i o n o fe x p e r ts ”t e mh a v eb e c o m et h er e s e a r c h i n gf o c u so ft h ca r t i f i c i a li n i e l l i g c n c eo ft h e w o r i d a g “c u l t u r ew e a t h e rd i s a s t e re v a l u a t i n ge x p e r ts y s t e m ( a w d e e s ) i sb r o u g h t f o r w a r du n d e rt h ec o n d “i o no fw e a 【h e rd i s a s 【e rh a p p e n e dv e r yc ( ) n t i n u a l l ya n d b r o u g h tf a t a id a m a g ee v e r yy e a ri n 虹h u ip r o v i n c c ,s oi li so fv c r yn n p o r t a n tp r a c t i c a l v a l u et oe v a l u a t ea g r i c u l t u r ew e a t h e rd i s a s t e re x a c t l yi nc i m e m i c r o s o f t n e tp l a t f o 册p m v i d e sav e r yg o o db a s i cs y s t e mp l a t f o mf o rc x p e r t s y s t e md e v e l o p 血e n t ;n e 丌p i a t f o 硼p r o v i d e si n t e 静a t e dd e v e i o p m e n te n v i r o n m e n t t h a tc a nb u i i dx m lw e bs e r v i c ea n di n t e g r a t ew e bs e r v i c e “1 l oe x p e ns y s t e m ;n e t s y s t e mf r a m e w o r kc o n s i d e r st h ef r a m e w o r k 、c a p a b i l i t y 、d e v e l o p m e n t 、d e p l o y m e n c 、 m a n a g e m e n ta n ds u p p o r te t c o fe x p e r ts y s t e ms y n t h e t i c a l l y ;w i t h n e te n t e r p r i s e s o l u t i o np a t t e m sa p p l y i n ga n de x p a n d i n gi nb u i i d i n ge x p e r ts y s i e m ,e x p e r ts y s t e m b a s e do nm i c r o s o n n e ts y s t e mf r a m e w o r kh a sb e t t e re x p a n s i b j 儿i y 、r e l j a b j l i t y 、 s e c u r i t ya n dm a n a g e m e n t , m v c p a t t e m ,t h r e e _ l a y e r e ds e r v i c e sa p p l i c a t i o np a t t e r n a n dx m lw e b s e r v i c ea r ef i r s t l yi n t r o d u c e d ;a n dt h e nr e l a t j o n a lk n o w l e d g eo fk n o w l e d g eb a s ea n d r e a s o n i n gm a c h i n ei ne x p e ns y s t e ma n di t sa p p l y i n gj na w d e e sa f ci nc r o d u c e ( 扎 1 a s t l y r e s e a r c ha n d a p p l i c a t i o n o ft h e s e p a t t e r n s a n 【i a r c h “e c t u f eb a s e do n m i c r o s o f f n e rf r a m e w o r kb ya ne x a m p i eo fa w d e e sa r ed i s c u s s e d t h es y s t e m c a ns e p a r a t eb u s i n e s st r a n s a c t i o nf r o mc l i e n ti n t e r a c t i o na n dr e a s o n i n gm a c h i n ef r o m k n o w l e d g eb a s ew e ua n dc a ni m p l e m e n t 七h ec o m m u n i c a t i o n sb e f w e e nh e 【e r o g e n e o u s d a t as o u r c es a t i s f a c t o r i l y t h eb u i i fa w d e e sh a sh 畦r hr e u s a b i l i ty ,g o o dr o b u s t n e s s a n dh i g hp r a c t i c a lv a l u e k e y w o r d s :e x p e r cs y s t e m :n e tf r a m e w or k x m lw e bs e r v i c e = k n o w l e d g eb a s e : r e a s o i n gm a c h i n e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得薹译蝴其他教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 己在论文中作了明确的说明并表示谢意。 学位论文作者签名 细旋 签字日期:多一一j ,年,月f 日 学位论文版权使用授权书 本学位论文作者完全了髂痢受六辱 有关保留、使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和 借阅本人授权磊墩天寥以将学位论文的全部或部分内容编入有关数据库进行 检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:廖雨i 是 导师签名:略如由 签字目期:z 口e 歹年r 月f 日 签字日期: z 口。,年,月f 日 学位论文作者毕业去向: 工作单位:电话: 通讯地址: 邮编: 1 1 专家系统 第一章绪论 1 1 1 专家系统的概念 专家系统一般定义为“是一种在相关领域中具有专家解决问题能力的智能计 算机程序系统,它能运用内部包含的大量领域专家水平级的知识与经验,模拟领 域专家解决问题的思维过程进行推理判断,求解那些需要人类专家4 能处理的复 杂问题”。 1 1 2 专家系统的基本结构 专家系统的结构是指专家系统各组成部分的构造和组织形式。不同的专家系 统,应用领域和求解任务的性质不同,其功能和结构都不尽相同。但抽象来看, 基本的概念结构一般都包括人机交互接口、知识获取机构、推理机、解释机构、 知识库、数据库等六个撼本组成部分,如图】1 所示。 图1 1 专家系统的基本结构 1 知识库 知识库是知识的存储机构,用于存储领域专家经验、领域基础知讧 等。其基 本任务是为推理机提供问题求解以及解释机构问题解释所需的知识。知识库足专 家系统的基础,其中知识质量的优劣、层次的高低、数量的多寡决定了问题求解 结果的科学合理性和求解问题的覆盖范围,知识库的存储方式与知识表示和获取 机构密切相关。 2 推理机构 推理机构又称为推理机、控制机构、求解器等,是专家系统的“思维机构”, 由一组程序组成。其基本任务是模拟领域专家求解的思维过柙,控制知识库、数 据库对问题求解的执行。它能根据数据库中用户提供的当前已知事实,利用知识 库中的知识,按照一定的推理方法和求解策略进行推理,求得问题的答案。它和 知识库构成了专家系统核心框架。随着智能代理技术的出现,推理机构的智能性 和自动性明显增强。 目前,大多专家系统推理机构的设计和构造与知识的表示形式以及组织方式 有关,而与知识的具体内容无关。这样推理机构和知识库可以相互独立,有利于 知识库中知识的修改完善。但是这样做的缺点是,当求解规模较大时,推理效率 将会降低。所以,如何在推理机中合理加入启发性知识或元知识将显得颇为重要。 3 人机交互接口 人机交互接口又称为工作和用户界面,是专家系统j 领域号家、知识工程师、 一般用广- 之削进行联系的部分。其基本任务是进行数据、信息或命令的输入、结 果的输出和信息的显示等。例如领域专家或知识1 程师通过它更新、完善知识库: 用广l 通过它输入问题的初始事实,向系统询讯系统通过它输出求解结果,回答 用户的询问等。人机交互的媒介可j 。以足文字、卢音、图像、图形、动画等。交互 界面是否友好和形象生动往往是衡量一个专家系统性能高低的标志。随着智能代 理技术的出现,人机接口的智能性和对用户需求的感应一降明显增强。 4 知识获取机构 知识获取机构由一组程序组成。其基本任务是从某些知识源中搜索、提炼系 统所需的专门知识,并把知识输入到知识库l ; ,转化为推理帆所适宜的形式,建 立起性能良好的知识库。不同的专家系统,知识获取的方j 差别较大。有的系统 采取人工的方式,由知i 识工程师获取知识,然后再通过相应的知u 编辑软件把知 识送入到知识库中:有的具有部分学习的功能,由系统直接与领域专家对话获取 知识,或者通过系统的运行实践归纳、总结新的知识。 由于面向计算机实现的知识表示语言抽象级别太低,与在较高抽象级别观察 问题求解的人类思维方式严重失配,无法提供有效的手段去系统化和结构化地描 述问题求解的组织和推理控制。这导致了知识获取仟务的熏担落存了知以i l 程师 身上,而领域专家则处于被动提供知 : 的局面。同样,知识工稃师制定的求解问 题体系结构和领域专家实际求解行为之间也存在严重失配刚题。目前,以知识工 程师为中间人进行知识获耿仍是主要的知识获取方式。随着智能代理技术和数据 仓库技术的出现,通过机器学习获得知识成为知识获取领域发展的一个重要趋 势。随着分布式系统的成熟,大大扩展了系统异地获耿知识的渠道。 5 解释机构 解释机构是专家系统有别于一般程序的重要特征之一,其基本任务是跟踪并 记录推理过程,回答用户提出的“为什么? ”等问题,并通过刑。自身行为的解释 帮助知识工程师发现知识库及推理机中的错误,有助于对系统的调试及维护。解 释机构功能的强弱反映了该专家系统的透明十牛和可信任度,它足取信 一用户的一 个重要措施。 6 数据库 数据库又称为“动态数据库”、“黑板”等。其基本任务是用j 二存放用户输入 的问题求解的初始事实,以及求解过程中得到的c 一削结果、推理过程、最终结论 等有关系统运行信息。动态数据库只在系统运行期问产1 尘、变化和撤销,所以称 为“动态”数据库。需要说明的是,这旱的动态数据库虽然也叫数据库,但它并 不是通常所谎的数据库,二者有本质差异。随着数据仓库技术的出现,专家系统 的数据处理能力大大增强。 1 2 n e t 平台 1 2 1 n e t 概念 ne r r 框架是一种新的计算平台,它简化了在高度分伽式i n t e m e t 环境中的应 用程序的丌发。m i c r o s o f t n e t 平台提供创建x m lw e bs e r v i c e 服务,并将这些 服务集成在一起。对个人用户的好处是无缝的、吸引人晌。x m l w e bs e r v j c e 允 许应用程序通过i n t e m e t 进行通讯和共享数据,而不管所采用的是哪种操作系统、 设备或编程语言。 n e t 将使开发人员能够比任何m i c r o s o f l 早期平台更为有效地利用各利咕支 术。具体来讲,n e t 将真正实现代码的重复利用、代码专用化、资源管理、多 语言开发、安全性、部署以及管理方面的好处。在发计这种新型平台的j 刊刚, m i c r o s o f c 还改进了当前w i n d o w s 平台的。些功能。 n e t 的开发工具是s u a ls t u d j o n e t 。v i s u a isc u d i o n e t 是一套完整的丌 发工具,用于生成a s p n e tw e b 应用程序、x m lw 曲s e r v i c e 、桌面应用程序 和移动应用程序。s u a lb a s i c n e t 、s u a ic + + n e t 和v i s u a lc 萍n e t 全都使 用相同的集成开发环境( 1 d e ) ,该环境允许。自:们共享工具,并有助于创建混合 语言解决方案。另外,这些语言利用了n e l f r a m e w o r k 的功能,此框架提供对 简化a s p n e t 、v e b 应用程序和x m lw e bs e r v i c e 丌发的关键技术的防问。 n e t 框架旨在实现下列目标:1 7 l 提供一个一致的面向对象的编程环境,而无论对象代码是在奉地存储和 执行,还是在本地执行但在i n t e r n e t 上分布,或者是在远程执行。 提供一个将软件部署和版本控制冲突最小化的代码执行环境。 提供一个保证代码( 包括由未知的或不完全受信任的第二二力创建的代码) 安全执行的代码执行环境。 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。 使开发人员的经验在面对类型大不相同的应用程序( 如基于w i n d o w s 的 应用程序和基于w e b 的应用程序) 时保持一致。 按照工业标准生成所有通信,以确保基于n e t 框架的代码可与任何其他 代码集成。 4 1 2 2 n e t 框架 1 2 2 1 n e tf r a m e w o r k 概j 盔 n e t 框架( m i c r o s o f t n e t f r a m e w o r k ) 是w i n d o w s 操作系统中的一个很重 要的新元索,是下一代应用软件的基石,它使下代应用软件更容易外发、发布 以及和其他网络系统集成。对用户来说,运行在他们机器上的n e tf r a m e w o r k 使他们的机器更稳定易用,并且能很方便的和其他的系统相联。对开发者来 说,n e tf r a m e w o r k 简化了w i n d o w s 软件的开发,它提供了一个单一的方法来 建立c s 和b s 构架样式,它还允许开发者用同一种工具和技术为各种设备丌发 软件。而且建立在n e tf r a m e w o r k 之上的软件比传统的软什更容易开发和维护, 丌发者i j 以很容易的使软件自动升级到最新版本。 n e tf r a m e w o r k 实际 :封装了操作系统,将在n e t 环境下丌发的软件与操 作系统的具体工作如文件处理和内存分配相脱离。这就使n e t 环境下丌发的软 件u j + 以在备种硬件和操作系统之间迁移。 n e tf r a m e w o r k 构架包含了在操作系统 :进行软件开发的所有层,它使 m i c r o s o f t 或其他平台上的显示技术、组件技术和数据技术实现了高度的集成。 这个架构使开发i n t e m e l 应用程序就像开发桌面程序一样简单。n e tf r a m e w o r k 组成元素层次结构如图1 2 所示:1 8 j 图1 2 n e t f r 眦e w o r k 组成元素层次结构酗 1 2 2 2 公共语言运行时( c l r ) 公共语言运行时( c l r ,c o m m o nl a n g u a g er u n t i m e ) 主要负责运行时的一些 服务,例如,内存管理、进程和线程管理、语言集成、安全等。它使刀:发者从编 写所有确保完善,灵活和确保应用程序安全的繁琐i :作中解放出来,使编写代码 变成了一件容易的事。 在c l r 中运行的代码称为托管代码( m a n a g e dc o d e ) ,托管代码能够很方便 的实现跨语言集成和跨语言异常处理,能够很方便的进行版本控制和部署,以及 保证代码的安全性。为了使c l r 能够向托管代码提供服务,语言编译器必须产 生7 i 数据( m e t a d a t a ) 来描述开发者所编写代码中的数据类型、成员及引用等信 息。元数据和代码放在一起,每个可装载的c l r 可移植执行( p e ) 文r i :( 包括 e x e 和d l l 文件) 都含有元数据。c l r 利用元数据来装载类,分配给对象实例 内存空间,处理方法调用,产生本地代码,保证安全以及没定运行叫上下文边界。 c l r 主要的功能有:内存管理、g | j 时编译( j j t ) 、公乓类型系统( c t s ) 、 版本管理等。下面分别给与简单的介绍。【9 1 内存管理。 c u l 能自动地给对象分配空间,管理对象的引用,并在对象不再被用到时 释放空间。其生存期以这种方式来管理的对象称为托管数据。如果代码是托管的, 则可以在n e t 框架应用程序中使用托管数掘、非托管数折 或者使,日这两者1 。 自动内存管理是c l r 在托管执行过程中提供的服务之。c l r 的垃圾删收 器为应用程序管理内存的分配和释放。剥开发人员而言,这就恿味着在丌发托管 应用程序时不必编写执行内存管理任务的代码。自动内存管理可解决常见问题, 例如,忘记释放对象并导致内存泄漏,或尝试访问已释放剥象的内存。 对于应用程序创建的大多数对象,可以依赖垃圾回收器自动执行! 必要的内存 管理任务。但是,非托管资源需要显式清除。最常用的非托管资源类型是包装操 作系统资源的对象,例如,文件旬柄、窗口句柄或网络连接。虽然垃圾回收器可 以跟踪封装非托管资源的托管对象的生存期,但却无法具体了解如何清理资源。 因此在创建封装非托管资源的对象时,可提供必要的代码以清理公共d i s p o s e 方 法中的非托管资源。通过调用d i s p o s e 方法,当对象不再使用时可冠式地释放其 内存。 2 即时编泽( j i t ) 。 说到即时编译( j i t ,j u s ti nt i m e ) 就不得小提到j a v a 语言。首先j a v a 编译 器将开发者编写的应用程序编译为j a v a 字节代码,然后当应用程序执行时儿t 编译器将j a v a 字节代码转换成内部机器码。j a v a 字节代码提供了平台独立性, 因此就可以保证j a v a 编写的应用程序可以在任何i 王台上运行。昕微软的中问浯 言( m s i l m i c r o s o n i n t e r m e d i a t e b n g u a g e ) 和j i t 编洋器发展了这一思想。 j a v a 的一个缺点是在运行应用程序时,把j a v a 字节代码转换成内部u j 执行 机器码的过程会导致性能的损失,但m s i l 不会。这是因为j a v a 字节代码是解 释性的,而m s i l 是编泽性的。下而我们来看看托管代码的编译和执行过程。 当编译托管代码时,编译器将源代码翻译为m i c r o s o f f 中间语言( m s i l ) , 它足一组可以有效地转换为本机代码且独立于c p u 和操作系统的指令。在可以 执行代码前,必须将m s i l 转换为c p u 特定的代码,这通常是通过j i t 编译器 完成的。由于c u 为它支持的每种训算机结构都提供了一种或多种j i t 编译器, 因此闭以在任何受支持的结构上对同一细m s i l 进= | 二j i t 编洋和执行。当编洋器 产生m s i l 时,它也产生元数据。m s l l 和元数据包含在一个可移植可执行( p e ) 文件中。 在可以执行m i c m s o f t 中间语言( m s l l ) 之前,它必须由n e t 框架实时( n t ) 编译器转换为本机代码。j i t 编泽考虑厂在执行过程中某些代码f r 能水远不会被 调用的事实。它不是花时间和内存将可移植l 执行( p e ) 文件中的所有m s l l 转换为本机代码,而是在执行期间根据需要转换m s i l 并存储结果本机代码供后 面的调用使用。从而减少了实时编译和执行代码所需的时问。 c u t 提供可以在执行期间使用的各种服务的纬构。一个方法在执行前,必 须被编译为处理器特定的代码。为任何方法生成m s i l 之后,当首次调用它时将 对其进行j i t 编泽,然后执行陔方法。下次执行该方法时,将执行睨自的j i t 编 译的本机代码。,这种进行j i t 编译然后执行代码的过程氨再二复到执行完成时为 止。在j i t 编泽- | 1 它还可以让c l r 托管代码是否具有安全的类型尢关性。c 【且 用这个验证过程来保证可移植可执行文件( p e ) 中的代码不会任意操作指针或 进行非法的类型转换。这样c l r 就可以保护自身不受许多常用系统的攻击。 尽管理论上n e t 的丌放结构使其具有跨平台的能力,但微软公司似乎并没 有计划为其他非w i n d o w s 操作系统平台提供使用n e t 的工具。时n e t 的跨平 台功能我们拭目以待。 3 公共类型系统( c t s ) 。 有些组件或应用程序中的对象是由不同的语言编写的,而c l r 就能很好的 支持这种对象之间的交互。例如,你用一种语言定义了个类,你可以用其他的 语言来继承这个类,或调用这个类的方法。你也可以把这个类的实例作为参数传 给用其他浯言编写的类的方法。之所以能使各种浯言集成,是因为c l 艉定义了 一种公共类型系统( c o m m o nt y p es y s t e m ) 。 公共类型系统定义了可以在中问语言中使用的设计合理且内容丰富的预定 义数据类型集,所有用丁n e tf r a m e w o r k 的语言都t 以生成最终基了二这些类型 的编译代码。如果类派生其他类,或包含其他类的实例,它就需要知道其他类所 使用的所有数据类型。例如,v b n e t 类中有个返回整型( i n f e g e r ) 的方法,i nc e g e r 型实际上是一个3 2 位有符号的整数,它实际映剁为中刚语高类型i n f 3 2 。在o 中用关键字i n t 来表示i n t 3 2 ,因此在c 斧中可以商接使用v b n e t 炎中的方法的 返回值,就相当于v b n e t 类的方法返回了一个i n l 型数据。 c u l 通过指定和强制公共类型系统以及提供元数掘为晤言互用性提供j ,必 要的基础。所有面向运行刚的语言都遵循c t s 规则来定义和使_ 类型,类型的 用法在各种语言之间是致的。面向c u t 的语言+ 编译器将类型信息存储为元数 据,c l r 使用该信息在执行过程中提供服务;因为所有类型信息都以相同的方 式存储和检索,而与编写孩代码的语言无关,所以c l r - 以管理多语言应用程 序的执行。 据此,n e t 很好的实现了爵高的互操作性,它实现了语言之州的类的继承、 对象的包含、方法调用、对象作为参数传递及在个环境、f 调试。 4 版本管理。 d l l 版本阀题( d l l h e l l ) 一直是凼扰应用程序发布者的老问题,冈此 在n e t 中微软引入了程序集的概念。程序集是n e t 的安装单元,是uj 以自我描 述的d l l 或e x e 文件,不需要其他注册配置或类库,能很容易的实现x c o p y 安装,即不需注册表项,实现“o 影响安装”。程序集构成了部署、版本控制、 重复使用、激活范围控制和安全权限的基本单元。程序集是为协同工作而生成的 类型和资源的集合,这些类型和资源构成了一个逻辑功能单元。 使用c l r 的程序集的所有版本控制都在程序集级别上进行。一个程序集的 特定版本和依赖程序集的版本在该程序集的清单中记录卜束。每一程序集都有一 个版本号作为其标识的一部分。因此,如果两个程序集具有不刷的版本号,c l r 就会将它们视作完全不同的程序集。版本号与其他标识信息一一起存储在程序集清 单中。在生成程序集时,开发工具将把每一个被引用程序巢的依赖项信息记录往 程序集清单中。c u t 将这些版本号与管理员、应用程序或发行者设置的配置信 息结合使用,以加载被引用程序集的正确版本。 c l r 让开发者或管理员能够很方便的调整应用程序的版本策略,以此来决 定装载哪个程序集。应用程序可以很容易的进行配置,例如,【u 以配置应用程序 的配置文件,应用程序默认装载编译时所依掘的版本,也可以通过配置装载最新 的版本。 1 2 2 3 n e tf r a m e w o r k 基类库 c l r 的上一层是n e tf r a m e w o r k 基类库( n e tf r a m e w o r kb a s ec l a s s e s ) , 它是一个可供应用程序开发者使用和扩展的丰富的类库。可重用和扩展这些类使 得丌发者更加易于在短时问内开发出新成果和更加实时 ! 富 j 特色的应用程序。 因为基类库提供了更多特色,这些以前不得不l i 。发揣臼己编1 j 的代码,现在可 以轻松获得。 n e t f r a m e w o r k 基类库是生成n e tj 、z 用程序、组件和控件的基础。它提供 了数据的访问和操作、安全、连网等功能。丌发者可以按原样使用这砦类,或者 在多数情况下从这些类派生开发者自己的类。n e t 用“命名宁间”来组织基类 库,它使基类库的层次结构清晰,简化了剥象引用,避免了类名的冲突。每个命 名空间下可包贪下一级命名空间或包含类。基类库的最项层是系统命名空问 ( s y s t e m ) ,它是所有类的根命名空间。它包括表示由所有应用程序使用的基础 数据类型的类:o b j e c t ( 继承层次结构的根) 、b y i e 、c h a r 、m r a ”i n l 3 2 、s t r i n g 等,如对字符串s t r i n g 类的引用为s y s t e m sc r i n g 。s y s e e i i 】命名空间还包含许多 二级命名空间,且二级命名空间可能还包含三级命名卒问。例如,s v s t e m d a t a 命名空间主要由构成a d o n e t 结构的类组成,s y s t e m x m l 命名空问为处理 x m l 提供基于标准的支持,s y s t e m e n t e r p r j s e s e r v i c e s 命名窄n _ i j 为企、k 应用程序 提供c o m + 服务,s y s t e m r u n t i m c r e m o t i n g 命名空州提供允许丌发人员创建和 配置分布式应用程序的类和接厂 。 1 2 2 4w e b 应用程序和w i n d o w s 窗体应用程序 利用n e tf r a m e w o r k 可以很方便的开发摹于b s 的w e b 应用程序和c s 的 w i n d o w s 窗体应用程序。这两种应用程序可以在m j c r o s o f cv i s u a ls t u d i o n e t 集 成开发环境下进行开发,而且两种应用程序都完全采用面向剥象的编程模式,将 界面弓逻辑相分离。 a s p n e t 是统一的w c b 开发平台,用来提供生成企业级、v e b 应用程序所 必需的服务。在a s p n e t 中j j + 以用任倒与n e t 兼容的沿j ( 包括v i s u a l b a s j c n e 汀、c 撑和j s c r i p t n e t ) 创建应用程序。浏为a s p n e t 是n e t 框架的 组成部分,所以它能够充分利用公共语言运行时的功能,如类型安全、语言互操 作和版本控制。 a s p n e t 的语法在很大程度上与a c t i v es e r v e rp a g e ( a s p ) 兼容,同时它 还提供一种新的编程模型和结构,用1 i 生成功能强人的新型应用程序。刷 a s p n e t 创建w e b f o r m s 时,只需将服务器控件拖放剑w e b 兵就行了,做到了 界面与逻辑相分离,分:【更为明确。利用a s p n e r 还可创建提供远程访问服务 器功能的w 曲s e r v i c e s ,通过使用w e b 服务,企业可以公刀其数据或业务逻辑的 编程接口,然后客户端和服务器应用程序就吲以获得和操作这趋编程接口。通过 使用诸如h 1 t r p 和x m l 消息传递之类的标准跨越防火墙移动数据,x m lw e b s e r v i c e s 可在客户端一服务器或服务器一服务器方案下实现数据的交换。 n e tf r 枷e w o r k 提供了创建w i n d o w s 窗体应用程序的类,这些类大部分放 在s y s t e m w i n d o w s f o 啪s 命名空间中。用n e t 的任何语言创建w i n d o w s 窗体 应用程序时,所用都是w i n f o r m s 编程模型和一样的资源编辑器。 1 2 2 5 公共语言规范( c l s ) 公共语言。规范( c o m m o ni a n g u a g es p e c i f i c a 【i o n ) 和公共类型系统( c t s ) 起确保语言的互操作性。公菇语言运行时提供内置的语毒互用性支持。但是, 这种支持不能保证编写的代码能被使用另一种编程语言的开发人员使用。为r 确 保使用任何编程语言的开发人员都可以完全使用其他语言开发的托管代码,已经 定义了一组语言功能和使用这些功能的规则公共语言规范( c l s ) 。遵循这 个规则和仅公开c l s 功能的组件被认为是符合c l s 的。 c l s 定义了公共类型系统( c r s ) 的子集,例如,c t s 定义了两个3 2 位整 型数据i n f 3 2 和u i n t 3 2 。c 挣把这两种类型t 别为i n 【和u i l l f 。另一方面,v b n e t 只识别i n t 3 2 ,它使用关键竽i n t e g e r 来表示。因此,如果代码足与c l s 兼容的, 就不能返回u i n l 3 2 的方法,网为这种类型不是c 1 5 的。部分。当然也可以使用 返回u i n t 3 2 的方法,但这样1 ;能保讧e 代码可以在所有的语言中都能运行。如果 组件在对其他代码( 包括派生类) 公丌的接h 中只使朋了( :l s 功能,那么可以 保证在任何支持c l s 的编程晤毒+ 中都可以访问陔组件。+ oc l s 兼容的组件内部 的私有:疗法中1 1 j 以编写非c l s 代码,睡i 为其他缁件的代码不能访问这部分代码。 因此只要丌发人员用面向c l r 的语吉丌发口寸,只费编写的代码符合c l s 规 范,例如,公共方法不返回u i n t 3 2 型的变量,不使刷人小写来区分公有属性等。 这就能很好的实现语言的交互性,提高代码的重复使用率,从而提高开发过程的 效率。 1 2 2 6 n e t 语言 因为开发人员使用多种工具和技术,而每一种 :具和技术都支持1 i 同的功能 和类型,这就形成了确保语言互用性较为困难的历史根源。但n e tf r a m e w o 止 通过微软中问语言( m s i l ) 、公共类型系统( c t s ) 和公共语言规范( c l s ) 等 技术提供了跨语言机制,使丌发者采用何种语言成了个人蔫:好的问题。开发者可 以使用其他任何支持n e t 语言开发的绀件,当然这砦绑件必须符合c l s 。 对各语言的厂商来说,丌发支持n e t 的语言版本水获得n e tf r a m e w o r k 的 强大功能及方便的使用其他语言编写的组件,这对推一他们的语言,占有市场有 很大的益处。而其中的关键就是开发出支持n e t 的编译器。目前微软推出的 v b n e t 、c 群、v c + + n e t 和j s c r i p t n e t 是n e t 平台上最通用的语卣,其他 厂商也推出了2 0 多种常用语言的n e t 版本,如c o b o i 。、目f f ej 、c o m d o n e n t p a s c a l 、f o r t r a n 、p e f i 、p y t h o n 、s m a l l s c r i p c 、s t a n d a r dm l 等。b o r l a n d 公司也:| i 二 2 0 0 2 年8 月6 日推出d c l p h i7 s t u d i o 来全面支持微软公司n e t 平台应用的开发。 1 2 3 n e t 优缺点 1 9 9 5 年微软对当时正在兴起的i n t e m e c 不以为然,认为今后很长一段时删还 是桌面应用的市场,结果后来i n 【e m e t 的神速股的发展差一点儿断送微软。如今 微软未雨绸缪,投入巨大钓人力与物力了 一发n e t 。到底n e t 的优点在哪呢? u : 我们从开发者和用户两个角度来看看这个关系到微软未柬的n e t 。 对丌发者来说,他们关注的是n e l li 妁玎发平台和1 具。n e t 的跨爵高交互, 使开发者不用再为了不同的应用而费力地去学新语言,门语高就足够了,而且 还提高了组件复用的程度;自动内存管理,使丌发者不用阿为编写那当内存管理、 安全控制等极容易出错的代码而担心,这增强了应用程序的稳定廿。与安全性;版 本管理,简化了应用程序的部署,消除了d l l 版本问题,使应用程序具有更好 的可扩展性:丰富的类库,提高了丌发的效率,缩短r 丌发周期;j i t 编译,提 高了程序的执行速度,获得了更好的性能,同时也为跨平台奠定了理论基础:剥 w c bs e r v i c e s 的支持及远程对象调用等技术,使i n t e r l l e t 编程将是一件很容易的 事。 对用户来说,关注的是服务,而微软在n e t 战略中就提出了“软件就是服 务”的思想并且依靠w e bs e r v i c e s 来实现这一思想。软件不再是以。套具有若于 功能的包的形来出售r ,而是以“服务”来出售。而j ;_ = l 这种服务不仅局限于电 脑,还包括对其他灵敏客户端设备的服务。可以殴想末来的数字化生活,1 卜i :山 一个“闹钟服务”提供商通过我们的掌上电脑,把我们叫起,然后微波炉在1 0 分钟后自动启动,按照你预订的“营养饮食建议服务”提供商给出的最佳营养饮 食菜单,给你做出一顿丰盛营养的早餐。 人无完人,盒无足赤,n e t 也有缺点。n e t 与现有的代码不兼容,要在n e t 中应用语言,通常要调整语言的语法;从m s i l 反汇编出来的代码与源代码比较 接近,而且包含理解数据结构所需的信息,这样就很难保护开发商的成果;微软 为了自己的利益,使n e t 应用程序还不能在其他操作系统上运行,如果n e t 战 略大获成功,将会形成不利于市场竞争的垄断;n e t 的应用环境也i i 成熟,比 如移动设备的广泛应用、移动设备功能要求更加强大、w e bs e r v i c e s 的普及和广 泛应用、高速的有线和无线网络等等,而这些条件的实现仅靠微软一家是显然不 行的。 1 3 本文的工作和组织 本文第1 喑口分介绍了设计模式,m v c 、t h r c ei a y e r e ( s e r v j c e sa p p l i c a 【i o n 模式和x m l 、v e bs e r v i c e 架构。第二部分首先介绍了专家系统中的知识库的相关 知识以及在农业气象灾害测评专家系统中的应用,农业气缘灾害测评号家系统采 用产生式知识表示法和“规则架+ 规9 驯体”规则组知以表示策略:然后介绍了专 家系统中的推理机制的捌关知识以及在农业气象灾害测评专家系统中的应用,农 业气象灾害测评专家系统采用基于可信度的不确定推理方法。第三部分运用 m v c 、t h r e e l n y e r e ds e r v i c e sa p p l i c a l i o n 模式和x m lw e bs e r v i c e 架构,结合 农业气象灾害测评专家系统的实例,讨论了在m i cr ( ) s o f 【n e t 框架卜的研究与应 用。 本文的具体组织方式如下: 第一章首先介绍了专家系统的概念和基本结构:接着介绍了n e t 概念、n e t 框架和n e t 优缺点;最后介绍了本文的工作和组织。 第二章首先介绍了设计模式定义和分类、模式语言的产牛;然后介绍了m v c 模式。 第三章首先介绍了m j c r o s o f t n e t f r a m e w o r k 的。层应用解决方案中的表示 层、业务层和数据层的概念;然后分析了基础服务和i 层应用解决方案的特点。 第四章首先介绍了x m l w e bs e r v i c e 的概念、体系架构、工作流程和技术支 持;然后探讨了w e b 服务与传统分布式对象技术的比较。 第五章首先介绍了知识与知识表示和知识表示的方法;接着讨论了产生j 弋表 示法和“规则架+ 规则体”规则组知识表示策略以及在农、比气象灾害测评专家系 统知识表示中的应用:最后介绍了知识运用和知识获取。 第六章首先介绍了正向推理、反向推理和双向混合推理;接着讨论了可信度 不确定推理方法、带有闽限的不确定推理和加权的不确定推理以及在农业气象灾 害测评专家系统推理中的应用:最后介绍了冲突消解策略。 第七章首先探讨了专家系统体系结构分析和设计:接着时论了专家系统实 现;最后给出了农业气象灾害测评专家系统成用实例。 第八章是本文的结束语,总结了全文

温馨提示

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

评论

0/150

提交评论