已阅读5页,还剩83页未读, 继续免费阅读
(机械制造及其自动化专业论文)基于com技术的定量金相分析专家系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 擅要 强3 黝5 7 随着定量金相分析技术的发展和体视学原理的完善,计算机辅助定量金相分 析技术在科研工作和生产实践中发挥着越来越重要的作用。本文结合具体的科研 课题,探讨了定量金相分析技术,在此基础上,利用c o m ( 组件对象模型) 技术 开发丁一个定量金相分析专家系统。 才i 文的绪论部分阐述了定量金相分析的重要意义和国内外相关领域的发展状 况:分析了定量金相分析专家系统的重要作用,以及组件化程序设计方法在专家 系统软件实现中的作用。 第二章对和本专家系统相关的c o m 技术进行了较为深入的探讨,并分析了 w i n d o w s 操作系统对c o m 技术的具体支持。 第三章分析了专家系统的原理和特点,并根据这些特点和组件化的程序设计 方法,设计了定量金相分析专家系统的体系结构。 第四章根据定量金相分析的需要,选择了本专家系统的图像处理方法,并用 图像处理组件进行了实现。 第五章采用现有的组件开发工具具体实现了专家系统的各个功能组件,并利 用m t s 将这些分散的组件组装成一个完整的专家系统。 f 第六章总结了本专家系统的优点和不足,提出了系统未来的发展方向。卜4 7 l 关键字:定量金相分析、专家系统、c o m 氆卧粕碡象删技术、接口、金 属图像特征、金属性能 摘要 a b s t r a c t w i t ht h ed e v e l o p m e n to fq u a n t i t a t i v em e t a l l o g r a p h ya n a l y s i s ( q m a ) t e c h n o l o g y a n dt h em a t u r a t i o no ft h es t e r e o l o g yt h e o r y , c o m p u t e r - a i d e dq u a n t i t a t i v em e t a l l o g r a p h y a n a l y s i st e c h n o l o g yi sp l a y i n gam o r ea n dm o r ei m p o r t a n tr o l e i ns c i e n c es t u d ya n d p r o d u c t i o np r a c t i c ea c c o r d i n gt ot h ep r a c t i c a ls t u d y , t h i sd i s s e r t a t i o nt a l k sa b o u tt h e d e s i g na n da c c o m p l i s h m e n to fac o m p u t e r - a i d e dq u a n t i t a t i v em e t a l l o g r a p h ya n a l y s i s e x p e c ts y s t e mb a s e do nc o mt e c h n o l o g y i nt h e 1 “c h a p t e r ,t h ed i s s e r t a t i o ni n t r o d u c e st h ei m p o r t a n c eo f t h ec o m p u t e r a i d e d q a ma n dt h er e l e v a n td e v e l o p m e r i ta n dr e s e a r c hi na n do u t ,t h es i g n i f i c a n c eo ft h e c o m p u t e r a i d e dq u a n t i t a t i v em e t a l l o g r a p h ya n a l y s i se x p e r ts y s t e m ,t h ei m p o r t a n c eo f c o m t e c h n o l o g yi nt h ea c c o m p l i s h m e n to f t h ee x p e r ts y s t e m i nt h e 2 “c h a p t e r , t h ed i s s e r t a t i o nt a l k sa b o u tt h ec o mt h e o r ya n dt h ec h a r a c t e ro f t h ec o mt e c h n o l o g ya n d a n a l y s e s t h e s u p p o r t o fm i c r o s o f tw i n d o w st oc o m t e c h n o l o g y i nt h e 3 “c h a p t e r ,t h e d i s s e r t a t i o ni n t r o d u c e st h e e x p e r ts y s t e mt h e o r y a n d a n a l y s e s t h ec h a r a c t e ro ft h e e x p e r ts y s t e ma n dt h ed e s i g n o ft h e c o m p u t e r a i d e d q u a n t i t a t i v em e t a l l o g r a p h ya n a l y s i se x p e r ts y s t e m i nt h e4 ”c h a p t e r t h ed i s s e r t a t i o nt a l k sa b o u tt h ed e s i g na n da c c o m p l i s h m e n to f t h ei m a g e p r o c e s s i o no b j e c t i nt h e 5 “c h a p t e r ,t h ed i s s e r t a t i o ni n t r o d u c e st h ea c c o m p l i s h m e n to ft h eo t h e r o b j e c t sw h om a k eu po f t h ee x p e 九s y s t e m i nt h i s c h a p t e ry o ua l s oc a ns e eh o w t ou s e t h em t st oi n t e g r a t es om a n y o b j e c t s i nt h el a s tc h a p t e r ,t h ed i s s e r t a t i o na n a l y s e st h ea d v a n t a g ea n dt h es h o r t a g eo f t h e e x p e r ts y s t e ma n dd e s c r i b e si t sf u t u r ec h a r a c t e r k e yw o r d s :q u a n t i t a t i v em e t a l l o g r a p h ya n a l y s i s ,e x p e r ts y s t e m ,c o m t e c h n o l o g y i n t e r f a c e ,m e t a l l o g r a p h yc h a r a c t e r ,m e t a lp r o p e r t y 浙江大学硕士论文 第一章绪论 1 1 定量金相分析的重要意义及其相关技术的发展状况 1 1 1 定量金相分析的意义和重要性 定量金相分析是利用体视学原理,通过测量二维金相试样磨面或薄膜上的显 微组织,计算和确定合金组织的三维空间形貌,从而建立合金成分、组织和性能 间的定量关系。它对材料的研究、生产和使用都具有极大的理论意义和实践意义。 它不仅是控制机械零件内在质量的重要手段,而且能揭示金属材料显微组织形 貌与加工制备方法之问的关系。旺1 随着定量会相分析技术的不断提高,定量金相被 广泛应用于金属与合金的基本参数如,比重、重量百分数、晶粒度、相变激活能 的测量,合金相的鉴定,合金组织与性能的定量关系研究,合金相变热力学,合 金相变动力学的研究等等。h 1 较长时期以来,人们对金属材料显微组织的分析和评定大多是定性的或半定量 的,例如:对金相组织的晶粒大小和钢中所含的非金属夹杂物进行评级等。随着 体视学理论研究的深入,( c a c a j i t a k o b 、e e u n d e r w o o d 和r t d e h o f f 等人在本 世纪五、六十年代做了大量工作) ,特别是在六十年代末应用现代图像分析技术和 电子计算机以来,定量金相学的理论研究和实际应用都得到很大的发展,它已成 为金相学的一个重要的分支。旺1 人们对金属显微组织特征进行定性分析,虽也可说明金属材料的某些性能特 征,但要比较精确地描述组织和性能之间的关系,就不能仅仅满足于鉴别金相组 织和对组织特征的大致估计,而需要测量及计算出能准确表征金相组织特点的某 些参数,以确立它们之间更为本质的定量的关系。如晶粒度对材料的各种性能都 有着强烈的影响,对强度、塑性、淬透性的影响尤为显著。随着晶粒度的细化, 材料的强度上升,塑性下降,淬透性降低。但这只是一种概述的描述。而定量金 相分析专家在通过大量的金相试验后,总结出了金属性能和金属晶粒度的具体的 计算公式,例如早在五十年代初期,e o h a l l 丰f l n j p e t c h 就由大量试验数据归纳出 合金室温屈服强度盯。与晶粒直径倒数的平方根之间的关系, 。s = c r o + k d 一片 式中:仃。为与晶粒度大小无关的强度分量: 茹;靛地? ; 基于c o m 技术的定量金相分析专家系统 t 为比例常数。 传统的定量金相分析是用人工目测进行的,它主要包括几何测量和统计计算两 方面,即用一定长度的线条或一定面积的网格,放在需测量的金相图像上,然后 对截距或格点进行计数,作统计分析,从而获得定量的结果。这种人工分析法, 重现性差、速度慢、效率低、劳动强度大,容易导致工作者的视力疲劳,引起测 量和计算误差。另外,金相组织在微观上一般都不大均匀,因而任何一个参数都 不能仅仅靠一个视场上的几个测量数据来确定,而需要用统计方法在足够多的视 场上进行多次测量才能保证结果的可靠性。因此,用人工的方法进行金相定量分 析测量是一件很辛苦的工作,有些甚至因工作量过大而无法进行。近年来,人们 普遍采用定量金相分析仪解决这个问题。定量金相分析仪应用多种图像处理技术 和数学方法,可以对金属图像进行数字化、利用图像增强技术改善数字化后的图 像效果以及对图像的特征参数进行测量等。下面将简要介绍一下图像分析仪的发 展概况。 1 1 2 定量金相分析技术的发展状况 一、国际上发展状况 由于使用手工方法得到定量信息非常困难,近年来,人们不断探索进行图像测 量分析工作的捷径。定量图像分析仪是近年来被广泛使用的定量金相分析工具, 它的出现为定量金相工作的研究与应用开拓了广阔的前景,赋予定量金相工作以 新的生命力。在某种程度上来说,定量图像分析仪就是定量金相分析专家系统的 雏形。 最早的图像分析仪是英国剑桥仪器公司生产的q u a n t i m e ta ,它采用光导摄像 管扫描装置将图像转换成电信号,这种仪器很快又被q u a n t i m e tb 所代替,1 9 6 9 年末又被q u a n t i m e t7 2 0 代替,现在新型的产品q t m 8 0 0 、q t m 9 0 0 、q t m 9 2 0 在软件 和硬件方面已做了较大的改进,被广泛地应用于材料科学、地质学和军事科学等 部门。另外,德国、美国和日本地许多公司也生成出了许多型号的图像分析仪, 这些系统都采用了微型电子线路或集成电路,因此在信号处理机的容量和可靠性 等方面都超过了原来的系统。“” 在国际上有影响力的图像处理系统是美国生产的1 0 1 图像处理系统。它的核心 以m o d e l - - 7 0 系列为代表,如m o d e l - - 7 0 ,d o d e l 一7 5 ,d o d e l - 6 4 等型号组成大型 2 浙江大学硕士论文 图像处理系统。该系统的功能强大,带有常规的图像处理软件包,能完成常见的 图像处理功能。该系统可以应用于细胞组织的图像分析、金相分析、超声图像分 析、遥感图像的处理和分析等领域。“”“” 伴随着计算机技术的发展,新型微机图像分析系统已经不再是以图像帧存为中 心的结构。而是直接由c p u 在内存中操作处理,这就是近年发展的主体信号处理 n s p ( n a t i v es i g n a lp r o c e s s i n g ) 概念。i n t e l 公司在1 9 9 5 年发表了关于n s p 的白 皮书,接着又公布了n s p 参照平台,n s p 的软件开发工具( s d k s ) 和驱动设备 开发工具包( d d k s ) ,吸引了越来越多的软硬件开发商的支持,新型微机图像分 析系统就是n s p 思想的一个成功范例。几乎所有的图像板卡公司都推出了基于p c i 和n s p 概念的图像卡,如加拿大m a t r o x 公司的m e t e o r 、美国d a t at r a n s l a t i o n 公 司的m a t c h 、国内科技嘉公司的c a m p c - - 1 0 0 等等。新型系统的优点包括:2 川7 1 1 1 8 】 1 、采集精度高,静止图像可达7 6 8 5 7 6 象素,每象素r 、g 、b 各8 位,像 点抖动指标好。 2 、直接在内存中处理图像,开销小,速度快。 3 、能实时采集全精度的活动图像序列。 4 、软件设计容易达到与硬件无关。 5 、采集卡上省去帧存、d a 和显示逻辑等电路,成本低。 基于n s p 概念的新型微机图像分析系统因为性能优异且价格低廉,已经产生 了巨大的冲击波,很快将在桌面图像分析系统中占据主流。 二、国内发展状况 我国在定量金相分析方面的研究起步较晚,早期主要靠引进国外先进的设备 来满足生产和研究的需要。我国最早引进的自动金相分析仪是英国的q t m 一7 2 0 , 主要用于定量金相的测量和计算。近年来,由于科技实力的不断增强,在引进 国外先进技术的同时,进行消化、吸收和创新,我国的金相分析技术发展较快, 北京航空航天大学在1 9 9 1 年开发过一个以t v g a 显示卡为核心的颗粒图像分析系 统。该系统软件采用结构化程序设计,共有六大功能模块。其中,图像存取模块 包括图像采集、图像存盘、图像显示;灰度图像处理模块包括矩形子区、任意子 区放大缩小等:图像目标分割包括自动分割、交互分割等功能;分割后的二值图 基于c o m 技术的定量金相分析专家系统 像编辑处理包括中值滤波、图像膨胀等:目标数据统计模块包括尺寸标定、区域 统计等:图表参数输出模块包括显示图像、打印参数等。该系统的研制成功标志 着我国也能自行设计和制造自动金相分析仪。 南京佳南光电有限公司在引进美国o m n i c o n3 6 0 0 金相分析仪的基础上,采用 m s c 平台开发了x q f 系列的金相分析系统。其软件部分能进行图像采集、存储、 图像处理、多视场测量、显示打印输出以及十多中参数的测量,并且主要根据国 内企业和研究机构的要求,开发了专用的金相软件。专用软件可以进行晶界的提 取,晶界重建,单相晶粒度测量( 面积法、截点法) ,非金属夹杂物的测量( 包 括硫化物、氧化铝、硫酸盐、球状氧化物的区分测量) ,珠光体、铁索体含量测 量,球墨铸铁石墨球化率的测量、奥氏体钢中口相测量,铝合金中初晶与共晶硅 分析等功能。”1 流水线处理图像计算机的出现,蜕明我国在金相分析的研究上取得了很大的 成就。和美国s t c i i s 公司生产的1 0 1 金相分析系统相似的清华大学生产的t j 一 8 2 图像处理机,流水节拍为l o o n s ,对于每个像元,在处理很复杂的情况下,也能 达到运算速度每秒3 0 0 0 万次。带有全套的常规图像处理软件,从c c t 磁带的格 式判定、数据进机、以及各种输入设备数据机、输出管理、图像显示与检验、比 例图像、主分量图像、统计、逻辑运算、正交变换和滤波、几何变换和校正、图 像增强和复原、图像分割等各类软件包,包括几百种图像处理程序。旺1 1 2 定量金相分析专家系统的提出及其意义 应用图像分析仪虽然可以较好地完成金属图像的定量分析,但金相分析仪价 格昂贵,使用也不够灵活。”1 在当前微机性能价格比空前提高的情况下,基于图 像处理技术的计算机辅助定量金相分析已是大势所趋。利用广泛使用的i e m p c 或 兼容计算机,配以图像输入输出设备,及定量金相分析软件,就能构成廉价的定 量金相分析系统,它具有使用灵活方便、分析精度高、速度快、维护简单等优点。 定量金相分析专家系统是一个利用计算机软、硬件技术的智能计算机程序。它 运用人工智能领域中的专家系统原理,建立一种基于知识和专家经验的定量金相 分析系统,能够在专家的水平上进行定量金相分析,并在整个分析过程中充分利 用金相分析领域中的专家知识和经验。 我国有许多优秀而又有经验的定量金相分析专家,他们的经验和知识是我国定 4 浙江大学硕士论文 量金相分析的宝贵财富,利用专家系统这一方式总结定量金相分析专家的经验是 很有意义的。同时,在科学研究和工程实践中利用专家系统进行金相分析也有助 于科研工作和社会生产的进行。 1 3c o m 技术在定量金相分析专家系统软件实现中的作用 近年来,人们利用现有计算机软件技术实现了功能不同的专家系统,这些专家 系统在科研工作和生产、生活实践中发挥着越来越大的作用,但是现有的系统大 多都是单机软件系统。这就决定了用户必须购买该软件并拥有相应的硬件配置才 能用来解决实际问题,对于零散用户无法承受昂贵的软件、硬件费用,这就严重 限制了专家系统的实际应用。随着计算机技术特别是网络技术的发展,基于局域 网和广域网的远程专家系统实现的条件已经趋于成熟。如果此种基于网络的专家 系统能够实现,那么就能为广大用户提供廉价、快捷的服务。而c o m 技术正是实 现这一目标的理想方法,因此本专家系统的将采用c o m 技术来完成具体的软件实 现。 1 3 1 程序设计方法的变革 从软件业的发展历程来看,程序设计方法经历了多次变革,从最初的功能分 解法,到结构化程序设计方法,再到至今仍在广泛使用的面向对象程序设计方法, 然后到刚刚兴起的组件化程序设计方法。1 人们对程序设计方法的选择取决于程序设计方法对应用软件的适应性。 早期的应用软件以计算为主,所以功能分解法可以满足应用的需要;随着应用软 件复杂程度的不断提高,结构化程序设计方法在很长时间内一直是软件设计人员 的重要工具,但结构化程序设计方法着眼于局部的程序结构,难以用发展的眼光 指导应用程序的设计,而面向对象的程序设计方法能够从问题本身来把握应用系 统的整体设计,并且有效地把应用发展过程中易变部分与稳定部分隔开。面向对 象程序设计是一个概念上的飞跃,它使得程序设计更加符合应用的本质结构,并 且对软件产品的整个生存周期都起到指导作用。2 1 从软件生存周期的全过程来看,可重用性也要求软件设计方法的变革。可重 用性是软件设计的一个很重要的特性,它是软件产业发展的基础之一。提供什么 样的重用机制或者在哪个层次上提供重用,对于软件发展有不同的意义。很长一 段时间内,软件重用仅限于程序代码的重用,各种程序库的应用就是代码重用的 基于c o m 技术的定量金相分析专家系统 成功实践。但是这仅仅是一种较低层次的重用,由于对代码理解的困难、标准的 不一致以及传统程序设计语言本身对重用的支持力度不足等方面原因,软件重用 率并不高。随着软件工程技术的发展,人们认识到软件生存周期并不局限于代码 编写和测试,而是一个从系统需求分析、设计到实现、测试、运行、维护的全过 程。理论和实践都表明,在软件生存周期中,需求、设计阶段是软件开发活动的 关键。因此,软件重用的概念也随之扩展到对软件开发过程中各阶段产品和文档 的重用,其中最重要的是对需求和设计的重用。川3 1 1 3 2 从面向对象的程序设计方法到组件化程序设计方法 在现实世界和作为其映射的软件系统中,“过程”和“操作”是多变和不稳定 的,而“对象”和“数据结构”是相对稳定的。如果以过程为中心来设计、开发 软件系统,则软件的可重用性较差:而以“对象”或“数据结构”为中心来设计 开发软件系统的可重用性就可能较好。1 正因为如此,自8 0 年代以来,提出了面 向对象的软件设计方法。 面向对象方法使得在客观世界以及作为其映射的软件系统中,实体的结构相 对稳定。面向对象方法把属性和服务封装在对象中,当外部功能发生变化时,这 种封装可以保持对象结构的相对稳定,使得改动仅局限在一个对象的内部,减小 了因改动引起的系统波动应。因此,用面向对象方法开发的软件具有易于扩充、 修改和维护的特性。差不多每一种面向对象程序设计方法都使用统一的模型来表 达每个阶段的结果,包括分析、设计、编码实现等阶段,因此,从整个软件生存 周期来看,后一阶段可以直接重用前一阶段的工作成果,弥补了传统开发方式从 数据流程图到模块结构图的转换过程,又消除了转换过程带来的误差。 面向对象方法具有的继承性和封装性也支持软件重用,并易于扩充,能较好 地适应复杂大系统不断发展和变化的要求。但是,面向对象程序设计方法也不是 十全十美,从十多年的发展来看,它也表现一些缺点。首先面向对象程序设计方 法在处理大型软件系统时,它的模块大小难以控制。其次,现实世界中的许多问 题领域涉及到多个对象的全局性处理,需要由若干并行或串行执行的步骤组成。 这种全局处理的概念不从属于任何单个对象,而面向对象的设计方法缺乏有效的 表示方法。另外一点,虽然面向对象程序设计方法强调重用性,但实际效果并不 理想。但随着软件科学的不断发展,新的应用系统越来越复杂,尤其是这几年 6 浙江大学硕士论文 i n t r a n e t i n t e m e t 的飞速发展,对应用软件提出了更高的要求,这就使得软件设计 更加困难。在这样的情况下,面向对象的思想已经难以适应这种分布式软件模型, 于是组件化程序设计思想得到了迅速的发展。 按照组件化程序设计的思想,复杂的应用程序被设计成一些小的、功能单一的 组件模块,这些组件模块可以运行在同一台机器上,也可以运行在不同的机器上, 甚至可以运行在跨越不同网络的两台机器上。在理想的情况下,每台机器的运行 环境可以不同,甚至可以是不同的操作系统。为了实现这样的应用软件,组件程 序和组件程序之间需要一些极为细致的规范,只有组件程序遵守了这些共同的规 范,软件系统才能正常运行。为此,o m g ( o b j e c tm a n a g e m e n tg r o u p ,对象管理 组织) 和m i c r o s o f t 分别提出了c o r b a r ( c o m m o no b j e c tr e q u e s tb r e a k e r a r c h i t e c t u r e ,公共对象请求中介体系结构) 和c o m ( c o m p o n e n to b j e c tm o d e l 组 件对象模型) 标准,目前c o r b a 模型主要应用于u n i x 操作系统平台上,而c o m 则主要应用于m i c r o s o f w i n d o w s 操作系统平台上。5 1 6 1 1 3 3 基于组件对象模型的开发方法 c o m 组件就是遵循c o m 规范编写,以w i n 3 2 动态链接库( d l l s ) 或可执 行文件( e x e s ) 的形式发布的可执行二进制代码。遵循c o m 规范编写的组件将 能够满足对组件架构的所有需求。遵循c o m 规范标准,组件与应用程序、组件与 组件之问可以互操作,极其方便地建立可伸缩的应用系统。w i n d o w sd n a 将组件 应用于i n t e m e t ,进行各种事务处理,使组件显示了强大的功能。 基于组件的开发方法与传统的开发方法相比有以下优点:川4 “2 l 、组件与开发的工具语言无关的。 组件可用任何一种编程语言( c ,c + + ,b a s i c ,j a v a ,v c + + ) 编写, 也可被任何一种编程语言所使用和重用。这样程序员就不会被束缚于单一的语言 或软件开发工具,能够使用他们所熟悉的,最适合特定任务的语言和工具。 2 、组件运行效率高、便于使用和管理。 因为组件是二进制代码,运行效率较高。而且组件在网络上的位置可被透明 地分配,组件和使用它的程序能在同一进程中、不同进程中或不同机器上运行。 3 、组件的可重用性高。 一个组件具有若干个接口,每个接口代表组件的某个属性或方法。其它组件 7 基于c o m 技术的定量金相分析专家系统 或应用程序可以设置或调用这些属性和方法来进行特定的逻辑处理。组件和应用 程序的连接是通过其接口实现的,负责集成的开发人员无须了解组件功能是如何 实现的,而只须简单的创建组件对象,与其接口建立连接。在一个应用程序中, 起决定作用的是组件的接口而不是组件本身、只要组件的接口保持不变,组件可 以任意升级或更换,而应用程序不必做任何修改。 4 、易扩展。 组件可以部署在网络的任意位置上,通常可以根据网络通信带宽和应用需求进 行部署。组件开发人员和使用组件的应用开发人员均不需要担心组件代码位于何 处,这就为应用部署提供了巨大的灵活性。 1 3 4c o m 技术在定量金相分析专家系统中应用的意义 定量金相分析专家系统是一个非常庞大的人工智能系统,它不仅要利用各种图 像处理技术对金相图像进行合理的处理,而且还要具有很好的数据库访问能力和 推理分析能力。作为一个开放的系统,它不仅要满足不同类型、不同区域的用户 的应用需求,而且,随着图像处理技术和金相分析技术的发展,专家系统的功能 要不断的更新和完善,因此对软件的可维护性和可移植性提出更高的要求。采用 c o m 技术不仅可以实现专家系统和用户之间的分布式操作,而且使专家系统的实 现和维护更加方便。 另外从专家系统的实现过程考虑,采用组件技术可以提高开发专家系统的并行 性,知识工程师可以根据自己的需要和特长选择不同的开发工具和编程语言,只 要将需要开发的接口设计好,并实现好接口所要求的一切,各个组件之间可以相 互通信,实现预期的各种功能。 1 4 本文主要研究内容 l 、首先阐述了定量金相分析的重要意义和国内外相关领域的发展状况,并提 出了定量金相分析专家系统。在专家系统的具体实现上,将组件化程序设计方法 运用到专家系统的软件实现上,不仅实现了专家系统各功能软件模块的并行开发, 大大提高了专家系统的开发进程,同时基于组件的分布式系统,可以大大提高专 家系统的执行效率。 2 、对和本专家系统相关的c o m 技术的进行了较为深入的探讨,并分析了 w i n d o w s 操作系统对c o m 技术的具体支持和实现。 浙江大学硕士论文 3 、分析了专家系统的原理和特点,并根据这些原理和特点确定了定量金相分 析专家系统的功能。在满足专家系统功能需求的基础上,结合组件化的程序设计 方法,设计了定量金相分析专家系统的体系结构。 4 、根据定量金相分析的需要,选择了本专家系统的图像处理方法,并用图像 处理组件进行了实现。 5 、用现有的组件开发工具具体实现专家系统的各个功能组件,并利用m t s 将这些分散的组件组装成一个完整的专家系统 6 、总结了专家系统的优点和不足,并提出了专家系统未来的发展方向。 9 基于c o m 技术的定量金相分析专家系统 第二章c o m 技术简介 由于整个专家系统的体系设计和实现都以c o m 技术为基础,因此本章将用一 章的篇幅对c o m 技术作一个较为系统的介绍。但由于c o m 技术的内容丰富、细 节繁多,因此本章仅介绍本专家系统实现过程中要用到的技术特点。 2 1c o m 技术的起源和发展状况 c o m 是从o l e ( 对象的连接和嵌入) 发展而来的。o l e 是m i c r o s o f t 为了满 足用户在不同的应用程序之间交换数据而制定的一套程序间的通信协议,它是为 处理复合文档而提供的一种智能复合文档机制。随着c o m 技术的进一步发展,它 所定义的组件标准远远超过了o l e 所具有的能力。近几年的软件开发经验表明, c o m 能很好地胜任组件化软件的模型标准,用c o m 进行软件架构是一种理想的 应用方案。而且,在脱离开o l e 之后c o m 自身又得到了很大的发展,现在已 经遍布于m i c r o s o f t 的各种软件产品中。4 “2 可以说c o m 技术的出现是多种软件技术进步的结果,它的整个发展过程如图 2 一l 所示:2 图2 1c o m 技术的发展过程图 从八十年代提出的分布式计算思想到c o m 技术的基本成熟和完善,中间经历 了近二十年的发展,它汲取了分布式计算技术、剪贴板技术、对象的链接和嵌入 1 0 浙江大学硕士学位论文 技术,远程程序调用、事务服务器、消息等技术的优点和长处,能够很好地支持 组件软件的设计和开发。 2 2 c o m 的原理 c o m 是微软公司制定的生成软件组件的标准,它不是编程语言、程序代码或 编译器,是构造二进制兼容软件组件的规范,只有遵循c o m 规则,组件之间才能 相互通信。它是一种强有力的集成技术,它负责将一个软件模块和另一个软件模 块连接起来,然后,组件模块之间通过接口结构进行通信。c o m 不仅提供了组件 程序和客户程序之间交互的协议细节,也提供了全面的实现过程。4 “2 使用c o m 技术可以增强软件的互操作性,可以提高软件产业的生产效率。在 组件技术的模式下,软件系统可以被视为协同工作的对象集合,其中每个对象都 会提供特定的服务,发出特定的消息,并且以标准形式公布出来,以便其他对象 了解和调用。 早期的c o m 技术不具备跨计算机的远程调用能力,后来的c o m 标准增加了 保障系统和组件完整的安全机制,扩展到分布式环境,被称作d c o m ( d i s t r i b u t e c o m ) 。d c o m 使用一种基于标准的远程过程调用,提供了网络透明及通信自动化。 它可以使运行于不同机器上的对象之间进行互操作( s e a m l e s si n t e r a c t i o n ) ,而且一 个对象无须了解另一个对象的位置。分布式对象技术也可以使全局的网络和信息 资源看上去像是本地的,这就使用户更容易也更快地访问重要的业务信息。通过 分布式c o m 和远程自动化,用户可以在整个网络内放置可执行组件,而根本无须 知道所处理的信息来自于什么地方。6 1 2 3 c o m 的结构 2 3 1 接口 接1 :3 是两个软件模块之间的通信通道,它定义了一组逻辑上相关的纯虚函数, 通过这些纯虚函数,组件对象可以将自身的信息暴露给客户,而客户可以通过接 口来获得对象提供的服务。 通常把接口称为虚拟函数表,它的结构如图2 2 所示: 基于c o m 技术的定量金相分析专家系统 v i a b l e 接 接口指针1 对 口 叫虚拟函数表指针卜_ , 接口指针2 象 指 接口指针3 实 针现 图2 2 接口结构 对于一个接口来说,它的虚拟函数表( v t a b l e ) 是确定的,接口的成员函数个数是 不变的,而且成员函数的先后顺序也是不变的:对于每个成员函数来说,其参数 和返回值也是确定的。 下面是图像分析接口的定义 i n t e r f a c ei l m a g e a n a l y s i s :i u n k n o w n h r e s u l t s y s t e m r e p u b l i c 0 ; h r e s u l t s y s t e m p e r c e n t a g e 0 ; h r e s u l l t p a r t i c u l a t e d i a m e t e r 0 ; ) ; 在图像分析接口中定义了三个虚拟接口函数,经过编译后它们的位置也将确 定。 2 3 2c o m 组件和对象的区别和联系 c o m 组件结合了面向对象技术和接口技术两种特性,面向对象仍是它的基本 要素之一。对象是某个类的一个实例,而类则是一组相关数据和功能的集合,使 用对象的应用称为客户。但在c o m 模型中,组件除了实现类的封装以外,还实现 了接口,接口是一组逻辑上相关的函数集合,其函数被称为接口成员函数。c o m 模型中的类对客户来说是不可见的,客户请求服务时,只能通过接口进行。每一 个接口都由一个1 2 8 位的全局唯一标识符g u i d ( g l o b a l l yu n i q u ei d e n t i f i e r ) 来标 识。客户通过g u i d 获得接i = 1 的指针,再通过接口指针,客户就可以调用其相应 的成员函数。至于具体功能如何实现,则完全由对象内部实现决定。所以,在c o m 模型中,对象通过接口及接口中的函数为客户提供服务,对于客户来说,它只与 接口打交道。一般来说,接口是不变的,只要客户期望的接口在组件对象中还存 浙江大学硕士学位论文 在,它就可以继续使用该接口所提供的服务。对象可以支持多个接1 3 ,因此对组 件对象的升级可通过增加接口的办法实现,这样得到的新接口可以不影响老接口 的使用。新客户可使用新增的接口,老客户可在不更新代码的情况下继续使用老 接口。 c o m 组件和类对象的主要区别主要有两点: 1 、c o m 组件是实现接口的类对象,接口是c o m 组件和外界进行通信的唯一 途径,一个不含接口的组件是没有用的。 2 、c o m 组件是二进制代码,而一般的类对象则可以是任何编程语言书写的代 码。 与接口类似,每个对象也用一个1 2 8 位g u i d 来标识,称为c l s i d ( c l a s s i d e n t i f i e r ,类标识符或类i d ) ,用c l s i d 标识对象可以保证( 概率意义上) 在全球 范围内的唯一性。只要系统中含有这个c o m 对象的信息,并包括c o m 对象所 在的模块文件( d l l 或e x e 文件) 以及c o m 对象在代码中的入口点,客户程序 就可以由c l s i d 来创建c o m 对象。 实际上,客户要想获得c o m 对象的服务,必须成功地创建对象,在实际服务 中,客户得到的是一个指向对象某个接口的指针,然后客户就可以调用该接口提 供的所有服务。根据c o m 规范,一个c o m 对象如果实现了多个接口,则可以从 某个接口得到该对象的其他接口,所以一旦得到了一个接口指针,就可以得到其 他所有的接口。因此,客户在创建了c o m 对象,得到了某个接口指针后,就可以 调用该对象所有接口提供的服务。对象对于客户来说只是一组接口的集合。 2 3 3 c o m 组件的结构 c o m 是面向对象的组件模型,c o m 组件提供给客户的是以对象形式封装起来 的实体。一个c o m 组件的结构通常如图2 3 所示: 堇王曼竺竺垫查塑塞垦垒塑坌堑童量墨堑 一 图2 - 3c 0 h 组件的结构 接口是组件软件的关键,因为接口是应用程序和组件进行通信的基础。为了 使软件组件之间能够遵从统一的标准,每一个c o m 组件必须实现一个相同的 i u n k n o w n 接口,i u n k n o w n 接口在c o m 组件中起到导航的作用,一个对象要想成 为c o m 组件必须实现i u n k n o w n 接口,但对象还可以实现其他的接口,即自定义 接口,这些接口都直接或间接地继承了i u n k n o w n 接口,用户可以根据需要设计这 些接口,实现自己需要的软件功能。川1 i u n k n o w n 接口定义了三个函数,即q u e r y i n t e r f a c e ( ) 、a d d r e f ( ) 和r e l e a s e ( ) 函数,其中a d d r e f ( ) 和r e l e a s e ( ) 函数用于控制对象的使用期限的内部引 用计数。当一个对象被创建时,创建者必须调用该对象的a d d r e f ( ) 函数。当用 户不再使用对象时,调用对象的r e l e a s e ( ) 函数,将引用计数减一。当最后一个 用户调用对象的r e l e a s e ( ) 函数后,计数的值变为0 ,导致对象释放自己。5 1 客 户可以通过q u e r y i n t e r f a c e ( ) 函数来查询组件是否支持某个特定的接1 3 。若支持, 则q u e r y i n t e r f a e e ( ) 函数将返回一个指向此接口的指针,用户可以利用该指针调用 接口中定义的函数。 2 4 c o m 的特点 2 4 1 语言无关性 c o m 规范的定义不依赖于特定的语言,因此,编写组件对象所使用的语言与 编写客户程序所使用的语言可以不同,只要它们都能够生成符合c o m 规范的可执 行代码即可。c o m 标准与面向对象的编程语言不同,它所采用的是一种二进制代 码级的标准,而不是源代码级的标准。c o m 的语言无关性为跨语言合作开发提供 避;:嚣, 浙江大学硕士学位论文 了统一的标准。2 2 “2 4 1 2 4 2c o m 的客户,服务器模型 在c o m 机制中,提供组件功能的对象被称为服务器,使用组件功能的应用程 序被称为客户。对象和客户之间的相互作用是建立在客户服务器模型的基础上 的,客户服务器模型的一个很大的优点是稳定性好,而稳定性正是c o m 模型的 目标,尤其是跨进程的程序通信,稳定性更会带来性能上的高可靠性。然而,c o m 不是一种简单的客户服务器模型,有时客户也可以反过来提供服务,或者服务 方本身也需要其他对象的一些功能,这样,一个对象可能既是服务器也是客户。 c o m 能够有效地处理这些情况。 客户服务器模型是一种发展比较成功的软件模型,因为这种模型有以下一些 优势:川1 ( 1 ) 稳定性、可靠性好。客户服务器模型简化了应用,把任务进行分离, 客户和服务器各司其职,共同完成任务。 ( 2 ) 软件的可扩展性好。一个服务器进程可以为多个客户提供服务,客户也 可以连接到不同的服务器上,这种模型的连接非常灵活。 ( 3 ) 提高软件系统的整体性能。根据硬件的配置,可以把繁重的任务放到高 配置的一端,用低配置的设备完成一些简单的任务,因此。这种模型使软件运行 更加合理。 ( 4 ) 在网络上实现时,可以降低网络流量。在网络上只传输客户和服务程序 所关心的数据,可以减轻网络的负担。 ( 5 ) 用于数据库时,可以实现事务( t r a n s a c t i o n ) 机制,提供数据备份能力等。 2 4 3 可重用性 所谓重用性是指,当一个程序单元能够对其它的程序单元提供功能服务时,尽 可能地重用原先程序单元的代码,既可以在源代码一级重用,也可以在可执行代 码一级重用。面向对象的可重用性位于源代码一级,一个类可以继承于另一个类, 从而把父类的功能重用。c o m 组件的可重用性建立在可执行代码一级,因为c o m 是建立在二进制可执行代码基础上的标准。2 3 1 c o m 组件有两种可重用途径,即包容和聚合,这两种方法的基本思路是致 的,只是具体的实现方法不同,由于在论文中,只用到包容,所以以包容为例介 苎王里q 竺垫查丝塞里垒塑坌堑童窒墨竺 绍c o m 的代码重用方法。 假如对象a 已经实现了接口i n t c r f a c e l ,现在需要一个新的组件对象b ,它既 需要实现接口i n t e r f a c e l ,还需要实现一个新的接口i n t e r f a c e 2 ,这时候对象b 不需 要再重复实现接口i n t e r f a c e l 中的具体函数,它只需要调用a 对象中i n t e r f a c e l 的 函数功能即可。调用的方法如图2 4 所示: 图2 4 组件重用方法 在上面的调用过程中,对象b 的客户并不知道对象a 的存在,但是它得到了 i n t e r f a c e l 接口的服务功能。 2 4 4 进程透明性 在客户服务器模型的软件结构中,运行在客户端的代码和运行在服务器端的 代码,既可以在同一个进程中,也可以在不同的进程中。如果它们运行在同一个 进程中,则由组件和客户共享进程资源,程序的运行效率较高。但实际应用中, 服务程序并不总是作为d l l 被装入到客户进程中,它也可能是一个可执行程序, 则客户程序和服务器程序运行在同一机器上的不同进程空间中,或者运行在不同 机器的进程空间中。客户程序和服务器程序的具体运行情况如图2 5 所示: 6 浙江大学硕士学位论文 客户进程 客户应 用程序 i 进程内1 l 望竺翌苎j 进程内组件 对象服务器 本地 对象代理 c o m 远程 对象代理 本地服务器进程 凰 ic o ml 远程计算机 图2 5 组件调用方法 对于进程内组件,c o m 客户和对象位于相同的地址空间,客户可以直接与对 象进行通信。当组件作为可执行文件,或位于远程计算机上时,c o m 将透明地在 客户端建立个代理,客户在自己的地址空间中进行调用。对象在自己的地址空 间中接受调用。代理占位程序机制负责处理跨进程或跨计算机边界所涉及到的所 有复杂细节。 虽然c o m 对象有不同的进程模型,但这种区别对于客户程序来说是透明的, 因此客户程序在使用组件对象时可以不管这种区别的存在,只要遵照c o m 规范即 可。然而,在实现c o m 对象时,应该慎重选择进程模型。进程内模型的优点是效 率高,但组件不稳定,可能会引起客户进程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川大学华西厦门医院耳鼻咽喉-头颈外科招聘1人备考题库【学生专用】附答案详解
- 国泰君安期货2026届金衍新星SSP招募备考题库及参考答案详解【综合题】
- 国金证券2026届春季校园招聘备考题库【研优卷】附答案详解
- 宁银理财2026届春季校园招聘备考题库【b卷】附答案详解
- 汉江实验室2026届校园招聘备考题库附完整答案详解【有一套】
- 特区建工集团2026届春季校园招聘备考题库附完整答案详解【名师系列】
- 超聚变数字技术股份有限公司2026届春季校园招聘备考题库附参考答案详解【基础题】
- 长城电源2026届春季校园招聘备考题库含答案详解(培优)
- 政府组织工作制度
- 教代会工作制度
- 全国行业职业技能竞赛(电力交易员)考试题库及答案
- 《家用电冰箱与空调器维修》课件
- (完整版)初中化学新课程标准(人教版)
- 房建工程监理大纲范本(内容全面)
- 铁路旅客运输服务高职全套教学课件
- 高考语文复习:古代文化常识
- 高警示药品管理制度考核试题及答案
- (完整版)合规管理办法
- 回族做礼拜的念词集合6篇
- 场地清表施工方案设计
- 光纤熔接机培训
评论
0/150
提交评论