(机械电子工程专业论文)基于组件技术的capp系统的研究与开发.pdf_第1页
(机械电子工程专业论文)基于组件技术的capp系统的研究与开发.pdf_第2页
(机械电子工程专业论文)基于组件技术的capp系统的研究与开发.pdf_第3页
(机械电子工程专业论文)基于组件技术的capp系统的研究与开发.pdf_第4页
(机械电子工程专业论文)基于组件技术的capp系统的研究与开发.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(机械电子工程专业论文)基于组件技术的capp系统的研究与开发.pdf.pdf 免费下载

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

文档简介

南京航空航天大学硕士学位论文 摘要 随着制造业信息化的不断深入和完善,现代计算机辅助工艺设计系统( c a p p ) 面临 新的需求。本文在综合分析这些需求的基础上,指出目前的c a p p 系统在分布性、重构 性和柔性方面的不足,并对基于c o m d c o m 组件技术的c a p p 系统构架及其主要功能组件 进行了研究。 本文首先分析了基于组件的c a p p 系统的体系结构,设计了以功能模块为工具组件 构成的组件库,然后详细描述了系统的工艺信息模型和工艺数据库设计,最后研究和 开发了工艺卡片定制组件和工艺规程编制组件,重点讨论了工艺卡片定制组件实现过 程中的若干问题,并给出了部分应用实例。 关键词:计算机辅助工艺设计,组件,工艺信息模型,工艺卡片。c o m 基于组件技术的c a p p 系统的研究与开发 a b s t r a c t w i t ht h ei n f o r m a t i z a t i o no fm a n u f a c t u r i n gi n d u s t r yb e c o m i n gm o r ea n dm o r e d e e p e n e da n dp e r f e c t ,n e wr e q u i r e m e n t sa r ep u tf o r w a r df o rt h em o d e r nc o m p u t e r a i d e d p r o c e s sp l a n n i n g ( c a p p ) s y s t e m o n t h eb a s i so f a n a l y z i n g t h e s e r e q u i r e m e n t s ,t h i sp a p e rp o i n t so u tt h a tt h ec a p ps y s t e m sb e i n gu s e dn o w a d a y s a r ei n s u f f i c i e n ti nt h ec h a r a c t e r i s t i c so fd i s t r i b u t i n g ,r e c o n s t r u c t u r i n ga n d f l e x i b i l i t y :t h e nas o l u t i o n o fd e v e l o p i n gan e wc a p ps y s t e mb a s e do nc o m p o n e n t o b j e c tm o d e l d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ( c o m d c o m ) i sr e s e a r c h e d f i r s t l y ,t h i sp a p e ra n a l y s e st h ea r c h i t e c t u r eo ft h ec o m p o n e n t b a s e dc a p p s y s t e m , a n da t o o l c o m p o n e n t s1 i b r a r y i sc o n s t r u c t e dw i t hv a r i o u s t o o l c o m p o n e n t s s e c o n d l y ,t h i sp a p e r d e s c r i b e si nd e t a i lt h e p r o c e s s i n f o r m a t i o nm o d e la n dd a t a b a s ed e s i g no ft h es y s t e m f i n a l l y ,r e s e a r c h e sa r e m a d e ,w i t h s o m ee x a m p l e s ,f o rt h ed e v e l o p m e n t t e c h n i q u e s o fp r o c e s sc a r d c u s t o m i z i n gc o m p o n e n t a n d p r o c e s sp l a n n i n ge d i t i n gc o m p o n e n t ,a n d s o m e t e c h n o l o g ya n dm e t h o d si nd e s i g n i n gp r o c e s sc a r dc u s t o m i z i n gc o m p o n e n ta r e d i s c u s s e d k e yw o r d s :c o m p u t e ra i d e d p r o c e s sp l a n n i n g ( c a p p ) ,c o m p o n e n t ,p r o c e s s i n f o r m a t i o nm o d e l ,p r o c e s sc a r d ,c o m 南京航空航天大学硕士学位论文 1 1 引言 第一章绪论 在计算机技术和网络通信技术的飞速发展带动下,信息时代来临了,信息化成为 现代社会发展的主导和趋势。在这样的大环境下,企业信息化蓬勃发展起来,而作为 社会基础的制造业,其信息化的程度已成为整个社会信息化的基础和关键,也是制造 业获得进一步发展的契机。对于制造业信息化来说,把高度发达的信息技术应用到制 造业中是关键步骤。 在制造业的各个环节中,工艺是提高企业的劳动生产率和降低制造成本的关键因 素,因此制造业需要积极地把信息技术应用到制造工艺上去。随着计算机集成制造系 统( c o m p u t e ri n t e g r a t e dm a n u f a c t u r i n gs y s t e m ,c i m s ) 的出现,计算机辅助工艺设 计( p r o c e s sp l a n n i n g ,c a p p ) 成为上与计算机辅助设计( c o m p u t e r a i d e dd e s i g n ,c a d ) 相接,下与计算机辅助制造( c o m p u t e ra i d e dm a n u f a c t u r i n g ,c a m ) 相连的桥梁,设 计信息必须通过工艺设计才能生成制造信息,设计也只能通过工艺设计才能与制造实 现功能和信息的集成,由此可见c a p p 系统的研究与开发是实现生产自动化和制造业全 面信息化的关键使能技术。 面对新经济时代制造环境的变化,传统的结构相对固定、功能针对性强、信息相 对集中的c a p p 系统已经与之不相适应。新的c a p p 系统要求以柔性化、敏捷化、网络 化为基本特征。具体表现为结构上的快速重构、性能上的快速响应、过程中的并行性 与分布式决策。这也就意味着系统必须具有动态可重构性,充分利用企业现有的资源, 快速响应市场需求的变化。 针对上述情况,本文在分析传统c a p p 系统的基础上,采用组件技术来构建c a p p 系统,通过对基于组件技术的c a p p 系统的理论研究与开发实践,从功能和技术上进 一步发展c a p p 系统,实现c a p p 系统的柔性化和可重配置,从而较好地解决c a p p 系 统的实用性和通用性问题,克服专用c a p p 系统存在的重复劳动、开发周期长、成本 高、后续开发和维护困难等缺点,满足企业实际生产的需要。 1 2 国内外对于c a p p 系统的研究现状 6 0 年代末,人们就开始了c a p p 的研究与开发,最早研究c a p p 技术的国家有挪 威及前苏联等。但在c a p p 发展史上具有里程碑意义的是设在美国的国际性组织c a m i 于1 9 7 6 年开发的c a p p ( c a m - i sa u t o m a t e dp r o c e s sp l a n n i n g ) 系统。国内最早开发 的c a p p 系统是同济大学的派生式t o j i c a p 系统和西北工业大学的创成式c a o s 系统, 基于组件技术的c a p p 系统的研究与开发 其完成的时间都在8 0 年代初。c a p p 技术研究从开始到现在,经历了3 0 多年的时间, 综观这段历程,可以将c a p p 技术分为以下三个具有代表性的发展阶段: 1 ) 基于成组技术的派生式c a p p 系统 这是第一代c a p p 系统,有两种代表性的设计模式:检索式和派生式( 7 a r i a n t ) 。 派生式c a p p 系统出现在6 0 年代末,系统原理简单,针对性强,可以大幅度地提高工 艺编制速度,能在定程度上保持工艺的一致性,因此实用性较强。但是,派生式系 统在开发上存在一些缺点,如准备工作量大,动态适应性低等。 2 ) 基于人工智能技术的创成式c a p p 系统 这是第二代c a p p 系统,两种代表性的设计模式是:创成式( g e n e r a t i v e ) 和专家 系统( e x p e r ts y s t e m ) 。 创成式c a p p 系统的研究和开发始于7 0 年代中后期。在此阶段,创成式c a p p 系 统的基本原理是将决策逻辑植入程序代码中,依靠决策树和决策表的方法,通过逻辑 判断来产生零件的工艺计划。创成式系统具有工艺结果一致性好,设计过程自动化程 度高以及高柔性等优点,但是,由于系统对生产环境与加工对象的针对性强,因而难 以适应零件类型和生产环境的变化,应用范围很窄。同时由于工艺设计过程本身所具 有的复杂性和不确定性,设计这样的系统技术难度大,开发费用高。 到8 0 年代。人工智能( a i ) 、专家系统等研究成果应用到c a p p 系统的研究和开发 中,研制出了基于知识的创成式c a p p 系统或c a p p 专家系统。其中,c a p p 专家系统 主要由知识库和推理机组成,其工作原理根据零件设计的数据信息,运用推理机在知 识库的支持下进行逻辑推理来生成工艺规划。 到8 0 年代后期,人工神经网络技术、遗传算法、模糊推理以及基于实例的推理 等被引入c a p p 系统的研究中,使c a p p 系统的多样性和智能性有了长足的发展。 总的来说,这一阶段的c a p p 系统在追求智能化方面获得了很大的进步,但是由 于片面强调工艺设计的自动化,而忽略人在工艺决策中的作用,因而系统实用性不足, 且丌发难度大。在这样的现状下,综合型c a p p 系统产生了,它在派生和刨成两种原 理的基础上发展起来,兼具两者的优势。在系统开发过程中,将工艺设计过程中一些 成熟的、变化少的内容用派生原理设计,而将经验性强、变化大的内容用创成式原理 进行决策,从而避免了派生式系统的局限性和创成式系统的高难度。 3 ) 基于网络和数据库技术的分布式、组件化c a p p 系统 随着计算机软件开发技术和网络技术的发展,第三代c a p p 系统呈现网络化、柔 性化和工具化的特征。它在前两代c a p p 技术基础上采用最新的网络技术和分布式系 统理念,构架三层的系统体系结构,同时运用面向组件的软件开发技术,向工具化的 方向发展,并且运用人机优势,增强系统的实用性。基于组件技术的分稀式c a p p 系 统充分代表了第三代c a p p 系统特色是现阶段c a p p 研究的主流。 随着制造业信息化要求的不断提高,c a p p 的技术还将不断地深化发展,它的发展 南京航空航天大学硕士学位论文 以制造业的发展为先导,主要从以下方向来进行: 1 ) 集成化 计算机集成制造是现代制造业的发展趋势,作为集成系统的一个单元技术,c a p p 系统集成化是必然的发展方向。在并行工程的思想指导下实现c a d c a p p c a m 的全面 集成,进一步发挥c a p p 在整个生产活动中的信息中枢和调节作用,这包括:与产品 信息实现双向的信息交换与传送,与生产计划调度系统实现有效集成等。 2 ) 智能化 人工智能技术在c a p p 系统中的应用是c a p p 研究的重要方向,该技术为c a p p 的 智能化提供全面的技术支持。其中,人工神经网络技术的应用可解决传统c a p p 系统 最困难的知识提取问题,而模糊理论的应用对工艺设计中的不确定性推理方法进行决 策提高决策的合理性。这些技术还将继续成为c a p p 系统研究的热点。 3 ) 工具化 传统专用性c a p p 系统虽然针对性强,但由于开发周期长,缺乏商品化的标准模 块,适应性差,很难适应企业的产品类型、工艺方法和制造环境的发展和变化。因而 进一步地研究和开发可重构的工具化c a p p 系统,提高c a p p 系统的适应性也成为这一 领域研究的热点。随着软件组件技术的出现,研究基于模块化、组件重构技术基础上 的工具化c a p p 系统,实现系统功能的“即插即用”,将推动c a p p 工具化的进程。本 论文的研究属于这一方向。 1 3 c a p p 发展中存在的问题和解决方案 1 3 1 c a p p 发展中存在的问题 从c a p p 的发展过程以及对各阶段研究特点的分析中可以看出,经过3 0 多年的发 展,国内外在c a p p 的理论研究与工程实践方面都取得了长足的进展,c a p p 在企业中的 重要性己经得到广泛承认,而且已丌发出为数众多的c a p p 系统。在所丌发的c a p p 系 统中,有些系统已得到实际应用,少数已商品化。但总的来看,c a p p 的研究、丌发方 向存在严重的偏差“1 。从企业应用角度看,长期以来c a p p 并没有发挥其应有的重要 作用、已取得的实际效益和投入的力量很不相称,这主要表现在:开发多,应用少; 丌发投入多,应用维护几乎无投入;原型系统多,得到实际生产应用的系统较少:商 品化系统很少,而且功能不足;同c a d 、c a m 、m i s ( 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 , 管理信息系统) 、p d m ( p r o d u c td a t am a n a g e m e n t ,产品数掘管理) 、e r p ( e n t e r p r l s e r e s o u r c ep 1 a n n i n g ,企业资源计划) 等相关计算机辅助技术相比,差距相当大。究其 原因可初步概括为以下几个方面: 1 ) c a p p 研究与开发的目标具有很大的片面性。长期以来,c a p p 的目标一直是丌 3 基于组件技术的c a p p 系统的研究与开发 发代替工艺人员的自动化系统,而不是辅助系统,即过份强调工艺决策过程的自动化 和智能化,而对工艺设计的非确定性规划问题认识不足。近年来,人们逐渐认识到完 全利用人工智能、专家系统或人工神经网络来自动化实现工艺规划的设计是不现实 的,c a p p 系统应强调其辅助作用,而不是自动化。 2 ) c a p p 系统的应用范围过于狭窄。由于c a p p 系统涉及问题的复杂性和对应用环 境的依赖性,更由于对决策自动化的目标定得过高,c a p p 的研究与开发基本以零件为 主体对象,且主要集中在机械加工工艺设计领域,每种系统只适用于少数几种零件。 普遍认为难以、甚至不可能开发通用化系统,却没有认识到工艺基本数据结构及基本 设计功能的普遍性、通用性。这种缺乏从整个产品的角度研究c a p p 的应用和集成问题, 而且忽视工艺管理功能的研究与开发,难以适应于企业中的大多数零件,更难以满足 先进制造系统的应用和发展需求。 3 ) 对c a p p 的系统化、实用化、工程化研究重视不够。尽管各种新概念、新方法、 新技术在c a p p 中不断获得应用,但主要是针对各种决策功能,而始终缺乏对c a p p 的系 统化、实用化、工程化的研究,缺乏各种技术之间及技术与管理、与人之间的集成。 使得这些新技术、新概念、新方法所起作用甚小,也使得c a p p 的整体发展缺乏坚实的 实践基础和动力。近年来,国内外已开始认识到c a p p 应用和工程化问题对c a p p 发展的 影响。 4 ) 工艺设计方法缺乏良好的理论和坚实的科学基础。工艺过程设计是公认的典 型复杂问题它贯穿并影响企业的整个生产过程,是经验性很强且随应用环境变化而 多变的决策过程“。而长期以来,c a p p 的研究与开发都忽视对工艺设计问题所涉及的 通用基础性技术、方法和数据的深入研究和探索,各神新概念、新方法、新技术的采 用既缺乏应用基础,也缺乏系统化基础。工艺设计方法缺乏良好的理论和坚实的科学 基础是阻碍c a p p 发展的因素。 综观c a p p 发展中的若干问题,并透过现象分析其本质,则可以发现,c a p p 发展的 所有问题都可以归结为一点,即:c a p p 系统的柔性化不足。因为c a p p 动态应用环境 要求一个c a p p 系统应该是一个适应性很强、柔性很高的敏捷系统,能够根据应用环境 的动态变化而支持系统重构、软件重用和系统规模扩展。其中系统重构是指c a p p 系统 随着不同的企业要求及应用环境而实现系统的快速重构;软件重用保证己有系统功能 或优势可以在新的系统中得到继承和集成;系统规模扩展实现了c a p p 系统在应用过程 中可以根据实际情况的变化随时扩展系统功能。 另外,随着网络技术的发展和企业信息化的推进,网络化c a p p 系统应运而生。目 前来看,这类系统很容易地定位成一种标准的c l i e n t s e r v e r 的网络应用系统,即提 供一个共享的网络数据库,所有的客户端程序都对网络数据库获得一个可靠的连接。 这种应用结构提供了数据共享、减少了数据的复制和维护工作量,简化了完整数据汇 总的工作。但是,这类系统存在缺陷:系统升级维护时,所有的客户端都需要同时改 4 南京航空航天大学硕十学位论文 变,否则无法正常使用,这就使系统升级困难;客户端的数量受到网络数掘库允许的 数据库连接的限制,导致系统的伸缩性比较差;当客户端和服务端的通讯次数和通讯 量比较大时,网络性能大大降低:此外,与p d m 、e r p 等系统进行集成时工作量很大。 1 3 2 本文提出的解决方案 c a p p 的柔性化要求系统应具有可重构性、可扩充性。针对这种要求,解决方案是 将c a p p 系统建立在一种基于组件的对象模型上,通过组件对象模型对系统功能进行抽 象和划分,j 每c a p p 系统的各个功能模块分离成一些组件,这些组件在实现上可独立进 行,组件之间可互操作,使用时按照组件标准进行无缝集成,来构造整个c a p p 系统。 基于组件的c a p p 结构上是动态的,各个功能组件可根据实际需求进行不同的组合。当 制造环境和产品发生变化时,可以修改相关组件来满足要求,而不需要将整个系统重 新丌发。因此,基于组件的c a p p 系统便于进行功能的扩充、修改以及二次开发。使系 统丌放性差、柔性不足的问题迎刃而解,同时也为c a p p 工具化提供了方向。 从网络化应用的角度来看,分布式系统正是答案。分布式网络应用是在标准的客 户机服务器应用的基础上发展起来的,它具备c s 系统的优点,同时克服了其自身固 有的缺点,将c s 系统中目益臃肿的客户端应用从业务逻辑中分离出来,而成为一种 仅供客户进行交互操作的界面。分布式系统的主要优点如下: 1 ) 客户端程序不再直接访问数据库,雨通过公用的中间业务逻辑层访问数据库, 业务逻辑一旦发生变化,只需更换中间的相关部件,所有的客户端应用立即发生改变。 2 ) 客户的数量不再受到网络数据库所允许的数据库连接的限制,客户数量的增 加,不会明显的对系统性能造成影响。 3 ) 网络中的数据通讯次数大大减少,网络传输的中间数据大大减少,如果数据 访问部件对经常查询的资源数据作缓存还可以大大提高整个网络系统的执行效率,如 果将业务逻辑层中的部件分别部署在不同的计算机上,还可以有利于服务器的负载平 衡。 实现分布式系统的关键是分布式组件对象模型,分布式组件对象模型是以组件对 象模型为基础的网络协议。系统通过组件技术分离出来的功能组件按照分布式组件对 象模型标准在网络上可随意配置,实现分稚化。 关于组件标准,目前在国际上有许多,例如o m g 提供的c o r b a ,a p p l e 支持的 o p e n d o c 和i b m 所支持s o m ( s y s t e mo b j e c tm o d e l ) ,但m i c r o s o f t 提供的基于w i n d o w s 平台的c o m d c o m ( c o m p o n e n to b j e c tm o d e l d i s t r i b u t e dc o m ,组件对象模型分布式 组件对象模型) 已经成为事实上的“工业标准”,到目前为止,世界上大约有2 0 0 ,0 0 0 , 0 0 0 个基于c o m 的计算机软件系统在运行。目前c o m 不仅支持w i n d o w s 平台,而且支持 m a c i n t o s h 和部分u n i x 系统。而d c o m , 0 为分柿式的网络应用提供了基础。同时c o m 技术 基y - 组件技术的c a p p 系统的研究与开发 还在不断地发展和完善,c o m 十又为优化c o m 的应用提供了兼容的、易于升级的新标准。 1 哿c o m d c o m 与c a p p 系统相结合的优势在于:各模块可以根据需求的不同来选择不 同的最合适的计算机语言开发,然后通过c o m 实现无缝集成:软件升级不需要整体进 行,只需要对发生改变的部件进行升级即可;程序的复用性大大提高,同时还有大量 的第三方软件部件可以利用;大大降低了软件的开发风险和软件开发后期的维护工作 量。此外,通过开发与企业各单元子系统的集成组件,可以为p d m 、e r p 等系统提供集 成接口。p d m 等系统既可以从不同层次访问c a p p 数据库,也可以与c a p p 系统在较高层 次上交换信息。 由此可见,开发基于c o m d c o m 组件技术的c a p p 系统能够较好的解决目目i j c a p p 系统 存在的问题,同时也满足了c a p p 系统与其他系统方便、紧密的集成的需要。因此,本 文将讨论基于c o m d c o m 的c a p p 系统的研究与丌发。 1 4 课题主要研究内容 本课题主要围绕基于组件技术的c a p p 系统的研究与开发所涉及的理论与相关技 术实现来展开的,并给出了部分应用实例。 本论文由以下六章组成: 第一章绪论主要介绍了c a p p 系统的基本概念和发展历程,研究了目前c a p p 系统存在的问题并提出了解决方案。 第二章基于组件的c a p p 系统的体系结构简单介绍了组件标准c o m d c o m 的 原理和特性,详细讨论了基于组件的c a p p 系统的设计方案,包括系统 的组件划分、拓扑结构、体系结构、软件开发技术结构和系统特点等 五个方面。 第三章基于组件可重构的工艺信息模型研究分析了工艺信息的特点和存储 方式,并建立了基于组件重构的层次结构工艺信息模型,详细论述了 工艺信息的表达方法,工艺卡片的管理等关键技术,在此基础上设计 了具有一定通用性的工艺数据库。 第四章工艺卡片定制组件的研究主要讨论了工艺卡片定制组件实现过程中 涉及到的若干问题,包括工艺特殊符号的插入、工艺内容自动换行、 工艺内容顺序重排、工艺简图的集成以及工艺卡片的组件化设计,最 后对工艺卡片定制组件的实现进行了具体分析。 第五章工艺规程编制组件的开发和应用分析了工艺规程编制组件的具体功 能,在此基础上进行了工艺规程编制组件的开发,并给出了具体实例。 第六章总结与展望对全文进行总结,并讨论了本课题研究内容的意义和发 展。 6 南京航空航天人学硕士学位论文 第二章基于组件的c a p p 系统的体系结构 2 1 c o m d c o m 简介“” 2 1 1 组件对象模型c o m 组件对象模型c o m 是一种以组件为发布单元的对象模型,这种模型使各软件组件 可以用一种统一的方式进行交互。c o m 既提供了组件之间进行交互的规范,也提供了 实现交互的环境,因为组件对象之间交互的规范不依赖于任何特定的语言,所以c o m 也可以是不同语言协作开发的一种标准。 c o m 提供的是面向对象的组件模型,c o m 组件提供给客户的是以对象形式封装起 来的实体。客户程序与c o m 组件程序进行交互的实体是c o m 对象,它并不关心组件模 块的名称和位置( 即位置透明性) ,但它必须知道自己在与哪个c o m 对象进行交互。 类似于c + + 中类的概念,c o m 对象也包括属性( 也称为状态) 和方法( 也称为操作) , 对象的状态反映了对象的存在,也是区别于其他对象的要素;而对象所提供的方法就 是对象提供给外界的接口,客户必须通过接口才能获得对象的服务。对于c o m 对象来 说,接口是它与外界进行交互的唯一途径,因此,封装特性是c o m 对象的基本特征。 如果用c + + 语言来实现c o m 对象,则可以用类( c l a s s ) 来定义c o m 对象,类的每个 实例代表一个c o m 对象,类的数据成员可用于反映对象的属性,而接口则可以定义成 类的成员函数。 1 ) c 雠对象的标识- c l s i d c 叫组件的位置对于客户来说是透明的,因为客户并不直接去访问c o m 组件,客 户程序通过一个全局标识符进行对象的创建和初始化工作。全局唯一标识符g u i d 是 一个1 2 8 位的随机数,它并不需要专门的机构进行分配和管理。由于g u i d 是一个随 机数,所以并不绝对保证唯一性,但发生标识符相重的可能性非常小。 g u i d 的随机性由两方面特性保证:一方面是空间,对于网络中的计算机,通常取 网络适配器的地址值,没有网络适配器的机器用其他随机数生成算法产生;另一方面 是时间值,同机器在不同时候产生的标识符总不相同。 c l s i d 是用来标识c o m 对象的g u i d ,因此,c l s i d 在结构定义上与g u i d 一致。 2 ) c o m 对象特性 ( 1 ) 封装性。在c o m 对象中,数据是完全封装在对象内部的,外部不可能直接访 问对象的数据属性,因为c o m 对象和客户程序可能在不同的模块中甚至在不同的进程 中或不同的机器上,客户直接访问c o m 属性不仅不合理,有时也不太可能。而且,通 7 基于组件技术的c a p p 系统的研究与开发 过c o m 提供的接口成员函数访问对象的属性,为c o m 对象对属性的控制提供了机会, 对象可以在成员函数中对新的属性值进行有效性判断,如果新值合理则接受,否则便 拒绝。 ( 2 ) 可重用性。可重用性是面向对象系统的重要特性,因此也是c o m 对象和c + + 对象的共同特性,但c o m 对象的可重用性表现在c o m 对象的包容和聚合,一个对象可 以完全使用另个对象的所有功能;而c + + 对象的可重用性表现在c + + 类的继承性, 派生类可以调用其父类的非私有成员函数。一个c o m 对象a 如果要使用另一个c o m 对象b 的功能,则可以通过两种方式实现:包容和聚合。不管哪种形式,对象a 都可 以完全重用对象b 的功能,就如同对象a 自己实现了对象b 的功能,而且,当对象b 更新了版本或者增强了功能时,对象a 自动使用新版本的对象b ,而根本不需要重新 编译或者重新设置,因此,c o m 对象的重用是动态的,在对象a 和对象b 完全独立的 情况下,对象a 可以重用对象b 的功能。 3 ) c o m 接口 c o m 接口是使一个组件与客户之间连接的协议。组件通过接口来显示功能。一个 具体的组件接口定义了组方法或函数的集合,通过这组方法或函数来描述组件的内 部实现,而客户则利用这些函数来获得组件对象提供的功能和服务。接口本身是没有 任何功能的,它只是指向实现功能的位置。由此,组件的描述和实现通过接口实现分 离。只要接口保持不变,组件可以任意升级或更换,而客户端应用不需做任何修改。 接口具有四个特性:( 1 ) 二进制特征。接口规范并不建立在任何编程语言之上, 而是一种二进制级的标准。( 2 ) 接口不变性。接口没有版本,从而避免了版本问题。 接口增加、删除功能或改变语法之后的新版本成为全新的接口,并指定新的接口标识 符,新旧接口不存在矛盾。( 3 ) 继承性。接口之间通过继承来实现扩展,所有的c o m 接口都是从i u n k n o w n 接口派生而来的,c o m 接口的继承只允许单继承,不允许多继 承。( 4 ) 多态性。不同的c o m 对象可以对同一个c o m 接口进行实现,而客户就可以用 统一的方法调用不同的对象。 在c + + 中,接口通过抽象基类来实现,所有的成员函数都是纯虚拟的( p u r e v i r t u a l ) ,而组件的实现则作为这些抽象基类的派生类来实现这些功能。组件运行时, 这些成员函数通过虚拟函数表( v i r t u a lf u n c t i o nt a b l e ,简称v t a b l e ) 被访问, v t a b l e 包含了一组函数的指针,每个函数指针与对象的具体实现相连,被对象的所 有实例共享。客户端不能直接访问v t a b l e ,需要通过接口指针( i n t e r f a c ep o i n t e r ) 来获取另一个指针p v t a b l e ,该指针指向v t a b l e ,客户由此获得对象成员函数的指针, 随后即可调用对象的实际功能。接口结构如图2 一l 所示。因此,指向实际对象的指针 对于客户和c o m 本身都是不可见的,这正是c o m 对象接口( 功能描述) 与实现( 对象数 据和功能) 分离的实质所在。 8 南京航空航天大学硕士学位论文 p v t a b l e 图2 1c o m 接口结构示意图 由上述可知,接口是c o m 的核心。在创建接口时,一个接口中包含的所有方法都 应该具有共同点。接口中包含的方法数量虽然没有限制,但为了避免难以管理的困境, 应给予控制。 4 ) 接口描述语言i d l c o m 规范在采用o s e ( o p e ns o f t w a r ef o u n d a t i o n ,开放软件基金会) 的d c e ( d i s t r i b u t e dc o m p u t i n ge n v i r o n m e n t ,分布式计算环境) 规范描述远程调用接口描 述语言( i n t e r f a c ed e s c r i p t i o nl a n g u a g e ,i d l ) 的基础上,进行扩展形成了c o m 接口的描述语言。接口描述语言提供了一种不依赖于任何语言的接口描述方法,因此, 它可以成为组件程序和客户程序之间的共同语言。 c o m 规范使用的i d l 接口描述语言不仅可用于定义c o m 接口,同时还定义了一些 常用的数据类型,也可以描述自定义的数据结构,对于接口成员函数,可以指定每个 参数的类型、输入输出特性,甚至支持可变长度的数组的描述。 5 ) c o m 组件的实现 不同的语言对于e o m 组件的实现有不同的方法和步骤,本论文主要讨论在v c + + 环境中实现c 0 m 组件的方法。 在v c + + 中开发c o m 组件,主要有三种方法: ( 1 ) 使用w i n 3 2s d k ( s o f t w a r ed e v e l o p m e n tk i t ,软件开发工具包) 直接编程。 该方法是最基本,也是最灵活的一种,但是该方法对开发人员的要求高,需要开发人 员深入了解高难度的技术原理。而且开发人员必须自己实现c o m 应用的每一个细节, 完成量大而又烦琐的重复性工作。因此,采用这种方法进行开发,不仅工作效率低, 也使开发人员不得不把许多精力投入到与应用需求本身无关的技术细节中。虽然这种 开发方式对于某些特殊的应用很有必要,但它并不符合组件化程序设计方法所倡导的 可重用性,因此一般不将直接使用w i n 3 2s o n 作为开发c 晰的手段。 ( 2 ) 使用微软基础类库( m i c r o s o f tf o u n d a t i o nc l a s s ,m f c ) ,m f c 是一套c + 十 应用程序基本框架,用于帮助开发人员克服w i n d o w s 编程的难度,并提供可重用的核 心源代码资源。由于m f c 在类层封装了大量w i n d o w ss d k 函数和典型w i n d o w s 应用的 缺省处理,采用m f c 进行开发能够大幅度提高开发速度和效率。因此,为简化c o y i 编程,提高自动化程度和效率,m i c r o s o f t 将c o m 的基本功能封装在若干m f c 的c + + 基于组件技术的c a p p 系统的研究与开发 类中,开发者通过继承这些类得到c o m 支持功能。同时,m f c 中有许多预定义宏,这 些宏的功能主要是实现c o m 接口的定义和对象的注册等通常在c o m 对象中要用到的功 能。开发者可以使用这些宏来定制c o m 对象的特性。此外,m f c 中还为o l e a c t i v e x 提供a p p w i z a r d 和c l a s s w i z a r d 等可视化支持。 ( 3 ) 使用a c t i v e x 模板库( a c t i v e xt e m p l a t el i b r a r y ,a t l ) 。a t l 是m i c r o s o f t 在1 9 9 5 年推出的一套c + + 模板库,是一种新的编程框架,独立于m f c ,可以用来创建 快速有效、代码简洁的c o m 对象类。与m f c 相比较,a t l 对c o m 组件的开发提供更大 限度的代码自动生成以及可视化支持,使用起来更为容易。此外,a t l 的各个版本对 m i c r o s o f t 的基于c o m 的各种新的组件技术( 如m t s 等) 都有很好的支持。 对于m f c 和a t l 这两种方法之间的选择,主要看c o m 对象对图形用户界面 ( g r a p h i c a l u s e ri n t e r f a c e ,g u i ) 的需求。如果g u i 的需求比较大,或者c o m 对象 是用于创建a c t i v e x 控制,那么m f c 可提供更多的支持:如果只是需要一个方法来编 写没有用户界面需求的c o m 对象类,则a t l 是首选。 由于本论文后面讨论的工艺卡片定制组件和工艺规程编制组件都是基于图形交 互类的组件,对g u i 的需求比较大,所以本课题采用m f c 作为c o m 组件的主要开发方 法。 2 1 2 分布式组件对象模型d c o m 分布式组件对象模型d c o m 是在c o m 基础上扩展起来的一种针对分布式对象模型 的高级网络协议,为不同网络环境中的分布对象提供交互的标准,支持在局域网、广 域网甚至i n t e r n e t 上不同计算机的对象之间的通讯。 d c o m 作为c o m 的无缝扩展,为c 伽组件提供一种加入网络环境的透明网络协议。 在d c o m 的基础上,c o m 应用中的客户进程和组件可位于不同的机器,从而使应用程 序就可以在地理位置上达到分布性,以满足客户和应用的需求。 与c o m 相比较,d c o m 还具备如下特性: ( 1 ) 位置独立性:d c o m 可以将基于c o m 的组件配置在不同的机器上运行,配置 细节对于客户来说是透明的。无论组件是位于客户的同一进程中还是与客户分别处于 两台机器上,客户连接组件和调用组件的方法都是一样的。而且,d c o m 的配置操作 不需要改变组件源代码。一个简单的再配置动作就可以改变组件与客户以及组件与组 件之间相互连接的方式。d c o m 的这一特性极大地简化了将应用组件分布化的任务, 使其能够达到最合适的执行效果。 ( 2 ) 连接管理:网络连接对于分布式应用来说是至关重要的。d c o m 通过给每个 组件保持一个索引计数来管理对组件的连接问题,当一个客户和一个组件建立连接 时,d c o m 就增加此组件的索引计数。而客户释放连接时,d c o m 就减少此组件的索引 1 0 南京航空航天人学硕士学位论文 计数。同时,d c o m 使用有效的地址合法性检查( p i n g i n g ) 协议来检查客户进程是否仍 然是活跃的。客户机周期性地发送消息,当经过大于等于三次p i n g 周期而组件没有 收到p i n g 消息时,d c o m 就认为这个连接中断了。一旦连接中断,d c o m 就减少索引计 数,当索引计数为零时就释放组件。 ( 3 ) 对称性网络协议。在很多种情况下,组件和它的客户进程之间的信息流是没 有方向性的。对此,d c o m 提供对称性通信的支持。使用d c o m ,任何组件都既可以是 功能的提供者,又能是功能的使用者。通讯的两个方向都用同一种机制来管理使得完 成对等通讯和客户机朋匪务器之间的相互作用一样容易。 ( 4 ) 对称的多线程处理:d c o m 提高了w i n d o w sn t 对于多进程处理的支持。对于 使用自由线程模式的应用,d c o m 使用一个线程队列来处理新来的请求。在多处理机 器上,线程队列是由可利用的处理器的数量来决定的:太多的线程会导致经常性的上 下文切换,而太少的线程又会使处理器处于空闲状态。d c o m 只提供一个手工编码的 线程管理器,从而使开发者从线程的细节中解脱出来并获得最好的性能。d c o m 通过 使用w i n d o w sn t 对于对称性多进程处理的高级支持功能就能轻易地将应用从个单 处理机扩展到庞大的多处理机系统上去。 总之,应用d c o m 提供的服务,可以方便灵活地在网络上配置组件,实现负载均 衡配置;并且能够有效的进行组件的网络连接管理,保证分布式系统稳定运行。同时, d c o m 的并行性可以使系统开发协同进行,提高效率。当然,d c o m 也存在着一些问题, 如在网络上由于受带宽的限制而导致运行时间长等。这些问题将随着计算机技术和通 信技术的进一步发展而得以解决。 2 2 现代c a p p 系统的要求与软件开发方法 依据第一章对c a p p 系统的现状分析可知,目前,在新的制造环境的要求下,现 代c a p p 系统将不再是一个传统的针对特定制造环境的专用整体形工艺规程设计体 系,而是在面对不同的制造资源时具有一定的通用性,在网络范围里呈现分布性,同 时针对不同加工需求具有可重构性的系统,即现代c a p p 系统必须具有适应制造资源 及加工需求的动态变化和分布式处理能力。 因此,现代c a p p 系统应具有分布性、高柔性和可重构性的特点,针对这些特点, 现代c a p p 系统应满足下列要求: ( 1 ) 市场驱动,快速响应市场的变化。系统应具备适应不同企业和加工需求的能 力,支持制造资源的动态配置。 ( 2 ) 分布式、网络化结构。系统应具备并行和分布决策婀能力,支持不同地域的 多用户协同操作和信息共享。 ( 3 ) 可重构性特征。通过组件技术将工艺设计系统分解为若干个功能组件单元, 基于组件技术的c a p p 系统的研究与开发 而每一个组件单元本身是柔性化的,用户可重配置的,从而实现整个c a p p 系统的集 成化、实用化和柔眭可重构。 ( 4 ) 工具化特征。工具化应体现在提供一组工艺工具,这组工具在功能上能达到 辅助工艺人员编制工艺的作用,另一方面这组工具可以针对不同企业类型而有所不 同,应便于软件开发者或用户选用和增减,实现系统功能的“即插即用”。 要满足以上几点要求,用传统的结构化的软件开发方法几乎无法做到,因为即便 软件中各模块已经做到低耦合度,可是无论那个模块轻微的变动,整个软件都要重新 编译,这对于用户来说是极为不便的。对于软件开发者来说,维护的工作量也太大。 然而采用面向组件的软件开发方法则可以较好的解决这些问题。面向组件的软件丌发 方法是在面向对象的软件开发方法基础上发展起来的。它以组件为核心,实现软件模 块的封装性和复用性,并且通过组件标准,使不同来源的组件能够实现相互协调、通 信,共同完成复杂的功能。相对于面向对象的开发方法它具有更多的优势:组件的可 重组性使系统柔性更高:更换组件不需修改程序代码;接口与实现的分离,使组件化 系统便于和其他系统集成;组件的位置透明性使系统分布化、网络化更加容易。 近年来,随着制造业信息化的飞速发展,企业对支持现代制造自动化的各项单元 技术,如c a d 、c a p p 、c a m 和p d m 之间的信息集成提出了更高的要求,即实现从产品 设计、工艺设计、加工制造到销售管理、报废和回收等阶段的产品挨个生命周期内的 信息集成。而随着网络技术和数据库技术的发展,网络逐渐成为一种新的信息共享平 台。越来越多的企业认识到,应用i n t e r n e t 实现企业间信息集成和共享将会给企业 带来全新的制造理念。对于目前这种集成化、网络化的企业需求,面向组件的软件开 发方法提供了很好的解决方案,成为现在c a p p 系统的研究热点。 本文将以面向组件的软件开发方法来开发c a p p 系统,研究基于组件的c a p p 系统 的相关理论、体系结构、信息模型和具体实现。 2 3 基于组件的c a p p 系统的组件划分 从工艺设计的流程分析,c a p p 系统是一个相关条件输入一工艺路线生成一工艺 参数计算一生成工艺结果的信息处理过程,这一流程是不随企业的不同而变化的。由 于在这些流程节点上处理信息的逻辑不同,形成了系统的不可移植性埔 决这一问题, 可以通过抽取c a p p 的实现机制,提取其共性,为不同企业、不同产品的c a p p 系统提 供一个较为通用的设计环境。在这个设计环境里,用户经过较为简单的二次开发,就 可以方便的生成具有针对性的实用c a p p 系统。当

温馨提示

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

评论

0/150

提交评论