It really worked: at 11.55 pm on 30 April 2008, the last BS2000 system was switched off at Amadeus Germany.
This was preceded by a migration project surely unique in its complexity. During the three-year project term, thousands of SPL programs and SDF procedures with several million lines of code (LOC) were automatically converted to C++ or Perl on UNIX. Amadeus migrated the high-performance file-handling system on the BS2000 to Oracle relational databases, and they replaced the DCAM monitor with openUTM on UNIX. The target systems run in a nearly 24/7 operation cycle and process around 500 user transactions per second (TA/s) during peak periods, corresponding to around 1,000 technical TA/s.
The extent of this project becomes clear in the following figures: Amadeus Germany GmbH is Germany’s leading provider of IT solutions for the travel industry. In Germany, 85 % of all travel agencies work with the Amadeus system with about 45,000 PCs. Amadeus Germany’s list of customers includes but is not limited to 75,000 hotels, 500 airlines and about 200 travel and bus operators.
The project team managed logistical challenges, because operation had to be continued without problems during the entire multiannual project term. In addition, a monthly release of new program versions was required to meet customers’ requests.
We developed the migration tools. Furthermore, several employees of us were integrated into the project and added their experience and know-how in the fields of migration and reengineering. The following tools were developed especially for this project:
- “SPL → C++“ translator (S2C): automated conversion of programs of the programming language SPL in maintainable and performant C++ code.
- “JCL (SDF) → Perl“ converter (J2P): conversion of job control procedures into Perl scripts.
- “(BS2000-)Files-to-Oracle“ migration tool (F2O): conversion of the BS2000 file system into relational Oracle databases taking the EBCDIC-ASCII conversion into consideration.
During the development we benefited from the know-how of compiler development and the decadelong experience in successful execution of software migration projects. For the development of tools, we used our own meta tools such as the in-house developed parser generator BTRACC (Backtracking Compiler Compiler). The tools can be used for other migration projects as well.
The success of the project leads to the following conclusions:
- A migration project using conversion tools is achievable and offers a real alternative to the introduction of standard software and redevelopment, especially considering project durations and budgets
- Conversion tools allow for flawless migration with a high degree of automation. A decisive factor is the quality of the migration tools, which must be based on theories of compiler technology.
- The project required iterations during the conversion, for example, if an already improved source needed to be converted again. This can be accurately accomplished in arbitrary iterations with the help of a conversion tool, but it is a clear rejection of manual translation by a large amount of inexpensive programmers and an “offshoring” of migration projects.
- It proves yet again that the conversion of antiquated programming languages to modern languages (in the present case, SPL to C++) is practicable if an adequate tool (translator) is available. The translator’s conversion is accurate, in arbitrary iterations and automated. The generated target code is maintainable.