1 / 51

利用 Petri Net 分析以 BPMN 為基之企業流程模型的有效性 NSC 94-2213-E-011-015 報告人 : 歐陽超 臺灣科技大學工業管理系 中華民國九十五年十一月十一日

利用 Petri Net 分析以 BPMN 為基之企業流程模型的有效性 NSC 94-2213-E-011-015 報告人 : 歐陽超 臺灣科技大學工業管理系 中華民國九十五年十一月十一日. 緒論. 研究背景 商業流程執行語言的出現 -BPEL4WS BPEL4WS 在 2002 年時由 IBM 、 Microsoft 和 BEA 所提出,它是一種以 XML 為基礎的網路服務組合語言。 圖形化的商業流程執行語言 -BPMN BPMI (Business Process Management Initiative) 在 2004 年 5 月提出了 BPMN 規範。

Download Presentation

利用 Petri Net 分析以 BPMN 為基之企業流程模型的有效性 NSC 94-2213-E-011-015 報告人 : 歐陽超 臺灣科技大學工業管理系 中華民國九十五年十一月十一日

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 利用Petri Net分析以BPMN為基之企業流程模型的有效性 NSC 94-2213-E-011-015 報告人:歐陽超 臺灣科技大學工業管理系 中華民國九十五年十一月十一日

  2. 緒論 • 研究背景 • 商業流程執行語言的出現-BPEL4WS • BPEL4WS在2002年時由IBM、Microsoft和BEA所提出,它是一種以XML為基礎的網路服務組合語言。 • 圖形化的商業流程執行語言-BPMN • BPMI (Business Process Management Initiative)在2004年5月提出了BPMN規範。 • 其提供圖形化的方式讓使用者易於了解及創造商業流程。 • 另外,也提供了BPMN轉換至BPEL4WS之轉換語法。

  3. 緒論 • 研究動機 • 繪製BPMN模型時可能會因為塑模者邏輯錯誤造成模型無效。 • 繪製BPMN模型時可能會因為不當地結合control element使得模型無效 - 即fork、join、split及merge四種行為。 • 問題點: • 如何判斷BPMN模型是否有效? → 利用Petri Net • 研究目的 • BPMN無效模型的歸類 • 訂定一套將BPMN模型轉換為Petri Net模型的方法 • 利用Petri Net分析BPMN模型的有效性及其他相關特性

  4. 所引用方法之簡述 • BPEL4WS常用標籤 • 共通標籤: • 基本活動標籤:

  5. 所引用方法之簡述 • 結構性活動標籤: • 作用域標籤(Scope):

  6. 所引用方法之簡述 • BPMN常用圖形:

  7. 所引用方法之簡述

  8. 所引用方法之簡述

  9. 研究方法架構 • 研究方法分為四大部分 • 問題分析階段 • 概念分析階段 • 模型分析階段 • 設計階段 • 模擬階段 • 實作階段

  10. 概念分析階段 • 設計企業模型時可能遭遇的問題: • 定義階段時塑模者邏輯錯誤 • 定義階段時流程設計錯誤 • 這些無效的情形在規劃階段不易被察覺。 • 若在定義階段及實作階段之間加入驗証階段驗証模型是否有效,可防止企業浪費資源在錯誤的企業模型中。 Invalid Valid Planning Definition Verification Implementation

  11. 模型分析階段 • 繪製BPMN模型時,會因為不當地結合control element使得模型無效: • Fork (And - Split) • Join (And - Join) • Split (Or - Split) • Merge (Or - Join) • 本研究根據這四種control element,將BPMN模型可能發生無效的情況分為二類: • 死結 • 無限迴圈 • 另外,本研究針對BPMN模型再提出一項特性做分析: • 商業流程執行完成時間

  12. 死結 模型分析階段 • 死結 • 若在BPMN模型中的某個結點發生死結,則無法繼續結點之後的流程。

  13. 無限迴圈 模型分析階段 • 無限迴圈 • 在迴圈中使用Parallel Gateway會造成無限迴圈的情況。

  14. 模型分析階段 • 商業流程執行完畢時間 • 在BPMN模型中,會因為選擇的路徑不同而使得完成時間有所不同。 • 本研究利用Time Petri Net來計算這些不同的時間,提供給塑模者做為流程設計的參考。

  15. 設計階段 • 建立BPMN模型轉換為Petri Net模型的轉換樣版。 • 根據第一步驟的轉換樣版將BPMN模型轉換為Modified BPEL4WS語法。 • 根據第一步驟的轉換樣版將Petri Net模型轉換為CPNXML語法。 • 根據第二步驟及第三步驟定義XSLT描述語法,以將Modified BPEL4WS轉換為CPNXML(描述Petri Net的XML語法)。 1 3 2 4

  16. BPMN模型轉換為Petri Net模型的轉換樣版 • Event • Activity

  17. BPMN模型轉換為Petri Net模型的轉換樣版 • Control Element • Fork (And-Split) • Join (And-Join)

  18. BPMN模型轉換為Petri Net模型的轉換樣版 • Split (Or-Split) • Merge (Or-Join)

  19. 將BPMN模型轉換為Modified BPEL4WS語法 • 轉換方式 • 根據前一步驟之轉換樣板及BPMN規格書中的轉換方式 • 另外再加入三個屬性: • Sequence:BPMN Block位於的區塊 • Aim:BPMN Block目標的區塊 • Type:BPMN Block的類型

  20. 將BPMN模型轉換為Modified BPEL4WS語法 • Event • Activity • Fork

  21. 將BPMN模型轉換為Modified BPEL4WS語法 • Join • Split • Merge

  22. 將Petri Net模型轉換為CPNXML語法 • CPNXML之主要標籤

  23. 描述Place「P2」之座標、內含文字、token狀態、資料型態描述Place「P2」之座標、內含文字、token狀態、資料型態 CPNXML基本定義 描述Transition「ncname」之座標、內含文字、資料型態 描述P1連結至ncname的Arc,其中包含座標,連結點及資料型態 描述ncname連結至P2的Arc,其中包含座標,連結點及資料型態 描述Place「P1」之座標、內含文字、token狀態、資料型態

  24. Event之BPMN模型: 利用XSLT描述語言將Modified BPEL4WS轉換為CPNXML Event之Modified BPEL4WS語法: CPNXML XSLT程式碼(描述Transition的部分)

  25. 模擬階段 • 利用Petri Net軟體「CPN Tools」來模擬分析轉換出的CPNXML語法。 • 死結 • 無限迴圈 • 執行完成時間

  26. 死結 死結 模擬階段 • 死結:若一個Petri Net中某個Transition無法被任何狀態M激發,且 ,則稱這個Petri Net發生死結(Deadlock)。

  27. 模擬階段 • 無限迴圈: • 可到達性: • 起始狀態 :(1,0,0, … ,0) • 結束狀態 :(0,0,0, … N)

  28. 模擬階段 • 流程執行完成時間:利用Time Petri Net 3 7 2 3 5 4 6 3 7 2 3 5 6 4

  29. 研究方法實作

  30. 研究方法實作 • 本研究將BPMN模型轉換為完整的CPNXML語法分為四個步驟: • 「BPMN To BPMN Block」的拆解方法:根據拆解法則將BPMN模型拆解成數個BPMN Blocks。 • 「BPMN Blocks To BPEL Blocks」的轉換方法:根據BPMN規格書及本研究自定的語法將BPMN Blocks轉換為Modified BPEL Blocks。 • 「BPEL Block To CPNXML」的轉換方法: • 「BPEL Blocks To CPNXML Blocks」轉換模組 • 「Add Arc and End Block」模組 • 「Merge」模組 • 利用CPN Tools來模擬Petri Net模型。

  31. 「BPMN To BPMN Block」的拆解方法 編號的前二碼為BPMN Block的橫向編號,編號的後一碼為BPMN Block的縱向編號。

  32. 「BPMN Blocks To BPEL Blocks」的轉換方法 • 根據研究方法中所提及的轉換方式,將BPMN Blocks轉換為BPEL Blocks。

  33. 「BPEL Block To CPNXML」的轉換方法 • Block間的連結

  34. 「BPEL Block To CPNXML」的轉換方法 • XSLT Template對應表

  35. 「BPEL Block To CPNXML」的轉換方法

  36. 「BPEL Blocks To CPNXML Blocks」轉換模組 • 編號 • BN代表Block的編號、BN後二碼代表Petri Net圖形中元素的類別。 • 如此便可為每個元素定義獨一無二的編號。

  37. Block「011」 利用addArc.java 呼叫addArc.xslt Block「012」 利用addArc.java將二個Block合併

  38. 「Merge」模組 • 將所有的Block組合,加入CPNXML的基本定義中。 在此插入所有的Blocks

  39. 利用CPN Tools來模擬Petri Net模型 • CPN Tools開啟畫面

  40. Simulation工具 利用CPN Tools來模擬Petri Net模型 • Simulation功能:了解token流動的情形

  41. State space工具 利用CPN Tools來模擬Petri Net模型 • State space功能:產生分析報表

  42. 案例分析-訂單處理流程

  43. 發生死結

  44. 案例分析-訂單處理流程 不可使用Exclusive Gateway Join091 改進後的訂單處理流程 :

  45. 案例分析-訂單處理流程 • 流程執行時間 time=4 time=3 time=1 time=1 time=2 time=3 time=2 加入時間

  46. 流程執行完畢時間為12個時間單位 案例分析-訂單處理流程 • 訂單被接受之流程執行完畢時間

  47. 流程執行完畢時間為4個時間單位 案例分析-訂單處理流程 • 訂單被拒絕之流程執行完畢時間

  48. 案例分析-生產線流程

  49. 不可使用Parallel Gateway 案例分析-生產線流程 有異常值,流程中可能有無限迴圈

  50. 結論 • 提出建構BPMN模型時可能造成模型無效的情況,藉以得知建構BPMN模型時,可能會遭遇的問題點。 • 提供一套BPMN模型轉換為Petri Net模型的方法,讓塑模者可迅速地將BPMN模型轉換為Petri Net模型,以進行模擬分析。 • 利用Petri Net之特性分析BPMN模型之有效性,並利用Time Petri Net來計算BPMN模型執行完成的時間,以提供給塑模者做為流程設計的參考。

More Related