必要な言語

データベースにおいて、

  • DDL – Data Definition Language スキーマ定義
  • DQl – Data Query Language 検索
  • DML – Data Manipulation Language CRUDのCUD
  • DCL – Data Control Language アクセス制御

モジュールに関して、

  • MDL - Module Description/definition Language
  • MCL - Module Connecting Language

記述の単位を何と呼ぶかまだ悩んでいる。

  1. 記述
  2. 記述子
  3. ノート
  4. 文書

決まってないからXとすると、

  1. XDL -- X Description Language
  2. XCL -- X Connecting Language

は必要で、XCLがフローグラフを記述する言語になる。

document-oriented database = document store という言い方から document かな。となると、DDL と DCL となって、データベース用語ともろかぶり。

いずれにしても、Connecting Language の構文は次のようなものを考えている。記述単位を X とする。

  1. X はラベルで参照する。構文上、名前と文字列の区別はなく、どちらもラベル。
  2. X の連接演算子はカンマ、丸括弧は通常の数式と同じ。(A, B, C), D とか。
  3. 式の直前にアノテーションを付けられる。@foo, @[...] の形。@foo (A, @bar B, C), D とか。アノテーションの結合度と他の演算の結合度の優先順を付けないといけない。
  4. 順次グルーピング {A; B; C} と選択グルーピング {A | B | C} がある。何括弧は丸括弧と違い、フローグラフ上の頂点を生成する。
  5. {A} は認めない。{A;} か {A|} とする必要がある。
  6. {} も認めない。
  7. 述語 p に対して p? A : B と p? A はガード付き式、if-then-else, if-then を書ける。
  8. グルーピングとアノテーションを除けば、テスト付きクリーネ代数になると思う。
  9. ホーア式とホーア論理による論理系を作って論理計算する。