狀態:一個活動圖是一個特殊的狀態機。其中所有的狀態(或者至少大多數)都是動作狀態或活動狀態。動作狀態代表一個可執行的原子計算,一個動作執行;活動狀態代表非原子的,可以進一步分解的復合計算。所以在為工作流建模時,我們利用活動圖中的狀態建模工作流過程活動(原子活動和非原子的塊、子流程);顒邮枪ぷ髁鬟^程中的一個邏輯步驟或任務,是工作流過程的重要組成部分。
轉換:規約的是流轉關系,顯示從一個活動或動作狀態到下一個活動或動作狀態的傳遞。對應于工作流模型中的轉移,描述了流程的路徑。轉換上所附的監護條件是轉移發生的條件,對應于工作流中的轉移上附著條件。用來決定工作流執行路徑。
對象:描述一個活動圖中涉及的事物,可能是活動的輸入或輸出。在UML活動圖中,用帶有向箭頭的虛線表示了對象和對它們進行創建、撤銷、修改和使用的活動之間的依賴關系。
在控制邏輯方面,活動圖提供分支和同步棒對業務邏輯的條件和并發行為進行描述。分支是多個控制流中的排它選擇。只有一個控制流被選擇,而同步棒描述的是并發的控制流。它們分別代表了工作流中的互斥連接符和與連接符。
為了表示業務的開始和結束,活動圖使用了開始活動和結束活動的符號。我們繼續沿用活動圖中開始和結束活動的概念,標志工作流過程的開始和結束,不針對具體任務的空活動。
通過前文的介紹,我們可以發現活動圖建模工作流的便利之處。但是用活動圖描述工作流,還存在著不足。
例如并不是所有的用于匯聚或者叉分控制流的連接都能用活動圖直接的建模;顒訄D中存在和與連接符、互斥連接符等同的構造模型,但是沒有構造型和或連接符等同;組織元素對于活動的職責可以通過把活動放在代表組織元素的泳道中來實現,但是泳道不足以建模準確的組織職責,而這些職責對用于支持工作流管理系統的執行的工作流定義是很重要的;而且活動圖中沒有對工作流所需應用的建模支持。
工作流過程圖
為了增強活動圖為工作流建模的完整性和準確性,我們提出了對活動圖進行擴展。在活動圖為工作流建模時,我們發現用戶常常關注與活動進行協作的信息實體的描述。也就是說,在活動圖的這種應用中,對對象和對象流的建模顯得特別重要。所以我們在擴展活動圖時,也突出強調了對對象和對象流的擴展。
在擴展后的工作流過程圖中,我們把對活動負責的組織元素從泳道中脫離出來,用參與者(Org—element)獨立表示。