Professional Documents
Culture Documents
反 应 器在 协 同 中的 应 用
’ ’ ’
朱恩霞 窦万 峰 ,2
钟 金
.
(1 南京 师 范大 学 数 学 与计算机科 学学 院 计 算 机 科学 系 江苏 南京 9 7)
1 00
2
.
O j
b
ec
tA ( 以 下 简称 A R X ) 中的反 应 器是 协 同 图形 编 辑 系统 与 A u t创 C A D 应 用 软件 之 间 交互
xR ,
协 同 图形 编辑 ; A u to C A D ; A RX 反应 器 ; 数据 库反 应 器 ; 对 象反应 器 ; 编 辑 器 反应 器
e e a o a e c t A R X in C a to C A D
Th A P P il it o n f ct o
sr o f O j
b o l b o
ar ivt
e A u
eR
Zh u E
耐
a , n o u
W an g fe 吧 ,夕 Z h o 雌 Ji n g
D e P别 巾 nr
.
U n iv
,
C o ll e g e
,
e o u te r s eie e m at i e s
(1 nt f C o
P
m n e o fM hat an d C o m P u tre S e i e n e e, N anj in g N o
rm al esr i t,y
n
nj i g 2 l
Na 0() 9 7
C h in a
)
.
,
(2 S ta te e
K y La
b o
art o ry of r N o v e l So c h n o 1o
nj i g Z 1 0 0 9 3 P R C h i
g另 N a n n
a)
ft are
W eT
A bs ta
r e t: Th
e er aC t o r
in O b e c
tA R X ( A b b er v
iat e
d A Rx be l a i m p 0 rt na
) is n te o ot o lb
e
ut0 CA D a eo l lat 力 r at
j
lv e g aP h i es e d it se
t s
.
is Pa
ow
r
m ia n
l y d i sc u ses a se
mir un i catif
es o
g
n
le m s
t
w en
A n d ing sy m hT pe s P
obr d iu
r g
n
, .
叩 p li e iat o
ns o
a to
f t h e re C r
in
het
eo
ll a
b o
iart ve A u to C A D na d g i ves m
het do
s ot er s o lv e ht es e
P or b l e m s
朗 t o sr ; O b
s :
o ra n u t O C A D ; R e 朗 t o sr e
心 y W 6 dr ;g A f A R X ; D al at b as R eC
a t o sr ;
C of lb t e ih es it o
a iv G
arP dE eR j cet
it
o r
C
a t o sr
E
d eR
.
1 引言
,
, 。
: 、 、
、 , ,
, 。
对 象 的相关 信息进行 传输 减 少 了 网络 传 输 量
2 协 同 A ut o C AD 系 统的设计
, ,
ARX 应 用 程 序是 以 劝 s u a l C 什 为基 本开 发语 言 支持 M FC 能 高效实 现许多 复杂 的 网络通 信 功
, ,
6 55
。 ,
体 现协 同 设计 特 点 的一 个 不可 缺 少 的重 要 工具
.
2 1 A RX 中 的反应器
。
A R X 开 发的协 同图形编辑 系统是通 过 一 系 列的 反应 器 感 知 A u t O C A D 中发 生 的任何操作 当本地系
, 。
统中发 生一 个事件 时 一 些被称为 通知者 的对象会 自动将 这个事件传递 给其它对象 接受事件 的对象 被
。 ,
2 1 1 数据 库反 应 器
, ,
A c D b D 别比b 翻犯 R 已止 t o
:
该 反应 器是 从类 r
中派 生而 来 可 以接受与 数据库状态相关的 事件 例 如 当在
、 ,
A e D 七D 曲由斑记
,
对 象 的 反应 器列 表中
. .
2 12 对象 反应器
, , 、
它是从 类 A c D 仗 )b
j ec
tR 晓` ot r
中 派 生而 来的 可 以在对象 级上 响应事件 例 如 复制
:
删 除 或修 改对
, 。
象 它会 被添 加 到所 有类 A
o bj
cD b
ec
t 对象 的 反应 器 列 表中
. .
2 1 3 编 辑器 反 应器
,
从类 A c E d i t o 川泊aC ot r
中派 生而来 的编辑器 反应器 用 来监视 A u to C A D 编辑器的状 态 当指定 事件 发
、 。 、 ,
其 它类 型 的用 户 交 互 操作
.2 2 协 同 A u ot CAD 系统 设计
, 。
体系结构 14
, : 。
用 A R X 开 发 的 基 于 网络 对 多个 远 程 用户 的操 作 进 行 协 同 的环境 在该 环境 中 有三 个子 模 块 分 别 与
。
A t 血 ( A D 运行 环 境进 行交 互 “ 信息捕获 ” 模块主 要 是 利 用 反应器 负责从 A ut( 尤 A O 中取 得 当前操作信
, , ,
“ ”
息 然 后 经 信息转换 模块 根据 操作 类型 提取 出操作实体的相 关信息 转换成 网络能够 传输 的数据
。 “ ”
网络 通 讯 接 口 ” 模块 将其发送 给参 加协 同的 远程 用户 远 程 用户 通过 网 络通 讯 接 口
,
“
形式 再 通过
, 。
“ ”
模块将 接收到 的远 程 操 作信息进 行 如上 的逆 操作 从 而 实现 了 网络 协同 锁管理 模块 就是当用 户对
。 ”
“
对象进行修 改操作 时 的加 锁管理 而 会话 管理 模块是 负责客户端与 服务器 进行交流 本地 会话 状态及
, “ 。 ,
”
加 锁 信息 同时 负责与本 地 的 锁 管理 模块进 行加锁信 息的交互 因 此在该 系统 的半 复制式结构中
, 。
在 服 务器端采 用 集 中统 一 管 理 的方 式
6 56
月民务器
会 话管理 工 作 锁管理
锁 一 锁
管
理
十可藉扩 撼孙~
~ 管
理
斗 犷
信 信 网 网 信 信
〕
A 地 汇 人】 息 息 络 络 息 AU加 A O
息
应 捕 转 通 通 转 捕 应
用 获 换 讯 讯 换 获 用
件 函 口 口 函 件
一
软 数 ,月
接 接 数 软
调 调
用 用
. ,
动态 链接库 dl 动 态链 接库 di1
T C P 月P
图 1 模 块间的通 信书饰
基 于反应器 的协 同 A ut 系 统 的 实现
o
.2 3 CA D
, ,
{ p u b li e :
,
刀向数据 库 中添 加一 个新对 象 的操 作 完成 后 将 执 行 此成 员 函 数中 的 相应代码
v
访tU a l v o
id ec
tA P pe
n
d d
( e c 0 n St
A e
D b D at a b * e o
jb e ct d b o bj ) ;
g, sn tAe D bo *
obj ,
ase w
d
刀对 数 据库 中 的某个对 象 修 改 操 作 完成 后 将执 行 此 成 员 函数中 的相 应代码
v v o e o n st
让ut A e D b D a ta b eo n st *
dW 乐
* t
a l id
obj
ec tM do iif dc
( ase Ae
D o jb eC
b dbo j ):
b
}; , :
对 于 该 系统 中的客户 端来说 当前 数据 库 反 应 器 被触发 会有两 种 原 因 一 是本地用户对 当前数据 库
。
。 ,
两 个成 员函数都被调 用 而 且其调用 的先 后 顺序 无法 确 定 因为 数据 库 是通 知 者 且在 数据 库中 创 建
, ,
657
, 。
操 作 的通 知 事 件 交 给 对 象 反 应 器 来 处 理 用 此 方 法 避 免 了上 述 问 题 的 发 生 从 对象 反 应 器
:
AcD
o jb t R 。 加 otr 类 中派生 出 自定 义的对 象 反应 器 类定义 内容如 下
ec
b
aS C N ly o bj d R烈 那 t P b li A D bo bj ect R 以沁 t
e l e o r : u e c o r
{ p u b li e :
,
刀修 改对 象 的 操 作 完成 后 将执行此成 员 函数 中的相应 代码
vi rt u tAc D e c 创` *
do i if d (
al
vio d m
o bj ) ;
bo bj etC d b ,
刀删 除对 象 的 操 作 完成后 将执 行 此 成 员 函数 中的相应 代 码
,
vi 山坦 I v o id e d (c o Ac o *
d Ad :
:B o l PE a =
加 e );
般 t
sn o bj etC
b o bj
b esk ean sr ign
};
, ,
该对 象 的对 象 反应 器 的成员 函数 m do i6 d
e () 相 应 代码 被操作 的对象本身是反应器 的通 知者 当删 除
,
象 反应器 的成员 函数 m ed if ed o 时 看该 标识 变量 的状 态 若为 仪u
E 则表 明该操 作是删 除 对 象 的操 作
,
不允 许应 用 程序进 入成员 函数 m d
o i五de o 中 但 同时要在 该 成 员 函数 中将 其标识 变量 的 状态恢 复其 F
A LsE
, 。
器 反 应器
, ,
(1
) 数据库反 应器
, , ,
j
ob eC tA 即即 d ed o 中 的代码 根据其操作类型将直线对象的结果缓冲区 中的部分信 息传输给远程用户
。 , ,
6 58
用 户 A 创 建 新对象后 的 界面 用户 B 接 受远 程新对 象后 的界面
图2
(2 ) 对象 反应器
, 。 ,
象 圆的对 象反 应 器 即 调用 对 象 反应 器 中的 m ed iif e
d o 代码 将其操作 对 象圆 的 结果缓冲 区 的部分 与
, 。 ,
只 是调用 的 函数 不 同而 己
图3
( 3 ) 编辑 器反应 器
,
图4 用户 B 捕捉移动操作命 令 名并显 示其 名
659
.
3 结论
,
同 Au
ot C A D 系统 的开 发 工 具 那 么 这 三 类 反应 器 对 于 协 同功能的实现 起 到 了相 当大 的 作用
参 考 文 献
, .
vo ) 1 49 一 157
.
1 Au
t o c AD 2 00 vo l !4
( 5 一 30
:1) 2
二 次开 发 实例精粹 老大中 赵 占强 编著 北京 国防 工 业 出 版 社
,
A u ot C A D 2 0 0 0 A R X 2 l
3[] 朋
.
. ,
14 1 多 版本 技术 中的 对 象标 识及 其 仄 缩 窦 万峰 李春子卜 软 件 学报
,
Zo o 4 o
V l 1 5 ( 8 ) 1 1 3 3 一 1 14 0
作者 简介
一
_
, , , , , _
。
朱恩 霞 19 7
5 年生 女 江 苏 省 高邮市 人 硕 十研究 生 土 要研究 领域 为计 算机支持 的 协 同 { 作
660