專利名稱:基于語義鎖實現(xiàn)圖案協(xié)同設計中的語義保持方法
技術領域:
本發(fā)明涉及基于因特網的分布式圖案協(xié)同設計技術領域,特別是涉及一種基于語義鎖實現(xiàn)圖案協(xié)同設計中的語義保持方法。
背景技術:
近年來,隨著計算機技術和網絡通信技術的推進,尤其是Internet和多媒體網絡的飛速發(fā)展,計算機系統(tǒng)已經開始轉向支持人類廣泛和有效的工作模式——協(xié)同。CSCW(計算機支持的協(xié)同工作)技術從根本上改變了人們傳統(tǒng)的工作方式和生活方式,并將極大地提高人們協(xié)同工作的整體效率。如今,CSCW已逐步滲透到越來越多的領域,其中圖案的協(xié)同設計就是分布式協(xié)同系統(tǒng)的一個重要應用。分布式實時圖案協(xié)同設計系統(tǒng)使得多個用戶可以通過計算機網絡在不同的地理位置上同時對同一幅圖案進行編輯,從而以更快的速度完成圖案的設計任務。
各種協(xié)同工作系統(tǒng)中廣泛采用的體系結構包括集中結構、復制結構和混合結構三種。為了使協(xié)同設計系統(tǒng)具有快速響應用戶操作的特點,圖案協(xié)同設計中往往會采用復制結構。與圖案設計相關的操作在操作發(fā)起者本地立即執(zhí)行,隨后廣播給其他參與協(xié)同的各站點。在這種體系結構下,各站點保存的副本就存在站點操作語義保持問題。
語義保持是協(xié)同圖案設計領域一個尚未很完善地解決的問題。其目的是通過對用戶操作語義的理解來提高協(xié)同工作的效率。每一個用戶操作必然包含用戶特定的設計意圖,即操作語義,它是無法僅僅通過維護圖案文檔的一致性方法來表達的。語義保持要通過對圖案協(xié)同設計中用戶操作語義的分析,提供語義操作的表達、傳輸、觸發(fā)和保持。若系統(tǒng)無法有效地保持站點的操作語義,就可能出現(xiàn)用戶A設計的階段圖案由于用戶B的誤解而被修改成不符合用戶A原意的圖案。例如,用戶A先畫了一個橢圓(如圖1),他的操作語義是希望該橢圓對象最終設計成一片樹葉(如圖2)。用戶A的畫橢圓操作被廣播給協(xié)同設計組的其他成員。當用戶B在其視圖中看到該橢圓,可能由于不了解用戶A的設計意圖而將該橢圓填充成紅色,并將其設計成花朵。
鎖在分布式圖案協(xié)同設計系統(tǒng)中通常被用來保持各站點圖案文檔的一致性,協(xié)調設計者的行為。鎖通常可以分為悲觀鎖和樂觀鎖。所謂悲觀鎖,某一時刻多個用戶對同一個文檔區(qū)域具有操作權時,僅有一個先行擁有該排他鎖的用戶能執(zhí)行編輯操作。相反,對于樂觀鎖方法,用戶可以直接操作該區(qū)域并等待鎖的獲得,若最終申請鎖成功,用戶繼續(xù)編輯工作。否則,等待鎖獲得期間的操作將被回退。依據(jù)鎖定范圍,鎖還可以分為對象鎖和區(qū)域鎖。普通的鎖僅能起到文檔內容從語法角度的一致性維護,而無法實現(xiàn)站點用戶操作的語義表達、傳遞和保持。而至今國內外尚未提出保持分布式圖案協(xié)同設計語義的有效方法。
發(fā)明內容
本發(fā)明的目的在于提供一種基于語義鎖實現(xiàn)圖案協(xié)同設計中的語義保持方法。
本發(fā)明解決其技術問題采用的技術方案如下1)語義表達方式細分用戶設計的操作語義可以細分為以下三種a)基于特定符號和自然語言的評注b)對操作對象或區(qū)域屬性的正向限定c)對操作對象或區(qū)域屬性的逆向限定2)語義鎖定義鎖作為一種特定的操作。用戶的操作語義融入鎖操作,并將語義鎖分解為對象語義鎖和區(qū)域語義鎖,語義鎖表達如下SL=(SV,ObjID/Pos_Region,<[Comment],[(M_Attrib1[,{ValueRange}]),[(M_Attrib2[,{Value Range}])],…,|[NM_ttrib1],[NM_Attrib2]],…>))SV語義鎖操作的狀態(tài)向量,標定語義鎖發(fā)生的時間ObjID對象標識(若為對象鎖)Pos_Region鎖區(qū)域位置(若為區(qū)域鎖)Comment鎖語義的評注M_Attrib正向限定的屬性名Value Range正向限定的屬性值范圍NM_Attrib逆向限定的屬性名3)編輯操作語義保持的實現(xiàn)第一步,按照圖案文檔的區(qū)域劃分法,定義參加協(xié)同設計的多個用戶對圖案的操作權限;
第二步,用戶設定語義評注,指定鎖對象或區(qū)域,或設定相關屬性限制列表;第三步,自動確定具有語義鎖所作用的對象或區(qū)域操作權的用戶組UG;第四步,向UG發(fā)送語義鎖;第五步,在接收語義鎖的站點,系統(tǒng)根據(jù)語義鎖進行語義保持處理。
本發(fā)明與背景技術相比,具有的有益的效果是本發(fā)明其主要功能是系統(tǒng)對傳統(tǒng)鎖進行語義擴充,并分別以編輯操作的語義評注和鎖定對象或區(qū)域的屬性正、逆向限定的方式實現(xiàn)語義的非強制性保持和強制性保持。通過該語義鎖,系統(tǒng)可以在一定程度上有效地協(xié)助用戶避免產生違背其他協(xié)同設計者語義的操作,使協(xié)同設計更為自然流暢。
(1)實用性語義鎖可以讓用戶確信其圖案編輯操作的語義被正確地傳遞給其他的協(xié)同設計者,經過反復試驗證明有很好的實用性。
(2)預防性由于語義鎖被事先關聯(lián)于對應的編輯對象或區(qū)域,從而大大減少用戶因設計意圖不明而造成過多的設計返工及設計時間的浪費。
(3)靈活性由于系統(tǒng)同時采用了強制性語義保持和非強制性語義保持,當用戶領會其他設計者的操作意圖時,可以通過查看評注并主動與相關設計者協(xié)商,事先避免沖突;或直接編輯圖案,待意圖沖突時由系統(tǒng)進行操作的回退。
圖1是用戶A畫了一個橢圓;圖2是用戶A的意圖(或語義)是希望設計一片綠葉。
具體實施例方式
在實施基于internet(因特網)的分布式圖案協(xié)同設計技術時,將利用語義鎖實現(xiàn)用戶操作語義的保持。
方法中涉及到相關的符號解釋Matrix用戶、可操作的圖案視圖區(qū)域的權限二維表AUG所有參加協(xié)同設計的在線用戶的集合UG對某個語義操作相關對象具有操作權的用戶集合 集合的交運算 空集∈元素與集合之間的“從屬”關系利用語義鎖實現(xiàn)用戶操作語義保持的具體過程如下第一步,按照圖案文檔的區(qū)域劃分法,定義參加協(xié)同設計的多個用戶對圖案的操作權,形成用戶、操作區(qū)域的權限二維表Matrix。用戶組AUG={U1,U2,…,Un}對應的區(qū)域組RG={R1,R2,…,Rn},其中Ri與Rj的關系可能是以下三種 Ri=Rj;Ri∩Rj=Rs,]]> 第二步,用戶設定語義評注Comment,指定鎖對象或區(qū)域,或設定相關屬性限制列表{{[M_Attrib1,{Value Range}],…,[M_Attribn,{Value Range}]|NM_Attrib1,…,NM_Attribn}}。例如,用戶畫了一個橢圓,希望將它設計成一片樹葉。語義鎖可以用以下幾種形式表達。
SO=(ObjID,“draw a green leaf”);評注SO=(ObjID,COLOR,{GREEN});正向限定橢圓對象的顏色必須為綠色SO=(ObjID,|COLOR);逆向限定橢圓對象的顏色不允許被其他協(xié)同設計者修改語義鎖操作也可以是以上表達形式的組合,如SO=(ObjID,“draw a green leaf”,COLOR,{GREEN}|POSITION);語義操作發(fā)起者希望ObjID所代表的橢圓被設計成一片樹葉,顏色是綠色,且對象的位置屬性不允許被其它協(xié)同設計者修改。
第三步,根據(jù)鎖定對象O或區(qū)域R的位置,搜尋Matrix中包含O或R所屬區(qū)域的用戶組UG。如第二步中所引例子,系統(tǒng)在ARG中查找ObjID所代表的橢圓對象所對應的區(qū)域,并生成這些區(qū)域所對應的子用戶組UG,且滿足若ui∈UG,則ui∈AUG。
第四步,以組播形式向UG發(fā)送語義鎖操作。
第五步,在接收語義鎖的站點,系統(tǒng)根據(jù)語義鎖進行語義保持處理。
若語義鎖僅包含語義評注,則以窗口形式顯示該評注,進行非強制性語義保護,實現(xiàn)多用戶共享鎖功能。如第二步所引例子,當接收端協(xié)同設計者點擊ObjID所代表的橢圓對象,系統(tǒng)提示“draw a green leaf”。協(xié)同設計者便能在對該橢圓對象作其他操作之前事先了解該對象初始設計者的設計意圖。
若語義鎖包含正向或逆向屬性限定,則當該語義鎖接收端用戶的編輯操作違背語義鎖限定的語義,系統(tǒng)以警告窗口的形式提示。如第二步所引例子,若協(xié)同設計者將該橢圓填充成紅色,則系統(tǒng)提示該對象只能被填充成綠色,用戶的填充色操作違背了該對象初始設計者的設計意圖。隨后協(xié)同設計者的該操作將被強制性回退,即通過系統(tǒng)的自動Undo操作實現(xiàn)受限鎖功能,從而保持該對象的操作語義。
權利要求
1.一種基于語義鎖實現(xiàn)圖案協(xié)同設計中的語義保持方法,其特征在于1)語義表達方式細分用戶設計的操作語義可以細分為以下三種(1)基于特定符號和自然語言的評注(2)對操作對象或區(qū)域屬性的正向限定(3)對操作對象或區(qū)域屬性的逆向限定2)語義鎖定義鎖作為一種特定的操作,用戶的操作語義融入鎖操作,并將語義鎖分解為對象語義鎖和區(qū)域語義鎖,語義鎖表達如下SL=(SV,ObjID/Pos_Region,<[Comment],[(M_Attrib1[,{ValueRange}]),[(M_Attrib2[,{Value Range}])],…,|[NM_Attrib1],[NM_Attrib2]],…>))SV語義鎖操作的狀態(tài)向量,標定語義鎖發(fā)生的時間ObjID對象標識(若為對象鎖)Pos_Region鎖區(qū)域位置(若為區(qū)域鎖)Comment鎖語義的評注M_Attrib正向限定的屬性名Value Range正向限定的屬性值范圍NM_Attrib逆向限定的屬性名3)編輯操作語義保持的實現(xiàn)第一步,按照圖案文檔的區(qū)域劃分法,定義參加協(xié)同設計的多個用戶對圖案的操作權限;第二步,用戶設定語義評注,指定鎖對象或區(qū)域,或設定相關屬性限制列表;第三步,自動確定具有語義鎖所作用的對象或區(qū)域操作權的用戶組UG;第四步,向UG發(fā)送語義鎖;第五步,在接收語義鎖的站點,系統(tǒng)根據(jù)語義鎖進行語義保持處理。
全文摘要
本發(fā)明公開了一種基于語義鎖實現(xiàn)圖案協(xié)同設計中的語義保持方法。它是通過對傳統(tǒng)鎖新增語義信息,以語義評注形式實現(xiàn)非強制性語義保持和鎖定對象或區(qū)域屬性限制形式的強制性語義保持。本發(fā)明有效地實現(xiàn)了多個用戶圖案協(xié)同設計中編輯操作語義的表達、傳遞和保持。從而使用戶實現(xiàn)協(xié)同設計的流暢操作,并預防不同用戶協(xié)同編輯中的語義沖突。
文檔編號G06F9/44GK1648858SQ200510049259
公開日2005年8月3日 申請日期2005年1月27日 優(yōu)先權日2005年1月27日
發(fā)明者陳純, 卜佳俊, 姜波, 楊建旭 申請人:浙江大學