Programmers say knowing process is fundamental to their art

Even the world’s best programmers get no help from automated test tools until they
have first worked their way manually through the software processes in question.

John Woodruff, lead software architect for Lawrence Livermore National
Laboratory’s $1.2 billion National Ignition Facility and Integrated Computer Control
System, said automation tools are useful “only after the process is so well
understood that you can be confident of what is going to happen.”

Software lifecycle tools, a rapidly expanding category, are better at keeping things
orderly, Woodruff said.

His team of 30 software developers is learning to use visual modeling and lifecycle
development tools from Rational Software Corp. of Santa Clara, Calif.

Woodruff’s team builds Ada 95 object models and use cases in Rational Rose 98. The
programmers turn to Rational Apex 3.0 for architectural control and software configuration

But Woodruff said he does not expect the automated tools to ease much of the difficulty
of programming a distributed control system for the lab’s laser fusion facility,
which will open in 2003. Designing distributed software for about 450 UltraSparc and
PowerPC CPUs “has been and continues to be pretty challenging,” Woodruff said.

He said he is convinced that the iterative approach, “solving problems one at a
time,” is the right way to build a big system.

Woodruff prefers to program in Ada 95, a language originally developed for the Defense
Department. “The formalism of the Ada 95 development environment is our biggest
help,” he said.

Also useful, he said, is the Interface Definition Language of the Common Object Request
Broker Architecture. Woodruff’s team uses Orb Express from Objective Interface
Systems Inc. of Reston, Va., to make the interface definitions into compilable files.

“CORBA is what’s keeping us sane,” Woodruff said. “Without CORBA,
we would have been in deep gravy.”

In spite of the current limitations of automated tools, industry officials foresee a
new era of programming efficiency for developers who keep up to speed with Unix and
Microsoft Windows NT development.

“What’s the thing that everybody complains about in Java? It’s
performance,” said Lee Garrison, product marketing manager for KL Group Inc. of
Toronto, which spent a year and a half developing JProbe Profiler. The package finds
specific lines of Java source code that slow performance.

Because JProbe Profiler has an instrumented version of the Sun Microsystems Inc. Java
Virtual Machine, it can collect 100 percent of the data on time and memory use while a
Java application or applet is running, Garrison said.

“We collect lots of data, then provide a visual tool for programmers to drill down
and fix the performance bottlenecks,” Garrison said.

Bottlenecks usually occur where the Java code has called too many methods, used
excessive memory or handled objects inefficiently, he said.

An inventory-management or general-ledger object might have as many as 35,000 methods,
Garrison said. “We thought our JavaBeans were optimized and pretty fast until we
discovered [using the profiler] places where they could be improved,” he said.

Although vendors have automated the requirements analysis, design, coding and testing
phases of software development, few tools offer much help in designing test cases,
officials said.

“People have always created manual test cases, but now they have a choice,”
said Ravi Jadhav, federal account manager for Aonix of San Francisco.

He said the company’s Validator requirements modeling tool can draw up test plans,
generate test cases and format test data to fit the environment.

Manually created tests cannot guarantee that all the possible test cases have been
tried, Jadhav said.

Validator maps requirements to test cases so that when requirements change, the test
designer immediately knows which cases are affected. For planning purposes, the tool
indicates which are the minimum test cases, critical test cases and exhaustive test cases,
Jadhav said.

Next month, Aonix will deliver ObjectAda Raven, an Ada 95 software component for
embedded applications that perform safety-critical control functions in nuclear plants and
medical devices.

ObjectAda Raven is a certified Ada 95 run-time kernel for PowerPC processors. Aonix
officials said its cost is relatively low compared with what it costs the government to
build and test an Ada 95 run-time kernel.

Stay Connected

Sign up for our newsletter.

I agree to this site's Privacy Policy.