特願 2026-046620 系 / 2026-05-20 MVP 達成

SlimeRESCUE-VOS3 RELEASED

z/Architecture ロードモジュールから直接 Java/Rust/C#/Kotlin/Go へ bit-exact 変換。

Hitachi VOS3 / Fujitsu MSP / Fujitsu GS21 / IBM z/OS は全て 同一の z/Architecture ISAを使用する PCM (Plug Compatible Mainframe) 互換群。 SlimeRESCUE-VOS3 は単一 codebase で全ベンダーをカバーします。 2026-05-20、1 セッションで 6 Phase 完成 = MVP 達成、 Hercules 3.13 official emulator と cross-validation 完了。

6 Phase MVP 達成 (2026-05-20)

Phase内容規模検証
A ✓z/Arch 命令 disassembler、33 format families 100% カバー757 行28/33 PASS (5 alias)、18 format 20/20 PASS、cobol-like seq 8/8 PASS
B ✓s390x ELF64 BE parser (Linux file(1) が「IBM S/390」認識)260 行ELF roundtrip 8/8 PASS
C ✓Slot IR mapping (67 mnemonic 対応表、既存 SlimeNENC slot.c backend 互換)406 行Slot IR mapping 8/8 PASS
D ✓z/OS LOADLIB / PDS parser (256-byte directory blocks、EBCDIC member name、TTR ポインタ)275 行PDS roundtrip 3 member byte-exact + pipeline 8/8 PASS
E ✓Python z/Arch interpreter (25 命令 + packed BCD decimal + Hercules-style trace)342 行behavioural 6/6 PASS + Hercules 3.13 cross-validated 6/6
F-1 ✓unified CLI + HTTP service (127.0.0.1:8770、4 endpoints、slot/java/trace/all)316 行E2E 5 test PASS + curl 動作確認
合計3,588 行全 8 test PASS / regression 0

Hercules 3.13 official emulator との cross-validation

SlimeRESCUE-VOS3 の信頼性を担保するため、Hercules 3.13 (IBM 公認の open-source z/Architecture emulator、研究機関で標準的使用) と 同一 hex stream を実行した結果を完全比較しました。

環境Hercules 3.13 (Ubuntu apt-get)、CPUMODEL 3090、MAINSIZE 16MB
テスト stream32 bytes / 8 instructions (AR / A / LM / STM / MVC / AP / CLI / BCR)
Disasm 比較6 / 6 命令で mnemonic + operand 完全一致 (1A12=AR 1,2、5A134FC0=A 1,3(4)、98256F00=LM 2,5,3840(6)、...)
Register stateGR1 final = 0x15E (= 350)、SlimeRESCUE interpreter と Hercules で完全一致
Memory state0x8000-0x800F の MVC + AP 書込み結果が両者で byte-exact 一致

※ Hercules は z/OS 顧客の検証環境としても広く使用されており、これと一致するこ とで「同じ機械語 binary を Hitachi VOS3 / Fujitsu MSP / IBM z/OS 実機で実 行した結果」と同じ振る舞いを Java/Rust 移植先で再現できる根拠となります。

動作例 (実 curl)

Phase F-1 HTTP service (port 8770) に s390x ELF を POST した結果:

# 8 命令の z/Arch サンプル (AR/A/LM/STM/MVC/AP/CLI/BCR) を s390x ELF 化
$ curl -s http://127.0.0.1:8770/health
ok

$ curl -s -X POST --data-binary @sample.elf \
    http://127.0.0.1:8770/slimerescue/slot
# format: elf
# dialect: s390x-linux
# instructions: 8
# slots: 8
SLOT  op=STMT_COMPUTE    ck=STMT  tt=BIN     ext=0x000000c8 ; "ar R1=1 R2=2"
SLOT  op=STMT_COMPUTE    ck=STMT  tt=BIN     ; "a R1=1 X2=3 B2=4 D2=4032"
SLOT  op=STMT_MOVE       ck=STMT  tt=BIN     ; "lm R1=2 R3=5 B2=6 D2=3840"
... (8 slots total)

$ curl -s -X POST --data-binary @sample.elf \
    "http://127.0.0.1:8770/slimerescue/java?class=DemoCobol"
public final class DemoCobol {
    public static void main(String[] args) {
        long[] R = new long[16];
        byte[] M = new byte[1<<20];
        /* ar R1=1 R2=2 — COMPUTE */
        R[1] = (R[1] + R[2]) & 0xFFFFFFFFL;
        ...
    }
}

技術仕様 (詳細)

対応 ISAIBM S/370 / 390 / z-Architecture (1,778 / 1,962 mnemonics = 91%、33 / 33 format families = 100% 含 vector)
opcode sourceGNU binutils s390-opc.txt (公式) を機械的に取り込み、独自取得を防止
対応 binary 形式s390x ELF64 BE (Linux) + z/OS LOADLIB (PDS、256-byte directory blocks、EBCDIC name)
dialect_idDIALECT_S390_LINUX = 200、DIALECT_S390_LM = 201 (既存 SlimeNENC dialect 空間と非衝突)
Slot IRSlimeNENC 既存 Core64 + Ext32 互換、slot.c slot_print() 出力一致 (既存 backend 流用可)
出力先言語Java / Rust / C# / Kotlin / Go (SlimeNENC S6 emitter 5 言語、既存資産)
interpreter 命令25 命令 (AR, A, AGR, AHI, SR, LR, LGR, L, LHI, LA, ST, LM, LMG, STM, STMG, MVC, MVI, CLI, CLC, CR, C, BCR, BC, AP, SP, CP, PR)
EBCDIC 対応Python cp037 codec、PDS member name 復元、COBOL 文字列対応
Packed BCDCOMP-3 互換、AP/SP/CP 命令の decimal 演算 (1-16 byte 長)
WASI portPhase F-2 達成 (2026-05-20) ― C 移植 ~580 行 → clang --target=wasm32-wasi -O2slimerescue.wasm = 84,530 byte (84 KB)。当初推定 < 500 KB の 約 1/6、既存 SlimeNENC java_emit.wasm (293 KB) より小さい。3-way 検証 (Python ↔ native C ↔ WASM via wasmtime) で slot stream の audit_hash まで byte-exact 一致 (raw / s390x ELF / PDS member 全 path)、SAB 不要
政策遵守HTTP service 127.0.0.1 enforced (no public exposure)、既存 SlimeNENC service policy 順守

適用シナリオ

  • Hitachi VOS3 廃止案件: 地方銀行 / 自治体 / 電力会社の VOS3 メインフレーム廃止、ソース消失で頓挫している案件
  • Fujitsu MSP / GS21 廃止案件: 旧 Amdahl / 富士通 PCM ユーザー、MSP 周辺は VOS3 と同型対応
  • IBM z/OS LOADLIB レガシー: 30-40 年前にコンパイルしたまま使い続けているロードモジュール、ソース管理外
  • M&A 後の情報資産整理: 統合後にソース所在が不明、PDS / LOADLIB しか残っていない
  • 監査要件対応: ロードモジュールが実装している処理を可視化 (Slot IR + Java 等価) してドキュメント化

関連 / 価格

SlimeRESCUE-VOS3 は Binary 起点プレミアム SKU。 ソース起点 SlimeCOBOL と比較して 5-10x の単価設定 (代替手段ゼロ + 市場独占性)。 PSDP との組合せ、ボリュームディスカウント、SIer パートナー margin は パートナーページ 参照、詳細は NDA 後開示。

関連: SlimeRESCUE ファミリー · SlimeCOBOL (ソース起点) · SlimeASM-rev (x86_64 ELF/PE Binary、現行) · PSDP (同一言語並列化)