SlimeNatural — Software AG Natural / ADABAS → Java + PostgreSQL bit-exact transpiler
Frees you from Software AG’s per-CPU multi-million-USD license. The eighth SlimeNENC product, with semantics-preserving migration of both Natural language and ADABAS data.
Natural 4GL applications and ADABAS hierarchical databases that run banks, insurers, pensions, municipalities, and defense systems — migrated, bit-exact, with audit chains and tamper detection, into Java and PostgreSQL. Not a human-review-gated rewrite. The S2-S5 / S7-S9 stages are shared with SlimeCOBOL, SlimeMUMPS, SlimePL/I, SlimeRPG, and SlimeFORTRAN; only S1 (Natural FST + ADABAS DDM parser) and S6 (Java + PostgreSQL DDL emitters) are language-specific.
- Natural language — DEFINE DATA / IF / FOR / REPEAT / DECIDE / COMPUTE / COMPRESS / EXAMINE / CALLNAT / WRITE all transpiled bit-exact to Java
- ADABAS data operations — FIND / READ LOGICAL BY descriptor / HISTOGRAM / STORE / UPDATE / DELETE / END-OF-TRANSACTION / BACKOUT TRANSACTION / ESCAPE TOP|BOTTOM[IMMEDIATE] all mapped to Java JDBC + JPA
- ADABAS DDM — Predict column-anchored DDM is parsed; MU (multi-value) / PE (periodic group) / SUPER / HYPER / SUB descriptors all recognized
- DDM → PostgreSQL DDL — MU becomes a child table, PE GROUP becomes a child table with pe_idx, SUPER becomes a composite INDEX, HYPER becomes an INDEX hint. Type mapping (A→VARCHAR, N/P→BIGINT/NUMERIC, F→DOUBLE, D→DATE, T→TIMESTAMP, L→BOOLEAN, B→BYTEA)
- S9 5-axis bench passes 75/75 (15 samples × 5 axes = 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→run→stdout 15/15
Auditors can re-verify "no information lost in conversion" after the fact —
the world’s first lossless migration tool that handles Natural language and ADABAS data in one shot (per our research).
Headline numbers (measured 2026-05-10)
- Natural FST tokenizerC11, 66+ keywords + 12 END-* compound forms, TYPE_DESIG (`(I4)`, `(N5.2)`, `(A20)` etc.), SYSVAR (`*NUMBER`, `*OCC`, ...), VIEW recognition, hyphenated names like `#DEPT-IN`. 15-sample byte-exact regression PASS.
- ADABAS DDM parserPredict column-anchored layout, 9 formats (A/N/P/B/F/D/T/L/GROUP), level 1-9, short/long names, MU/PE/SUPER/HYPER/D/NULL flags. 3 DDMs / 58 fields parsed byte-exact.
- DDM → PostgreSQL DDLmain table + MU child tables + PE child tables + composite INDEXes for SUPER. 3 DDMs byte-exact + sqlite syntax check 3/3 PASS.
- Natural → Java emitterPhase 4 complete; structured control (IF/FOR/REPEAT/DECIDE), ADABAS statements (FIND/READ/HISTOGRAM/STORE/UPDATE/DELETE), transaction control (END-OF-TRANSACTION/BACKOUT), and ESCAPE all covered. 15/15 samples pass emit→javac→run→stdout regression.
- S9 5-axis benchdialect / token-recover / mutation-detect (5 SOH-injection trials × 15 samples) / determinism / round-trip — 75/75 PASS.
- Hash-chain auditPluggable into the SlimeNENC shared S7 stage (SHA-256 monotonic chain). Aligns with the 30-year retention requirements of pension, health insurance, and defense.
- Build-time LLM onlyLLM is used only to construct conversion rules; runtime is deterministic rule-based. Same basis for the 99.9995% claim as SlimeCOBOL (validated against NIST CCVS85 501).
Market context — Software AG lock-in
Software AG’s Natural / ADABAS has been running banks, insurers, pensions, governments, defense, and large manufacturers since the 1970s. Following Software AG’s shifting support policies and per-CPU multi-million-USD licensing, exit projects have surged worldwide.
Competitive positioning:
- CONNX / ADABAS-to-RDB / ADASQL — data-side migration only; the Natural language side is out of scope
- Software AG own (Adabas SQL Gateway etc.) — Software AG licensing remains, halving the wedge
- Major SI reimplementation projects — no bit-exact guarantee, human-dependent, per-LOC pricing
- SlimeNatural (this product) — the Natural language and ADABAS data are migrated lossless from a single vendor, with bit-exact correctness and an audit chain
Supported features (Phase 4 complete, 2026-05-10)
Natural language
| Area | Coverage |
|---|---|
| DEFINE DATA | LOCAL / GLOBAL / PARAMETER / INDEPENDENT, types (I4/I2/I1/N5.2/N9/P9.2/A20/B5/F8/L/D/T), VIEW OF FILE, nested GROUPs, arrays (Phase 5) |
| Control flow | 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 / assignment | `:=` assignment, COMPUTE, MOVE TO, `+ - * /`, relational operators (EQ/NE/LT/LE/GT/GE plus symbolic), logical operators (AND/OR/NOT) |
| String processing | COMPRESS … INTO, EXAMINE … FOR … GIVING NUMBER, SUBSTRING, SCAN, MASK |
| Subprograms | CALLNAT 'NAME' arg-list, SUBROUTINE … END-SUBROUTINE, PERFORM, RETURN, INCLUDE / COPYCODE |
| System variables | *NUMBER / *OCC / *ISN / *COUNTER / *PROGRAM / *USER / *DATX / *TIMX |
| Dialect detection | Natural for Adabas (mainframe) / Linux/Unix/Windows / Natural ONE — auto-fingerprint |
ADABAS data operations
| Natural | Java + PostgreSQL |
|---|---|
FIND view WITH descriptor = X | SELECT … WHERE descriptor = ? + ResultSet loop |
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 as appropriate |
ADABAS DDM → PostgreSQL DDL
| DDM construct | Relational mapping |
|---|---|
| scalar field (level 2+) | main-table column |
| GROUP (no MU/PE) | flatten — sub-fields lifted into the main table |
| MU (multi-value) | child table <main>_<short>_mu, parent FK + mu_idx PK |
| PE (periodic group) | child table <main>_<short>_pe, parent FK + pe_idx PK, all PE-GROUP sub-fields expanded |
| SUPER descriptor | composite INDEX CREATE INDEX idx_<table>_<short> ON <table> (col1, col2, …) |
| HYPER descriptor | INDEX hint comment (Phase 5 turns these into functional indexes) |
| 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 |
Pipeline (Phase 4, 9 stages)
The S2-S5 / S7-S9 stages are reused verbatim from the SlimeNENC family. Only S1 (FST tokenizer + DDM parser) and S6 (Java + DDL emitter) are language-specific.
- S1 — Natural FST tokenizer + ADABAS DDM parser (this product, C11)
- S2 — Slot IR (shared with SlimeCOBOL S2)
- S3 — Π_R idempotent transform (claim 3)
- S4 — SOLOT 4-axis E_D (claim 6)
- S5 — Acceptor 64-dim encoder (claims 2/7/8)
- S6 — Java emitter + PostgreSQL DDL emitter (this product)
- S7 — SHA-256 hash-chain audit (claim 9)
- S8 — Mini-PSV bigram language model (claim 7)
- S9 — 5-axis bench harness (dialect / token / mutation / determinism / round-trip)
Industry context — typical use cases
- Regional-bank cores — credit decisioning and account management running on Natural + ADABAS, migrated to Java + PostgreSQL with full Software AG exit.
- Life and non-life insurance — the typical layout has policy management on Natural and rate tables in ADABAS. MU/PE expressing multi-party policies and contact lists are reproduced through child-table decomposition.
- Pensions and health insurance — 30-year retention and 1-yen drift litigation risk. bit-exact + hash-chain audit is mandatory.
- Municipalities and public sector — resident-record interconnect and tax statistics that use ADABAS Hyperdescriptors. Phase 5 turns those into functional INDEXes.
- Defense and coast guard — alongside the Japanese-vendor lock-in cases, Software AG-bound base systems are an additional target.
License model
The same tool-only pricing as SlimeCOBOL / SlimePL/I / SlimeRPG. The transpiled Java + PostgreSQL DDL is yours to use forever, free of further charge. Quotes scale with the Natural / ADABAS asset size (KLOC + DB-file count + MU/PE ratio); priced to fully replace the per-CPU Software AG license.
An initial PoC is offered on the same terms as the Japanese-mainframe PoC offer — bring 50-200 LOC of Natural source plus one related DDM, and we deliver a dialect-identification report in 3-5 business days and a bit-exact transpilation sample in 2-4 weeks.
Resources — SlimeNENC family
- SlimeCOBOL — COBOL → Java/Rust bit-exact transpiler (S2-S9 base of this product)
- SlimePL/I — PL/I → Java bit-exact transpiler
- SlimeRPG — RPG → Java bit-exact transpiler
- SlimeFORTRAN — FORTRAN → 9-language Multi-target
- SlimeJCL — JCL → POSIX shell transpiler
- SlimeMUMPS — Caché ObjectScript → Java
- Japanese-mainframe PoC offer (Hitachi OpenTP1 / Fujitsu GS21 / NEC ACOS)
- PSDP — Provable Semantic Difference Protocol
