Slide 2
CoJaC – COBOL to Java Converter

CoJaC is our tool to convert histo­ri­cal COBOL appli­ca­ti­ons into modern Java soluti­ons. CoJaC genera­tes maintainable and high-perfor­­mance Java code which is seman­ti­cally equiva­lent to the COBOL code.
During conver­sion, the tool reaches a degree of automa­tion up to 95 %. CoJaC combi­nes scien­ti­fic know-how in compi­ler construc­tion with the core compe­tency resul­ting from success­ful migration projects.

CoJaC TECHNO­LOGY

For complex trans­la­tion proces­ses, the use of speci­fic conver­sion tools, so-called trans­la­tors, is necessary. Trans­la­tors work by analogy with a compi­ler which trans­la­tes source programs into execu­ta­ble target code via diffe­rent inter­me­diate stages.

CoJaC is a trans­la­tor to convert histo­ri­cal COBOL appli­ca­ti­ons into modern Java soluti­ons. For the requi­re­ments of language conver­sion, we have further develo­ped the general compi­ler model into a trans­la­tor model:

  • FRONT END: Reads the COBOL program, inclu­ding the corre­spon­ding copybooks, and genera­tes an inter­nal syntax tree which repres­ents the complete COBOL program.
  • TRANS­FOR­MER: Converts the COBOL syntax tree into an equiva­lent Java syntax tree. The real conver­sion is carried out on the basis of syntax trees and not on the basis of source code.
  • POSTPRO­CES­SOR: Splits the complex Java syntax tree into indivi­dual syntax trees which repre­sent the program struc­ture of the subse­quent Java program.
  • GENERATOR/FORMATTER: Genera­tes Java classes and packa­ges from indivi­dual Java syntax trees and automa­ti­cally format source code accord­ing to client speci­fi­ca­ti­ons.
  • RUNTIME SYSTEM: Allows the use of the COBOL data types and functio­n­a­li­ties of the migra­ted Java code which do not exist 1:1 in Java.

FEATURES

CoJaC stands out for the following features:

Source code integration 
Integra­tion of the source code comments into the target code

Target code structuring 
Struc­tu­ring of the target code into Java classes and packa­ges by our tool JPackage accord­ing to custo­mer specification

Format­ting of the genera­ted Java code 
User-speci­­fic format­ting of the genera­ted Java code

Support of diffe­rent COBOL dialects 
Support of diffe­rent COBOL dialects (IBM, HPE NonStop, BS2000)

MIGRATION PATHS

The following table exempli­fies some migration paths of the basic compon­ents pointing to the corre­spon­ding migration target:

MIGRATION ASPECTS

FAQ ON LANGUAGE MIGRATION

DOWNLOADS

 CoJaC – data sheet

“Jedes COBOL-Java-Migra­ti­ons­pro­jekt birgt neue Überraschungen“
Abstract for 24th Workshop “Software-Reengi­nee­ring & Evolu­tion” 2–4 May 2022 in Bad Honnef, publis­hed in:
Software­tech­nik-Trends, volume 42, part 2, May 2022

 “Ein Trans­la­tor für die COBOL-Java-Migration”
Abstract for 13th “Workshop Software-Reengi­nee­ring” 2–4 May 2011 in Bad Honnef, publis­hed in:
Software­tech­nik-Trends, volume 31, part 2, May 2011

Success Story: “Success­ful BS2000 Migration at ITZBund

GO TO DOWNLOAD AREA