Framework#

Layer 4: Extend Framework

saealibのフレームワークはComponentの契約をComponentGraphに配置し、Compilerが検証済みのExecutablePlanへ変換するための実行基盤を提供します。 契約構造と実行フローは別の関係として扱います。

概念ページ#

Componentはcontract()で静的な契約を返します。 ComponentContractは、Componentが保持するコンポーネントの契約包含と必要な能力を記述するもので、Componentの継承階層を表すものではありません。 PortSpec、DataSpec、StateContractは契約を構成する宣言的な値であり、Componentサブクラスではありません。

次のページで、拡張時に必要な概念を分担して説明します。

Component

Component Protocol、contract()、PartSpecの関係。

Component
ComponentContract

契約の構成要素と不変条件。

ComponentContract
Specs

ポート、データ、サービス、互換性を表す宣言的な値

Specs
Graph

ノード、エッジ、状態バインディング、構造化領域。

Graph
Compiler

検証、解決、診断、ExecutablePlan。

Compiler
Runtime

ExecutablePlanの実行、状態適用、再開、非同期待機。

Runtime
SearchSpace

候補表現、サービス、RepresentationSpecの境界。

SearchSpace
Feedback

候補ID、観測、真値と予測の対応。

フィードバック
OptimizationState

Stage互換状態とgraph-native状態の所有境界。

OptimizationState

実行フロー#

Runtime上の関係はComponent → ComponentNode → ComponentGraph → Compiler → ExecutablePlan → ExecutionRuntimeです。 この流れは契約ツリーとは別であり、ComponentContractが実行順序を直接表すことはありません。

詳細な状態境界はOptimizationStateとRuntimeで、候補表現と観測の境界はSearchSpaceとFeedbackで説明します。

拡張経路#

既存のビルトインコンポーネントの振る舞いだけを差し替える場合は、対応する拡張ページを選びます。 新しい契約、候補表現、Graph接続、Compilerルール、Runtimeの意味論が必要な場合はフレームワーク拡張を参照してください。 公開型のimport経路はAPIリファレンスで確認します。