九九範文幫

位置:首頁 > 畢業論文 > 論文格式

關於SaaS的工作流模擬系統中的交叉模擬法

以下是一篇關於關於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] kar, 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 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)

標籤:模擬 SaaS 系統