# 圏論から見たビジネスプロセス - ビジネスプロセス = パイプライン > 業務ステップ - 業務ステップ - 文書から文書への写像 ## 1. 圏としての業務フロー 業務フローの圏 | **概念** | **業務フローの圏** | | ------------- | ------------------------ | | 対象 (Object) | 文書 | | 射 (Morphism) | 業務ステップ | | 射の合成 | パイプライン | | 恒等射 | 何も変化を起こさない操作 | ## 2. 関手 (Functor) としての業務システム 業務圏 $\mathcal{W}$ とシステム圏 $\mathcal{S}$ としたときの関手 $F: \mathcal{W} \to \mathcal{S}$ | **概念** | **業務($\mathcal{W}$) ** | **システム圏($\mathcal{S}$)** | | -------- | ------------------------------ | ------------------------------- | | 対象 | 文書(見積書など) | データ構造(DBテーブルなど) | | 射 | 業務ステップ(作成・承認など) | 関数・API・画面遷移など | | 関手 $F$ | モデルの抽象表現 | 実装へのマッピング | ## 3. 自然変換とシステムのバージョン管理 業務モデルが変更された場合、たとえば旧業務モデル $\mathcal{W}_1$ と新業務モデル $\mathcal{W}_2 x$ があり、それぞれに対応するシステム $\mathcal{S}_1$, $\mathcal{S}_2$ があるとする。 そのとき、**関手** $F_1: \mathcal{W}_1 \to \mathcal{S}_1$、$F_2: \mathcal{W}_2 \to \mathcal{S}_2$ があったとして、 この間の**自然変換(Natural Transformation)** $\eta: F_1 \Rightarrow F_2$ は、 「業務変更に伴うシステム変更のマッピング」を形式化することができる。 ## 4. 双圏(Bicategory)としての業務プロセス 現実の業務では「ひとつの射」だけでなく、「射と射の関係」や「承認者」「例外処理」などの**メタプロセス**が存在する。 このような構造を扱うには、**双圏(Bicategory)** が有用: - 対象:文書 - 1-射:業務ステップ(例:A→B へ変換) - 2-射:業務ステップ同士の関係(例:A→B の経路が2つあり、それらがどういう関係かを示す) たとえば「手動承認」と「自動承認」は同じ入力と出力でも意味が異なるプロセスだが、双圏ならこれを区別して表現できる。 例 | **状況** | **双圏的な捉え方** | | -------------------------------------- | ---------------------------- | | 文書Aから文書Bへの処理が複数ある | 1-射(f, gなど)で表現 | | 処理方法Aと処理方法Bの違いを明示したい | 2-射(α: f ⇒ g)で表現 | | 手動プロセスを自動化したい、という変化 | f ⇒ g という2-射の導入で表現 | | プロセス同士を比較・変換・抽象化したい | 双圏で可能 | ## 5. モナド(Monad)としての業務制約 **業務ルールや制約(たとえば承認の必要性や検閲)** を表現するにはモナドが使える。 - モナドは「副作用のある計算」を文脈付きで表現する枠組み - 業務上の「承認待ち」「検閲済み」「一時保留」などの**文脈を包んだ業務状態**を表せる 👉 [[ビジネスプロセスとモナド]] 例: - `Document` → `Approved<Document>` - `Monad<Document>` のように、文書の状態をコンテキスト付きで処理していける これはワークフローエンジンや状態遷移管理(ステートマシン)とも関連する。 応用: - 2-射に「コスト」「時間」「リスク」などを付与すれば、業務プロセス間の比較評価が可能。 - 実装上は「承認API(手動 or 自動)」を差し替えることでシステム設計にも直結。 - モデルをそのまま業務設計支援やワークフロー改善提案に使える。 分析・改善への応用: - プロセスの**改善余地**(自動化できるところ)を明確に比較可能 - 同じ「業務目的」に対する**複数の手段の設計・評価**ができる - プロセスの切替(2-射)を「戦略的変更」として文書化・制御可能 ## まとめ | **圏論概念** | **業務への応用例** | | -------- | ---------------------- | | 圏 | 業務フロー(文書とプロセス) | | 関手 | 業務モデルから IT システムへのマッピング | | 自然変換 | 業務モデルのバージョン変更・移行 | | 双圏 | プロセス間の関係・例外処理 | | モナド | 承認や保留といった業務状態の表現 |