Code modernization can create some interesting problems these days as business and government attempt to upgrade legacy systems. The route ahead is not always clear. Legacy systems may be in a variety of different languages installed for different purposes to meet the needs of the time. Even the transformation target itself can be problematic. Whether code is better translated into Java, a C variant, Python or something else demands consideration of the environment in which the code will reside, its interconnections, as well as the characteristics of the output language and its suitability. Economics rises as an important issue with older or obscure languages that do not have a breadth of available talent.
TSRI is able to handle a broad range of code transformation with a particular advantage. Our JANUS Studio®–based transformation first analyzes and creates a model of the legacy system—whatever the coding language might be—and this can be transformed directly into any of a wide variety of current languages. The ability to demonstrate immediate results from existing code in more than one language makes the TSRI approach particularly suitable where precise evaluation of language requirements is required.
As an example of this approach, TSRI was involved in modernization of core components of the Thales Eurocat air traffic control and management system, now known as TopSky. TopSky is used throughout Europe and around the world to manage complex airspace. Eurocat was written in the Ada language. This needed to be changed to a modern language to permit better integration with the software environment as well as to reduce cost and ensure availability of programmers.
The Ada language is one of many languages that TSRI is able to transform. Ada is used in a wide variety of industrial and military control systems including air traffic control, missile systems, naval and navigation systems, combat control systems and the like. It is particularly suited to robust real-time applications. Currently, however, although Ada has been updated, it is not as common as it once was. The ratio of Java programmers to Ada programmers is now about 20 to 1. In addition to difficulties in integration with the prevalent C and Java in most installations, Ada programmers are more difficult to find and command a higher salary. Maintenance is an ongoing task that can put a considerable strain on any program when skills are difficult to find.
Ada does retain a reputation for robust real time operation, however, and this adds special requirements to any transformation. The modernized code must not only perform identically to the original, but it must also be particularly robust and efficient. TSRI first needed to evaluate whether to use C++ or Java in the final result.
In determining the conversion language, TSRI was first able to provide a direct comparison of outputs in C++ and in Java. This could easily be done with a TSRI Transformation Blueprint® which provides comparison between the original language and the output language. Use of a modeling technique permits immediate transformation, making cost and integration factors immediately evident. The choice was made to go with Java due to its wide use. After Thales and TSRI completed a pilot project, the modernization commenced. Perfect functional replication of the Java FDP at the code level was required to ensure software specifications were unaffected by transformation. All interfaces need to remain strictly identical to the original Ada 83.
TSRI's capability is derived from the advanced AI–based, software re-engineering toolset provided by JANUS Studio®. The Eurocat project demonstrates the flexibility of the TSRI approach and multi-language capability. Through use of an intermediate model, different output possibilities can be evaluated directly using the Transformation Blueprint®. This makes it possible to find the most effective, least cost transformation that will perform most effectively within a customer’s software environment.
While many look at modernization as essentially a COBOL problem, it is important to recognize the diversity of languages that were created for special purposes and are now becoming increasingly difficult to support. JANUS Studio® supports modernization of languages such as Ada, CMS, Jovial, FORTRAN, COBOL, Basic, and Mumps. It is used for automated assessment, transformation, and refactoring multi-million line legacy applications, including control systems requiring robust real time operation that are found throughout industry and government.