分層フレームワーク実行プロトコル仕様 —— 著者:王教成#
一般実行プロトコル#
入力仕様#
各層は構造化された入力オブジェクトを受け取り、以下を含む:
- その層に必要な特定のパラメータ(プレーンテキストの説明)
- 前の層の出力内容(プレーンテキストの説明)
出力仕様#
各層は構造化された出力オブジェクトを生成し、以下を含む:
- 設計文書:その層で規定された成果物(プレーンテキストの説明)
- コードスニペット:実行可能なコードの説明(プレーンテキスト形式)
- 次の層に渡すパラメータ:キーと値のペアデータ(プレーンテキスト)
実行メカニズム#
層と層は出力と入力オブジェクトを介して接続され、一貫したワークフローを形成する。
分層定義#
層 0:ビジネスエコシステム層#
位置付け:システムの商業環境における位置付けとコンプライアンスの境界を定義する
詳細化方法:
- コアステークホルダーとその要求を特定する
- 業界のバリューチェーン依存関係を分析する
- 規制および業界標準の要求をマッピングする(GDPR/HIPAA など)
入力パラメータ:
- プロジェクト名:文字列
- コアビジネスの説明:文字列
- ステークホルダーリスト:文字列配列
- 適用規制リスト:文字列配列
出力物: - 設計文書:ビジネスコンテキスト関係図の説明、コンプライアンス制約マトリックスの説明
- コードスニペット:コンプライアンスチェックコードテンプレートの説明
次の層に渡す: - コアビジネスキーワード:文字列配列
- 重要な制約リスト:文字列配列
層 1:システム層#
位置付け:全体的なソリューションの価値と形態を定義する
詳細化方法:
- コアビジネス問題の解決パスを抽出する
- システムの機能と非機能の境界を明確にする
- ハイブリッドクラウド / エッジコンピューティングなどのデプロイメントアーキテクチャを設計する
入力パラメータ:
- L0 からのコアビジネスキーワード
- L0 からの重要な制約リスト
- 非機能要件:性能 / 可用性などのキーと値のペア
- デプロイメントアーキテクチャの好み:文字列
出力物: - 設計文書:ビジネス能力マップの説明、デプロイメントトポロジー図の説明
- コードスニペット:インフラストラクチャ初期化スクリプトの説明
次の層に渡す: - コアサブシステムリスト:文字列配列
- デプロイメントアーキテクチャパターン:文字列
層 2:サブシステム層#
位置付け:システム内部の高内聚技術ユニットを計画する
詳細化方法:
- ドメイン駆動設計(DDD)に基づく境界コンテキストの分割
- サービス粒度に基づく分割(粗 / 細粒度サービス)
- データ物理的隔離要件に基づくグループ化
入力パラメータ:
- L1 からのコアサブシステムリスト
- L1 からのデプロイメントアーキテクチャパターン
- サービス分割原則:文字列
出力物: - 設計文書:サブシステム相互作用の時系列図の説明、サービスレベル合意文書の説明
- コードスニペット:サービス定義テンプレートの説明
次の層に渡す: - 重要なサービスインターフェース定義:文字列配列
- SLA 指標要件:文字列配列
層 3:セキュリティアーキテクチャ層#
位置付け:深層防御セキュリティシステムを設計する
詳細化方法:
- STRIDE 脅威モデリング分析を実行する
- ゼロトラストセキュリティ制御チェーンを設計する
- プライバシーデータライフサイクル管理規範を確立する
入力パラメータ:
- L2 からの重要なサービスインターフェース定義
- L2 からの SLA 指標要件
- セキュリティコンプライアンス要件:文字列配列
出力物: - 設計文書:セキュリティ制御マトリックスの説明、監査追跡メカニズム設計書の説明
- コードスニペット:セキュリティフィルター設定の説明
次の層に渡す: - 高リスクモジュールリスト:文字列配列
- プライバシーデータ処理規範:文字列
層 4:モジュール層#
位置付け:独立して提供可能なビジネスコンポーネントを構築する
詳細化方法:
- ビジネスユースケースに基づいてドメインロジックをカプセル化する
- 変更頻度に基づいて隔離境界を設定する
- モジュール間の防腐層インターフェース契約を定義する
入力パラメータ:
- L3 からの高リスクモジュールリスト
- L3 からのプライバシーデータ処理規範
- ビジネスユースケースの説明:文字列配列
出力物: - 設計文書:モジュールのデカップリング度評価報告の説明、インターフェース契約文書の説明
- コードスニペット:防腐層インターフェース定義の説明
次の層に渡す: - コアモジュールインターフェース定義:文字列配列
- モジュール通信規範:文字列
層 5:パッケージ構造層#
位置付け:コードロジックユニットとバージョン管理を組織する
詳細化方法:
- 六角形アーキテクチャパターンに基づいて層を分ける
- 機能特性に基づいてパッケージを管理する
- 前方および後方互換性のあるバージョン戦略を設計する
入力パラメータ:
- L4 からのコアモジュールインターフェース定義
- L4 からのモジュール通信規範
- アーキテクチャスタイル:文字列
出力物: - 設計文書:パッケージ依存関係図の説明、API バージョン移行パスの説明
- コードスニペット:プロジェクト構造生成スクリプトの説明
次の層に渡す: - 基本パッケージ構造:文字列
- バージョン戦略:文字列
層 6:クラスとインターフェース層#
位置付け:ドメインモデルと技術のデカップリングを実現する
詳細化方法:
- ドメイン駆動設計における集約ルートを特定する
- SOLID 設計抽象インターフェースを適用する
- ビジネスロジックとインフラストラクチャ実装を分離する
入力パラメータ:
- L5 からの基本パッケージ構造
- L5 からのバージョン戦略
- ドメインモデル要素:エンティティ / 値オブジェクトリスト
出力物: - 設計文書:ドメインモデルクラス図の説明、インターフェーステストケース集の説明
- コードスニペット:ドメインエンティティクラス定義の説明
次の層に渡す: - コアインターフェース定義:文字列配列
- ドメインモデル規範:文字列
層 7:メソッド層#
位置付け:原子レベルのビジネス操作ユニットをカプセル化する
詳細化方法:
- 単一メソッドの認知負荷を制御する(≤50 行)
- 関数型プログラミングで副作用を避ける
- 防御的パラメータ検証を前置する
入力パラメータ:
- L6 からのコアインターフェース定義
- L6 からのドメインモデル規範
- コアビジネスアルゴリズム公式:文字列
出力物: - 設計文書:メソッドサイクル複雑度ヒートマップの説明、ゴールデンパステストプランの説明
- コードスニペット:コアビジネスアルゴリズム実装の説明
次の層に渡す: - 重要なメソッドシグネチャ:文字列配列
- アルゴリズム制約条件:文字列配列
層 8:コードブロック層#
位置付け:実行ユニットの堅牢性と一貫性を保証する
詳細化方法:
- トランザクション境界を正確に制御する
- 例外処理ブロックのリソース安全解放
- 重要なパスのアサーション保護
入力パラメータ:
- L7 からの重要なメソッドシグネチャ
- L7 からのアルゴリズム制約条件
- トランザクション管理要件:文字列
出力物: - 設計文書:トランザクションデッドロック検出報告の説明、リソースリーク監視プランの説明
- コードスニペット:トランザクション制御コードブロックの説明
次の層に渡す: - 重要なトランザクション境界定義:文字列配列
- エラーハンドリング規範:文字列
層 9:ステートメント層#
位置付け:コード表現の明確さと曖昧さを保証する
詳細化方法:
- 単一行単一意味の原則
- 暗黙的型変換を禁止する
- 空安全オペレーターの強制使用
入力パラメータ:
- L8 からの重要なトランザクション境界定義
- L8 からのエラーハンドリング規範
- コーディング標準:文字列配列
出力物: - 設計文書:静的スキャンルールセットの説明、副作用ステートメントリストの説明
- コードスニペット:防御的プログラミングの例の説明
次の層に渡す: - パフォーマンスホットスポットリスト:文字列配列
- コードスタイルルール:文字列配列
層 10:エクスプレッション層#
位置付け:低レベルのロジック実行効率を最適化する
詳細化方法:
- 演算子の複雑度の熔断制御
- チェーン呼び出しの深さ制約
- Lambda クロージャの状態管理
入力パラメータ:
- L9 からのパフォーマンスホットスポットリスト
- L9 からのコードスタイルルール
- 最適化目標:文字列配列
出力物: - 設計文書:エクスプレッションパフォーマンススコアカードの説明、リファクタリング提案ナレッジベースの説明
- コードスニペット:最適化されたコアエクスプレッションの説明
次の層に渡す: - ハードウェア最適化提案:文字列配列
- 重要なパフォーマンス指標:文字列配列
層 11:原子操作層#
位置付け:ハードウェアレベルの極限性能を引き出す
詳細化方法:
- CPU 命令パイプラインの最適化
- キャッシュプリフェッチ戦略の調整
- ベクトル化命令セットの適用
入力パラメータ:
- L10 からのハードウェア最適化提案
- L10 からの重要なパフォーマンス指標
- ハードウェアプラットフォームの説明:文字列
出力物: - 設計文書:命令レベルの時間分析の説明、プラットフォーム適応ガイドの説明
- コードスニペット:ハードウェア加速コードの説明
- 最終プロジェクトコード:完全なコードライブラリの説明
フレームワークの利点#
- 分層の責任が明確:各層は特定のタスクのみを担当し、入力と出力に明確な基準がある
- 全プロセスの完全カバー:ビジネス要件から最終コードまで、全体のプロセスが完全に通じている
- データの自動伝達:セキュリティ要件などの重要な情報が自動的に次の段階に渡される
- プレーンテキストの汎用性:すべての入力と出力はシンプルなテキストで説明される
- 技術スタックに依存しない:プログラミング言語やツールを自由に選択できる
- 記録をいつでも確認可能:各段階の設計文書と設定が永久に保存される
- 実行方法が柔軟:単一の段階を開発することも、全プロセスを自動的に進めることも可能
- 防護が自動的に連動:セキュリティ設定が自動的にリソースとモジュール管理に関連付けられる
- 問題の自動調整:パフォーマンスの問題を発見すると、自動的に設計を調整する
- チームの並行作業:複数のグループが同時に異なる段階を処理できる
- 変更の影響を隔離:ビジネスの調整が基盤技術の実装に影響を与えない
- プロセスの自由なスケーリング:ステップを簡素化したり、新しい技術段階を追加したりできる