技术开发 频道

基于组件的开放式CAD系统模型

    2 组件技术的引入

    面向对象模型比以往的模型有了很大的进步,但仍有不足:对象之间的联系是一种点对点的直接联系,当系统中对象数目增加时,通讯链接数将以平方级激增;同时,为支持通讯,每个对象实体都要维护一个包含所有对象实体功能服务信息的功能服务信息库,这部分信息不但重复,而且还要保证其一致性.这些开销都损害了系统的效率.更大的问题还在于:对象的接口没有一致的标准,造成向系统中扩充对象时的随意与不规范,不利于系统的维护以及对象的复用.为此,我们引入组件技术(Component Technology),引入该技术后,系统的整体模型如图4所示。

    组件技术是继面向对象技术之后发展起来的一种新的软件工程技术,是面向对象技术的延伸.基于组件的系统模型仍然是一种面向对象的结构,但系统中的对象是按照规范设计的模块,这些定义良好的软件模块(称为组件Component)在系统中共存,并且充分地相互作用.按照这种结构,可以将若干组件组合起来,以建立更大和更复杂的系统。

    这种模型的关键在于一种高效的总线结构,使组件之间能以一个公共的接口互相连接,做到组件的即插即用,无缝集成.这种模型的系统中,组件间的通讯链接数是线性的,并且由于各组件接口规范的一致性,通讯的复杂度大大下降,也提高了组件的互操作性。

    根据组件在系统中地位的差异,CAD系统中的组件可以分为两个层次:核心组件和应用组件.核心组件是CAD系统必不可少的组成部分,如用户交互组件和几何造型组件,它们和系统总线一起构成了CAD系统核心.应用组件是根据不同应用领域需求开发的外围模块,如机械设计组件、建筑设计组件,可任意插拔,与CAD系统核心一起组成专业领域内的应用CAD软件。

    相对于核心组件来说,应用组件所要求的系统服务要少得多,请求服务的频度也较低,根据这些特点,我们设计了一种双总线结构,辟出一条应用总线来专门支持应用组件,应用总线和核心总线相通,核心组件和应用组件之间仍然保持良好的互操作性,但应用总线屏蔽了应用组件的一部分服务请求,减少了核心总线上的流量,从而提高了CAD系统核心的效率.引入应用总线后的详细系统模型如图5所示。

 

 
    3 系统模型内部结构

    3.1 总 线

    总线提供组件之间通讯的透明机制.总线对外提供一致的接口规范,每个新加入的组件都要向总线注册其功能服务信息,并在退出时注销其功能服务信息.当一个组件要请求另一个组件的服务时,总线负责查询功能服务信息库,定位提供此服务的组件,并传送此服务请求。

    3.2 核心组件

    该模型框架中有如下核心组件:对象库、执行自动机、交互服务器、数据库管理器和数据转换器。

    *对象库 (Object Library)

    对象库作为系统的几何引擎,由一组对象类组成,其中包括几何实体类、造型算法类、图形实体显示类和几何实体选择类.这些类封装了CAD系统最基本的几何造型和图形显示功能。

    *执行自动机FSEA(finite state execution automat)

    执行自动机是系统的执行引擎,它是一个有限状态自动机,在交互服务传送来的事件的驱动下,从系统状态空间的一个结点转移到状态空间的另一个结点,自动机状态转换的过程也就是CAD系统运行的过程。

    *交互服务器(Interactive Services)

    交互服务器是系统的对话引擎,包含了所有实现用户界面的资源,包括系统运行的图形交互环境、界面资源库、界面定义宏语言解释器.图形交互环境负责人机交互,用户可以通过界面定义宏语言控制图形界面的布局,并定制界面元素的外观和功能。

    *数据库管理器(Database Management)

    这是系统的数据管理和访问引擎,提供对CAD数据库中的永久性数据的存取和访问操作支持,包括数据的一致性保护、共享、并发访问控制。

    *数据转换器(Data Translation)

    作为开放的系统模型,提供对数据开放性的支持是必须的.模型中的数据转换器提供了本系统内部数据格式与其他CAD系统数据格式的转换功能.该转换器对外有两个接口:一个是工业标准接口,通过此接口,将内部数据转换成符合工业标准的数据格式;另一种是直接转换接口,通过此接口,内部数据被转换成某一特定CAD系统的数据格式。

 

0
相关文章