摘要:CSCW系統中用戶和訪問對象的數量逐漸增多,使得系統的管理工作日益繁重。委托授權機制能較好地解決CSCW中授權管理復雜的問題。為了有利于原型系統或實際應用系統的設計和開發,在面向CSCW基于角色一活動的委托模型RABDM for CSCW(Role-Activity Based Delegation Model for CSCW)的基礎上,利用統一建模語言UML(Unifled Modeling Language)對其進行面向對象的可視化靜態建模和動態建模。
關鍵詞:計算機支持協同工作;委托授權;RABDM for CSCW;可視化建模
中圖分類號:TP393
文獻標識碼:A
文章編號:1006-8228(2011)08-17-03
引言
計算機支持的協同工作CSCW(Computer SupportedCooperative Work)是指一組用戶在一個共享的工作環境中協作完成一個任務。CSCW從本質上講是通過計算機技術使處于不同地理位置的人們能夠一起工作,而感覺不到地理位置的差異,使計算機從傳統的只能提高個體工作效率變為能提高群體工作效率。近年來,CSCW的研究在理論和技術方面都有很大的進展,在許多領域得到廣泛的應用。它提供了一個開放的、分布式協同工作環境,可以實現信息共享、多媒體通信、協作管理,支持多用戶同步或異步合作。但由于CSCW系統中各個用戶的地位、職責不同,使得各數據的共享范圍不同,因此需要一定的訪問控制策略,來保證CSCW系統中協同工作的正常運行。
1、面向CSCW基于角色——活動的委托模型
基于角色的訪問控制RBAC(Role Base Access Control),在用戶和權限之間引入角色的概念,將訪問權限分配給角色,系統中的用戶擔任一定的角色,用戶通過角色與權限間接聯系。應用系統中的用戶一般數量比較多而且會經常變動,對用戶直接授權會增加授權管理的復雜性。與用戶相比,角色一般數量相對較少且相對穩定。角色實際上是與特定崗位相關的一個權限集合,當用戶改變時只需進行角色的撤消和重新分配,這樣就降低了授權管理的復雜性。在分布式環境下,系統的管理工作非常繁重。由于RBAC策略采用集中式管理,而隨著CSCW系統中用戶和訪問對象的數量逐漸增多,僅僅依靠某些管理人員采用傳統的集中式授權管理方式,需要管理人員參與系統全部的授權活動,系統的管理負擔將會加重,不能滿足異構分布式CSCW環境下安全體系構建的要求,集中式的授權服務器管理工作因復雜而龐大將不堪重負。委托授權機制能較好地解決CSCW中授權管理復雜的問題。委托授權的本質是用戶將自己所擁有的權限轉授給其他用戶,使其代表自己行使一定的職責。委托授權將分布式環境下的集中式授權管理工作分散實施,提高了分布式CSCW系統的伸縮性,適合分布式CSCW系統的授權管理模式。文獻[3]提出了面向CSCW基于角色一活動的委托模型RABDM for CSCW(Role-ActivityBased Delegation Model for CSCW),如圖1所示。

2、RABDM for CSCW面向對象的可視化建模

2.1 面向對象方法和特性
面向對象的方法是一種運用對象、類、繼承、封裝、聚合、消息傳遞和多態性等概念來構造系統的軟件開發方法。面向對象方法的基本思想是:從現實世界中客觀存在的事物(即對象)出發來構造軟件系統,并在系統構造中盡可能運用人類自然的思維方式。面向對象方法的主要特性是:封裝性、繼承性和多態性。
2.2 統一建模語言UML
統一建模語言UML(Unified Modeling Language)是一種面向對象的可視化建模語言。它支持面向對象系統的分析、設計、實現和交付等,可用于系統的理解、設計、瀏覽、維護和信息控制。UML中定義了五類模型圖,分別為用例圖、靜態圖(類圖、對象圖和包圖)、行為圖(狀態圖和活動圖)、交互圖(時序圖和合作圖)、實現圖(構件圖和部署圖)。
2.3 RABDM for CSCW的可視化建模
在異構分布式CSCW環境中,RABDM for CSCW較好解決了CSCW系統缺少委托授權的問題,是一種在異構分布式CSCW環境下解決委托問題較為完備的模型。為了縮短理論安全模型形式化、抽象性和實際應用系統開發之間的差距,支持系統面向對象的分析與設計,我們采用面向對象的思想利用UML對RABDM for CSCW進行可視化建模。
RABDM for CSCW的用例建模,主要從用戶角度描述系統的對外功能。對于這些功能的實施者可以分為以下四類:系統管理員、系統安全員、系統審計員和普通用戶。這四類用戶分別完成不同的工作:系統管理員完成用戶和普通角色的管理;系統安全員負責管理約束規則庫,實施角色、許可和會話約束規則;系統審計員主要完成對系統管理員授權管理操作的跟蹤監視,以及對普通用戶委托授權和應用系統數據訪問的審計等;普通用戶主要是在系統中創建與撤銷會話、進行角色委托等。RABDM for CSCW用例如圖2所示。
RABDM for CSCW的靜態建模,主要是根據RABDMfor CSCW模型定義七個實體類及類之間的關聯、泛化關系及關聯的多重性并分別標示主要的屬性和方法。RABDM forCSCW模型中七個實體類分別是,用戶、普通角色、委托角色組、會話、任務、許可和約束。其中約束類被泛化為角色委托約束、角色指派約束、許可約束和會話約束等子類。這些子類繼承類公用的屬性和方法,同時具有自身特有的屬性和方法。用戶、普通角色、委托角色組三個類之間是多對多的關系,用戶和會話之間是一對多的關系,角色和任務是一對一的關系,任務和許可之間是多對多的關系等。類的關系如圖3所示。

RABDM for CSCW動態建模的任務是描述系統的動態行為,顯示對象在系統運行期間不同時刻的動態交互過程。為了清楚地表示對象之間交互作用過程的時間順序,我們用時序圖為系統動態建模。為用戶分配角色的時序圖如圖4所示。

為用戶分配角色的時序圖所表示的對象之間的交互過程為:(1)系統管理員通過函數initiate()啟動UA接口。(2)UA接口通過函數initiate()啟動UA控制臺。(3)UA控制臺通過函數getuserlist()向用戶實體獲取用戶列表。(4)UA控制臺通過函數showuserlist()讓UA接口顯示用戶列表。(5)UA控制臺通過函數getrolelist()向角色實體獲取角色列表。(6)UA控制臺通過函數showrolelist()讓UA接口顯示角色列表。(7)系統管理員通過函數seleemser()在UA接口來選擇用戶。(8)系統管理員通過函數seleetroles()在UA接口來選擇角色。(9)UA接口通過函數setUA()在UA控制臺為用戶分配角色。(10)UA控制臺通過函數checkUA()檢查UA約束實體的約束條件。(11)如果為用戶分配的角色滿足約束條件,則UA控制臺通過函數addUA()向UA實體添加角色;如果為用戶分配的角色不滿足約束條件,則分配結果無效。(12)最后,UA控制臺通過函數showresult()在UA接口顯示系統管理員為用戶分配角色的結果。
用戶可以將自己具有的角色委托給其他用戶,使其代表自己行使一定職權。用戶之間進行委托授權時序圖如圖5所示。
用戶之間委托授權時序圖中各函數說明如下。
(1)initiate():啟動委托授權接口;
(2)initiate():啟動委托授權控制臺;
(3)getuserlist():獲取用戶列表:
(4)showuserlist():顯示用戶列表;
(5)getrolelist():獲取角色列表;
(6)showrolelist():顯示角色列表;
(7)selectuser():選擇用戶;
(8)selectroles():選擇角色;
(9)setdelegation():進行角色委托授權;
(10)checkdelegation():檢查委托的角色;
(11)adddelegation():若滿足約束條件,將委托角色授權給另一用戶;
(12)showresult():顯示委托授權結果。
3、結束語
本文根據面向CSCW基于角色一活動的委托授權模型RABDM for CSCW,采用面向對象的設計思想,利用UML通過用例圖、類關系圖和時序圖進行了可視化靜態建模和動態建模,這項工作有助于原形系統或實際應用系統的設計和開發。利用本文的建模結果來實現CSCW委托授權的原形系統,是我們下一步需要開展的研究工作。
參考文獻:
[1]史美林,向勇,楊光信.計算機支特的協同工作理論與應用[M].清華大學出版社,1999.
[2]龔能,李玉順,史美林.協作環境中的關鍵技術研究[J].計算機科學,2005.32(9):230-233.
[3]張志勇,普杰信.異構分布式CSCW委托授權模型及其訪問控制[J].計算機工程,2006.32(12):71-73.
[4]張志勇,普杰信.一種擴展的委托授權模型及其面向對象的建模[J].計算機應用與軟件.2005.22(9):30-32.
[5]Grady Booch,James Rumbaugh,lvar Jacobson.UML用戶指南[M].機械工業出版社,2001.
[6]刁成嘉.面向對象技術導論——系統分析與設計[M].機械工業出版社,2004.
[7]張志勇,楊林,馬建峰,普杰信.CSCW系統訪問控制模型及其基于可信計算技術的實現[J].計算機科學,2007.34(9):117-121.124
[8]朱君,湯庸.基于角色和任務的CSCW系統訪問控制技術研究[J].計算機科學,2010.37(7):130~133.