The Software Revolution, Inc.

Philip Newcomb as Panelist for the Eleventh International Symposium on Software Reliability Engineering

Bothell, WA. (Nov. 8, 2000) - The Software Revolution, Inc. (TSRI), a world-class provider of assessment, transformation, re-factoring and web-enablement software services for legacy systems, today announced that Philip Newcomb was selected to participate in a panel discussion on legacy software maintenance during the International Conference on Software Maintenance that was held in San Jose, California.

The conference was chaired by Mr. Ned Chapin and was based on the theme of Preserving and Enhancing the Value of Software. The conference was organized by the Committee on Software Reliability Engineering, a sub-committee of the IEEE Computer Society and the Technical Council on Software Engineering.

Philip Newcomb, President and Founder of The Software Revolution, Inc., spoke on the following subjects: Transformating Legacy Systems into C++, Preserving Software Value by Software Modernization.

Obsolete Software Is Still Valuable/strong>

In many cases it is not changing business requirements that make a software system obsolete or unable to accomplish its mission effectively, it is the obsolescence of the hardware, the absence of compilers on the newest hardware, or changes in the demographics of the software engineering workforce that creates a shortage of qualified programmers in the original language of implementation. In other words, the functionality of the obsolete software may often still be 90% or even 100% in line with the business purpose or mission, but there are a host of factors, other than what the code does and how it does it, that necessitate the replacement or upgrade of the system.

Automating the Process of Code Modernization

The cost of software coding in a large project often accounts for less than 10% of the overall development costs. Software requirements, design, documentation, and testing make up the bulk of the development cost. Thus, the most germane question an organization should ask if it has an obsolete software system that is still capable of performing large parts of its mission is "Why throw out 90% of investment in the system just because 10% of it, the language the application happens to be implemented in, has become outdated?"

TSRI believes that automating the process of modernizing the code in which the software was written could often preserve software systems. Our approach preserves 90% of the investment in the legacy software system by replacing just the legacy code (the old code that represents only 10% of the value of the system) with modern object-oriented code in a new modern programming language, such as C++ or Java. This modernized system provides a stable platform for future enhancement. The modernized application can rapidly be adapted to future computing environments, and typically the reduced maintenance costs alone pay for the cost of the transformation within one year.

Modernization with Unprecedented Speed and Accuracy

TSRI has developed a process for modernizing legacy software systems that operates with unprecedented speed and accuracy. Our approach, which is based on the application of state-of-the-art artificial intelligence technologies, derives new software from old, and in the process achieves higher quality, better documented software that can be managed within the framework of modern software development environments by personnel trained in the latest software languages. And, the software operates on modern, lower cost hardware platforms.

A Process with Multi-Language Capabilities

TSRI has developed a capability for transforming many of the major legacy languages (Ada, C, COBOL, FORTRAN, CMS2 and JOVIAL) into well-documented modernized software systems. As an illustration of the kind of service we now provide for modernizing legacy systems, the rest of this paper will describe, in greater detail, the features and capabilities of our eVolution 2000™ capabilities as they related to a recent JOVIAL to C++ project. This service has already been used on two large mission-critical systems by major defense contractors to preserve and extend the lives of those systems, and has demonstrated enormous cost savings and project schedule compression.

Translation of Application Manually is Traditionally Expensive

Translation of application software is traditionally expensive to achieve using manual methods and often produces low quality or unusable software or a partial result. By contrast eVolution 2000™/JOVIAL is an automated re-engineering process supported by program transformation tools utilized within a spiral software engineering methodology that accomplishes the translation rapidly, and adds value at every stage. We employ domain modeling to identify and distinguish hidden/redundant services and have automated facilities for recovery and reuse of data, functional and control entities. Our tools locate similar data and functional entities and reduce redundancy as part of the translation process. We use incremental, functional area analysis to select best of breed recoverable components, highly automated large grained transformation for class construction, method derivation, identifier replacement, and transformation of procedures to OO processes. The converted applications source code is restructured into object-oriented C++ written out as source code files with a "make system," and recompiled before export into a C++ development environment.

Automated Re-Factoring

Our transformation process is currently capable of transforming old legacy JOVIAL systems written in the J3 and J73 JOVIAL dialects into C++, for the systems we have encountered, with better than 99.9% automation. Frequently, manual intervention is required on less than 0.1% of the code. We deliver modernized systems from legacy systems that compile and link cleanly and completely. By the application of automated re-factoring operations we create code that satisfies tough memory limitations and performance requirements, while observing coding practice restrictions and conventions.

eVolution 2000™/JOVIAL closes the gap between forward and reverse software engineering. It captures target system requirements and hidden design information. It incorporates reverse-engineering results into the target system design process. It supports use case creation and modification from J3/J73 JOVIAL legacy applications and the interchange of UML design via an XML interface. It also accelerates component mining, recovery and target system synthesis.

TSRI uses re-factoring operations to improve the quality of the target object-oriented C++ code. Re-factoring operations can be applied to classes, methods or functions of the target object oriented code. Re-factoring operations applied to the OO methods of the OO code can control method parameterization, method merging, and method relocation within the structure of classes. Re-factoring operations applied to OO classes extract common super classes, consolidate similar classes into common classes, and derive parent classes from similar components of sibling classes. Re-factoring operations applied to OO processes facilitate consolidation of common code into utilities functions and supports templatization of common utility functions derived from the redundant code in the original application.

We employ multiple program transformation and language translation techniques, employing tree manipulations for large grained restructurings. We employ both Extended Backus-Nauer Form (EBNF)-based techniques from formal language theory and Explanation Based Learning (EBL)-based techniques from the field of Artificial Intelligence, for the final translation of J3/J73 JOVIAL into C++. In addition, we generate comprehensive hyper-linked documentation of all intermediate and final software products to seamlessly link the original (AS IS) and target (TO BE) software code and design into an integrated model.

This large and robust set of transformation techniques encompassed within eVolution 2000™/JOVIAL provides the means to consolidate multiple systems into a single comprehensive system model that supports the functional variations and specializations needed by members of a common product line architecture. The derived target code and derived design can be exported into other software development environments via an XML interface that supports export/import of software engineering information.

Consolidation of Stove-Pipe Systems

Our approach facilitates the consolidation of stovepipe systems into reusable product-line architectures with reusable core components and reusable facility layers. eVolution 2000™/JOVIAL mediates and supports automated construction of interactive, multi-level models for viewing and browsing the legacy system's "AS IS" and the derived modernized systems "TO BE" code, design and architecture. And we supply the most sophisticated quality assurance and component recovery capabilities available. eVolution 2000™/JOVIAL supports generation of web-based graphical and textural documentation, large-grained restructuring and transformation, translation, and data model creation/modification in addition to new application synthesis.

Other Conference Panelists Included:

Linda Rosenberg - NASA
Leslie Giblett - Program Manager for Microsoft Corporation
Patrick Dantressangle - IBM
Anne Buzbee - Sun Microsystems, Inc.
Mike Prowse - Director of Availability and Quality for Sun Software Products Group
Ted Keller - IBM
Tim Chambers - Agilent
Tom Hanson - OAO Corporation
Jarrett Rosenberg - Sun Microsystems
Risto Vehvilainen - Swedish School of Economics
Norman Schneidewind - Navy
Ray Kammer - Director of NIST
Cigital
Telcordia Technologies
Bellsouth

The Software Revolution, Inc.

The Software Revolution, Inc., established in 1995, specializes in the modernization of legacy system software. Employing state-of-the-art artificial intelligence-based technologies, The Software Revolution, Inc. has developed the capability to assess, transform, re-factor, and web-enable, a variety of different software source languages, along with system databases.

Employing a highly automated, low risk, cost-effective approach, The Software Revolution, Inc. can transform COBOL, C, Fortran, Mumps, Ada, and CMS2 into modern, platform-independent C++, JAVA, or XML with CORBA compatibility.

eVolution 2000™ toolset

The foundation of TSRI's capabilities is the eVolution 2000™ tool-set. Enjoying the benefit of over 100 man-years of development effort and nearly $20 million in corporate and private investment funding, the eVolution 2000™ tool-set addresses each of the major steps of the legacy system modernization process at near perfect levels of automation.

Beyond the ability to address the standard suite of legacy software languages, the eVolution 2000™ tool-set also has the flexibility to address most other legacy software languages, needing only 8 to 12 weeks of automated processes modification to accept the new source language.

Using the eVolution 2000™ tool-set, The Software Revolution, Inc. can help customers enter the modern computing world quickly and far less expensively than using currently available manual or semi-automated approaches.

For more information about TSRI visit our web site or contact:

Greg Tadlock
Vice President, Sales & Marketing
(425) 284-2770
salesteam@softwarerevolution.com
the Software Revolution, Inc.



Close