4 ms·
Some of the modernisation efforts for these sorts of systems are fascinating. The US DOD have built a COBOL to Java transpiler that emits nearly-idiomatic Java
by danpalmer 4y ago
Some of the modernisation efforts for these sorts of systems are fascinating.
The US DOD have built a COBOL to Java transpiler that emits nearly-idiomatic Java. As far as I can remember they expect it to essentially be reviewed like any other Java contribution from an engineer and receive minor tweaks, and they're expecting to translate millions of lines of code with it.
There's also MicroFocus, a company who build JVM COBOL, with all of the implementation/CPU specific bugs, so that you can move everything on to JVM (or maybe even CLR I think?) and then start replacing pieces with Java/C#.
It's not unreasonable for a company or organisation around since the 60s to have this sort of stuff around, however with all the modern options available today, it's pretty unreasonable for them to not have a convincing modernisation plan.
- galangalalgol 4y agoAre there any reasonably fast emulator for the system 360? It seems like ridding yourself of vendor lock would be goal one. Then add an interface wrapper that logs inputs and outputs for several years to build validation tests for any ports or upgrades. It seems like a truly insane effort to port 20e6 lines of assembly and expect to get identical behavior. I doubt the current behavior is even fully documented. Ensuring identical outputs for a lot of recorded data seems at least slightly more valid than trying to go back to documentation or requirements. Perhaps the simplest way to migrate the IRS code is to make the laws simple enough you don't need 20e6 lines of assembly to implement it anymore?
- pdntspa 4y agoProvided the 360 CPU is well-enough documented, I don't see the problem here?
- agentbellnorm 4y agoWith enough saved input/output data, maybe some parts could even be replaced by a ml model? Not 100% serious but then again seems like serious resources are put into this problem, so maybe worth a try
- kadoban 4y agoAn AI-aided translation might make more sense, since at least you could review that for correctness and it'd likely be easier+cheaper to run the result.
- jmartrican 4y agoI wonder if an AI system for the IRS would use double float or big decimal types to do its math.
- hinoki 4y agoSystem 360 is very well documented by the Principles Of Operation: https://dl.acm.org/doi/pdf/10.5555/1102026 https://dl.acm.org/doi/pdf/10.5555/1102026 So much better written than Intel’s Software Developer Manuals, where anything complicated is just “look at these three pages of c-like pseudo code we probably pulled from our tests, good luck!” IBM themselves have had to maintain backwards compatibility for > 50 years, and there is a long history of compatible machines: https://www.computerhistory.org/revolution/mainframe-computers/7/169 https://www.computerhistory.org/revolution/mainframe-compute... So all the strange behaviours are well documented.
- kens 4y agoIf you're looking for an open-source 360/370/390 emulator, Hercules is probably what you want: http://www.hercules-390.org/ http://www.hercules-390.org/
- ThinkBeat 4y ago> The US DOD have built a COBOL to Java transpile I think it would be a hard challenge to create such a beast, But did they also have to create a huge framework around it so that the Java could could interact with the same environment as the COBOL code? That seems like a hard challenge as well.
- itisit 4y ago> it's pretty unreasonable for them to not have a convincing modernisation plan The planning isn't the issue, it's the conviction, resolve, determination...whatever you want to call it. COBOL modernization is quite expensive and fraught with major risk. You're talking about multi-year efforts where the key players who initiate the effort are often not around to see it through. Limited legacy resources, poor-to-absent documentation, mission critical systems...it's a mess no one internally wants to touch or take the fall for. MicroFocus, Blu Age (now part of AWS), TSRI, and plenty of other companies are happy to take your money and tell you it can be done, and it certainly can be done technically. The reality is the cost benefit is often years down the line, so keeping the right people around to sustain the effort and see it through financially and technically is the tallest of enterprise orders. So it's the old two-step: 1) Pay IBM for another three years of support and licensing and 2) Go through the motions of migration planning then repeat Step 1.
- zacharycohn 4y agoActually what the IRS needs is just funding.
- specialist 4y agoYes and: My observation is that (poor) data quality is as big as, perhaps even bigger, risk than porting & modernizing code. Of course, bad code and bad data are cofactors.