计算机支持协同工作(CSCW)是研究群体如何工作,探讨各种技术如何支持群体活动的一个新的研究领域。它为协同设计的实现提供了有力的环境和技术支持。CSCW环境下的CAD/CAM系统除了强调功能和信息的集成外,更偏重于对协同活动的支持。这些支持包括小组间的通信、数据和知识的交互、设计的同步以及过程和行为的协调等。因此,必须在传统CAD/CAM系统的基础上,对系统的结构和系统内各功能模块加以改造,并引入新的理论和技术,才能适应协同设计的需求。
1 实现分布式协同设计的方法和步骤
为了实现协同设计的全局目标,CAD/CAM系统必须实现4个不同层次上的协同(见图1),即结构层、协同应用层、通信层和数据层[1]。
(1)结构层 系统的组织结构必须与协同的设计活动相适应。协同设计需要各方能方便地进行交流。传统的系统模型大多是面向职能的,系统中各模块的职能和任务事先已确定。除一些数据可以共享外,各模块间缺乏交互,不适应协同设计需求。因此我们需要引入新的系统建模方法,对系统中各模块的结构和功能进行调整。
(2)协同应用层 协同设计中的各功能小组(CAD、CAPP、CAM)应能实现数据和功能上的交互,能了解其它相关小组的工作状态,能充分利用CSCW支持平台所提供的各种工具,包括约束管理、冲突协调、方案评价等,共同完成协作任务。
(3)通信层 使各设计成员在设计过程中能够方便地交流信息,主要通过网络技术来实现。为了满足并行工程中复杂的交互要求,需要提供定向的、组播式(Multicast)的、能够以不同的服务质量QoS和优先级传输不同媒体的通信手段。系统中应提供信息交换的工具,如E-mail、文件共享和视频会议系统等。
(4)数据层 系统中的产品模型是实现协同设计的基础。由于不同的功能小组处理的产品数据在内容和表示上的不同,要实现数据层的协同就需要建立相应的数据交换标准,并构建全局相关的产品数据库,满足各设计小组对产品信息内容和结构的需求。
2 系统功能模型
分布式的协同设计是由异地不同领域工作小组共同参与完成的。系统必须克服地域的限制实现各小组之间信息的交互、知识的处理、各类数据格式的转换、设计过程和结果交互等。传统的集中式的系统结构已不能适应分布式设计的需求。近年来,代理概念的引入较好地解决了分布式系统中的通信和交互问题。代理是一种抽象的功能实体,如CAD、CAM都可以看作是一个代理。它可以对周围的环境变化自动感知并采取相应的动作。它与一般应用程序之间的不同在于代理具有通信接口,可以与其它代理交换信息,以达到协同工作的目的。每个代理都具有一定的属性,都能通过某些方法和事件来实现一定的功能。代理的自感知能力是通过消息机制来实现的。在多代理模型中,每发生一个事件都会产生一定的消息,当消息条件满足时,相应代理就被激活,产生相应的动作。
2.1 工程代理结构
代理的内部结构一般应包括网络接口、通信接口、知识库、数据库、任务模块和协调模块。
对于工程应用领域的代理,他们更强调知识的交流和设计过程、结果交互。因此需要采用智能的协调控制手段。黑板结构作为人工智能领域的一种常用手段,可以通过对知识源的引用对设计活动进行控制,被广泛应用于工程领域。因此也可以用在代理结构中作为协调手段。图2显示了一个工程代理的模型,主要包括:
(1)接口 对交互信息按消息协议进行封装后发送给其它代理,其它代理发来的消息经过解析得到有意义的内容。
(2)知识库和数据库 存放与代理活动相关的本地知识和数据。
(3)黑板 是外界的消息内容和各功能单元工作过程的中间信息的存放区,使外界的消息内容可被各功能单元使用,各功能单元之间可以交换数据,了解其它代理的工作状态。
(4)功能组 代理的功能实现模块,可以是一个子代理,也可以包含其它功能和代理。
2.2 基于代理的系统模型
对于分布式的工程CAD/CAM系统,由于各功能模块都包含有大量的数据和相关知识,他们在内容和格式上都存在很大的差异,采用分布式多代理模型很难保证数据一致性,每个代理都需要编制与其它代理的数据转换接口,由于设计数据的动态性,将使这个工作面临很大的困难[2]。而采用集中式的方法虽然能解决数据一致性的问题,但功能和数据的集中使系统的灵活性大大降低,尤其是网络负担随着任务的增加将成倍的增长,协作效率较差。 因此对于CAD/CAM系统需要建立一个分布式与集中式相结合的多代理模型,以提供一个通用性强,能够克服网络和其它硬软件异构性障碍,组合灵活、工作高效的面向CSCW的协同设计环境[3]。图3为CSCW环境下的多代理CAD/CAM系统模型。它采用一个动态的中心数据库以标准的格式来保存全局相关的数据,而局部数据保存在相应的代理模块中。中心数据库管理系统中包含有与各代理进行数据交换的转换接口,当代理间需要数据交互时,通过中心数据库的转换来实现。
该系统的设计主要包括:①对各功能模块(CAD、CAM)的功能和结构进行重组,添加相应的通信功能、知识数据处理模块、黑板结构等,使其转化为一个工程代理模型;②构建协同设计的工作环境,实现代理间信息和设计结果的交互、协同机制的管理以及对全局共享数据的管理,并提供给各代理形式多样的交互工具如E-mail、电子会议、共享白板等;③对协同设计活动的载体——产品信息模型进行处理,使其适应协同分布式的计算机环境。
2.2.1 协同的设计环境
协同的设计环境为各代理提供了一个协同的设计空间和多样的协同工具。由于群组设计活动需要处理多方面的问题,包括冲突解决、版本管理、决策支持、异构数据处理、不同领域知识的处理等,因此,需要将系统的结构和功能细化,可由3个子代理和一个黑板结构构成协同的设计环境。他们分别实现一个或多个具体的功能。
数据库代理 实现系统中数据库的管理,包括各局部数据库与系统中的全局产品数据库的交互,以及各子代理中的局部数据库之间的交互。它需要对不同数据存储格式、不同操作标准的数据库系统进行处理。
知识库代理 对系统中的各知识库进行管理和维护,并使不同专业领域之间的专家知识得到共享,包括对知识表示的处理,对不同专业术语的解释等。
协作工具代理 提供给各代理形式多样的交互工具,如E-mail、电子会议、共享白板等。其中涉及各方面的知识,包括网络、多媒体等。
黑板 协同设计环境中的黑板主要存储各代理产生的设计结果(也可能是中间结果),它将设计过程看作是一个产生部分解,并由部分解组合出满意解的过程。通过对知识源的引用,可以对黑板的内容进行操作,实现设计结果的求解。
2.2.2 CAD、CAM代理结构设计
传统的CAD/CAM系统由于缺乏通信功能和对协同活动机制的管理,很难实现功能和设计过程的交互,只能通过信息的集成和共享实现设计结果的交流,无法实现设计的微循环,并行效果差。协同环境下基于代理结构的CAD、CAM模型引入了人工智能、分布式处理等技术,对传统的CAD、CAM的功能和结构进行了扩充和完善。
协同设计的目的在于在产品的初始设计阶段就考虑到后续的工艺和加工需求,避免重复设计。因此,设计中的协同活动大多发生在CAD阶段。这就要求CAD系统不只是考虑产品的几何结构设计,而且要能考虑到工艺和加工因素,即实现各代理之间的功能交互。要实现这一点,必须在CAD阶段对设计过程进行控制,使CAPP及CAM人员能够参与到产品的设计当中,可以采用相互之间信息的传递、知识共享的方法或讨论方式来指导设计人员的行为。这就要求各模块具有代理的基本结构和功能,即添加通信模块、知识库数据库模块和局部黑板。
通信模块实现代理与协同环境以及代理之间的信息和数据的传递。当某一代理在设计过程中需要其它代理的协作,即可通过该模块发出消息,来激活相应的模块。
知识库数据库模块一方面完成代理内部数据和知识的管理,一方面与全局数据库、知识库交互,完成信息的传递与转换。在知识库中存有与设计相关的设计信息和约束信息,用来指导设计过程的进行。
局部黑板用来对各代理的设计过程进行控制,它可以保存代理的设计过程信息,其它代理也可以对黑板内容进行查看,并将设计要求粘贴到黑板上。由于设计要求与设计过程可能发生冲突,因此,黑板应具有求解功能,可以对知识库和数据库进行引用,通过约束满足的方法来判断冲突是否发生。如果存在未被满足的约束,则执行一个约束谈判功能,谈判结果可能某一方放松约束或采用其它设计方法避免冲突的产生。
2.2.3 产品模型处理
产品的各种设计信息的交换是进行协同设计的基础,在基于代理的CAD/CAM系统中,包含有两种产品模型:一个是集成的产品信息模型,它为产品生命周期的各个环节提供产品的全局相关信息;另一个是局部信息模型,用于代理内部的信息处理。两者之间通过应用协议相联系。所谓应用协议是一份文件,用以说明用何标准对集成的产品数据模型进行解析,以满足应用需要。
特征技术和STEP标准是建立协同系统产品模型的技术基础。特征的使用使产品模型不仅包含有CAD的几何、拓扑信息,更重要的是包含了特定的工程信息,使产品模型可以满足设计、制造活动中各个阶段和各种应用的需求。基于广义特征建立产品生命周期内的集成产品信息模型,广义特征包括产品开发过程中全部特征信息,如用户要求、产品功能、设计、制造、材料、装配、费用和评价等特征信息,然后通过STEP标准,采用Express语言描述和表达产品信息模型。在STEP标准制定的过程中,广泛吸取了PDES、IGES和CAD*I等研究工作中的经验和技术,它能完整地表示产品数据并支持广泛的应用领域,包括产品生存期内各个环节,这是与其它标准的最大区别。通过STEP标准可以将全局的产品信息模型与各代理内部的局部产品信息模型联系起来。具体的应用代理很难采用全局模型中的全部内容,一般只是全局模型的一个子集。该子集是通过STEP标准中的应用活动模型、应用参考模型与应用解释模型来实现的[4]。子集不是将全局资源分割出来,而是通过应用解释模型来认定其中的部分。根据应用领域的需要,由有关专家对领域的过程及其信息流作出描述称为应用活动模型(Application Activity Model,AAM)。应用活动模型是一种功能模型,可以用IDEF0方法加以描述,要列出活动的输入、输出、控制与机制(ICOM)。有了AAM以后,再根据AAM定义出应用协议的信息需求与约束,即为应用参考模型(Application Reference Model,ARM)。对ARM的描述,可采用的信息建模语言,如IDEF1或EXPRESS,然后由应用解释模型(Application Interpreted Model,AIM)对应用参考模型和集成资源进行协同。AIM采用EXPRESS语言,它认定或改动集成资源以满足应用参考模型的信息需求。通过特征技术和STEP标准,可以使各应用代理的产品信息需求得到满足,并克服了集中式系统和分布式系统的缺陷,减小了网络负担,解决了数据一致性的问题,较好的适应了分布式CAD/CAM系统的需求。
要真正实现一个实用的协同产品设计系统,还需要大量的技术和工具支持,如推理技术、过程控制、决策支持以及谈判模型等,因此协同CAD/CAM系统的研究还需进一步深化。目前我们正在WINNT平台上进行协同环境的开发,并利用UGII二次开发工具,开发了一套基于特征的产品设计系统,实现CAD、CAM等小组的协同设计。