CANO-AID
ユーザインターフェースである画面、帳票、データベース、ファイルに関わる入出力は、ある決まった処理手続きを踏んでいる。従って個々のロジックをプログラマがコーティングするのではなく、コンピュータシステムによってソースコードを自動生成することが可能である。自動生成のためには、事前にデータディクショナリを中心としたリポジトリに、その入出力に関わる設計情報を事前に登録をして置く。自動生成の際には、その設計情報から、その入出力に適合したソースコードを自動生成することになる。また、業務アプリケーションは、オンラインの場合、データベースをメンテナンスする、問い合わせる、バッチの場合は、マッチングする、サマリする、データを編集する、帳票を出力するといった機能に分類することができる。このようなものをパターンとして部品化しておき、その部品を自動的に組み合わせることによって動作するプログラムを自動生成することが、可能になるといった基本的な考え方が、CANO-AIDの設計思想である。
CANO-AIDにおいて、プログラムは全て部品から自動生成される。部品には、予め、部品内のコードを変換することを想定して作成して置く。名称は置き換え、該当行の生成の有無等を事前に定義しておく。
メインルーチンをパターンという部品を定義し、そこから呼ぶ出される部品をモジュール、三階層以降の部品をブロックと呼ぶ。 部品は、データディクショナリを中心としたリポジトリから自動的にパラメータを取得し、部品を組み立て、加工しながらソースコードを自動生成する。
プログラムは、以下の区分に分かれる。
MPP:オンライン型プログラム
BMP:階層型データベースを使用するバッチメッセージ型プロプラム
BPP:階層型データベースを使用するバッチプログラム
BCH:階層型データベースを使用しないバッチプログラム