關于SaaS的工作流仿真系統中的交叉仿真法
以下是一篇關于關于SaaS的工作流仿真系統中的交叉仿真法的畢業論文提綱,歡迎瀏覽!
0 引言
工作流仿真是在工作流程建模之后、系統具體投入使用之前,利用仿真引擎模擬工作流中各個活動的執行過程,通過多次仿真運行,得到一系列關于工作流模型運行的統計數據,如過程時間,過程成本和資源利用率等。
(1)流程仿真是為了發現流程中存在的問題,以便于為流程的改進提供指導。
(2)驗證流程的正確性:檢驗流程是否存在死鎖情況,流程能否在任何情況下都能夠到達終止狀態,找出流程沒有流經的節點;
(3)測試流程的性能:在流程正確的前提下,通過各種時間數據的分析,找到時間花銷最大的任務模塊,從而便于工作流優化[1]。
(4)從仿真中找出組織結構中各部門的參與情況,從工作量分析,有利于人力資源的合理分配,甚至于企業組織結構的調整。(屬于資源利用率中的人力資源的利用)。
1 介紹
借鑒計算機領域對服務的相關定義,仿真服務的定義為“使用標準接口描述和發布,并且能夠被發現和調用的仿真組件”,一個仿真服務可以是任何可用的仿真資源,如仿真模型、仿真算法,計算模型,以及仿真數據等。基于SaaS 的仿真模型框架不同于傳統的基于閉環境的離散型仿真框架。SaaS 的出現為工作流仿真帶來了新的提議,它的最大的優勢是“可重復使用”,允許用戶使用已有的方針資源進行仿真而不需重新獲取復雜龐大的仿真數據。
展示了基于SaaS 的工作流仿真框架,仿真信息配置、仿真執行和仿真可視化展示服務通過web service 提供給用戶。
2 交叉仿真法
交叉仿真,就是指對給定工作流管理平臺輸出的流程定義同時采用用戶模擬仿真和流程實例模擬仿真兩種方法,對流程定義進行混合多線程仿真。
2.1 兩種仿真方法介紹
方法一:用戶模擬仿真用于模擬大規模用戶執行情況。企業中一個工作流實際運用起來會有很多成員參與執行,需要測試流程在接近真實用戶數量參與的時候能否高效執行。此時模擬的是同一個工作流程實例,多用戶參與執行不同任務的情況。用戶在登陸后,獲取自己的任務列表然后開始執行任務。
(1)模擬環境配置:
1.配置虛擬用戶數目作為線程的并發數
2.對人工任務節點進行信息配置
(2)仿真結果:
仿真結果可視化界面將展示整個流程實例完成時間作為仿真總體時間,并計算平均任務等待時間。
方法二:流程實例模擬仿真
可以模擬多個工作流程的執行情況。一個企業中往往存在很多業務流程,需要不同人員不同組織部門的交互參與。此時模擬的是同一個流程定義的不同流程實例,流程在執行過程中,遇到人工任務節點或是自動結點(需要資源充足),可能會使得流程停滯不前,需要外部觸發或是等待,獲得空閑后方可繼續執行流程。(例如:同時有多個資金申請流程啟動,檢查審批流程的效率),可以通過仿真結果得出流程設計的正確性(不可達問題)
(1)模擬環境配置:
1.配置流程實例數目作為線程并發數目
2.配置decision 信息,使得并發的線程盡可能遍布流程定義的每一條分支
3.配置任務節點信息
(2)仿真的結果:
1.統計沒有流經的節點,從而提醒流程設計者檢查該節點是否為不可達。
2.統計資源利用率(物質資源、人力資源),資源的利用率。
3.統計各節點的時延信息,主要是人工任務或自動任務因為資源不足而導致的時延信息。(與1 不同的是,1 統計的是人工任務由于人為因素導致的延遲)。
2.2 兩種仿真方法的結合
大多數的測試工具,不限于工作流領域,都采用的是模擬多用戶的方式,這樣僅僅能夠從多人執行單流程實例的角度模擬流程,無法獲得多流程實例并發的狀況。這樣的仿真需要在數據庫中添加大量的仿真信息,具有一定的不便性。
大多數已成型的仿真工具選擇2 模擬多流程實例的方式,忽略了實際推進流程執行的外界因素是用戶本身,導致仿真的結果中對現實中用戶并發的因素分析幾乎為零。
于是選擇將兩種流程仿真模式合并,在本仿真系統中,對同一個流程定義,根據用戶服務需求兩種方法基礎上的層疊仿真,把不同視角的仿真流程執行情況融合在一起。全面分析流程定義,獲取最接近真實世界的仿真結果數據。
該算法描述兩套線程交互場景:用戶線程發生器根據模擬信息生成用戶實例,所有的用戶線程要做的就是獲取各自的用戶列表。流程實例發生器產生流程實例線程,從相同的情況下,它的定義是模擬過程中,所有進程線程需要做的是確定資源的可用性和觸發用戶執行。
這種新方法是基于離散事件[2]的仿真。從技術角度來看,工作流仿真有兩種方式,系統分析(連續與離散數學模擬模型和數值方法計算)和離散事件仿真(德)上的事件處理方法的基礎。系統的分析為基礎的模擬大多與學術研究相關,而DES 被認為是在業務流程中所產生的事件驅動,因此它被廣泛使用的工具于工作流仿真。
因此,通過使用相同的模擬在上述兩種方法所描述的信息這種方法更多的信息。
(1)模擬環境配置:
包括以上兩種仿真方法的所有仿真信息。
(2)仿真的結果:
1.任務的平均等待時間:我們能夠統計工作的延遲,延遲的因素不僅是由于客觀的資源可用性,而且是由于主管的任務資源的延遲,這種延遲叫做懶惰模式延遲。
2. 平均任務執行時間。
3. 對流程實例的平均執行時間。
4. 完成率:該進程的情況下可成功結束的百分比。
5. 人力資源利用率.
3 工作流仿真數據模型
工作流管理聯盟提出了特定的定義模型用來描述工作流,即BPDM(工作流定義模型).流程定義模型(BPDM)可以非常好的表示實際的系統,但仍然缺少必要的仿真模擬信息,比如資源信息,執行時間的信息,這些信息構成了仿真執行的必要條件。因此,需要根據BPDM 建立業務過程仿真模型(BPSM)。
在模擬器,依據用戶處理人工任務的不同行為來建模。仿真器提供了以下四種方式來描述用戶處理人工任務時表現的四種行為方式。
(1)服從他的個人代理人模式(順從)。
(2)一旦有任務就盡早完成模式(倉促)。
(3)盡可能拖延到截止日期才完成任務模式(懶惰)。
(4)與其他任務并行完成任務模式(并行)[3]。
(5)要添加下列模擬元素,我們可以很容易適應這些人的行為類型。
(6)延遲:確定了該進程的延遲時間/任務。
(7)費用:確定該進程的成本/任務。
(8)收入:確定該進程的收入/任務。
(9)時間:定義為過程的持續時間/任務。
(10)比率:定義選擇一個過渡的機會[4]。
4 仿真引擎設計
基于 SaaS 的流程仿真平臺基于web 工作,分為前臺編輯展示部分和后臺執行部分兩個模塊。流程仿真工具依賴于成型的工作流管理平臺。從工作流管理平臺獲取流程定義后轉變為仿真模型,進而自動在工作流引擎中執行。這里的流程定義模型主要依托于外接的工作流管理平臺。
工作流仿真平臺是面向多工作流管理平臺的服務系統,能夠適配于不同支持人工事件的流程定義語言的流程定義模型。工作流仿真模塊依賴于已有的業務流程管理。顯示了工作流程管理和工作流仿真平臺的互動:從流程定義工具中獲取工作流仿真文件,將該仿真文件讀取并轉換為仿真模型,自動運行模擬引擎。人工任務仿真引擎依托于現有的工作流仿真引擎實現。工作流仿真是面向多業務流程管理平臺,它可以適應不同的流程定義模型,支持人工任務。
4.1 仿真信息配置工具
該工具是一個基于Web 的圖形化建模工具。該環境提供模擬環境的定義屬性和行為的配置,抽樣例程,屬性表和視覺控制。通過配置,我們獲得一個模擬信息腳本。此腳本可以用來模擬初始運行,設置屬性,如任務的處理時間,成本,收入,資源分配,并為決策節點設置一個復雜的決策規則[5]。
4.2 仿真引擎
(1)模型解析器模型解析器就是用于對仿真模型XML 文件進行解析,獲取仿真信息,通過接口將仿真信息傳遞給工作流引擎運轉。解析出來的信息大部分由以下相對應的模塊提取出來,再向流程引擎發出相應執行指令。
(2)事件生成器根據仿真配置的信息,(事件信息)觸發流程引擎產生一個流程實例。
有三種事件發生模式可供仿真信息配置:間隔型事務模型、完成型事務模型、需求型事務模型。
(3)狀態控制器控制檢查流程的執行情況:對于人工節點,在保證資源充足的情況下依據仿真虛擬執行信息進行觸發和終止;對于虛結點中的路由選擇也依照虛擬仿真信息執行。
同時狀態管理器負責實時監控流程實例,為圖形展示界面提供流程實例的狀態信息。
(4)過程控制器負責向流程引擎提供路由信息。該模塊替代了實際工作流程運轉中的人工事件觸發,取而代之的是為各分支指定概率。(也可以考慮引入規則引擎)仿真支持部件中各個部件的功能:
5 仿真實驗
顯示了仿真信息的配置過程。當點擊一個工作流程元素時,將在右邊顯示節點需要填寫的仿真信息。正如所示,依據填寫的信息XML 文件將立即進行更新。顯示了模擬結果的界面,它為我們提供了仿真結果的信息,我們以表格和餅圖的形式展現數據。
6 總結
本文針對仿真引擎,提出了兩種仿真方法:模擬用戶實例和模擬流程實例。并提出一種將兩種仿真方法疊加使用的二次仿真法,這種仿真方式從橫向和縱向兩種視角對一個工作流程的執行進行接近于現實的仿真,使得仿真結果更加真實可信,并依據此方法提出一套完整的從工作流定義模型衍化而來的工作流仿真模型.
有許多商業已有很多用于業務流程建模和仿真(COTS)的工具,然而,盡管這些產品的功能性日益增強,但在使用中仍然存在一些障礙。常見的問題是可用性和靈活性之間沖突[4]。目前提供的仿真服務只適合使用jPDL 和XPDL 兩種流程定義語言,在將來要使得仿真更加靈活,支持更多的業務流程定義語言,例如WS - BPEL 的[6]。如何使得動態生成的模擬數據更加符合客觀實際,是一個值得探討的問題,這需要進一步改善事件發生器。
[參考文獻] (References)
[1] R.Bhaskar, Ho Soo Lee, Anthon Levas, Raja Petrakian, FloraTsai, BillTulskie: ANALYZING ANDRE-ENGINEERING BUSINESS PROCESS USING SIMULATION. 26th conference on Winter simulation,Orlando, Florida, United States, 1994.
[2] Vlatka Hlupic, Stewart Robinson: BUSINESS PROCESS MODELLING AND ANAILYSIS USINGDISCRETE-EVENT SIMULATION. 30th conference on Winter simulation, Washington, D.C., United States,1998
[3] Hiroyuki Tarumi Tetsuya atsuyama, Yahiko Kambayashi: Evolution of Business Processes and a ProcessSimulation Tool. Sixth Asia Pacific Software Engineering Conference, Takamatsu, Japan, 1999.
[4] Changrui Ren, Wei Wang, Jin Dong, Hongwei Ding, Bing Shao, and Qinhua Wang. TOWARDS AFLEXIBLE BUSINESS PROCESS MODELING AND SIMULATION ENVIRONMENT.IBM ChinaResearch Laboratory. Winter Simulation Conference, Miami, Florida, USA, 2019.
[5] Lianjun An, Jun-Jang Jeng. ON DEVELOPING SYSTEM DYNAMICS MODEL FOR BUSINESSPROCESS SIMULATION. Winter Simulation Conference, Orlando, FL, USA, 2019.
[6] Web Services Business Process Execution Language (WSBPEL)