|
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.
|
|
|
|
|
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
|