まさおレポート

当ブログへようこそ。広範囲を記事にしていますので右欄のカテゴリー分類から入ると関連記事へのアクセスに便利です。 

NTTデータ草創期メモランダム3 1970年代初頭の開発

2015-11-22 | 通信事業 NTT・NTTデータ・新電電

 

 

30数年前のNTTデータにおけるシステム開発風景を描写しておくのも何かの役に立つかもしれない。現在とは雲泥の差と思うが具体的にどのくらい違っているのだろうか。

フローチャートの作成
一命令ずつ書いている人もいれば、処理の内容ごとに書く人もいてまちまちであった。これもトレーシング可能な半透明のA3用紙で5ミリ四方の薄い升目が入っていた。20*10センチくらいのフローチャート用テンプレートを用いて判断ボックスや処理ボックスをシャープペンシルで書いて行く。間違うと薄いステンレスの消しゴム用板 5センチ*8センチくらいの角を丸くした形で、小さな円形などの形に刳られており、その刳られたところを消したいポイントに当てて消しゴムで消す。他の消したくないところをカバーする。ステンレスの枠を当てて消しゴムで消し、後のくずは羽箒で払う。

2007年に娘の仕事(輸入業経営)を手伝う際に必要になり、VBAプログラムを作成することになった。自身の30数年前の経験がどれほど生かせるものかに興味があった。マニュアルをみながら実際に作成してみると、これも自転車と同じで一度身についていると30数年の隔たりはすぐに取り戻すことが出来たことに少なからず驚いた。このときも最初はフローチャートなしで何とか作れるが、少し論理が複雑になるとフローチャートの威力はなかなかのものであったと再認識したが、これも久しぶりに作成したための錯覚かもしれない。

今ではフローチャートは細かい範囲の処理の順序と分岐の条件を整理してくれるだけであり、同じ時間でC言語で記述できてしまうとして作成に懐疑的な意見が多いようだ。

開発言語
横浜銀行バンキングシステムはアセンブリ言語で開発された。高級言語と呼ばれるCOBOLなどと異なり、コンピュータが直接理解できる機械語をそのまま簡単な英語の略語に近い表現で現したもので、機械語(0,1で表現される)に一対一に対応する。アセンブリ言語の文法はCPUのアーキテクチャによるため、高級言語のような移植性はない。

メモリーが256KBと余裕がないために高級言語の無駄を排する必要があり、アセンブル言語が適していた。

これをコーディング用紙と呼ばれるものに書き記していく。ニモニックコードと呼ばれる命令部分とオペランドと呼ばれる演算レジスターの指定を行う部分、それにコメント部分からなっていた。外注するとオンラインプログラムの場合、たしか1ステップ1万円が相場ではなかったか。

ある程度コーディングが出来るとこれを紙カードにパンチする。電動タイプライターのようなもので、一文字入力すると1列9ポイントに穴を開けてくれる。30センチばかりになった紙カードを読み取り機にセットして磁気テープに読み込ませる。ばらばらという音を立てて読み込まれていく。

開発規模

1965年5月に稼働を始めた三井銀行では20万ステップの開発を行った。現在では大手銀の勘定系システムは5000万ステップを超え、みずほ銀行では勘定系だけで1億ステップを超える。横浜銀行ではどの程度のステップ数だったのだろう。残念ながら記憶にないが当時の仲間に聞いてみるとほぼ同程度ではないかとの答えであった。開発要員はNTTデ本だけで40名強総勢でも100名程度だった。(現在では高級言語を使用しているので単純な開発規模比較はできない)

最近のバンキング開発事例では2012年から始まり2016年の完成を目指すみずほ銀行システムでは最大8000人の開発要員で計画される。これはピーク時に6000人を投じた三菱東京UFJ銀行のシステム統合プロジェクト「Day2」を上回る。「Day2」が2500億円、みずほの投資額は4000億円を超える可能性があるという。現在の開発規模は当時のバンキングシステムからみて二ケタに達していることがわかる。

コーディング段階のデバッグ
コーディング用紙を見て紙カードパンチ機で穴をあけ、それを紙カードリーダで読み込み磁気テープに変換する。次にアセンブルコンパイラにかけて機械語に変換する。この段階でコーディングの文法ミスをラインプリンターに打ち出してくれる。文法ミスがなくなるまで紙カードを打ち直して部分的に修整していき、最終的に完了コードがでるまで繰り返す。完了コードが出たかどうかは最後のラインプリンターの音が短いのですぐにわかった。文法ミスが出ているときは打ち出し時間が長く、完了の場合はほんの数行ですぐに終わる。延々と文法ミスを打ち出されるとやれやれとうんざりする。この完了コードがでるとほっとしてちょっとした達成感があった。

当時のラインプリンターはダダダダと打ち出すときに猛烈な音がした。一箇所のミスを発見するために30センチ程度のプリンタ用紙1箱を使い切る打ち出しも珍しくない。今から見ると大変な紙資源の浪費時代でもあった。デバッグのためにコンピュータ割り当て時間をもらえるのは夜遅くか深夜が多かったので勢い寝不足になる。当時一匹狼型の派遣プログラマー(開発の応援に富士通経由で協力会社の派遣社員が2,3名参加していた)過酷な残業をものともせず、職員に比べてかなり高給(倍程度)をとっていたと記憶している。彼らの剛の者はこの猛烈な打ち出し音の中でも短時間眠れるタフなものもいた。

打ち出されたプリンタ用紙はチェック済みになると元の箱に納めて焼却される。定期的にチェック済みのプリンタ用紙を廃棄する作業が伴うのだが、赤いマジックインキで大きく焼却と書き処分するのだがあまりに大量なので重労働であった。

重労働と言えばディスクの運搬も思い出す。わずか30キロバイト程度の記憶容量しかない磁気ディスクなのだがこれが重い。可搬型でデバッグ作業や清掃の度に倉庫から持ち出してセットする。これがなかなかのものであった。

プログラム走行テスト

文法ミスのなくなったプログラムを走行させてデバッグ作業に移るために、FACOM230-60系列ではLIED処理と呼ばれるアドレスのリンケージ処理を行う。この処理を終えたプログラムをコンピュータ上で走行させることになる。いよいよ本格的なデバッグなのだが、これが一筋縄では動いてくれない。

コンピュータをテストモードに立ち上げるだけでもかなりの時間を要する。コンソール上のプリンターから延々と処理過程が打ち出され、4,5分もかかってようやく立ち上げが終わる。その後に走行テストとなるのだが、おいそれと走ってくれない。すぐにABORT(異常終了)する。ABORTは今から見れば不適切な用語だと思うが当時はもっぱらこれが使われていた。エラーコードを頼りに原因を探すのだが、限られた時間の中で簡単に見つかればよいが、さっぱり原因がわからないことのほうが多い。特に深夜など一人で作業しているので先輩に尋ねるわけにも行かない。ほんのちょっとしたことでも知らないとにっちもさっちもいかなくなる。そんなときは絶望的な気分で孤独な試行錯誤を延々と繰り返すことになる。少し前の先輩に聞くと走行中にCPUを止めて機械語。をスイッチで設定して走行させるといったデバッグもあったという。

開発マシン

富士通製FACOM 230-60
FACOM 230-60はICを採用した大型汎用マルチプロセッサ(2CPU)方式コンピュータで1968年3月に完成した。FACOM230-50に比べ最大10倍の性能を有しオンライン機能が強化された。最大256KBメモリと最大768KBの磁気ドラムを採用し,演算速度は固定小数点加減算1.26μs 。130台以上が出荷された。情報処理学会 コンピュータミューゼアムより引用http://museum.ipsj.or.jp/computer/main/0016.html

コンピュータ室

7メートルごとに巨大な柱が立っている。柱と柱の間隔をスパンと呼ぶが映像では三スパン程度が写っている。当時のコンピュータ室を記憶で補うとコンピュータ室全体は6ないし7スパンの正方形で2000平米程度はあっただろう。天井には直径80センチほどの円形をした空調用口が開いている。室の中央辺りにはコンソールが2台並び、その前方には磁気テープが9台設置されている。紙カード読み取り装置が中央に置かれ、その向かいには紙カードさん孔装置が2台置かれている。

3.5メートルの高さの天井には蛍光灯ケースがずらりと列をなして並ぶ。部屋の置くには巨大な空調設備が見える。床面は30センチ四方のフリーアクセス床板が敷かれている。コンピュータ室特有の臭いが今でも思い出される。この写真ではラインプリンターが写っていないが、隠れて写っていない。とにかく広いので端から端まで移動する機会も多く、かなりな運動量になる。ローラースケートで移動すれば楽なのにと夢想したものだ。10キロ以上ある設置型の磁気ディスク装置を保管ケースから両手に持ち、設置するのはかなりの筋力トレーニングになる。

記憶の扉を開けるとこの部屋からカード読取装置がカードを読み取る音や、ラインプリンターが打ち出す音が聞こえてくる。磁気テープが5センチほどの長さごとに小刻みに読み込んでいくさまも見える。

人の高さほどの中央処理装置の前面パネルの上方は演算を表示する緑色の小さなランプが並び猛烈な速さで点滅を繰り返している。このコンピュータ操作パネルの前で、一度同僚の肩を何気なく押したら同僚がよろめいて操作スイッチに触れ、CPUが止まってしまったことがある。実際に運用中であったために銀行業務も止まってしまった。再立ち上げで事なきを得たが、後で大目玉を食らったことは言うまでもない。

コンピュータ室設計・設営

1970年代初頭つまり30数年前はシステム開発チームが設備の設計まで行っていたケースもある。スタッフの中の設備関連の専門化が中央演算装置を始めとして磁気テープ・磁気ドラム・集合磁気ディスク装置・空調装置・カード鑽孔装置・カード読取装置・などの仕様書を元に縮尺を厳密に設定したミニチュアサイズのボール紙を切り取り、それを大きな模造紙に貼り付けて設備の配置を決めていた。

現在はそういった業務は当然分業化されているだろう。あるいは請負会社が実施するだろう。もっともこの当時もプロジェクトリーダの判断で外注あるいはメーカに依頼していたチームのほうが多かったかもしれないが。当時の私のボスは特にハードや設営に思い入れの深い方だったのでそうなったのかもしれない。

記憶の中では50*50メートル程度はあった広大なスペースのフロアにフリーアクセス(どの床部分も開閉できる構造)が施工された後、その下に太い電源ケーブルや信号線の太いケーブル等を引き込む工事を本来はソフト開発を行うチーム自ら行ったという伝説的な話が。暑いさなかで全員が汗みどろになりながらやり遂げたと聞いた。私自身はその後に配属されたためにその現場を知らないのだが。

このボスは当時も専門業者に任せるのがごく一般的であり効率も精度もいいに違いないにも関わらず、こうした建設工事を部下にあえて施工させるところに戦前・戦中の日本人技術者の心意気と精神性=思い入れを示したかったのだろうと思う。

設備メンテナンス
週に一回程度であったか集合磁気ディスク装置に設置する可搬型磁気ディスクの清掃もおおせつかった。30センチ定規に清掃紙を巻いてディスクの合間に差込んで付着したごみを取り除くのだ。当時の可搬型磁気ディスクは図体が大きく10kg以上あったのではないか。とにかく重いのだが磁気ディスク容量はわずか30MBしかない。この可搬型磁気ディスクを10メートルは離れた保管庫から両手に一個ずつもって集合装置に設置する。これを30個ばかり掃除しただろうか。磁気テープの読み取り部分もクリーニング用テープで清掃したような記憶があるが定かではない。もっともこうしたメンテナンスもその後専門チームが出来、そのチームに引き継がれることになった。

  回想のNTTデータ

 


コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。