Fire Workflow 核心流程定義模型 `org.fireflow.model.net` 基於 Petri Net 理論構建,定義節點、邊、同步器等核心圖元素。本文解析類別繼承體系與關鍵屬性設計。
整體類別繼承結構

- Node (繼承 `AbstractWFElement`):流程網路節點基類
- Activity (繼承 Node):業務活動節點,豐富任務屬性 (執行者、表單、工具、子流程等)
- Synchronizer (繼承 Node):同步器/路由節點,對應 Petri Net 的分支合流控制
- StartNode:流程唯一開始節點
- EndNode:流程唯一結束節點
- Edge:連接兩個節點的有向邊 (弧)
- Transition:流程轉移 (Petri Net 的 Transition)
- Loop:迴路/回退邊
核心類別屬性詳解
Synchronizer - 同步器核心屬性
- `enteringTransitions` / `leavingTransitions`:輸入/輸出轉移列表
- `enteringLoops` / `leavingLoops`:輸入/輸出迴路列表,配合 Loop 實現迴路語義
Edge - 邊的約束規則
| 邊類型 | 來源節點 | 目標節點 |
| Transition | StartNode, Activity, Synchronizer | EndNode, Activity, Synchronizer |
| Loop | Synchronizer, EndNode | Synchronizer, StartNode (必須為來源節點的前驅) |
所有邊支援 `condition` 屬性定義啟動條件。

Petri Net 理論映射關係
- Place (庫所) → 擴展為 `Activity` (業務活動) 與 `Synchronizer` (路由控制)
- Transition (變遷) → `Transition` (流程轉移)
- Arc (弧) → `Edge` 基類與 `Loop` (回路弧)
- Token 流轉 → 由引擎運行時依條件驅動節點間流轉
模型完整性評估
目前模型已支援基本流程設計需求:序列、並行分支 (AND-split/join)、選擇分支 (OR-split/join)、迴路、開始/結束控制。對於複雜工作流模式 (如多實例、取消區域、臨時任務) 仍有擴展空間。詳細模式支援情況參考《Fire Workflow 工作流原理、設計與應用》專著。
開發者計畫
作者正進行國際化文檔翻譯工作,計畫將 Fire Workflow 推向國際開源社區,歡迎有興趣開發者加入貢獻。