CANO-AID

CANO-AIDはCOBOLソース、JCL、データベース定義等を自動生成する開発支援ツールである。
キヤノン株式会社において、メインフレームアプリケーションの開発生産性を向上させるため、本村昭二を中心としたプロジェクトによって開発された。
1984年キヤノンソフトウェア株式会社によって発売が開始され、メインフレームの各種DB/DCに対応し、稼働環境を広げていった。
ガメン オ ヨム、フアイル オ カク等、片仮名を使用した中間言語CORALで開発をする。また、ロジックは全て部品と言う概念で構成されている。
1992年に出荷されたCANO-AIDIIは、中間言語にCOBOL-Cを採用し、固有部品のコーディングも稼働環境のCOBOL言語で記述可能となった。
設計思想.
ユーザインターフェースである画面、帳票、データベース、ファイルに関わる入出力は、ある決まった処理手続きを踏んでいる。従って個々のロジックをプログラマがコーティングするのではなく、コンピュータシステムによってソースコードを自動生成することが可能である。自動生成のためには、事前にデータディクショナリを中心としたリポジトリに、その入出力に関わる設計情報を事前に登録をして置く。自動生成の際には、その設計情報から、その入出力に適合したソースコードを自動生成することになる。また、業務アプリケーションは、オンラインの場合、データベースをメンテナンスする、問い合わせる、バッチの場合は、マッチングする、サマリする、データを編集する、帳票を出力するといった機能に分類することができる。このようなものをパターンとして部品化しておき、その部品を自動的に組み合わせることによって動作するプログラムを自動生成することが、可能になるといった基本的な考え方が、CANO-AIDの設計思想である。
開発手順.
開発は、以下の手順で行われる。
CORAL版CANO-AIDは、以下のDB/DCに対応している。
プログラム自動生成.
CANO-AIDにおいて、プログラムは全て部品から自動生成される。部品には、予め、部品内のコードを変換することを想定して作成して置く。名称は置き換え、該当行の生成の有無等を事前に定義しておく。
メインルーチンをパターンという部品を定義し、そこから呼ぶ出される部品をモジュール、三階層以降の部品をブロックと呼ぶ。
部品は、データディクショナリを中心としたリポジトリから自動的にパラメータを取得し、部品を組み立て、加工しながらソースコードを自動生成する。
プログラムは、以下の区分に分かれる。
データベース定義自動生成.
サポート対象のIMS、DB2、ADM、XDM、AIMに関するデータベース定義を、リポジトリ上から、自動的に生成する。
画面定義自動生成.
サポート対象のIBM3270、日立560/20に適合した以下の画面定義を、リポジトリ上から、自動的に生成する。
JCL自動生成.
リポジトリ上、ジョブ定義を行い、その後ジョブステップ定義を行う。ジョブステップ定義では、先に登録したプロプラムの入出力が明確になっているため、既に登録したプログラム名称を登録していく、JCL生成の際、ファイルの入出力に伴うDD文は、SYS020、SYS021と連番になって振られる。
また、プログラム定義上のBMP、BPP、BCHの区分によって、展開されるカタプロが異なる。