三维协同设计的多用户并发交互技术研究

2022-09-10

协同设计本身并不陌生[1], 但是随着网络技术的快速发展, 协同设计的概念得到了回归并重新定位, 即如何利用网络信息技术来支持协同设计。在国外波音7 7 7的数字化设计以及国内8 6 3计划航空C I M S应用示范工程中都不同程度地体现了协同设计的这种方法和哲理。利用多用户三维协同设计工具, 物理地点上分散的多个设计人员可以突破距离上的限制, 直接在共享工作空间中对产品的三维模型进行观察、修改和设计, 从而使协同设计活动变得直观、简单和高效。

在多用户并发交互方式下, 每个人的思想都可以得到充分解放。这在协同设计中非常重要, 只有把所有人的想法表达出来, 才能集思广益, 使设计决策更加科学和民主。但是现有三维协同设计系统普遍缺乏多用户并发交互的能力。简言之, 协同交互设计的一个出发点就是要构造自然和谐的协同交互环境, 在多人之间进行沟通和了解, 互相启发, 激发创造性灵感。

1 三维协同设计中的多用户并发交互方法总体框架

为保证三维协同设计多用户之间自然、和谐和方便的交互, 一是要求三维协同设计系统的主要功能不低于单用户系统, 这需要将3 D-C A D应用和数据进行复制式配置;二是要有较好的响应性和并行性, 这要求各个用户的操作先在本地执行, 然后通过相互交换操作事件到异地执行。由于各个站点交换的是用户操作事件, 而不是复杂的几何数据, 从而减轻网络负担, 提高实时性。

各个复制式3D-CAD站点通过交换操作事件来实现协同工作, 这要求在协同设计过程中通信部件总是正确无误地联接到物理网络上。但是由于各站点物理距离不同、各网段负载差异、以及数据包丢失而不得不重发等原因, 事件延迟和乱序不可避免。

各个站点的基本流程是以下几点。

(1) 对接受队列中因果操作事件排序, 但独立操作事件仍然是乱序的。

(2) 按照接受次序, 将队列中可以交换的操作事件直接予以执行, 将队列中不可以交换的事件进行操作转换之后再予以执行。

(3) 由于并非所有不可以交换的事件均能进行转换, 所以需要进行必要的次序调整, 即事件最终的实际执行次序不等同于事件接受时的次序。

(4) 在某些情况下, 次序调整也不能解决一类独立事件冲突, 这时就需要进行多版本处理, 以使各个用户的操作意图得以保证。

(5) 即使最终的结果是收敛的, 即各个站点保持了一致, 但也未必是一个正确有效地结果, 因此, 最后要进行有效性检查。

2 三维协同设计的一致性维护与并发控制

协同设计必须支持多个协作用户对共享实体模型的并行操作, 必须采用并发控制来保证共享实体模型在各个站点上的一致性。传统分布式系统的并发控制是一种面向系统的方法, 强调的是隐藏和屏蔽用户的并发活动。协同工作系统则是以人为中心, 支持协作者之间密切的人人交互, 希望一种自然和谐的交互, 除了满足一致性要求以外, 还要兼顾响应性、并行性、感知性和独立于网络延迟等方面的要求。

3 三维协同设计的拓扑元素命名与辨识

现有的拓扑元素命名机制是面向单机单用户环境的[10]。例如在Kripac命名机制中, 面名字是最主要的标识符, 边名字和顶点名字都是通过邻接面的名字来定义的。典型的面名字为一个三元组结构, Face Id (f) = (step Id, face Index, surface Type) , 其中:Face Id代表该面f的名字, step Id表示产生面f时的造型步骤, face Index表示在第step Id步造型中该面的索引号, surface Type则表示该面的类型。单机单用户命名机制可以用在集中式的协同设计系统中, 但是不能直接应用在集中式系统协同设计。虽然二维协同设计中业已存在类似问题[13], 但在三维协同设计中问题要复杂得多。

本文提出一种协同命名机制 (C o l l a b o-rative Naming Mechanism, CNM) 。CNM的基本思想和原则有两个:一是三维实体模型的边界表示中的每一个拓扑元素在各个复制式站点中被赋予唯一的一个名字;二是生成该拓扑元素时的准确操作状态可以通过该名字在所有站点唯一地被确定。

4 原型工具开发

拟基于3D-CAD系统开发一个支持多用户并发交互的三维协同设计的原型技术构件和辅助工具。一般而言, 协同工作系统中存在两类基本协作框架:透明协作 (collaboration transparency) 和明确协作 (collaboration awareness) 。需要根据3D-C A D系统的实际情况来选择合适的协作框架和开发方法, 对其进行封装, 在此基础上实现通信、会话管理、人人交互界面等功能。

3 D-C A D系统 (或者内核) 通常会有四种形式:源代码、平台A P I、标准单用户应用程序+二次开发A P I、标准单用户应用程序无二次开发A P I, 相应的协作框架和封装策略也存在明显差异, 可以分为典型明确协作框架、准明确协作框架、准透明协作框架、典型透明协作框架。其中, 典型明确协作框架需要对源代码进行封装, 要读懂源代并增加协作功能, 既要构造协同工作程序, 又要构造应用功能程序, 工作量最大。而且直接修改源代码会导致程序的模块性和结构性变差, 不符合软件工程的要求, 同时也不利于知识产权保护。典型透明协作框则对标准应用程序进行封装, 一般情况下 (例如应用共享工具Net Meeting) , 是通过截取标准单用户包括C A D应用程序的用户交互界面和传输界面像素来实现协同工作, 但是协同工作效率低、灵活性差、网络负担重, 难以支持多用户并发交互。

因此, 采用准明确协作框架或者准透明协作框架进行开。在该结构, 3 D-C A D系统是准明确的, 甚至是准透明的, 但是多用户之间基于协作工具所进行的协同工作却是明确的, 包括点到点之间的通信、会话管理、并发控制、协同感知和数据接口等。

5 结语

本文以三维协同设计中的多用户并发交互问题为背景, 提出了三维协同设计的多用户并发交互的总体框架, 研究了其中的关键技术和原型工具的开发问题, 重点讨论了三维模型中拓扑元素的协同命名问题。今后, 将沿着该思路进行下去, 对上述问题进行更深入的探索。

摘要:三维协同设计是协同设计的一个重要研究方向, 支持自然和谐的多用户并发交互是三维协同设计有待解决的重点内容之一。首先提出了三维协同设计的多用户并发交互方法总体框架, 将一般意义上的多用户并发交互方法和三维协同设计应用语义紧密结合起来。然后就其中的一致性维护与并发控制、多版本感知及其界面支持、拓扑元素命名与辨识等关键问题进行了研究, 提出了相应的解决方案和技术措施。最后就如何基于3D-CAD核心系统开发支持多用户并发交互的协同设计原型工具进行了讨论。

关键词:协同设计,三维,多用户,交互,命名

参考文献

[1] Kvan T.Collaborative design:what is it[J].Automation in Construction, 2000, 9 (4) :409~415.

[2] Regli W.Internet-Enabled Computer-Aided Design[J].IEEE Internet Computing, 1997, 1 (1) :39~51

上一篇:会计信息质量对企业经营管理的影响探讨下一篇:新闻写作的体例差异与基本范式