仕様
ActQL仕様
ActQL 0.1の規範となる定義です。プログラムが何を意味するか、どう検査され実行されるか、Host、Connector、クライアントが交換するワイヤー形式を定めます。この索引は、各文書が何を定め、どの順に読むとよいかを示します。v0.1の目標を定めるのは公開ドキュメントです。この仕様は同じ振る舞いを規範として定義し、その目標に揃えます。両者に差異があれば、オーナーが別途判断しない限り、仕様側の欠陥です。
仕様とは何か
- 規範と参考情報。 「文書」に挙げた文書は規範です。その要件には識別子が付き、適合性はそれらに対して主張されます。設計ノートとガイドは参考情報です。
- バージョン0.1。 すべての文書は
actql/0.1です。機械向けの契約(スキーマ、文法、法則)は、文書のバージョンともパッケージのリリースとも別に、内容の識別子で固定されています。 - 作者はSQLで書きます。 テキストの表面(Pipe構文を含むSQL)はクエリテキストで定義し、プログラムを書くと構文リファレンスで説明しています。言語に示すYAMLとJSONの文書は、テキストが変換される先の正規化されたプログラムモデルの直列化であり、第二の記述言語ではありません。
- 定義されていることと、リリースされていることは別です。 ここで定義された振る舞いが、すべての環境でまだ実行できるとは限りません。実装状況に現時点で動くものを記録し、適合性で実装がプロファイルを主張する方法を定めます。
文書
次の順に読んでください。
| 文書 | 定めるもの |
|---|---|
| クエリテキスト | 作者が書くSQLとPipeの表面。文の先頭、Pipe演算子、字句の規則、スカラー関数、そして各形が正規化モデルにどう変換されるか。 |
| 言語 | テキストが変換される先の正規化されたプログラムモデル。ソースとプログラムの構造、Carrierと値の型、式と述語、演算、名前付きのResultとEffectの宣言、検査と正規化された計画、正規化された識別子。 |
| 実行 | 取り込みと受け付け、Runの識別子モデル、Runの状態、CheckpointとResolution、アカウントによる権限の振り分け、Effectのプレビュー・承認・適用、結果と突き合わせ。 |
| 適合性 | 主張、プロファイルの依存関係、コーパス、証拠、リリースの組み合わせ。 |
| プロトコル:契約 | Catalog、SourceView、Mapping、Command、model taskの契約。検査環境。ロック。静的な計画のArtifact。診断。 |
| プロトコル:Run | Run、Checkpoint、Resolution、プレビュー、適用の受領記録、突き合わせの受領記録のワイヤー形式。実行アカウントの設定。 |
| プロトコル:Artifact | ResultのArtifact、マニフェスト、配信。Storeの受け付け。利用可能性のリース。 |
| プロトコル:ディスカバリー | 公開のスナップショット。describe、list、read。カーソルと開示。 |
| プロトコル:Run Graph | 有限のプロセスグラフ、型付きの起動、試行のライフサイクル、Runをまたぐ束縛。 |
| プロトコル:HTTP | Connectorが使う型付きのHTTPの束縛。オリジン、リダイレクト、SSRFの規則、有界の転送。 |
| プロトコル:コレクション | コレクション。定義、実行、会計、証拠、カバレッジ、統合の束縛。 |
Reference Hostは、Hostがこれらの要件をどう満たすかを説明する参考情報です。
要件の読み方
規範となる文はそれぞれ、安定した識別子(requirement-block)を持つブロックの中にあります。適合性の証拠は、検証した正確な要件に結び付けられ、文書全体に結び付けられることはありません。各文書は、規範としてインポートする所有文書を列挙します。それ以外の相互参照はナビゲーションのためのもので、参照先のプロトコルを完全に実装することを求めるものではありません。個々のスキーマと法則の参照は、各文書の機械向け契約の節で個別に固定されています。
規範となる文を変更する方法は開発に書いています。
Source: actql/actql/docs/spec/README.md at d904416674e4 · Edit on GitHub