Framework#
saealibのフレームワークはComponentの契約をComponentGraphに配置し、Compilerが検証済みのExecutablePlanへ変換するための実行基盤を提供します。 契約構造と実行フローは別の関係として扱います。
概念ページ#
Componentはcontract()で静的な契約を返します。
ComponentContractは、Componentが保持するコンポーネントの契約包含と必要な能力を記述するもので、Componentの継承階層を表すものではありません。
PortSpec、DataSpec、StateContractは契約を構成する宣言的な値であり、Componentサブクラスではありません。
次のページで、拡張時に必要な概念を分担して説明します。
Component Protocol、contract()、PartSpecの関係。
契約の構成要素と不変条件。
ポート、データ、サービス、互換性を表す宣言的な値
ノード、エッジ、状態バインディング、構造化領域。
検証、解決、診断、ExecutablePlan。
ExecutablePlanの実行、状態適用、再開、非同期待機。
候補表現、サービス、RepresentationSpecの境界。
候補ID、観測、真値と予測の対応。
Stage互換状態とgraph-native状態の所有境界。
実行フロー#
Runtime上の関係はComponent → ComponentNode → ComponentGraph → Compiler → ExecutablePlan → ExecutionRuntimeです。
この流れは契約ツリーとは別であり、ComponentContractが実行順序を直接表すことはありません。
詳細な状態境界はOptimizationStateとRuntimeで、候補表現と観測の境界はSearchSpaceとFeedbackで説明します。
拡張経路#
既存のビルトインコンポーネントの振る舞いだけを差し替える場合は、対応する拡張ページを選びます。 新しい契約、候補表現、Graph接続、Compilerルール、Runtimeの意味論が必要な場合はフレームワーク拡張を参照してください。 公開型のimport経路はAPIリファレンスで確認します。