technology today - home

2005 Issue 3



Architecture & Systems Integration:
Automated Software Transformation
Saves Time and Money
Network Centric Systems' Northeast Software Engineering Center Communications Department completed an IR&D project that demonstrated how technology can be used to support reuse of legacy systems software. Legacy systems, which were developed without using modern object-oriented languages and processes, are difficult to reuse in new systems without dramatic modernization. The current software trend is toward object-oriented languages because they support rapid platform-to-platform migration and can facilitate software reuse, which saves time and money. However, modernizing legacy software to an object-oriented language so that it can be reused has been an expensive undertaking due to the high level of manual labor required.

Overview of the automated transformation process (graphic)
An overview of the automated transformation process. First, the software is parsed and mapped into an Intermediate Object Model (IOM). Once in the IOM, it can be transformed and refactored using the AI-based technologies of the Janus tool. Finally, the software is emitted into C++, the target modern language for this project. The third party COTS tools were used for debug and to validate the transformed software in the target environment.

A technology advancement now makes it possible to modernize software in an automated fashion, rather than manually. Janus, an automated software transformation tool produced by The Software Revolution Inc. (TSRI), enabled Raytheon to take advantage of this technology in order to provide innovative, cost-effective solutions to our customers in the future. The communications department identified the need to modernize the legacy Low Data Rate/Medium Data Rate Terminal (LMT) satellite communication software baseline by converting it into an objected-oriented application. This would make future proposals that leverage the LMT baseline more competitive.

The primary drivers behind modernizing this software rather than re-writing it were to reuse the knowledge and preserve the quality inherent in the functionally decomposed legacy software applications. The goal was to eliminate the obsolete software languages/architectures by repackaging (transforming) the software into the more extensible object-oriented form.

The Satellite Communications Software Modernization IRAD project used Janus to rapidly and cost-effectively transform and reengineer two large legacy applications — the Modem Control System (MCS) and the Terminal Control System (TCS) — into object-oriented C++ applications.

The MCS consists of 190,000 lines of code of Ada and Assembly code. The TCS consists of 220,000 lines of code of FORTRAN and Assembly. An upgrade of the real-time kernel to the commercial-off-the-shelf (COTS) product, VxWorks, was being implemented as part of the automated software transformation.  The Software Revolution Inc. (TSRI) performed the legacy software transformation, while a Raytheon team supported the effort by coding the application-to-operating-system layer software, developing and executing system acceptance tests, and providing domain expertise to aid the subcontractor with the transformation.

The project plan included three phases. The baseline class formation phase consisted of transforming the application from the legacy language and legacy kernel to C++ and to the VxWorks kernel. The new software architecture was closely coupled to the legacy architecture. A minimum number of classes were defined, and most data were not private.

The automated reengineering/repackaging phase consisted of forming additional classes based on set/use data. Domain knowledge was not used in the class formations. All data were private.

The semi-automated repackaging/reengineering phase consisted of incorporating domain knowledge. It supported the user-directed movement of data and methods between classes, the creation of new classes, and the ability to isolate and safely delete functionality that was no longer required. Each phase was followed by a system test event.

Results The TCS software and MCS software was successfully transformed. The transformed TCS software was validated using over-the-air testing on the satellite system. Both applications are being used as the software baseline in a new project.

The use of the automated transformation approach used on the Raytheon Satellite Communications Software Modernization project resulted in significant cost and schedule savings. The key lesson learned from this project is that expert domain application knowledge and legacy language knowledge is required to support accurate transformation of the legacy software and the validation testing of the newly transformed software.


Yolanda McClease

Raytheon Company: Technology Today