世界の企業100社がスポンサーとなったAPT Wの開発

APT 4とは何かもよく分からないままに、先輩の笹原さんに連れられて、機械振興協
会に設置されていたF60 MONITOR V を使い出したのは、昭和45年春頃であったと思う。
もちろん最初の頃は、MTをマウントしたり、ディスクパックを変えたり、空調が効かず
室内温度上昇に伴い出やすくなるメモリエラーを避けるために扇風機をかけたり、とい
った手伝いしかできなかった。その一方で、APT 4 ENCYCLOPEDIA とDICTIONARYと呼ぶ
二冊の分厚い英語のマニアルを一生懸命読んだ。当初は、Interpretive approach とか
Executive complex,あるいはName tableのhashing algorithm など未知の用語ばかりが
出てきて理解するのに随分苦労した記憶がある。

F60 へのインプリメントは、CDC(後にIBM360) で開発されたソースコードをもとにし
ていた。CDC/IBM と、浮動小数点データの仮数部と指数部の位置やビット数が異なって
いるがために生じる計算精度の違いや、バウンダリやEQUIVALENCE の位置が合わずデタ
ラメな結果がでたりして連日連夜悪戦苦闘したものである。もっとも最初の頃はOS自体
が不完全で、入出力テーブルのコード系(NC ではEIA という特殊なコード系を使ってい
た) が不十分だったり、リンケージ・エディター(LIED と読んだ) が APTのような大規
模プログラム(1MWのオブジェクトを 256KW〜512KW の実メモリで動かすために複雑なオ
ーバーレイ構造を取っていた) を処理できなかったりのトラブルが多く、OSのデバッグ
も含めて開発しているようなものだった。今日のような便利なデバッグ・ツールのない
時代で、障害が発生すると、厚さ20〜30センチにもなるメモリ・ダンプ(F60は8進数表
示)を取ってプログラムの動きを追ってデバッグするほかなかった。毎日紙の山を前に
して8進数表示の数字の羅列を解読しながらの作業が続いた。その効率の悪さをなんと
か改善しようとして、MONSUP(Monitor Support Program) と呼ぶデバッグ・ツールも開
発したりした。プログラム実行中に、コンソールあるいはエンジニア・パネルから強制
的に割り込みをかけて、メモリの内容をチェックしたり、その一部を変えたりして、リ
アルタイムでデバッグすることにより、障害原因の発見と修正を行ったものである。今
から考えると随分と原始的なやり方をしていたものであるが、そうした苦労の中からハ
ード/OS の仕組みが分かり、効率的なソフト設計の創意工夫が生まれた。

APTプログラムが動きだすとともに問題になってきたのが、解析精度であった。当
時、川崎重工(岐阜)航空機事業部では、BOEING-747の翼面の加工を受託しようとして
いたが、この高度な曲面加工を行うためには、APT3では不可能でどうしてもAPT
4の機能が必要であった。3次元5軸制御の工作機械を使った加工である。表面仕上げ
精度は、千分の5ミリ以下でなければならなかった。競争会社である三菱重工・名古屋
航空機ではIBMのAPT−AC(APT3改良版)でやろうとしていた。川重(岐阜
)F60商談でのAPT4開発は、IBMとの競争でもあった。
APT4の心臓部分はARELEM(Arithmetic Element)と呼ぶ数値計算プログラム
で、数値解析としては偏微分方程式を変分法で解くアルゴリズムであった。TABCYL(Tab
ulated Cylinder)とかRuled Surface, Sculptured Surface といった高度な三次元曲面
形状を一定の誤差範囲内で切削するための工具通路を計算するためには、三次元形状を
もった工具と加工曲面との接触点の軌跡を近似計算するだけでなく、工具が他の接続曲
面とぶつからないように干渉チェックもしなければならず非常に複雑なアルゴリズムが
要求された。APT4で求められた工具通路データ(CLDATA) をNC工作機械に入力して
実際の切削加工を行う前に、プロッター装置に工具軌跡を描いて事前チェックをするの
であるが、これがOKであっても実際に5軸制御工作機械で加工をすると、ある所で機械
が原因不明の振動をして工具軌跡が振れる現象が起こる。これはARELEMの解析精
度が悪く、工具軌跡の不連続点があったり、冷却油注入のタイミングが悪かったり、あ
るいは工具のスピンドル回転数や移動速度が不適切であったりするのが原因であった。
昭和46年にAPT長期計画(ALRP)が終わり、CAM−Iという非営利法人組織
ができたが、その中の重要プロジェクトの一つとしてARELEMプロジェクトも発足
した。CAM−I日本支部において当社もこのプロジェクトに参画し、ARELEM委
員会の主要メンバとしてアルゴリズムの改良・インプリメントに貢献した。