摘要:針對(duì)虛擬協(xié)同設(shè)計(jì)中的設(shè)計(jì)沖突問題,提出了基于角色和時(shí)序式的協(xié)同設(shè)計(jì)沖突解決機(jī)制。在分析虛擬協(xié)同設(shè)計(jì)環(huán)境特點(diǎn)的基礎(chǔ)上,根據(jù)沖突產(chǎn)生的原因?qū)⑵鋭澐譃椴煌姆N類。對(duì)協(xié)同設(shè)計(jì)中的沖突行為進(jìn)行建模,引入模糊數(shù)學(xué)中隸屬度的概念來表示不同角色的優(yōu)先級(jí),并通過矩陣運(yùn)算來確定角色對(duì)模型的操作權(quán)。介紹了角色的管理及變更機(jī)制,在虛擬協(xié)同設(shè)計(jì)環(huán)境中得到了應(yīng)用驗(yàn)證。
關(guān)鍵詞:沖突解決;角色;協(xié)同設(shè)計(jì)
中圖分類號(hào):TP391.9文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2008)05-01477-03
協(xié)同設(shè)計(jì)是計(jì)算機(jī)支持的協(xié)同工作(CSCW)的一個(gè)重要應(yīng)用。它是連接研究人員、技術(shù)專家、設(shè)計(jì)師、制造商及用戶的先進(jìn)工程環(huán)境的一個(gè)重要組成部分[1]。通過協(xié)同設(shè)計(jì),可以有效地降低產(chǎn)品成本,縮短設(shè)計(jì)周期,增強(qiáng)產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)能力。但是在協(xié)同設(shè)計(jì)的過程中,由于各個(gè)設(shè)計(jì)人員領(lǐng)域知識(shí)的不同、設(shè)計(jì)意圖不同、某一參數(shù)與約束相矛盾以及對(duì)資源的爭(zhēng)奪等,極易產(chǎn)生各式各樣的沖突。從這個(gè)角度來說,協(xié)同設(shè)計(jì)過程就是沖突產(chǎn)生與消解的過程。因此,如何進(jìn)行沖突的協(xié)調(diào)從而維護(hù)設(shè)計(jì)的一致性是協(xié)同設(shè)計(jì)的一個(gè)關(guān)鍵問題。
常用的沖突消解策略有基于并發(fā)控制的沖突消解、基于知識(shí)的沖突消解和基于可信度的沖突消解。常用的并發(fā)控制方法有加鎖法、集中控制、事務(wù)機(jī)制、依賴檢測(cè)等。基于知識(shí)的沖突消解是利用已有的知識(shí)及規(guī)則,判斷協(xié)同設(shè)計(jì)過程中是否產(chǎn)生沖突,并用相應(yīng)的知識(shí)及規(guī)則消解設(shè)計(jì)沖突。基于可信度的沖突消解是對(duì)產(chǎn)生沖突的設(shè)計(jì)操作進(jìn)行可信度評(píng)價(jià),并對(duì)操作進(jìn)行可信度高低排序,執(zhí)行可信度高的操作,從而化解設(shè)計(jì)沖突。目前對(duì)協(xié)同設(shè)計(jì)過程行為沖突消解研究已經(jīng)取得了不少成果,如基于實(shí)例的沖突消解法、最優(yōu)化問題的沖突解決、基于角色的沖突消解法、基于代理的沖突協(xié)商機(jī)制研究、基于模糊評(píng)價(jià)的沖突仲裁法等[2~6]。本文從分析虛擬協(xié)同設(shè)計(jì)環(huán)境中沖突產(chǎn)生的原因及特點(diǎn)入手,對(duì)協(xié)同設(shè)計(jì)過程進(jìn)行建模研究,結(jié)合具體系統(tǒng)的需要提出相應(yīng)的解決方案及算法,從并發(fā)控制角度研究了基于角色的虛擬協(xié)同設(shè)計(jì)沖突解決機(jī)制,從而實(shí)現(xiàn)了對(duì)整個(gè)協(xié)同設(shè)計(jì)過程的協(xié)調(diào)與管理。
1虛擬協(xié)同設(shè)計(jì)環(huán)境及其沖突
1.1虛擬協(xié)同設(shè)計(jì)環(huán)境的特點(diǎn)
虛擬協(xié)同設(shè)計(jì)環(huán)境(VCDE)是利用虛擬現(xiàn)實(shí)技術(shù),提供一個(gè)虛擬、直觀的設(shè)計(jì)環(huán)境。通過該虛擬環(huán)境異地分布的不同學(xué)科的設(shè)計(jì)團(tuán)隊(duì),可以同時(shí)瀏覽一個(gè)或一組零件的三維模型,并能夠操作模型進(jìn)行干涉檢測(cè),與相鄰零件進(jìn)行預(yù)裝配,對(duì)零件模型的三維造型從不同角度、不同特性進(jìn)行分析評(píng)價(jià),并與其他設(shè)計(jì)人員進(jìn)行實(shí)時(shí)的信息交流,提出修改意見。利用虛擬協(xié)同設(shè)計(jì)可以有效地提高產(chǎn)品的設(shè)計(jì)質(zhì)量,縮短設(shè)計(jì)周期[7]。虛擬協(xié)同設(shè)計(jì)環(huán)境除了融入虛擬現(xiàn)實(shí)技術(shù)的三個(gè)重要特點(diǎn),即交互性(interactivity)、沉浸感(immersion)和想象性(imagination)[8]之外,還有下述特點(diǎn):基于這種虛擬環(huán)境,設(shè)計(jì)者之間可以直觀地瀏覽三維零部件,加強(qiáng)設(shè)計(jì)者之間設(shè)計(jì)思想的交流,并且每個(gè)設(shè)計(jì)者之間的視點(diǎn)獨(dú)立,從而能夠模擬人人協(xié)同交互的過程,極大地提高設(shè)計(jì)的效率。設(shè)計(jì)者可以對(duì)虛擬產(chǎn)品進(jìn)行分析評(píng)價(jià)、物性模擬,在一定程度上起到虛擬樣機(jī)的作用,因此降低產(chǎn)品成本的同時(shí)提高了產(chǎn)品質(zhì)量。
由此可見,虛擬協(xié)同設(shè)計(jì)是一項(xiàng)重要的產(chǎn)品開發(fā)技術(shù)。其中關(guān)鍵技術(shù)有模型傳遞、數(shù)據(jù)一致性及沖突消解等。本文僅研究其沖突解決機(jī)制。
1.2沖突的分類及特點(diǎn)
對(duì)于協(xié)同設(shè)計(jì)中的沖突,不同的文獻(xiàn)有不同的解釋:
沖突是指[9]由于單個(gè)設(shè)計(jì)者內(nèi)部所對(duì)應(yīng)的子模型之間的約束不滿足,以及不同設(shè)計(jì)者之間對(duì)應(yīng)的約束與主模型內(nèi)部的約束不相等而產(chǎn)生的需要系統(tǒng)加以協(xié)調(diào)的事務(wù)。
沖突是指[10]在多個(gè)相互關(guān)聯(lián)的對(duì)象之間存在的一種不一致、不和諧或不穩(wěn)定的狀態(tài)。這些對(duì)象包括設(shè)計(jì)對(duì)象、設(shè)計(jì)意圖、產(chǎn)品開發(fā)過程、產(chǎn)品開發(fā)人員、多學(xué)科專家小組等多種具有一定信息結(jié)構(gòu)及相關(guān)屬性的信息實(shí)體或功能實(shí)體。
從上述定義可以看出,協(xié)同設(shè)計(jì)中引起沖突的原因多種多樣。總的來說,可以歸納為以下幾類:
a)方案沖突。它是由于設(shè)計(jì)團(tuán)隊(duì)成員之間具有不同的領(lǐng)域知識(shí)和經(jīng)驗(yàn),考慮問題的出發(fā)點(diǎn)不同,在產(chǎn)品或零部件的設(shè)計(jì)采用何種方案等問題上存在異議而產(chǎn)生的。其主要發(fā)生在概念設(shè)計(jì)階段,可以通過投票表決、專家評(píng)審等途徑解決。
b)行為沖突。主要產(chǎn)生于同步協(xié)同設(shè)計(jì)過程。如當(dāng)設(shè)計(jì)者對(duì)某數(shù)據(jù)對(duì)象執(zhí)行某操作時(shí),另一設(shè)計(jì)者需要執(zhí)行另一操作時(shí)就會(huì)產(chǎn)生行為沖突。這種沖突可以通過召開會(huì)議協(xié)商、對(duì)數(shù)據(jù)進(jìn)行加鎖、對(duì)設(shè)計(jì)者限定角色等方式來解決。
c)過程沖突。主要是由于任務(wù)分配不合理,某一任務(wù)沒有按時(shí)完成,致使任務(wù)之間的邏輯順序被打亂,子任務(wù)缺乏上游輸入而不能執(zhí)行。過程沖突的結(jié)果是任務(wù)延期,其解決途徑是建立工作流模型,對(duì)任務(wù)邏輯進(jìn)行分析優(yōu)化,找出關(guān)鍵任務(wù),避免順序混亂。
d)數(shù)據(jù)沖突。它是指由于協(xié)同設(shè)計(jì)的數(shù)據(jù)不一致,產(chǎn)生前后矛盾,或者在實(shí)時(shí)協(xié)同設(shè)計(jì)過程中,不同的設(shè)計(jì)人員對(duì)某一參數(shù)、約束、功能產(chǎn)生不同的理解,從而使數(shù)據(jù)不統(tǒng)一。解決辦法是首先要維護(hù)數(shù)據(jù)的一致性;其次建立協(xié)商機(jī)制,化解設(shè)計(jì)數(shù)據(jù)的沖突。
e)資源沖突。它是由設(shè)計(jì)資源的有限性產(chǎn)生。在多個(gè)協(xié)作者進(jìn)行協(xié)同設(shè)計(jì)時(shí),需要使用一定的信息資源、模型資源、計(jì)算資源等。當(dāng)這些有限的存在資源不能滿足協(xié)作者的需求時(shí),便產(chǎn)生了資源沖突。其直接影響是阻擾設(shè)計(jì)行為的繼續(xù)進(jìn)行,從而影響設(shè)計(jì)任務(wù)的按時(shí)完成。可以通過優(yōu)化資源配置、合理分配資源、提高資源的利用效率等途徑來解決。
要解決協(xié)同設(shè)計(jì)中的沖突,首先必須清楚沖突產(chǎn)生的原因,以此來制訂相應(yīng)的沖突解決機(jī)制。下面分析一下虛擬協(xié)同設(shè)計(jì)環(huán)境中沖突的特點(diǎn)。
本文研究的虛擬協(xié)同設(shè)計(jì)環(huán)境采用客戶端/服務(wù)器(C/S)結(jié)構(gòu)。在同一時(shí)刻,虛擬環(huán)境中存在著多個(gè)設(shè)計(jì)主體及設(shè)計(jì)對(duì)象。當(dāng)主體需要對(duì)對(duì)象實(shí)施操作時(shí),在客戶端提出請(qǐng)求;客戶端驗(yàn)證通過后,將請(qǐng)求通過網(wǎng)絡(luò)通信傳遞到服務(wù)器端,服務(wù)器經(jīng)過二次驗(yàn)證確認(rèn)符合特定條件后,才能給予該設(shè)計(jì)主體相應(yīng)的操作權(quán)。在同一時(shí)刻,當(dāng)多個(gè)主體對(duì)同一設(shè)計(jì)對(duì)象提出操作請(qǐng)求時(shí),就會(huì)產(chǎn)生沖突。在實(shí)際的網(wǎng)絡(luò)系統(tǒng)中,其特性決定了在一個(gè)特定的時(shí)刻只能傳輸特定的數(shù)據(jù),因此服務(wù)器端接收的請(qǐng)求存在很強(qiáng)的時(shí)序關(guān)系,即在一個(gè)系統(tǒng)內(nèi)不存在絕對(duì)同時(shí)地接收多個(gè)協(xié)同操作請(qǐng)求,從而使得沖突消解中只需考慮特定時(shí)間間隔內(nèi)的操作請(qǐng)求序列即可。
2虛擬協(xié)同設(shè)計(jì)環(huán)境沖突建模
在分析虛擬協(xié)同設(shè)計(jì)特點(diǎn)的基礎(chǔ)上可以將某一協(xié)同設(shè)計(jì)行為表示為A={S,O,T}。其中:S代表行為主體;O代表對(duì)象;T代表某一時(shí)刻。當(dāng)在某一特定時(shí)刻t有多個(gè)行為主體對(duì)一個(gè)對(duì)象施加操作就會(huì)產(chǎn)生沖突。因此考慮將行為主體劃分為不同的角色,不同的角色擁有不同的優(yōu)先級(jí);優(yōu)先級(jí)高的主體可以搶奪優(yōu)先級(jí)低的主體的操作權(quán)。
若在協(xié)同設(shè)計(jì)環(huán)境中有m個(gè)行為主體,n個(gè)對(duì)象,則將時(shí)刻t所有的協(xié)同設(shè)計(jì)行為At定義為m×n階矩陣:
3沖突消解實(shí)例
3.1角色的管理
虛擬協(xié)同設(shè)計(jì)環(huán)境旨在提供一個(gè)集成的數(shù)字化虛擬環(huán)境,用于支持產(chǎn)品開發(fā),可以作為產(chǎn)品數(shù)據(jù)管理系統(tǒng)(PDM)的一個(gè)子系統(tǒng)。出于這方面的考慮,同時(shí)也考慮到系統(tǒng)安全性和集成性,協(xié)同設(shè)計(jì)環(huán)境人員的用戶名、密碼及其對(duì)應(yīng)的角色由PDM人員角色管理模塊統(tǒng)一管理。客戶端登錄虛擬環(huán)境的過程由服務(wù)器端統(tǒng)一控制。下面由客戶端登錄的詳細(xì)流程來說明設(shè)計(jì)角色的管理機(jī)制,如圖1所示。
在進(jìn)行虛擬協(xié)同設(shè)計(jì)時(shí),服務(wù)器端先啟動(dòng),加載需要的零件三維模型,初始化協(xié)同設(shè)計(jì)行為矩陣A0和操作權(quán)矩陣A0~(λ)。準(zhǔn)備就緒后開始偵聽客戶端的消息。客戶端登錄,用戶需要先輸入用戶名和密碼,客戶端將這些信息通過消息傳遞到服務(wù)器端。服務(wù)器端調(diào)用角色驗(yàn)證模塊,通過Web服務(wù)接口,獲取該用戶在PDM系統(tǒng)中所對(duì)應(yīng)的角色。之后,服務(wù)器端將該用戶添加到已登錄用戶列表和角色列表中,然后向該客戶端發(fā)出允許登錄的消息,并傳遞角色值。客戶端在虛擬場(chǎng)景中初始位置顯示本機(jī)虛擬用戶,創(chuàng)建本地用戶和角色列表,并將本機(jī)用戶及角色添加到列表中。接下來,服務(wù)器端傳遞項(xiàng)目模型、已登錄用戶名、角色列表及位置信息,客戶端更新后實(shí)現(xiàn)所有用戶視點(diǎn)的同步。客戶端的登錄完成,用戶可以用鼠標(biāo)和鍵盤控制視點(diǎn)的移動(dòng),在虛擬場(chǎng)景中瀏覽并操作零件模型,與其他用戶進(jìn)行交互式協(xié)同設(shè)計(jì)。
3.2角色的控制與變更
在本系統(tǒng)中,目前操作對(duì)象的最小單位是零件,設(shè)計(jì)主體的角色由低到高分為四種:
a)觀察者。只能在虛擬場(chǎng)景中瀏覽模型,提出一些修改意見,該角色可以賦予產(chǎn)品用戶,使用戶直接參與設(shè)計(jì),表達(dá)其需求。
b)初級(jí)用戶。只能對(duì)部分模型進(jìn)行簡(jiǎn)單的操作。
c)中級(jí)用戶。可以對(duì)虛擬模型進(jìn)行多種操作,但是不能管理本系統(tǒng)。
d)管理員。可以完全操作虛擬模型,對(duì)本系統(tǒng)的人員進(jìn)行管理,解決沖突,中止某一用戶對(duì)模型的操作權(quán),以及實(shí)時(shí)變更用戶的角色等。
相應(yīng)地,在系統(tǒng)中將各模型對(duì)四種角色的隸屬度分別設(shè)置為{0,0.4,0.6,1},將數(shù)值代入?yún)f(xié)同設(shè)計(jì)行為矩陣。當(dāng)主體協(xié)同設(shè)計(jì)時(shí),根據(jù)相應(yīng)的規(guī)則進(jìn)行對(duì)應(yīng)的矩陣變化即可控制操作行為。基于本系統(tǒng)角色與時(shí)序式相結(jié)合的沖突解決機(jī)制,當(dāng)某一時(shí)刻某主體需要對(duì)某虛擬模型進(jìn)行操作時(shí),其流程如圖2所示。
如果需要對(duì)操作對(duì)象的粒度進(jìn)行細(xì)分,相應(yīng)地需要對(duì)角色的操作權(quán)限進(jìn)行細(xì)分,即在PDM系統(tǒng)定義相應(yīng)的角色,并在VCDE系統(tǒng)中定義該角色所具有的操作權(quán)限。具體地說,就是將模型對(duì)各個(gè)角色的隸屬度μS~i(oj,t)進(jìn)行進(jìn)一步的細(xì)分。
用戶角色的變更可以通過兩種途徑實(shí)現(xiàn):在PDM系統(tǒng)中定義各個(gè)用戶的角色;協(xié)同設(shè)計(jì)過程中,管理員通過VCDE系統(tǒng)的角色變更模塊進(jìn)行動(dòng)態(tài)變更。
第一種途徑是進(jìn)行虛擬協(xié)同設(shè)計(jì)之前,在PDM系統(tǒng)人員角色管理模塊中預(yù)先定義各個(gè)用戶角色;第二種則是在協(xié)同設(shè)計(jì)的過程中,根據(jù)需要,由管理員改變用戶角色。比如:觀察者需要操作模型,首先向管理員遞交申請(qǐng),管理員同意之后,更改該用戶角色,相應(yīng)地該用戶的μS~i(oj,t)值改變。此時(shí)VCDE系統(tǒng)的用戶角色列表暫時(shí)改變,而PDM系統(tǒng)中的用戶角色是不會(huì)改變的。比較起來,第一種途徑中設(shè)定的角色是相對(duì)靜態(tài)的,是VCDE系統(tǒng)角色的數(shù)據(jù)根源。第二種是動(dòng)態(tài)的,在某一協(xié)同設(shè)計(jì)過程中改變的用戶角色不會(huì)改變PDM中的原有用戶角色,因而是暫時(shí)的。
這種角色管理機(jī)制很好地滿足了沖突解決的需要,基于此種機(jī)制,VCDE系統(tǒng)可以很方便地集成于PDM的設(shè)計(jì)工作流程中。當(dāng)需要對(duì)某一零部件的模型進(jìn)行協(xié)同討論設(shè)計(jì)時(shí),啟動(dòng)VCDE系統(tǒng),地理上分布的具有不同角色的用戶登錄虛擬環(huán)境,可以直觀高效地對(duì)零件進(jìn)行協(xié)同設(shè)計(jì)。
3.3系統(tǒng)驗(yàn)證
VCDE系統(tǒng)采用Visual C++6.0編寫。圖3為某一虛擬設(shè)計(jì)過程。場(chǎng)景中初級(jí)用戶Zhgy正在操作H型零件,他需要操作另一軸零件與H型零件的孔進(jìn)行試裝配。但是他不具備“裝配”這種操作權(quán)限,并且該軸零件的操作權(quán)由中級(jí)用戶Zhaobo控制。因此,用戶Zhgy向管理員提出操作請(qǐng)求。管理員更改其角色(如圖3中對(duì)話框),中止用戶Zhaobo對(duì)軸零件的操作權(quán)之后,用戶Zhgy即可操作兩個(gè)零件進(jìn)行試裝配活動(dòng)。
4結(jié)束語(yǔ)
本文在虛擬協(xié)同設(shè)計(jì)環(huán)境的基礎(chǔ)上,根據(jù)系統(tǒng)的實(shí)際需要,設(shè)計(jì)并實(shí)現(xiàn)了一種角色與時(shí)序式相結(jié)合的協(xié)同設(shè)計(jì)沖突解決機(jī)制。由于本系統(tǒng)的協(xié)同設(shè)計(jì)沖突主要表現(xiàn)在模型操作權(quán)的爭(zhēng)奪上,而本系統(tǒng)目前操作的最小單位為零件,故只設(shè)置了四種角色。今后隨著系統(tǒng)操作復(fù)雜程度的加深、操作對(duì)象粒度的細(xì)分,基于此種角色管理與控制機(jī)制可以很方便地對(duì)角色作進(jìn)一步細(xì)分,從而適應(yīng)需要。本例也可以作為其他需要與PDM集成系統(tǒng)的角色管理問題的參考。此外,角色驗(yàn)證模塊可以作為一個(gè)通用模塊,用于PDM系統(tǒng)集中控制管理各種系統(tǒng)的用戶角色。
參考文獻(xiàn):
[1]朱愛斌,毛軍紅,謝友柏.美國(guó)先進(jìn)工程環(huán)境研究[J].機(jī)械工程學(xué)報(bào),2004,40(8):1-6.
[2]徐文勝,常天慶,張新訪,等.并行工程基于實(shí)例的沖突解決的研究[J].中國(guó)機(jī)械工程,1999,10(4):384-386.
[3]LI Tao,XIONG Guang-leng. Conflict resolution strategy based on optimization[C]//Proc of IEEE International Conference on Systems, Man and Cybernetics.[S.l.]:IEEE,2001:1789-1794.
[4]崔仁杰,馬明.基于角色訪問的控制模型實(shí)現(xiàn)[J].西安文理學(xué)院學(xué)報(bào):自然科學(xué)版,2005,8(4):57-60.
[5]LOPES F, MAMEDE N J, NOVAIS A Q,et al.Towards a generic negotiation model for intentional agents[C]//Proc of the 11th International Workshop on Database and Expert Systems Applications.[S.l.]:IEEE Computer Society, 2000:433-439.
[6]孟秀麗,億紅,倪中華,等.基于模糊評(píng)價(jià)的協(xié)同設(shè)計(jì)沖突仲裁技術(shù)研究[J].計(jì)算機(jī)集成制造系統(tǒng),2005,11(3):399-404.
[7]酈仕云,寧汝新.面向虛擬環(huán)境的協(xié)同設(shè)計(jì)系統(tǒng)[J].航空制造技術(shù),2006,6(6):85-88.
[8]周祖德,陳幼平.虛擬現(xiàn)實(shí)與虛擬制造[M].武漢:湖北科學(xué)技術(shù)出版社,2005.
[9]黃琦,孫守遷,許宇榮.基于約束的協(xié)同設(shè)計(jì)過程中的沖突協(xié)調(diào)研究[J].中國(guó)機(jī)械工程,2006,17(2):160-164.
[10]劉偉,李麗,周峰,等.協(xié)同設(shè)計(jì)中的沖突管理[J].機(jī)械科學(xué)與技術(shù),2003,22(7):192-193.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文”