オーケストレーション問題としての COBOL・RPG 近代化
COBOL や RPG の近代化プロジェクトは、たいてい同じ理由で失敗する。翻訳プロジェクトとして進められるからだ。ツール — 近年はますます言語モデル — がプログラムを読み、Java や C# を出力し、人間はその結果を信じるよう求められる。完全な仕様書が存在しない、40年分・数百万行の基幹勘定系において、「信じる」は移行戦略ではない。
daitai は別の扱いをする。近代化は翻訳問題ではない。証拠要件を伴うオーケストレーション問題である。
なぜ翻訳だけでは失敗するのか
COBOL・RPG 資産はコードだけではない。コードに加えて、数十年分の文書化されていない業務ルール、コピーブック、JCL、バッチウィンドウ、そしてすでに退職した人々の運用習慣がある。素朴な翻訳を危険にする性質が三つある。
- 仕様がプログラムそのものである。 システムが何をすべきか述べた別文書は存在しない。観測されるふるまいこそが要件だ。
- 許容誤差が財務的・規制的である。 小数第4位の丸め差は見た目の問題ではない。報告義務のあるインシデントだ。
- 検証コストが支配的である。 新しいコードを出力するのは安い。新しいコードが同一にふるまうと証明することに、コストとリスクが集中する。
95% の確率で正しく推測するツールは、誰も承認できないシステムを生む。どの 5% が誤りかを誰も言えないからだ。
オーケストレーションとしての近代化
捉え直すと、作業は小さく個別に検証可能な変換の連鎖であり、各段が記録を残す。
レガシー原本 ─► 構文解析 ─► 正規化 ─► 代数的 IR ─► 変換 ─► 出力 ─► 比較
│ │ │ │ │ │ │
└───────────┴──────────┴───────────┴──────────┴───────┴───────┘
各段が署名付き成果物を残す
このパイプラインを単に自動化されたものではなく監査可能なものにする性質が三つある。
- 既定で決定論的。 同じ入力は毎回バイト単位で同一の出力を生む。daitai のリプレイ機構はモデル呼び出しをカセットとして記録するため、AI を用いた段も決定論保証の例外ではなく対象内にある。500回反復の独立した2回の実行は、差異ゼロでバイト単位に同一のイベントストリームを生んだ。
- ブロックする代数的不変条件。 各変換は明示された法則 — 値の意味論、隠れた可変状態の不在、明示的なエラー処理 — を保たなければならない。当社の実行では 20 件中 20 件の不変条件がブロッキング CI ゲートとして合格している。法則が破れればビルドは失敗する。警告では済まさない。
- 目視ではなく参照比較。 出力は参照実装とバイト単位で比較される。Java 等価性スイートでは、当社コンパイラの標準出力は 4 ケースすべてで JDK 17 と完全に一致する。「ほぼ同じ」を合格とみなしたことは一度もない。
これらの数値の出典は 証明 を参照。
監査人が実際に受け取るもの
スクリーンショットでもコンサルタントの保証でもない。CGF エビデンス・バンドル — どの変換が、どの入力に、どの規則集のもとで走り、どのダイジェストで、どの出力を生んだかを記録した、差分可能なファーストクラスのデータ構造である。このバンドルこそが移行を規制当局に対して弁護可能にする成果物であり、銀行が基幹システムにこのツールを向けられる理由でもある。
RPG が COBOL と異なる点
IBM i 上の RPG 資産には、明示すべき二つの相違がある。
- 固定形式と自由形式が共存する。 しばしば一つのプログラム内で混在するため、いかなる変換の前に構文解析段で方言を正規化しなければならない。
- データベースは付随物ではない。 DDS で定義された物理・論理ファイル、レコードレベルアクセス、埋め込み SQL があるため、データアクセスの意味論は出力コードに委ねず中間表現で模型化する必要がある。
いずれも扱いは同じだ。まず代数的 IR へ正規化し、次に変換し、最後に稼働中のレガシー挙動と比較する。
日本において重要な理由
日本の企業は、銀行・保険・公共インフラにおいて、世界に残る基幹 COBOL の大きな部分を保有している。多くは当初の設計者がすでに退職したシステムだ。そこでの制約は近代化への意欲ではない。ツールの自信だけを根拠に決済システムを置き換える責任ある組織は存在しないという点にある。
証拠を伴うオーケストレーションは、問いそのものを変える。「その翻訳を信じますか?」ではなく、「すべての変換の記録がここにあり、要求に応じて再現できます。ご自身で検証してください」になる。これはリスク委員会が実際に答えられる問いである。
次に読む
- 決定論的ソフトウェアとは何か?
- CGF を5分で
- DPW 概要
- COBOL・RPG 資産の評価を検討中ならお問い合わせください。