EPC(事件驅動程序鏈)
ARIS 業務流程圖——事件與功能交替排列,以 AND/OR/XOR 連接器連接,並進行結構良好性驗證。
關於 EPC
事件驅動程序鏈(EPC)是 ARIS(Scheer,1990 年代)核心的業務流程表示法:控制流嚴格交替排列事件(被動狀態——「訂單已收到」)和功能(主動任務——「核查信用」),由 AND / OR / XOR 連接器負責分支與合併。它廣泛用於 SAP 流程文件和 BPM。
Schematex 的優勢在於結構驗證。引擎不計算數值(對比 pert 或 faulttree);它檢查 EPC 良好性規則——事件/功能交替、事件不能決策簽名規則、單進/單出多重性、可達性——並以 AI 可讀的訊息標示違規,而非靜默地繪製一個破損的模型。
1. 您的第一個 EPC
以 epc 關鍵字開頭,加上可選的標題,然後按 ID 宣告節點並以箭頭連接它們:
epc "Order fulfilment"
event E1 "Order received"
function F1 "Check credit"
event E2 "Credit OK"
E1 -> F1 -> E2節點帶有 ID 和可選的帶引號標籤;箭頭透過 ID 引用。標準形式是將連接器宣告為節點(xor X1)並以 ID 連接所有內容——最接近 ARIS 儲存 EPC 的方式。
2. 節點種類
event E1 "Order received" # 被動狀態(圓角六邊形)
function F1 "Check credit" # 主動任務(圓角矩形);別名:func
func F2 "Send invoice" # `func` 是 `function` 的簡寫
and A1 # AND 連接器(∧)
or O1 # OR 連接器(∨)
xor X1 # 互斥 OR 連接器(×)連接器根據其傳入/傳出弧線決定是分支還是合併,因此同一個符號同時服務兩種用途。連接器標籤是可選的。
3. 控制流連接
E1 -> F1 -> X1 # 鏈式寫法是成對弧線 E1→F1, F1→X1 的語法糖
X1 -> E2 # 連接器分裂為兩條分支
X1 -> E3
F2 -> E2 : sent # 單條弧線可帶 ': 標籤'->鏈式寫法展開為成對邊線。- 結尾的
: 標籤為單條弧線加上標註。 - 尚未宣告的箭頭端點會被自動建立(並由驗證器標示),讓您可以快速草繪後再整理。
epc "Procure-to-pay"
layout: tb
event E1 "Need identified"
function F1 "Create PO"
and A1
function F2 "Notify supplier"
function F3 "Update budget"
E1 -> F1 -> A1
A1 -> F2
A1 -> F3layout: tb 以由上而下的方式排列鏈(預設也是垂直友好的)。
4. 計算式良好性驗證
這是本引擎的差異化優勢。引擎會驗證(標示,不拋出例外):
- 二部圖交替 — 事件和功能沿任何路徑嚴格交替;連接器不打破此規則。
- 起點/終點必須是事件 — 功能不得作為起點或終點節點。
- 簽名規則 — 事件不得作為 OR/XOR 分支的來源(被動事件不能做決策);事件後的 AND 分支是允許的。
- 分支/合併平衡 — 類型 T 的分支應由類型 T 的合併關閉;不匹配視為警告(真實的 EPC 有時是不平衡的)。
- 每個事件和功能單進/單出 — 多重性由連接器承擔。
- 可達性 — 每個節點都可從起點到達,並能到達終點。
違規節點以 data-* 旗標標示;圖表仍會渲染。
5. 常見錯誤
# 錯誤 — 無效的 ID(必須以字母開頭)
event 9bad
# 避免 — 重複宣告節點(第一個優先,並發出警告)
event E1 "first"
event E1 "second"ID 必須以字母開頭;重複宣告的節點保留第一個定義並警告。由於事件→XOR/OR 分支會被標示,決策應透過功能節點來產生決策結果,再進行分支。
6. 標準合規性
符號和規則遵循 ARIS EPC 慣例(Scheer)、van der Aalst(1999)和 Mendling(2008):六邊形事件、圓角矩形功能、∧/∨/× 連接器,以及事件不能決策的簽名限制。
7. 開發藍圖
延後實作:流程介面(跨頁)節點、組織單位/資料物件通道(eEPC),以及分支/合併自動修復建議。
Found this useful?
Schematex is free, fully open source, and zero-dependency. A star helps other developers discover it.