EPC(イベント駆動プロセスチェーン)

ARIS ビジネスプロセスダイアグラム — イベントと機能を AND/OR/XOR コネクタで交互に接続し、構造的な整合性検証を行います。

EPC について

「イベント駆動プロセスチェーン」(EPC: Event-driven Process Chain)は、ARIS(Scheer、1990 年代)の中心にあるビジネスプロセス表記法です。コントロールフローはイベント(受動的な状態 — "Order received")と機能(能動的なタスク — "Check credit")を厳密に交互に配置し、分割と結合には AND / OR / XOR コネクタでルーティングします。SAP プロセスドキュメントと BPM で広く使われています。

Schematex の強みは構造的検証にあります。エンジンは数値を計算しません(pertfaulttree とは対照的に)。EPC の整合性ルール — イベント/機能の交互配置、イベントは決定できないというシグネチャルール、単一入力/単一出力の多重度、到達可能性 — を検査し、壊れたモデルをサイレントに描くのではなく、AI が読めるメッセージで違反をハイライトします。

epc·§
↘ preview
100%
Credit check Event-driven process chain "Credit check": 3 events, 1 functions, 1 connectors. Well-formed. Credit check Order received Check credit × Credit approved Credit refused
UTF-8 · LF · 9 lines · 164 chars✓ parsed·5.8 ms·4.0 KB SVG

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              # コネクタが 2 つの分岐に分割
X1 -> E3
F2 -> E2 : sent       # 単一のアークには ': label' を付けられる
  • -> チェーンはペア単位のエッジに展開されます。
  • 末尾の : label は単一のアークにアノテーションを付けます。
  • まだ宣言されていない矢印のエンドポイントは自動作成されます(バリデーターでフラグが付きます)。すばやくスケッチしてから後で整理できます。
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 -> F3

layout: tb はチェーンを上から下にレイアウトします(デフォルトも縦方向に対応しています)。


4. 計算された整合性検証

これが差別化要因です。エンジンは(スローせず、フラグを立てて)検証します:

  1. 二部交互配置 — イベントと機能は任意のパスに沿って厳密に交互する。コネクタはこれを壊しません。
  2. 開始/終了はイベントでなければならない — 機能は開始ノードまたは終了ノードにはなれません。
  3. シグネチャルールイベントが OR/XOR 分割のソースであってはなりません(受動的なイベントは決定できない)。イベントの後の AND 分割は許可されます。
  4. 分割/結合のバランシング — タイプ T の分割はタイプ T の結合で閉じられるべき。不一致は警告です(実際の EPC は時々アンバランスになります)。
  5. イベントと機能の単一入力 / 単一出力 — コネクタが多重度を担います。
  6. 到達可能性 — すべてのノードが開始点から到達可能で、終了点に到達できる。

違反したノードは data-* フラグでハイライトされます。ダイアグラムは引き続きレンダリングされます。


5. よくあるミス

# WRONG — invalid id (must start with a letter)
event 9bad

# AVOID — redeclaring a node (the first wins, a warning is raised)
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.