CATIAV5组件体系结构分析及其软件工程思想

上传人:公**** 文档编号:496522713 上传时间:2023-12-22 格式:DOCX 页数:6 大小:89KB
返回 下载 相关 举报
CATIAV5组件体系结构分析及其软件工程思想_第1页
第1页 / 共6页
CATIAV5组件体系结构分析及其软件工程思想_第2页
第2页 / 共6页
CATIAV5组件体系结构分析及其软件工程思想_第3页
第3页 / 共6页
CATIAV5组件体系结构分析及其软件工程思想_第4页
第4页 / 共6页
CATIAV5组件体系结构分析及其软件工程思想_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《CATIAV5组件体系结构分析及其软件工程思想》由会员分享,可在线阅读,更多相关《CATIAV5组件体系结构分析及其软件工程思想(6页珍藏版)》请在金锄头文库上搜索。

1、CATIA V5 组件体系结构分析及其软件工程思想西安飞机工业公司信息技术处CATIA组 冯潼能摘要 CATIA V5 是法国达索公司与IBM公司开发的新一代CAD/CAM产品。不同于老一代CAD/CAM产品,它采用了全新的、基于组件的开放式体系结构(Open Architecture Products)。应用了许多现代软件工程思想,整个体系结构虽然十分庞大,但结构清晰、合理。维护、开发、扩展方便。有着相当优良的扩展性能。它开放的组件应用架构允许更多的第三方供应商针对用户的需要特别定制的应用解决方案。本文着重分析了CATIA V5的基础体系结构(Architecture Infrastruct

2、ure)及其软件工程思想。以期对CATIA V5的学习和二次开发以及理解其它基于相同体系结构的软件如:ENOVIA LCA,DELMIA等有所帮助。关键词:CATIA V5,组件、软件工程,CAACAD/CAM产品已由原来单纯的绘图、建模工具向专用设计、制造、知识管理工具以及产品生命周期管理延伸。体系日趋庞大,且新生的需求不断涌现。如果没有合理的体系结构和软件工程技术,随着功能的不断增加,势必造成结构混乱,难以扩展。这也是上一代CAD/CAM体系结构存在的主要问题。CATIA V5在开发之初就遵循面向对象的设计思想(OO),构建了完全基于组件的体系结构(PPR: Products,Proces

3、s,Resource),有效地解决了维护、管理、扩展的困难,并大量使用了最新的计算机技术和标准以及软件工程技术,其中包括基于组件架构思想的JAVA BEAN 、COM/OLE、CORBA 技术和Web技术、C+语言、Visual Basic Journaling 、STEP-SDAI、XML、OpenGL等,这使CATIA V5具有与众不同的鲜明的特点:数据结构单一,各个模块全相关,某些模块之间还是双向相关;端到端的集成系统,拥有强大的专业应用扩展能力。1软件组件结构(SCI: Software Component Infrastructure)的基本概念软件组件结构(SCI)是软件工程继过程

4、模型和面向对象模型的下一代逻辑模型。面向对象技术已在许多重要应用中取得成功。但是,随着更多面向对象解决方法的开发和使用,很显然的是,单单采用面向对象技术难以与软件日益增长的复杂性抗衡。因为,对象只构成应用程序的一部分。它完全不能把握应用程序的结构(控制流)。只能通过重用类库里有的类来实现有限的重用。但实际情况是,大量应用程序,特别是同一领域(DOMAIN)中的应用程序,分享相似的结构。不同的程序员使用不同的技术去把握和实现这些相似的结构。结果,这些结构并没有经过通常的面向对象技术而被重用。面向对象技术只能通过重用类库已有的类来实现有限的重用,而软件组件结构(SCI)提供了最高层次的代码重用。软

5、件组件结构(SCI:Software Component Infrastructure)有三个基本的概念:框架(FRAMEWORK)、组件(Component)和对象总线(Products Bus)。组件(Component):是软件的基本量子(单元)。组件既应当足够小,以便于维护;又应足够大,可具备相当的功能,可以被打包和插用。由于传统的客户/服务器应用不能应付软件应用日益增加的复杂性。它们不能加入到即插即用的环境之中。组件的特征提供了将一个应用程序分成若干个组件的机制。每个组件提供了一个相当专门的功能,它向框架的其余部分描述自己,以便别的组件能够访问它的功能。描述是通过说明性语言如IDL实

6、现的,它本质上是把组件的接口与实现分离开来。由于组件是可单独维护、升级的,因此,组件不直接与别的组件通信是至关重要的。它必须通过使用框架或对象总线来实现组件之间的交互。框架(FRAMEWORK):框架提供对所有应用程序有用的功能(如接口、存储)。它提供了统一的总设计。框架是对相似应用程序集合的一个部分(统一但不完整)解决方案。开发者的任务是用这不完整的解决方案加上必要的代码建立完整的应用。在领域(DOMAIN)内的一个应用包括不变部分和可变部分。不变部分由框架把握,一般可占到80%,可变部分由开发者把握,一般可占到20% 。开发者通过向框架添加变化部分的代码把握其动作,而形成新的特定应用。框架

7、根据是否针对特殊领域还是若干领域,可分为水平框架、垂直框架、复合文挡框架。对象总线:对象总线是基本的中间件。它允许成千上万能够相互理解接口定义语言IDL的对象相互发生作用。这种作用对对象来说是完全透明的。对象总线把组件和框架的能力扩展到开放网络和其它伙伴应用程序。它使成千上万独立的软件单元在由不同操作系统、语言、硬件平台和编译工具组成的环境下互相无缝地交互运作。对象总线不仅提供对象之间的连接,它还提供对在总线上所有对象都有用的核心服务集(对象服务)。如:生命周期服务程序、安全性、持久性、命名等。通过组件构造/修改软件,用框架把握软件结构,用对象总线连接事务,支持即插即用(Plug Play)功

8、能的扩展。2CATIA V5体系结构(Architecture Infrastructure) CATIA V5的体系结构(Architecture Infrastructure)是一种面向行业应用的垂直框架体系结构,组件是CAD/CAM系统的各种几何特征和管理、分析单元。框架是一些应用如:2D/3D建模、分析、混合建模、制图、数控加工等,CATIA V5也称为领域(DOMAIN)或应用(APPLICATION)。并通过3D PLM PPR(PRODUCTS,PROCESS, RESOURCE)HUB产品总线连接起来。其架构如下图:图1CATIA V5 的一些框架: Framework Adm

9、inistration Framework AdvancedMathematics Framework AdvancedTopologicalOpe Framework AnalysisMeshingModel Framework ApplicationFrame Framework AutomationInterfaces Framework BasicTopologicalOpe Framework CATAnalysisBase Framework CATAnalysisGPSInterfaces Framework CATAnalysisInterfaces Framework CAT

10、AnalysisResources Framework CATAnalysisVisuInterfaces Framework CATAssemblyInterfaces Framework CATFunctSystemItf Framework CATHVDiagramInterfaces Framework CATHullConceptualInterfaces Framework CATIAApplicationFrame Framework CATIAV4Interfaces Framework CATMatInterfaces 框架通过公用接口来实现对象之间的交互。下图是混合建模(H

11、ybridShape)的部分对象及其继承关系。3CATIA V5体系结构的特点分析CATIA V5采用了多种支持组件技术的软件技术如:JAVA、COM/DCOM、CORBA等,内部模块全部采用CNEXT(CATIA 内部使用的一种C+语言)实现,结构单一。提供了多种开发接口,支持C+/JAVA、Automation API ,支持各种开发工具:CAA C+,JAVA ,VB,脚本语言。采用单继承,对象之间关系明确,体系结构严谨,维护容易。根据CAD软件的特点和实际需要,CATIA 的设计模式比较简单,主要有工厂模式、层模式等。在面向对象的编程中,工厂模式是一种经常被使用到的模式。根据工厂模式实

12、现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。图2CATIA中的具体实现如下例所示:如要做一条垂直于曲面的线,由对象继承关系如下+-CATBaseUnknown | +-CATBaseDispatch | +-AnyObject | +-HybridShape | +-Line | +-HybridShapeLineNormal工厂的继承关系:+-CATBaseUnknown | +-CATBaseDispatch | +-AnyObject | +-Factory | +-HybridSh

13、apeFactory先在HybridShapeLineNormal对象设定做这条线的属性参数如:点、参考面,在公共抽象层Line中设定线的共同属性如坐标、法矢等,然后调用HybridShapeFactory中的AddNewLineNormal方法进行对象实例化。CATIA V5 的产品总线PPR不是真正意义上的对象总线,缺乏真正对象总线的一些特征。它主要注重其它伙伴应用如EVOVIA LCA、DELMIA的互操作和集成,因此称之为“产品总线”。产品总线分层的,如机械设计基于Mechanical Modeler&Sketcher,产品功能定义、EBOM、DMU, 知识工程等与Mechanical

14、 Modeler&Sketcher基于3D PLM PPR HUB OPEN GATEWAY 而文档管理,PDM应用集成,配置管理等基于3D PLM ENTERPRISE ARCHITECTURE。(见图1)并且全部应用都是基于CORBA,DCOM或J2EE之上。以实现真正意义上的对象总线功能。4体会与总结:CATIA V5 面向对象和基于组件的体系结构很好地实现了面向对象(OO)设计原则中的Abstraction(抽象)、Encapsulation(封装)、Modularity(模块化)Hierarchy(分层),为CATIA V5日后的发展和伙伴及专用应用程序的开发奠定了良好的基础。用户可

15、使用各种开发工具,甚至简单的脚本语言来开发自己的应用。分析掌握CATIA V5的组件体系结构对CATIA V5及其伙伴应用的开发应用有着重要的意义。笔者进行过不多的应用开发,已深深的体会到它功能的强大和结构的清晰以及完美可扩展性,但也发现一些缺陷:1 由于过度注重结构的清晰和完全的面向对象设计。CATIA V5均采用单继承的方式,对象之间不能直接关联,这样就割裂了一些几何元素天然的联系,造成许多的应用不便。如在CATIA V4中是根据点、线、面、体、实体来构建零件点、线、面、体、实体之间存在着天然的联系,因此可以直接测量点的坐标和法矢。而在V5中由于是完全面向对象设计和单继承,点是完全独立的只能通过参考元素与线、面发生有限的联系,单独的点是不可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号