Even with its Ada mandate lifted, Pratt-Whitney's government division will never go back to programming in other languages.
For Marin D. Condic, the reason is simple: "Ada pays on systems of significant size and significant life span." A Senior Computer Engineer, Condic has gathered data on Ada's performance and error rate for a decade, which show that "Ada makes a profit for the stockholders and reduces exposure to liability."
Traditionally written in Assembly
Traditionally, Pratt-Whitney built its F100 family of military jet engines in a variety of assembly languages and custom, proprietary languages. Ada became Pratt-Whitney's language for the F119 engine for the Advanced Tactical Fighter when the Department of Defense mandated Ada in new engine development. Today, with no mandate yet the benefit of experience, Pratt-Whitney is still programming engines in Ada. The Joint Strike Fighter is under development at its West Palm Beach, Fla., division, the RL-10/AREP rocket engine, and a number of smaller projects. All are taking advantage of the Ada software's extraordinary leaps in productivity and error reduction.
Productivity doubled and errors reduced by a factor of four with Ada. Where F100 software might experience four defects in a month, the F119 would experience one defect. Furthermore, the company easily ported the F119 software to other platforms, which, with an assembler program, would have been written from scratch. As a result, Pratt-Whitney's government division is staying with Ada.
Condic explained the spurt of productivity as a combination of Ada and Ada-driven software tools. The division wrote a CAD system in Ada called the Pictures-to-Code System. It generates Ada code from logic diagrams.
Division at SEI's Level III
In fact, the Software Engineering Institute recently rated the division's entire software development at a Level Three of the SEI Capability Maturity Model. "We're pretty proud of ourselves for that," Condic admitted.
Software for the F119 Full Authority Digital Engine Control (FADEC) is hosted on an Alpha/VMS with a XD-Ada compiler for five MC68040 microprocessors and a Texas Instruments DSP. They are starting a commercial PW6000-engine variant with a FADEC similar to the F119, using PowerPC chips, Ada95, and an Aonix compiler.
The F119 and JSF engine programs are "likely to migrate on this route as well," Condic said, and for good reason. "Where we once would have 30-40 lines of assembler in a given amount of time, we now found ourselves with twice as much Ada getting us all that much closer to our goal," Condic said. He worked primarily on the F-119 engine, a 120K semicolons/statements control and monitoring Ada system. It is now flying in early production versions of the F22 Advanced Tactical Fighter.
LOC cycling at twice rate of previous versions
Condic is confident of his figures. Though he admits "the world is never the same twice," he has carefully monitored Ada's improvements in the software lifecycle. From his statistics, which include the amount of effort required to compile, debug, and test software, the number of lines of code was cycling at 100 percent above what it had been in previous systems. As for the error rate, Condic ran the defect numbers during most of the project's ten years through spreadsheets. The Ada controls run at one-fourth the rate.
While "it's not a good idea to have a defect in a flying a plane, anyway," Condic says that Ada's benefits to the bottom line are exponential in the reduced number of errors. "When we find them early in the process, it saves us a lot of money," he said. "An error found in released code has to go through the whole development cycle to be corrected, which costs a lot of money and manpower. Better yet, with Ada, the errors aren't even there to be found."