[转贴]面向cscw的cad/cam系统设计 作者:softfans 时间:2007-6-15 16:45:00
第 1 楼
在并行工程环境下,产品的开发强调多学科专家的协同工作,在设计的每一环节考虑各种因素,形成一种群组工作模式。传统的cad/cam集成系统一般工作在单机环境下,实现信息的集成。而随着计算机网络技术、多媒体技术的发展,多学科专家已经能够克服距离、时间、异种计算机设备等的阻碍,可以“虚拟同地”的一起工作,形成一种分布式协同设计方式。传统的单机、面向信息集成的cad/cam系统已不能满足要求,分布式环境要求cad/cam系统可以克服地域和领域的差异,实现功能和设计过程的交互。
计算机支持协同工作(cscw)是研究群体如何工作,探讨各种技术如何支持群体活动的一个新的研究领域。它为协同设计的实现提供了有力的环境和技术支持。cscw环境下的cad/cam系统除了强调功能和信息的集成外,更偏重于对协同活动的支持。这些支持包括小组间的通信、数据和知识的交互、设计的同步以及过程和行为的协调等。因此,必须在传统cad/cam系统的基础上,对系统的结构和系统内各功能模块加以改造,并引入新的理论和技术,才能适应协同设计的需求。
1 实现分布式协同设计的方法和步骤
为了实现协同设计的全局目标,cad/cam系统必须实现4个不同层次上的协同(见图1),即结构层、协同应用层、通信层和数据层[1]。
(1)结构层 系统的组织结构必须与协同的设计活动相适应。协同设计需要各方能方便地进行交流。传统的系统模型大多是面向职能的,系统中各模块的职能和任务事先已确定。除一些数据可以共享外,各模块间缺乏交互,不适应协同设计需求。因此我们需要引入新的系统建模方法,对系统中各模块的结构和功能进行调整。
[img]http://img.hc360.com/mt/info/images/200612/2006122910.GIF[/img]
(2)协同应用层 协同设计中的各功能小组(cad、capp、cam)应能实现数据和功能上的交互,能了解其它相关小组的工作状态,能充分利用cscw支持平台所提供的各种工具,包括约束管理、冲突协调、方案评价等,共同完成协作任务。
(3)通信层 使各设计成员在设计过程中能够方便地交流信息,主要通过网络技术来实现。为了满足并行工程中复杂的交互要求,需要提供定向的、组播式(multicast)的、能够以不同的服务质量qos和优先级传输不同媒体的通信手段。系统中应提供信息交换的工具,如e-mail、文件共享和视频会议系统等。
(4)数据层 系统中的产品模型是实现协同设计的基础。由于不同的功能小组处理的产品数据在内容和表示上的不同,要实现数据层的协同就需要建立相应的数据交换标准,并构建全局相关的产品数据库,满足各设计小组对产品信息内容和结构的需求。
2 系统功能模型
分布式的协同设计是由异地不同领域工作小组共同参与完成的。系统必须克服地域的限制实现各小组之间信息的交互、知识的处理、各类数据格式的转换、设计过程和结果交互等。传统的集中式的系统结构已不能适应分布式设计的需求。近年来,代理概念的引入较好地解决了分布式系统中的通信和交互问题。代理是一种抽象的功能实体,如cad、cam都可以看作是一个代理。它可以对周围的环境变化自动感知并采取相应的动作。它与一般应用程序之间的不同在于代理具有通信接口,可以与其它代理交换信息,以达到协同工作的目的。每个代理都具有一定的属性,都能通过某些方法和事件来实现一定的功能。代理的自感知能力是通过消息机制来实现的。在多代理模型中,每发生一个事件都会产生一定的消息,当消息条件满足时,相应代理就被激活,产生相应的动作。
作者:softfans 时间:2007-6-15 16:46:00
第 2 楼
代理的内部结构一般应包括网络接口、通信接口、知识库、数据库、任务模块和协调模块。
对于工程应用领域的代理,他们更强调知识的交流和设计过程、结果交互。因此需要采用智能的协调控制手段。黑板结构作为人工智能领域的一种常用手段,可以通过对知识源的引用对设计活动进行控制,被广泛应用于工程领域。因此也可以用在代理结构中作为协调手段。图2显示了一个工程代理的模型,主要包括:
(1)接口 对交互信息按消息协议进行封装后发送给其它代理,其它代理发来的消息经过解析得到有意义的内容。
(2)知识库和数据库 存放与代理活动相关的本地知识和数据。
(3)黑板 是外界的消息内容和各功能单元工作过程的中间信息的存放区,使外界的消息内容可被各功能单元使用,各功能单元之间可以交换数据,了解其它代理的工作状态。
(4)功能组 代理的功能实现模块,可以是一个子代理,也可以包含其它功能和代理。
[img]http://img.hc360.com/mt/info/images/200612/2006122911.GIF[/img]
2.2 基于代理的系统模型
对于分布式的工程cad/cam系统,由于各功能模块都包含有大量的数据和相关知识,他们在内容和格式上都存在很大的差异,采用分布式多代理模型很难保证数据一致性,每个代理都需要编制与其它代理的数据转换接口,由于设计数据的动态性,将使这个工作面临很大的困难[2]。而采用集中式的方法虽然能解决数据一致性的问题,但功能和数据的集中使系统的灵活性大大降低,尤其是网络负担随着任务的增加将成倍的增长,协作效率较差。 因此对于cad/cam系统需要建立一个分布式与集中式相结合的多代理模型,以提供一个通用性强,能够克服网络和其它硬软件异构性障碍,组合灵活、工作高效的面向cscw的协同设计环境[3]。图3为cscw环境下的多代理cad/cam系统模型。它采用一个动态的中心数据库以标准的格式来保存全局相关的数据,而局部数据保存在相应的代理模块中。中心数据库管理系统中包含有与各代理进行数据交换的转换接口,当代理间需要数据交互时,通过中心数据库的转换来实现。
该系统的设计主要包括:①对各功能模块(cad、cam)的功能和结构进行重组,添加相应的通信功能、知识数据处理模块、黑板结构等,使其转化为一个工程代理模型;②构建协同设计的工作环境,实现代理间信息和设计结果的交互、协同机制的管理以及对全局共享数据的管理,并提供给各代理形式多样的交互工具如e-mail、电子会议、共享白板等;③对协同设计活动的载体——产品信息模型进行处理,使其适应协同分布式的计算机环境。
[img]http://img.hc360.com/mt/info/images/200612/2006122912.GIF[/img]
作者:softfans 时间:2007-6-15 16:46:00
第 3 楼
知识库数据库模块一方面完成代理内部数据和知识的管理,一方面与全局数据库、知识库交互,完成信息的传递与转换。在知识库中存有与设计相关的设计信息和约束信息,用来指导设计过程的进行。
局部黑板用来对各代理的设计过程进行控制,它可以保存代理的设计过程信息,其它代理也可以对黑板内容进行查看,并将设计要求粘贴到黑板上。由于设计要求与设计过程可能发生冲突,因此,黑板应具有求解功能,可以对知识库和数据库进行引用,通过约束满足的方法来判断冲突是否发生。如果存在未被满足的约束,则执行一个约束谈判功能,谈判结果可能某一方放松约束或采用其它设计方法避免冲突的产生。
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等小组的协同设计。