SlimeNatural — Software AG Natural / ADABAS → Java + PostgreSQL bit-exact 変換
Software AG ライセンス per-CPU 数百万 USD から完全離脱。Natural 言語と ADABAS データの両方を意味保存で移行する SlimeNENC 8 製品目。
銀行・保険・年金・自治体・防衛で稼働している Natural 4GL アプリケーションと ADABAS 階層型データベースを、人手レビュー前提のリファクタではなく、bit-exact + 監査チェーン + 改ざん検出付きで Java + PostgreSQL に移行します。SlimeCOBOL / SlimeMUMPS / SlimePL/I / SlimeRPG / SlimeFORTRAN と同じ S2-S5 / S7-S9 共通基盤。S1 (Natural FST + ADABAS DDM parser) と S6 (Java emitter + PostgreSQL DDL emitter) のみが言語固有。
- Natural 言語 — DEFINE DATA / IF / FOR / REPEAT / DECIDE / COMPUTE / COMPRESS / EXAMINE / CALLNAT / WRITE を Java に bit-exact 変換
- ADABAS データ操作 — FIND / READ LOGICAL BY descriptor / HISTOGRAM / STORE / UPDATE / DELETE / END-OF-TRANSACTION / BACKOUT TRANSACTION / ESCAPE TOP|BOTTOM[IMMEDIATE] を Java JDBC + JPA に意味保存変換
- ADABAS DDM — Predict 列固定形式の DDM を解析、MU (multi-value) / PE (periodic group) / SUPER / HYPER / SUB descriptor をすべて認識
- DDM → PostgreSQL DDL — MU は子テーブル、PE GROUP は子テーブル+pe_idx、SUPER は composite INDEX、Hyperdescriptor は INDEX hint。型 mapping (A→VARCHAR, N/P→BIGINT/NUMERIC, F→DOUBLE, D→DATE, T→TIMESTAMP, L→BOOLEAN, B→BYTEA)
- S9 5 軸 bench で全 75/75 PASS (15 sample × 5 軸 = dialect-detect / token-recover / mutation-detect / determinism / round-trip)
- byte-exact regression — Natural FST 15/15 + DDM parser 3/3 + DDL emitter 3/3 + Java emit→javac→java→stdout 15/15
「変換した結果が本当に同じ動作をするか」を 監査人が事後検証可能にする、
業界初の Natural 言語 + ADABAS データ同時 lossless 移行ツール (弊社調べ)。
主要計測値 (2026-05-10 実測)
- Natural FST tokenizerC11 製、keyword 66+ + END-* compound 12、TYPE_DESIG (`(I4)`/`(N5.2)`/`(A20)` 等)、SYSVAR (`*NUMBER`/`*OCC` 等)、VIEW 認識、`#name-with-hyphen` 対応。15 sample byte-exact regression PASS。
- ADABAS DDM parserPredict 列固定形式、9 format (A/N/P/B/F/D/T/L/GROUP)、level 1-9、short/long name、MU/PE/SUPER/HYPER/D/NULL flag。3 DDM 58 field 解析 byte-exact。
- DDM → PostgreSQL DDLmain + MU 子テーブル + PE 子テーブル + SUPER 用 composite INDEX を生成。3 DDM byte-exact + sqlite 構文検証 3/3 PASS。
- Natural → Java emitterPhase 4 完成、構造化制御 (IF/FOR/REPEAT/DECIDE)・ADABAS 文 (FIND/READ/HISTOGRAM/STORE/UPDATE/DELETE)・トランザクション制御 (END-OF-TRANSACTION/BACKOUT)・ESCAPE 全対応。15/15 sample で emit→javac→java→stdout regression PASS。
- S9 5 軸 benchdialect / token-recover / mutation-detect (SOH 注入 5 trial × 15 sample) / determinism / round-trip — 全 75/75 PASS。
- Hash-chain auditSlimeNENC 共通 S7 stage (SHA-256 monotonic chain)、年金・健保・防衛の 30 年保存要件に整合。
- Build-time LLM 原則LLM は変換規則の構築段階のみ使用、ランタイムは決定論ルールベース。99.9995% 系列の主張根拠 (SlimeCOBOL の NIST 501 検証と同型)。
市場文脈 — Software AG ロックイン
Software AG の Natural / ADABAS は 銀行・保険・年金・自治体・防衛・大手製造で 1970 年代から稼働しています。Software AG のサポート方針変更とライセンス料 (per-CPU 数百万 USD/年) を受け、世界各国で脱出案件が急増しています。
競合状況:
- CONNX / ADABAS-to-RDB / ADASQL — DB 単独移行に閉じる、Natural 言語側は対応外
- Software AG 純正 (Adabas SQL Gateway 等) — Software AG ライセンスが残るため wedge 半減
- 大手 SI による reimplementation — bit-exact 保証なし、人手依存で per-LOC 課金
- SlimeNatural (本製品) — Natural 言語 + ADABAS データの両方を単一ベンダで lossless 移行、bit-exact + audit chain
サポート機能一覧 (Phase 4 完成、2026-05-10)
Natural 言語
| 領域 | 対応 |
|---|---|
| DEFINE DATA | LOCAL / GLOBAL / PARAMETER / INDEPENDENT、型 (I4/I2/I1/N5.2/N9/P9.2/A20/B5/F8/L/D/T)、VIEW OF FILE、入子 GROUP、配列 (Phase 5 拡張予定) |
| 制御構造 | IF/THEN/ELSE/END-IF、FOR ... TO ... STEP / END-FOR、REPEAT [WHILE|UNTIL] cond / END-REPEAT、DECIDE ON FIRST VALUE OF / VALUE / NONE VALUE / END-DECIDE |
| 計算・代入 | `:=` 代入、COMPUTE、MOVE TO、`+ - * /`、関係演算子 (EQ/NE/LT/LE/GT/GE と記号形)、論理演算子 (AND/OR/NOT) |
| 文字列処理 | COMPRESS … INTO、EXAMINE … FOR … GIVING NUMBER、SUBSTRING、SCAN、MASK |
| サブプログラム | CALLNAT 'NAME' 引数列、SUBROUTINE … END-SUBROUTINE、PERFORM、RETURN、INCLUDE / COPYCODE |
| システム変数 | *NUMBER / *OCC / *ISN / *COUNTER / *PROGRAM / *USER / *DATX / *TIMX |
| 方言検出 | Natural for Adabas (mainframe) / Linux/Unix/Windows / Natural ONE — fingerprint 自動判定 |
ADABAS データ操作
| Natural | Java + PostgreSQL |
|---|---|
FIND view WITH descriptor = X | SELECT … WHERE descriptor = ? + ResultSet ループ |
READ view BY descriptor STARTING FROM lo THRU hi | SELECT … WHERE descriptor BETWEEN ? AND ? ORDER BY descriptor |
HISTOGRAM view descriptor | SELECT descriptor, COUNT(*) FROM view GROUP BY descriptor |
STORE view | INSERT + entityManager.persist |
UPDATE / DELETE | UPDATE / DELETE WHERE id = ? |
END-OF-TRANSACTION | conn.commit() |
BACKOUT TRANSACTION | conn.rollback() |
ESCAPE TOP / BOTTOM [IMMEDIATE] / ROUTINE | break / continue / return 適切に変換 |
ADABAS DDM → PostgreSQL DDL
| DDM 構造 | RDB マッピング |
|---|---|
| scalar field (level 2+) | main table の column |
| GROUP (no MU/PE) | flatten — sub-field を main table に展開 |
| MU (multi-value) | 子テーブル <main>_<short>_mu、parent FK + mu_idx PK |
| PE (periodic group) | 子テーブル <main>_<short>_pe、parent FK + pe_idx PK、PE GROUP 内 sub-field 全展開 |
| SUPER descriptor | composite INDEX CREATE INDEX idx_<table>_<short> ON <table> (col1, col2, …) |
| HYPER descriptor | INDEX hint コメント (Phase 5 で関数 INDEX 化予定) |
| format A nn / N nn[.dd] / P nn[.dd] | VARCHAR(nn) / BIGINT or NUMERIC(p,s) |
| format F / B / D / T / L | DOUBLE PRECISION / BYTEA / DATE / TIMESTAMP / BOOLEAN |
パイプライン構成 (Phase 4 時点 9 ステージ)
SlimeNENC ファミリー共通の S2-S5 / S7-S9 stage をそのまま再利用、Natural 固有なのは S1 (FST tokenizer + DDM parser) と S6 (Java emitter + DDL emitter) のみ。
- S1 — Natural FST tokenizer + ADABAS DDM parser (本製品固有、C11)
- S2 — Slot IR (SlimeCOBOL S2 共通)
- S3 — Π_R 冪等変換 (請求項 3)
- S4 — SOLOT 4 軸 E_D (請求項 6)
- S5 — Acceptor 64次元 encoder (請求項 2/7/8)
- S6 — Java emitter + PostgreSQL DDL emitter (本製品固有)
- S7 — SHA-256 hash-chain audit (請求項 9)
- S8 — Mini-PSV bigram language model (請求項 7)
- S9 — 5 軸 bench harness (dialect / token / mutation / determinism / round-trip)
業界文脈・典型ユースケース
- 地銀勘定系 — Natural + ADABAS で動く与信判定・口座管理を Java + PostgreSQL へ。Software AG ライセンスを完全離脱。
- 生命保険・損害保険 — 契約管理・収納が Natural、保険料率テーブルが ADABAS の典型構成。MU/PE で多者契約・複数連絡先を表現していた構造を子テーブル分解で再現。
- 年金・健保 — 30 年保存・1 円ズレ訴訟リスク。bit-exact + hash-chain audit が必須。
- 自治体・公的セクター — 住基ネット連携や税務統計に ADABAS Hyperdescriptor 利用。Phase 5 で INDEX 関数化対応予定。
- 防衛・海保 — 国産縛り案件と並行して、Software AG 抱える基地局システムも対象。
License モデル
SlimeCOBOL / SlimePL/I / SlimeRPG と同じ ツール課金モデル。生成された Java + PostgreSQL DDL の使用は永久無償。Natural / ADABAS 資産規模 (KLOC + DB ファイル数 + MU/PE 比率) に応じて見積もり。Software AG の per-CPU ライセンスから完全離脱できる単価設定。
初回 PoC は 国産 PoC Offer と同等の枠組みで受付 — 50-200 LOC の Natural source + 関連 DDM 1 本の持ち込みで、3-5 営業日で識別レポート、2-4 週で bit-exact 変換 sample を提示します。
関連資料・SlimeNENC ファミリー
- SlimeCOBOL — COBOL → Java/Rust bit-exact 変換 (本製品の S2-S9 共通基盤)
- SlimePL/I — PL/I → Java bit-exact 変換
- SlimeRPG — RPG → Java bit-exact 変換
- SlimeFORTRAN — FORTRAN → 9 言語 Multi-target
- SlimeJCL — JCL → POSIX shell 変換
- SlimeMUMPS — Caché ObjectScript → Java
- 国産 PoC Offer (日立 OpenTP1 / 富士通 GS21 / NEC ACOS)
- PSDP — Provable Semantic Difference Protocol
