论文部分内容阅读
计算机支持协同工作(Computer Supported Cooperative Work——CSCW)是一种将人类合作行为模式与计算机支持技术融合为一体的新兴技术,即在计算机技术支持的环境下,一个群体协作完成一项共同的任务。计算机支持的协同设计(CSCD)是计算机支持的协同工作中的一个重要领域,将协同工作的理论应用于设计系统就是计算机支持的协同设计。主要研究如何利用计算机网络对多人参与的协同设计工作和所涉及的数据和设计过程进行组织、管理和协调。本文在国内外相关研究的基础上,重点探讨了多代理协同体系结构、基于区域对象划分的协同控制策略和在AutoCAD系统上实现协同设计的方法,并基于AutoCAD实现了一个同步的协同设计系统。本文首先对计算机支持的并行工作(CSCW)作了简要介绍,然后介绍了针对AutoCAD进行二次开发可采用的技术(SCR、AutoLISP、ADS、Object ARX、VBA),重点介绍了本系统采用的Object ARX技术,并根据本人的实际开发经验对使用Object ARX开发AutoCAD系统所需要注意的几点事项作了简要说明。本文重点讨论了针对并发操作的各种协同机制。用户并发操作的冲突主要是对各种系统共享资源操作的冲突,系统资源有三种级别的共享方式:表示级共享(紧耦合):对于公共信息区的同一信息为用户提供统一的显示输出方式;视图级共享(中等耦合):每个用户使用的显示数据相同,但显示方式不同;对象级共享(松耦合):每个用户使用的显示数据都不相同。本文对四种常用的并发操作协同机制(发言权控制机制、基于对象的锁控制机制、操作转换机制和串行化机制)作了详细介绍和分析,然后根据企业(机械工业部第九设计研究院)的实际情况提出了工作任务的局部性原理,并结合基于对象的锁控制机制,提出了基于工作区域对象的并发操作协同机制。工作任务的局部性原理是指:一项复杂工作的完成需要多学科知识的综合运用,由于每个人都有其知识领域的局限性,所以从整个工作的角度看,每个人的工作都只完成了整个工作的一个局部,从整个的虚拟工作空间看,每个人的工作活动范围都只限定于一定的局部区域。也可以说是由于人们知识领域的局限性,才导致了其工作任务的局部性。 <WP=68>工作区域是把共享的虚拟工作空间依据某种原则划分为若干个在一定程度上相互独立的虚拟工作区域,工作区域是对虚拟工作空间的一个划分,而不是覆盖。每个虚拟工作区域只能从属于一个用户,每个用户只在从属于自己的工作区中有操作权,而在其它工作区只能有观察权。只有该区域所从属的用户对该区域的操作客体对象有操作的权利,其他用户只能有观察的权利,从而避免了对共享客体对象操作冲突的发生。每个用户在自己的领域内的各种操作都会产生其所期望的正确结果。在这种基于工作区域对象的并行操作协同机制下,也同时划分了每个员工的工作责任区,保证了出现错误时工作责任的明确,从根本上消除了当错误出现时互相推诿工作责任的现象。工作区域对象只是一个抽象的概念,在涉及到具体的协同应用时,可以对应到不同的应用程序级的概念,在AutoCAD系统中可以把工作区域对象映射到AutoCAD的图层对象。虚拟工作空间是整个图形文档数据库,图形文档数据库由若干个图层对象组成,所有的图形实体对象都存在于图层上,而且图形实体对象不能同时存在于两个或两个以上的图层,图层对象完全满足虚拟工作区域对象的要求,所以在AutoCAD系统中可以采用图层对象作为虚拟工作区域对象。本文还重点讨论了协同系统的三种结构模型,即集中式结构、分散式结构和混合式结构。集中式机构由服务器集中负责整个系统的管理、控制和调度,客户机只有应用工具、用户界面等模块,负责与用户的交互;分散式结构遵循每个程序模块均处于同等地位,没有主从之分,与系统相关的控制和管理模块,同样也分散在各客户端;混合式结构由服务器和客户端共同完成系统的管理、控制和调度等,服务器实现信息的一致性维护、用户管理和全局信息的管理等功能,而客户端实现与用户的交互,以及其它一些可以在客户端完成的工作,如基本的权限检查等。单纯的集中式和单纯的分散式结构都不能较好地满足协同工作的需要,集中式容易使服务器成为系统瓶颈,分散式占用资源比较多,且一致性维护比较困难。混合式集集中式和分布的优点于一体,它在数据一致性、用户动态连接性、慢速网络的支持等方便都有很好的表现,本系统采用了混合式的结构。 <WP=69>在第五章,本文提出了系统的实现方案。在这一部分本文介绍了系统的功能:为企业员工的协同设计工作提供一个网络支撑平台,并对用户的领域应用(AutoCAD)进行整合,使用户能够方便地使用AutoCAD完成协同设计工作,保证设计过程中的数据一致性、结果正确性等,然后分别介绍了系统的服务器和客户端所要实现的功能。在该系统的详细介绍部分,首先介绍了全局共享数据的存储管理方式——采用Oracle数据库进行管理,和需要管理的全局数据以及这些数据在系统中所起的作用等;然后详细介绍了系统服务器的实现方案、功能接口和程序模块结构,对服务器的各个功能模块和服务器提供给客户端的功能接口作了详细介绍;最后详细介绍了客户端的