Targeted GA: 2026-Q3 / separate product, separate license

SlimeJCL — JCL → Spring Batch Transpiler

A SlimeNENC companion product. Carries COBOL-batch’s essential JCL counterpart through a bit-exact migration to Spring Batch / Workflow, leveraging maximum reuse of SlimeNENC IP.

Even if you bit-exactly transpile COBOL to Java with SlimeNENC, leaving JCL (job startup, I/O, scheduling) to the customer balloons the project from 6 months to 18 months, and SlimeNENC’s bit-exact claim collapses the moment the JCL side behaves differently. SlimeJCL closes that gap by bit-exactly migrating JCL into Spring Batch — achieving “migration project complete in one toolchain.”

⚠ Distribution constraint — SlimeNENC users only
SlimeJCL is an upsell-only product offered under the precondition of an active SlimeNENC license. It is technically and IP-wise designed around SlimeNENC integration, and we do not offer SlimeJCL as a standalone product. If you do not yet have a SlimeNENC license, please consider SlimeNENC first.

Key targets (Phase 4 GA goals)

99.95 %
JCL → Spring Batch bit-exact target
(looser than SlimeNENC Subset A’s 99.9995% due to JCL syntax diversity)
4 dialects
JCL dialects supported
IBM z/OS / Fujitsu FNJCL / Hitachi VOSJCL / NEC ACOS NCRP
233
JCL files already validated
Already in SlimeNENC corpus (CBSA + carddemo + Defects Suite + Portfolio + BankDemo)
9 stages
JS1-JS9 pipeline
Reuses SlimeNENC Subset A’s 9-stage architecture
~30 min
Cost to add a new dialect
One row in lex-prefix map + 5-10 attribute keywords (parser unchanged)
Subset A reuse
Audit chain / Mini-PSV
SlimeNENC’s S2-S5/S7-S8 stages reused for JCL

Relationship with SlimeNENC — Three-stage rocket

TierProductPrecondition
1SlimeNENC (Subset A: cross-language transpilation)None — new customers OK
2SlimeNENC + PSDP (Subset B: within-language parallelization)SlimeNENC license
3SlimeJCL (this product)Active SlimeNENC license required

land-and-expand:

[Year 1]   Land with SlimeNENC — COBOL → Java migration

[Year 1.5-2] Upsell SlimeJCL — JCL → Spring Batch, completing the COBOL+JCL pair

[Year 2+]  Apply PSDP — bit-exact parallelization shortens the nightly batch window
            
       Cloud-native (Spring Batch → AWS Step Functions / Airflow)

JCL Slot IR design — maximum reuse of SlimeNENC IP

Following SlimeNENC Subset A’s Slot IR (Core64 + Ext32) philosophy, JCL is normalized into a language-agnostic intermediate representation:

JCL syntaxSlot IDDescription
//<jobname> JOB ...JCL-JOBJob declaration (CLASS, MSGCLASS, TIME, NOTIFY, COND, etc.)
//<step> EXEC PGM=<prog>JCL-EXEC-PGMProgram execution step
//<step> EXEC PROC=<proc>JCL-EXEC-PROCProcedure invocation
//<dd> DD DSN=...JCL-DD-DSNDataset reference (DISP/UNIT/VOL/SPACE/DCB)
//<dd> DD SYSOUT=...JCL-DD-SYSOUTSpool output
// JCLLIB ORDER=...JCL-LIBProcedure library reference
// SET name=valueJCL-SET-VARSymbolic parameter setting
// IF cond THEN / ENDIFJCL-IFConditional execution (z/OS extension)

Each Slot is Core48 + Ext16 = 64 bits, providing audit-chain compatibility with SlimeNENC.

9-stage pipeline (JS1-JS9)

SlimeNENC Subset A’s 9-stage architecture is reused for JCL; new implementation is limited to the emitter (JS6) and per-dialect lexer:

JCL Lex// /* /& delimiter, token recovery
Slot IRJOB/EXEC/DD into Core48+Ext16
Π_R normalizeDSN/DISP/CLASS dedup + canonical order
SOLOTInter-step dataflow + COND logic
Acceptor32-dim encoder, valid-JCL judgement
Spring Batch EmitterSlot IR → Spring Batch (Java)
Audit Chain6-line tamper-evident transformation log
(integrated with SlimeNENC)
Mini-PSVbigram model, mistranslation detection
(DD shuffle, etc.)
Bench233-file corpus validation

Four major JCL dialect fingerprints

JCL dialect differences are concentrated in line-leading prefixes plus attribute keywords (no parser-wide variance like COBOL). Cost to add a new dialect: one row in the lex-prefix map + 5-10 attribute keywords (~30 minutes, parser unchanged).

DialectPrimary markersCalibration state
IBM z/OS JCL// <name> JOB ... (// + space), EXEC PGM=, EXEC PROC=, DD DSN=, DD SYSOUT=, JCLLIB ORDER=, &SYSUID, IEFBR14, SYSIN DD *, terminator /* /&✅ Most of the 233 existing files are IBM z/OS; bit-exact validation planned in Phase 4-3
Fujitsu FNJCL (NetCOBOL)/JOB (single slash, distinct from IBM’s //), /EXEC PGM=, /DD DSN=, /PROC, /AIM ... (Fujitsu transaction base)△ Public-spec based, calibration via PoC in progress
Hitachi VOSJCL\JOB (backslash), \EXEC PGM=, \FD file definition, KFSB*****-{E,I,W} message-ID convention, \TRN ... for OpenTP1△ Public-spec based, calibration via PoC in progress
NEC ACOS JCL (NCRP)\$JOB or ;;JOB, \$EXEC PGM=, \$DD / \$FD, NCRP mentions△ Public-spec based, calibration via PoC in progress

Note: the prefix on the JOB line discriminates dialects with ~99% accuracy; the remaining 1% is settled by attribute patterns (CLASS/DISP keyword sets). Mirroring SlimeNENC’s 14-value dialect-detect, dialect-transpile coverage centers on IBM z/OS; Fujitsu/Hitachi/NEC are at the fingerprint stage with PoC-based conversion calibration in progress.

Spring Batch translation map (key entries)

JCL syntaxSpring Batch equivalent
// JOB CLASS=A,MSGCLASS=X,TIME=1440@Bean public Job <name>Job() + JobParameter("class", "A") + timeout config
// EXEC PGM=COBOL_PGMStep + Tasklet calling CobolPgm.main() (transpiled by SlimeNENC)
// EXEC PROC=MYPROCJobBuilder.flow().next(myProcSteps)
// DD DSN=PROD.FILE,DISP=SHRFlatFileItemReader + RandomAccessFile mode
// DD DSN=PROD.OUT,DISP=(NEW,CATLG,DELETE)FlatFileItemWriter + AfterJob listener
// DD SYSOUT=*Logback appender
// DD * (instream)String literal in @Bean
COND=(8,LT)JobExecutionDecider (evaluates prior-step exit code)
// JCLLIB ORDER=PROD.PROCS@Configuration class scan path
// SET HLQ=AWS.M2@Value("${jcl.hlq:AWS.M2}")
&SYSUIDSystem.getProperty("user.name")
IEFBR14 (NULL prog)() -> RepeatStatus.FINISHED (no-op tasklet)

Existing validation corpus (no separate ingest required)

The validation JCL corpus for SlimeJCL is already in the SlimeNENC corpus — 233 files (bundled with COBOL repos cloned during Phase 1+2):

IBM CBSA102 files (EPL 2.0, IBM’s official banking sample with CICS+DB2+BMS)
AWS carddemo55 files (Apache 2.0, official AWS Mainframe Modernization)
Defects Suite49 files (MIT, paired JCL for each .CBL)
Portfolio Mgmt15 files (sentientsergio, IBM z/OS extensions)
Rocket BankDemo12 files (Rocket EULA, internal QA only)
Total233 files, of which 221 are in the publicly distributable layer

Typical use cases

Financial batchesMigrate nightly core-banking batches bit-exactly with SlimeNENC (COBOL → Java) + SlimeJCL (JCL → Spring Batch) as a pair. Single-toolchain delivery cuts effort by ~50% while preserving an end-to-end audit-chain trail.
Cloud migrationFor z/OS → AWS Mainframe Modernization / IBM Cloud / Azure migrations, converting the JCL side to Spring Batch makes the workload cloud-native and container-runnable.
Cron / Workflow migrationSpring Batch becomes the bridge to Apache Airflow / Argo Workflow / AWS Step Functions, enabling staged migration from SlimeJCL output.
Audit-grade batch consolidationThe full transformation chain (JCL → Spring Batch + COBOL → Java) is integrated into the SlimeNENC audit chain, allowing auditors to re-verify after the fact.

Availability / Pricing

Targeted GA2026-Q3 (after Phase 4-1 through 4-5 completion)
License modelAnnual add-on attached to a SlimeNENC license (no standalone sale)
Indicative price30-50 % of the SlimeNENC base license fee (subject to market validation, finalized at GA)
Migration PoCSlimeNENC + SlimeJCL paired PoC available as a separate professional service
Pre-ordersPre-orders open in 2026-Q2 to existing SlimeNENC customers (priority allocation slots)

Phase 4 roadmap

  • Phase 4-1 (1 month)Implement JS1 JCL Lex (IBM z/OS), achieve 100% lex-pass on all 233 files, finalize Slot IR schema
  • Phase 4-2 (2 months)JS6 Spring Batch emitter scaffold; convert 50 of 233 files to Spring Batch; measure javac PASS rate
  • Phase 4-3 (3 months)Bit-exact comparison framework (JCL job execution vs Spring Batch execution); reach 99.95%+ on all 233 files
  • Phase 4-4 (4-5 months)Add Fujitsu/Hitachi/NEC JCL dialect lexers (PoC calibration); audit-chain integration; Mini-PSV application
  • Phase 4-5 (6 months)Public benchmark (CBSA + carddemo JCL converted via SlimeJCL with end-to-end behavior validation); productize for sales; GA

Related products

Pre-order (existing SlimeNENC customers) See SlimeNENC (Subset A) See PSDP (Subset B) See other products