基于CSCW的CAD系統(tǒng)協(xié)作支持技術(shù)與支持工具研究
2013-05-28 by:廣州有限元分析、培訓(xùn)中心-1CAE.COM 來(lái)源:仿真在線
計(jì)算機(jī)支持的協(xié)同工作(CSCW)給CAD技術(shù)帶來(lái)重大發(fā)展, 但仍然存在許多問(wèn)題. 其中之一是缺乏將協(xié)作性能同應(yīng)用功能有機(jī)結(jié)合的方法. 本文對(duì)此進(jìn)行了探索. 在分析了現(xiàn)有協(xié)作支持技術(shù),工具和系統(tǒng)不足的基礎(chǔ)上, 提出了用協(xié)作支持工具軟件CoCADToolAgent改造商品化CAD系統(tǒng)來(lái)開(kāi)發(fā)CSCD系統(tǒng)的新思路和總體技術(shù)路線, 給出了通訊支持,協(xié)議,一致性維護(hù)和并發(fā)控制,協(xié)同感知,任務(wù)和腳色機(jī)制的有效的實(shí)現(xiàn)方法. 作為本方法的一個(gè)應(yīng)用實(shí)例, 成功地將傳統(tǒng)人機(jī)交互式CAD系統(tǒng)AutoCAD轉(zhuǎn)變?yōu)榫W(wǎng)絡(luò)環(huán)境下支持人人交互的CSCD原型系統(tǒng). 作為專用協(xié)作支持工具, CoCADToolAgent比NetMeeting之類的通用協(xié)作支持工具具有更好的協(xié)作性能. 該方法可推廣到三維CAD系統(tǒng).
何發(fā)智;高曙明;王少梅;孫國(guó)正
關(guān)鍵字:計(jì)算機(jī)支持的協(xié)同工作 計(jì)算機(jī)輔助設(shè)計(jì) 計(jì)算機(jī)支持的協(xié)
1 引言
設(shè)計(jì)活動(dòng)不僅具備創(chuàng)造性和智能性, 而且具備群體性和協(xié)作性. 目前以交互式圖形系統(tǒng)和分析計(jì)算為主的CAD系統(tǒng), 僅能支持單個(gè)設(shè)計(jì)者的獨(dú)立設(shè)計(jì)和人機(jī)交互. 隨著計(jì)算機(jī)支持的協(xié)同工作(CSCW)的出現(xiàn)和快速發(fā)展, CAD不僅是一個(gè)設(shè)計(jì)計(jì)算, 圖形處理和智能推理工具, 而且又是一個(gè)支持群體間通訊和協(xié)作的”人人交互”工具, 從而跨越CAD技術(shù)的鼻祖,MIT的I. E. Sutherland博士在其具有里程碑意義的Sketchpad系統(tǒng)中所提出的”人機(jī)圖形通訊”的CAD基本框架[1].
本文在分析了協(xié)同設(shè)計(jì)中相關(guān)協(xié)作支持技術(shù)研究現(xiàn)狀和現(xiàn)有協(xié)作支持工具和協(xié)同圖形編輯/設(shè)計(jì)系統(tǒng)存在的問(wèn)題和不足的基礎(chǔ)上, 提出了一種用協(xié)作支持工具軟件CoCADToolAgent改造商品化CAD系統(tǒng)來(lái)開(kāi)發(fā)CSCD系統(tǒng)的新思路和總體技術(shù)路線, 并給出有效的關(guān)鍵實(shí)施技術(shù). 作為本方法的一個(gè)應(yīng)用實(shí)例, 成功地將傳統(tǒng)人機(jī)交互式CAD系統(tǒng)AutoCAD轉(zhuǎn)變?yōu)榫W(wǎng)絡(luò)環(huán)境下支持人人交互的CSCD原型系統(tǒng), 直接支持工業(yè)標(biāo)準(zhǔn)的矢量圖形的協(xié)同設(shè)計(jì), 從而兼顧了協(xié)作性能和應(yīng)用功能.
2 相關(guān)協(xié)作支持技術(shù)分析
1959年MIT在開(kāi)始對(duì)CAD技術(shù)進(jìn)行研究時(shí), 提出傳統(tǒng)CAD系統(tǒng)的三大目標(biāo): 人機(jī)對(duì)話, 基于圖形的人機(jī)對(duì)話和模擬人類設(shè)計(jì)專家. 從CAD技術(shù)40年的發(fā)展來(lái)看, 人機(jī)對(duì)話的基本目標(biāo)已經(jīng)完全實(shí)現(xiàn), 模擬人類設(shè)計(jì)專家的高級(jí)目標(biāo)在特定領(lǐng)域部分或者簡(jiǎn)單實(shí)現(xiàn), 而基于圖形的人機(jī)交互則得到廣泛應(yīng)用, 并不斷發(fā)展. 同樣, 在計(jì)算機(jī)支持協(xié)同設(shè)計(jì)(CSCD)領(lǐng)域, 基于圖形的人人交互協(xié)作技術(shù)也是現(xiàn)階段一個(gè)重要的研究方面, 這是由于: ①基于知識(shí)共享的協(xié)作模式來(lái)模擬人類設(shè)計(jì)專家群體. 有些初步的探索[2], 用認(rèn)知式Agent模擬和取代人類設(shè)計(jì)專家群體, 目標(biāo)相當(dāng)高, 還有待人工智能和協(xié)同科學(xué)的的突破; ②基于場(chǎng)景和多媒體人人交互[3]. 采用最自然的方式來(lái)支持人人交互, 更依賴于高速多媒體通訊網(wǎng)絡(luò)等硬件的支持; ③基于文本和超文本的人人交互[4]. 主要采用半結(jié)構(gòu)化方式來(lái)支持人人交互. 由于WWW的快速發(fā)展, 正向超媒體發(fā)展, 一些研究雖然采用了Web交互界面, 但已經(jīng)不屬于超文本半結(jié)構(gòu)類型, 而應(yīng)歸于基于圖形的人人交互領(lǐng)域; ④基于圖形人人交互. 采用結(jié)構(gòu)化的方法支持人人交互, 雖有一些以Distributed Sketchpad為代表的CSCD原型系統(tǒng),協(xié)同圖形編輯/設(shè)計(jì)系統(tǒng)等[5], 但仍然缺乏將CSCW系統(tǒng)優(yōu)良的協(xié)作性能同傳統(tǒng)CAD系統(tǒng)強(qiáng)大的圖形處理能力,兼容性和開(kāi)放性結(jié)合起來(lái)的方法, 有待深入研究.
現(xiàn)有協(xié)作支持工具可以分為兩類: ①通用協(xié)作支持工具. 例如Microsoft的NetMeeting, 利用應(yīng)用共享機(jī)制對(duì)單用戶應(yīng)用程序進(jìn)行共享, 截取單用戶系統(tǒng)輸入/輸出界面, 嚴(yán)格地按照"WYSIWIS"方式提供顯示級(jí)的界面共享, 僅支持發(fā)言權(quán)協(xié)作模式, 協(xié)作性能差; ②專用協(xié)作支持工具. 例如密西根大學(xué)的DistEdit僅能支持協(xié)同文本編輯, 而且需要特定第三方通訊軟件和編輯器源代碼的支持[6]. WebScope公司基于web的CAD協(xié)作支持工具, 具備無(wú)線因特網(wǎng)連接能力, 但它需要把CAD對(duì)象(3D模型/2D工程圖形)轉(zhuǎn)換成JAVA對(duì)象. AutoDesk公司為適應(yīng)WWW的快速發(fā)展所推出的DWF數(shù)據(jù)格式及其配套的瀏覽工具WHIP!, 僅能在web瀏覽器上進(jìn)行單向的CAD圖形發(fā)布,瀏覽和打印, 不能有效支持實(shí)時(shí)交互協(xié)同圖形設(shè)計(jì).
現(xiàn)有協(xié)同編輯/繪圖系統(tǒng)基本上可以劃分為三種類型: ①協(xié)同文本編輯系統(tǒng)又稱合著系統(tǒng). 通常集成了文本,簡(jiǎn)單圖形,語(yǔ)音,視頻等多媒體信息; ②白板類系統(tǒng). 例如CATIA公司提供的白板工具只能支持對(duì)CATIA模型所轉(zhuǎn)換的圖像進(jìn)行同步觀察和注解(viewing and annotating). 這類系統(tǒng)在將圖形格式轉(zhuǎn)換成圖象格式時(shí), 不僅矢量化信息徹底丟失, 而且原有圖形數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)和各種擴(kuò)展數(shù)據(jù)信息也不復(fù)存在, 只適用于草擬和批注; ③協(xié)同繪圖系統(tǒng)或者改進(jìn)型白板等系統(tǒng)支持自定義的矢量圖形格式. 但是所支持的圖形對(duì)象的類型,對(duì)象的屬性和圖形對(duì)象的編輯操作等圖形應(yīng)用功能比起圖形CAD系統(tǒng)有明顯差距, 而且與目前流行CAD系統(tǒng)圖形數(shù)據(jù)庫(kù)格式不兼容, 還是難以適應(yīng)復(fù)雜的CAD圖形設(shè)計(jì)任務(wù).
3 協(xié)作支持工具的總體技術(shù)路線與關(guān)鍵實(shí)施技術(shù)
Fig. 1 Total technique method
圖1 總體技術(shù)路線
鑒于這種現(xiàn)狀, 本文提出了直接基于流行商品化CAD系統(tǒng)上利用協(xié)作支持工具CoCADToolAgent開(kāi)發(fā)CSCD系統(tǒng)的新思路, 其總體技術(shù)路線見(jiàn)圖1, 關(guān)鍵實(shí)施技術(shù)如下.
3.1 協(xié)作框架及其通訊支持
當(dāng)前CSCW/CSCD系統(tǒng)主要采用兩類基本協(xié)作框架: 透明協(xié)作和明確協(xié)作 [7]. 前者復(fù)用了單用戶CAD系統(tǒng)的圖形處理功能, 兼容了現(xiàn)有CAD系統(tǒng)的數(shù)據(jù)格式, 但協(xié)作性能差. 后者雖然強(qiáng)調(diào)了協(xié)作性能, 但是應(yīng)用功能弱. 因此, 本文提出了一種協(xié)作性能與應(yīng)用功能并重新的協(xié)作框架及其通訊支持方法.
(1) 該協(xié)作框架采用一種偏復(fù)制式混合體系結(jié)構(gòu), 與完全意義上的分散式體系結(jié)構(gòu)和嚴(yán)格意義上Client/Server結(jié)構(gòu)均不同, 是一種偏復(fù)制式的混合體系結(jié)構(gòu), 將數(shù)據(jù),應(yīng)用和并發(fā)控制加以配置. 服務(wù)器端采用多服務(wù)器結(jié)構(gòu), 由全局信息服務(wù)器?通訊轉(zhuǎn)發(fā)服務(wù)器和文檔傳輸服務(wù)器組成. 客戶端由各個(gè)CoCADToolAgent組成直接從事協(xié)同圖形編輯/設(shè)計(jì)的反應(yīng)式多Agent系統(tǒng).
(2) 協(xié)作支持工具CoCADToolAgent采用一種半智能的反應(yīng)式Agent結(jié)構(gòu), 由動(dòng)作反應(yīng)器,通訊狀態(tài)監(jiān)視器,編輯器狀態(tài)監(jiān)視器,數(shù)據(jù)庫(kù)狀態(tài)監(jiān)視器,實(shí)體對(duì)象狀態(tài)監(jiān)視器和選擇集狀態(tài)監(jiān)視器所組成.
(3) CoCADToolAgent采用通訊編程方式深入到現(xiàn)有CAD系統(tǒng)的內(nèi)核, 從而將協(xié)作性能和應(yīng)用功能結(jié)合起來(lái). 為此, 本文在二維CAD系統(tǒng)AutoCAD和三維CAD系統(tǒng)SolidWorks上對(duì)基于CAD內(nèi)核的網(wǎng)絡(luò)通訊支持問(wèn)題進(jìn)行了實(shí)驗(yàn)研究.
首先設(shè)計(jì)和實(shí)施一個(gè)物理通訊測(cè)試軟件CoCADPing, 該程序由三個(gè)部分組成: ①CAD內(nèi)核的處理部分包括CAD系統(tǒng)內(nèi)核的切入點(diǎn)函數(shù),外部函數(shù)的調(diào)用執(zhí)行函數(shù),外部函數(shù)代碼定義加載函數(shù),外部函數(shù)的卸載函數(shù),外部函數(shù)列表, 其中外部函數(shù)列表中定義了名稱為CoCADPing的過(guò)渡函數(shù), char * exfun[] = {/*MSG0*/" CoCADPing "}; ②過(guò)渡部分包括兩個(gè)過(guò)渡函數(shù)pingMain和CoCADPing, 其中過(guò)渡函數(shù)CoCADPing被定義在CAD內(nèi)核處理部分的外部函數(shù)列表中; ③通訊處理部分包括IP包校驗(yàn)函數(shù)checksum,從IP包頭中解碼析出ICMP數(shù)據(jù)函數(shù)decode_resp,填充ICMP請(qǐng)求函數(shù)requestfill_icmp_data和命令行窗口使用幫助函數(shù)Usage. 編譯生成的CoCADPing應(yīng)用的大小為7k, 是一個(gè)ADSRX程序, 被AutoCAD內(nèi)核加載, 并與AutoCAD系統(tǒng)內(nèi)核程序共享地址空間運(yùn)行. 實(shí)驗(yàn)表明, 基于CAD系統(tǒng)內(nèi)核的CoCADPing展示了同基于操作系統(tǒng)內(nèi)核的Ping一樣的物理通訊能力, 因此, 可以通過(guò)通訊編程手段深入到CAD系統(tǒng)的內(nèi)核.
然后研究了客戶機(jī)/服務(wù)器模式下的基于CAD內(nèi)核的網(wǎng)絡(luò)通訊問(wèn)題. 由于AutoDesk公司和SolidWorks公司的Object ARX2.02和SolidWorks97plus所推薦的VC編程方法和所提供的模板程序均不支持多線程的通訊編程, 我們通過(guò)以下方法實(shí)現(xiàn)了CoCADToolAgent的通訊狀態(tài)監(jiān)視器: ①修改該模板程序的應(yīng)用初始化成員函數(shù), 添加通訊初始化代碼; ②修改該模板程序VC集成環(huán)境設(shè)置方式, 增加AppWizard階段所漏掉的通訊特性選項(xiàng); ③將基于MFC的標(biāo)準(zhǔn)Windows程序的文檔視圖結(jié)構(gòu)和Object ARX 2.02和SolidWorks97plus的程序結(jié)構(gòu)混合起來(lái); ④在命令堆棧宏定義中定義啟動(dòng)通訊聯(lián)結(jié)的命令函數(shù). 綜合測(cè)試的方法是從一個(gè)CoCADToolAgent for AuotCAD上發(fā)出一組圖形操作命令, 通過(guò)通訊轉(zhuǎn)發(fā)服務(wù)器轉(zhuǎn)發(fā)到另一個(gè)CoCADToolAgent for AuotCAD和一個(gè)CoCADToolAgent for SolidWorks97上, 生成相同的運(yùn)行結(jié)果. 綜合測(cè)試的結(jié)果更進(jìn)一步驗(yàn)證了CoCADToolAgent這種新型協(xié)作框袈的正確性, 從而為后續(xù)的研究奠定了基礎(chǔ).
3.2 通訊協(xié)議
目前CAD/CAM系統(tǒng)上下游串行的文件交換方法和應(yīng)用共享系統(tǒng)的界面像素傳輸方法的通訊量太大難以有效支持CAD協(xié)同應(yīng)用, 因此CoCADToolAgent采用“分而治之”和“適時(shí)傳輸”的思想對(duì)通訊協(xié)議進(jìn)行整體規(guī)劃, 優(yōu)化和構(gòu)造了適合反應(yīng)式Agent處理的通訊協(xié)議集, 以達(dá)到支持實(shí)用化工程設(shè)計(jì)的目的. 該協(xié)議集包括五個(gè)方面的子協(xié)議集.
(1) 并發(fā)控制協(xié)議CoCADControlProtocol是整個(gè)協(xié)議集的重要組成部分, 提供了對(duì)偏復(fù)制式混合體系結(jié)構(gòu)的系統(tǒng)數(shù)據(jù)的一致性維護(hù)和并發(fā)控制的協(xié)議支持.
(2) 數(shù)據(jù)庫(kù)通訊協(xié)議CoCADDataProtocol用于發(fā)言權(quán)協(xié)作模式下的協(xié)同工作. 采用面向圖形對(duì)象的通訊協(xié)議組織方法來(lái)映射和兼容現(xiàn)有工業(yè)標(biāo)準(zhǔn)的CAD系統(tǒng)圖形數(shù)據(jù)庫(kù)的數(shù)據(jù)類型, 通過(guò)抽象實(shí)體通訊協(xié)議來(lái)提高圖形數(shù)據(jù)通訊傳輸效率, 并保證協(xié)議的穩(wěn)定性和可擴(kuò)展性. 在圖形數(shù)據(jù)庫(kù)內(nèi)核層次上將其操作方式抽象為基本操作, 利用CoCADToolAgent的數(shù)據(jù)庫(kù)狀態(tài)監(jiān)視器將用戶的各種復(fù)雜操作歸一為基本操作, 然后通過(guò)遠(yuǎn)程執(zhí)行消息發(fā)送機(jī)制在遠(yuǎn)程加以執(zhí)行, 從而支持各種圖形編輯命令和各種編輯形式(包括用戶自定義和將來(lái)第三方開(kāi)發(fā)的命令).
(3) 宏命令通訊協(xié)議CoCADMacroProtocol用于多輸入流協(xié)作模式下的協(xié)同設(shè)計(jì).
(4) 通告協(xié)議CoCADNoticeProtocal用于協(xié)同感知中的遠(yuǎn)程指針共享光標(biāo),動(dòng)態(tài)多光標(biāo),線型顏色,通知和筆談等.
(5) 任務(wù)協(xié)議CoCADTaskProtocal提供了對(duì)協(xié)作任務(wù)的管理的支持, 包括當(dāng)前任務(wù)信息的查詢,任務(wù)號(hào)的申請(qǐng),任務(wù)登記,用戶注冊(cè),登錄和退出等.
當(dāng)前, 為了調(diào)試方便, 所有通訊協(xié)議按照純文本來(lái)編碼發(fā)送和接收, 如果按照二進(jìn)制編碼并壓縮, 通訊量可進(jìn)一步減少.
3.3 一致性維護(hù)和并發(fā)控制
在傳統(tǒng)的人機(jī)交互式CAD系統(tǒng)中, 單個(gè)用戶基本上獨(dú)占對(duì)圖形數(shù)據(jù)庫(kù)的訪問(wèn)存取. 而基于CSCW的CAD系統(tǒng)支持緊密耦合的群體工作模式, 牽涉到多個(gè)用戶對(duì)共享數(shù)據(jù)的操作問(wèn)題, 必須保證共享數(shù)據(jù)在各個(gè)站點(diǎn)上的一致性.
由于CoCADToolAgent要兼容現(xiàn)有CAD系統(tǒng)的數(shù)據(jù)庫(kù)格式, 不能指定圖形對(duì)象在圖形數(shù)據(jù)庫(kù)中的全局唯一標(biāo)識(shí)符, 而且一旦添加到數(shù)據(jù)庫(kù)之后,不可回退,也不可更改. 因此, CoCADToolAgent采用了一種改進(jìn)的整體一致性模型和添加操作優(yōu)先的并發(fā)控制策略, 以解決偏復(fù)制式混合體系結(jié)構(gòu)的一致性維護(hù)和多用戶并發(fā)沖突問(wèn)題.
(1)CoCADToolAgent對(duì)整體一致性模型的改進(jìn)的基本原則是以數(shù)據(jù)的一致性作為顯示一致性的基礎(chǔ),以保證CADToolAgent能夠兼容現(xiàn)有的CAD圖形數(shù)據(jù)庫(kù)格式. 允許共享數(shù)據(jù)對(duì)象的屬性存在一定的不一致, 這意味著某些實(shí)體數(shù)據(jù)的屬性是可變的, 但是數(shù)據(jù)庫(kù)的結(jié)構(gòu)組成是不變的, 以保證用戶對(duì)數(shù)據(jù)庫(kù)的操作不發(fā)生錯(cuò)誤. 既支持透明協(xié)作, 又支持明確協(xié)作, 要求協(xié)作者有明確協(xié)作的意識(shí), 能夠理解視圖上的協(xié)作含義, 例如實(shí)體加鎖記號(hào).
(2) CoCADToolAgent采用復(fù)合技術(shù)路線來(lái)支持多輸入流,發(fā)言權(quán)和對(duì)象鎖三種協(xié)作模式及其切換, 以適應(yīng)不同設(shè)計(jì)階段協(xié)同工作的需要: ①通過(guò)服務(wù)器端的通訊轉(zhuǎn)發(fā)服務(wù)器的序列化機(jī)制, 對(duì)各個(gè)站點(diǎn)的宏命令進(jìn)行一致化處理, 然后轉(zhuǎn)發(fā)到各個(gè)站點(diǎn), 來(lái)實(shí)現(xiàn)多輸入流協(xié)作模式, 用于協(xié)同草擬階段的快速成型; ②用自動(dòng)遠(yuǎn)程執(zhí)行消息發(fā)送機(jī)制和面向?qū)ο蟮膱D形數(shù)據(jù)通訊協(xié)議來(lái)實(shí)現(xiàn)發(fā)言權(quán)協(xié)作模式, 以適應(yīng)任意復(fù)雜程度的CAD圖形操作, 并且在發(fā)送源和編碼階段進(jìn)一步減少數(shù)據(jù)傳輸量, 用于設(shè)計(jì)中后期階段的集中討論; ③用對(duì)實(shí)體和實(shí)體集的可見(jiàn)性和可拾取性加鎖的方法來(lái)實(shí)現(xiàn)對(duì)象鎖協(xié)作模式, 可用于設(shè)計(jì)中后期階段的分散修改.
(3) CoCADToolAgent對(duì)整體一致性模型的改進(jìn)和放寬是一般性的, 提供了維護(hù)各個(gè)復(fù)制式數(shù)據(jù)庫(kù)拷貝中圖形數(shù)據(jù)庫(kù)結(jié)構(gòu)一致性的最基本的方法, 用戶可以在此基礎(chǔ)上根據(jù)應(yīng)用語(yǔ)義適當(dāng)收緊一下這些放寬的條件.
3.4 協(xié)同感知
傳統(tǒng)交互式CAD方法僅支持單個(gè)用戶的人機(jī)交互活動(dòng), 通過(guò)光標(biāo),夾點(diǎn)顯示,動(dòng)態(tài)導(dǎo)航將操作結(jié)果反饋(Feedback)給操作者, 這種感知僅僅是針對(duì)機(jī)器的. 而CSCW系統(tǒng)要支持人人交互, 用戶不僅要感知機(jī)器的反應(yīng), 更重要的是要感知其他用戶的異地通饋(Feedthrough). CSCW系統(tǒng)中工作空間總是虛擬的,人工合成的, 必須采用相應(yīng)的技術(shù)手段, 來(lái)支持共享工作空間中人人交互時(shí)的感知問(wèn)題. CoCADToolAgent支持工作空間感知,交談感知,結(jié)構(gòu)感知和以人為線索和中心的感知.
(1) 工作空間感知. CoCADToolAgent支持基于共享圖形工作空間的協(xié)同工作, 且深入到現(xiàn)有CAD系統(tǒng)的內(nèi)核, 支持實(shí)體對(duì)象的顏色,線型感知. 在未知原有CAD系統(tǒng)源代碼的情況下通過(guò)界面耦合方法實(shí)現(xiàn)了遠(yuǎn)程指針, 該指針支持各個(gè)用戶視圖的獨(dú)立縮放和模擬動(dòng)態(tài)多光標(biāo).
(2) 交談感知. CoCADToolAgent通過(guò)一個(gè)集成進(jìn)來(lái)的通知/筆談?shì)o助工具來(lái)模擬協(xié)作用戶之間的相互通知和聊天.
Fig. 2 Architecture of prototype system and communication support
圖2 原型系統(tǒng)總體結(jié)構(gòu)與通訊支持方案
(3) 結(jié)構(gòu)感知. CoCADToolAgent提供了任務(wù)結(jié)構(gòu),圖層結(jié)構(gòu)和用戶角色結(jié)構(gòu), 支持多任務(wù)及腳色機(jī)制. 通過(guò)任務(wù)向?qū)C(jī)制為用戶提供任務(wù)和人員列表及其相互關(guān)系的全局信息.
(4) 以”人”為線索和中心的感知. 利用協(xié)作框架的開(kāi)放性, 從面向?qū)ο蟮膱D形實(shí)體類庫(kù)中通過(guò)繼承和重載機(jī)制導(dǎo)出一類新的,具有沉浸感的用戶–實(shí)體關(guān)聯(lián)數(shù)據(jù)類型. 新類有效繼承了原來(lái)實(shí)體類的所有基本數(shù)據(jù)和操作方法, 同時(shí)又增加了用戶屬性數(shù)據(jù)和相應(yīng)增加的操作方法, 從而支持支持以”人”為線索的各種查詢,檢索和統(tǒng)計(jì), 支持以”人”為中心的CAD圖形數(shù)據(jù)文擋的管理模式.
3.5 多任務(wù)及腳色機(jī)制.
傳統(tǒng)交互式圖形CAD系統(tǒng)基本上是一個(gè)關(guān)于設(shè)計(jì)對(duì)象的建模工具, 本身任務(wù)機(jī)制很弱或者沒(méi)有. 而人人交互的CAD系統(tǒng)不僅要支持傳統(tǒng)CAD系統(tǒng)的圖形處理, 而且要支持人人交互和協(xié)作功能, 任務(wù)機(jī)制和腳色機(jī)制是必須的. CoCADToolAgent支持多任務(wù)和腳色機(jī)制.
(1) CoCADToolAgent的協(xié)作任務(wù)由基本組成屬性和操作集組成. 基本組成屬性由任務(wù)ID號(hào),CAD圖形文檔和協(xié)作用戶集, 其中任務(wù)的ID號(hào)與通訊轉(zhuǎn)發(fā)服務(wù)器的端口號(hào)關(guān)聯(lián). 基本操作包括申請(qǐng)任務(wù)號(hào),創(chuàng)建任務(wù)文檔,保存任務(wù),結(jié)束任務(wù)和用戶腳色管理.
(2) CoCADToolAgent構(gòu)造了一個(gè)任務(wù)向?qū)Я鞒虂?lái)幫助協(xié)作用戶參加CAD圖形的協(xié)同設(shè)計(jì),使得傳統(tǒng)單機(jī)CAD用戶可以很平滑地從單打獨(dú)斗工作方法過(guò)渡到協(xié)同工作環(huán)境中來(lái)。
(3) 系統(tǒng)支持多任務(wù), 圖2為原型系統(tǒng)的總體結(jié)構(gòu)及其通訊支持方案. 其中, 全局任務(wù)信息服務(wù)器靜態(tài)配置, 其IP地址和端口號(hào)是公開(kāi). 通訊轉(zhuǎn)發(fā)服務(wù)器在創(chuàng)建協(xié)作任務(wù)時(shí)動(dòng)態(tài)創(chuàng)建, 其IP地址取創(chuàng)建該協(xié)作任務(wù)的站點(diǎn)地址, 其端口號(hào)與全局信息服務(wù)器任務(wù)列表中任務(wù)ID號(hào)相關(guān)聯(lián).
盡管在一個(gè)協(xié)作任務(wù)中, 通訊轉(zhuǎn)發(fā)服務(wù)器是通訊瓶頸, 但是由于協(xié)作任務(wù)及其通訊轉(zhuǎn)發(fā)服務(wù)器是動(dòng)態(tài)生成的, 在共享圖形工作空間的多個(gè)協(xié)作任務(wù)情形下, 各個(gè)站點(diǎn)之間的通訊是均衡的, 有效地利用了現(xiàn)有通訊資源.
4 原型系統(tǒng)的實(shí)現(xiàn)
CoCADToolAgent采用了與現(xiàn)有基于通用CAD系統(tǒng)開(kāi)發(fā)方法不同的技術(shù)思路. 不是按照CAD公司所推薦的編程方法和模板程序來(lái)開(kāi)發(fā)一個(gè)參數(shù)化增值模塊或者專用模塊, 而是開(kāi)發(fā)了一個(gè)具備網(wǎng)絡(luò)通訊和協(xié)作支持能力的CAD系統(tǒng)協(xié)作支持工具軟件Agent, 并以該工具Agent為核心, 將傳統(tǒng)交互式CAD系統(tǒng)AutoCAD R14升級(jí)成為支持人人交互的CAD圖形系統(tǒng), 從而實(shí)現(xiàn)一個(gè)基于CSCW的CAD原型系統(tǒng), 直接支持工業(yè)標(biāo)準(zhǔn)的矢量化工程圖形的協(xié)同設(shè)計(jì).
(a) (b)
Fig. 3 Implementation of prototype system
圖3 原型系統(tǒng)的一個(gè)運(yùn)行實(shí)例
用戶首先加載CoCADToolAgent, 并登錄到全局任務(wù)信息服務(wù)器. 然后通過(guò)任務(wù)向?qū)?TaskWizard)來(lái)來(lái)查詢當(dāng)前的全局協(xié)作信息, 選擇創(chuàng)建新的協(xié)作任務(wù), 或者參加已有的協(xié)作任務(wù). 如果是創(chuàng)建協(xié)作任務(wù), 還要?jiǎng)?chuàng)建CAD圖形文檔, 創(chuàng)建通訊轉(zhuǎn)發(fā)服務(wù)器, 創(chuàng)建發(fā)言權(quán)仲裁Agent, 并將這些協(xié)作信息登記到全局信息服務(wù)器上. 最后按照相應(yīng)的協(xié)作模式進(jìn)行工程圖形的協(xié)同編輯與設(shè)計(jì).
圖3為原型系統(tǒng)運(yùn)行時(shí)的一個(gè)動(dòng)態(tài)遠(yuǎn)程指針示例, (a)為發(fā)送端, (b)為接受端. 發(fā)送端的動(dòng)態(tài)協(xié)作信息(協(xié)作者ID及其光標(biāo)所在世界坐標(biāo)位置), 可以在接受端被感知到, 并且支持各個(gè)CAD視圖的獨(dú)立縮放.
5 結(jié)束語(yǔ)
具有開(kāi)放式,協(xié)作式以及智能性和群體性的設(shè)計(jì)方法和設(shè)計(jì)工具是當(dāng)前CAD系統(tǒng)的發(fā)展方向, 分布式虛擬環(huán)境下協(xié)同工作的支持技術(shù)及支持工具的研究與開(kāi)發(fā)是實(shí)現(xiàn)基于CSCW的各類系統(tǒng)的關(guān)鍵. 本文針對(duì)當(dāng)前CSCD系統(tǒng)實(shí)現(xiàn)方法的不足, 提出了一種直接基于商品化CAD系統(tǒng)上利用協(xié)作支持工具CoCADToolAgent開(kāi)發(fā)CSCD系統(tǒng)的總體技術(shù)路線和相應(yīng)有效的實(shí)現(xiàn)方法, 并以該Agent為核心成功地將傳統(tǒng)人機(jī)交互式二維CAD系統(tǒng)AutoCAD轉(zhuǎn)變?yōu)榫W(wǎng)絡(luò)環(huán)境下支持人人交互的CSCD原型系統(tǒng), 特別適合國(guó)內(nèi)廣大中小型設(shè)計(jì)和生產(chǎn)部門(mén).
本文研制的CoCADToolAgent是一個(gè)面向CAD系統(tǒng)的專用協(xié)作支持工具, 比NetMeeting之類的通用協(xié)作支持工具具有更好的靈活性和協(xié)作性能. 此外, 本文提出的技術(shù)思路還可以推廣到Solidworks等三維CAD系統(tǒng)中去實(shí)現(xiàn)協(xié)同設(shè)計(jì)功能, 例如用一個(gè)CoCADToolAgent for SolidWorks進(jìn)行三維裝配件設(shè)計(jì), 同時(shí)以多個(gè)CoCADToolAgent for AutoCAD進(jìn)行零件工作圖設(shè)計(jì).
參考文獻(xiàn)
1 Sutherland I. E. Sketchpad: a man-machine graphical communication system. In: Proceedings of AFIPS Spring Joint Computer Conference, Detroit, Michigan: Spartan Book, 1963. 329~346
2 Cutkosky M. R. PACT: An Experiment in Integrating Concurrent Engineering Systems. IEEE Computer, 1993, 26(1): 28~37
3 Anupam V, Baja C. L. Shastra: Multimedia Collaborative Design Environment. IEEE Multimedia, Summer, 1994, 1(2): 39~49
4 Delisle N M, Schwartz M D. Neptune: a hypertext system for CAD applications. In: Zaniolo C ed. Proceedings of ACM SIGMOD 86 International Conference on Management of Data, Washington D. C: ACM Press, 1986. 132~143
5 Schiffner N, Kollmann. H. Distributed sketchpad. In: Proceedings of First International Workshop on CSCW in Design, Beijing: International Academic Publishers, 1996. 491~499
6 Knister M and Praksh A. DistEdit: a distributed toolkit for supporting multiple group editors. In: Proceedings of ACM CSCW’90, Los Angeles, CA, 1990. 343~355
7 Reinhard W., Schweitzer and Volksen G. CSCW tools: concepts and architectures. IEEE Computer, 1994, 27(5): 28~36
相關(guān)標(biāo)簽搜索:基于CSCW的CAD系統(tǒng)協(xié)作支持技術(shù)與支持工具研究 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 有限元培訓(xùn) Solidworks培訓(xùn) UG模具培訓(xùn) PROE培訓(xùn) 運(yùn)動(dòng)仿真