After being a FORTRAN and Pascal shop, Weirton Steel Corporation of Weirton, W.V., instead uses the Ada programming language in all its software functions for milling ten-ton slabs of hot steel into 1/10" sheets, except for a few minimal FORTRAN functions. Currently, the employee-owned company is moving some applications again, this time to Ada 95 under Windows 95. They hope that
their next environment will be Windows NT.
Small software staff, global market and competition
Weirton's hot-rolled steel is sold and used globally for pipe, tubing,
industrial storage racks, automotive stampings, air-compressor housings,
package strapping, etc. Seven people run the software to cover the mill
seven days a week, twenty-four hours a day. While keeping the software's
600 processes running smoothly, the developers also continue to convert the
few remaining FORTRAN mathematical models into Ada. The small software
maintenance staff for producing sometimes $2 million of steel a day makes
other American mills hold Weirton "in awe," according to Ken James, General
Supervisor, Hot Mill Automation. "If this monster were written in anything
but Ada, I don't know how we'd handle it," he said.
The developers are currently pushing to contain processing costs by moving
some applications from their nineteen DEC VAXs to four PCs. A few of the process
automations, user interfaces, and data manipulations have been moved to DOS
for Workgroups in Ada 95 applications, with plans to transfer them to
Windows NT.
One new PC application is a mill-tracking database that uses Patchworks(R),
a communications software, to have the VAXs write files to the PC, which
processes the data and allows operators to view it. The application
follows the steel slabs as the mill finishes them. It produces strips and
rolled sheets of world-class shape and hair-breadth's thinness. "Rather
than have the VAX drive all of the peripheral information display and recap
processes," James said, "we're trying to have those processes pushed to the
mini level." The VAX processor looks at the physical input/output (I/O),
then writes the data into a file that another file can read. The PC helps
generate the data into a useful file. The mill operator sees the steel's
progress in quasi-real time because of the minuscule time lag between what
the VAX processor detects and what the PC reports.
At $38,000/hour, the mill "cannot go down"
All new PC applications are made redundant on the VAXs. The PCS are on the
plant floor, not in the protected computer room with the VAXs. They are
therefore more physically vulnerable and might be prone to failure, though
none has occurred. The plant "cannot go down," James says. If a software
glitch or hardware failure paralyzes the mill, it costs the company
approximately $38,000/hour.
William Zickefoose, automation engineer, mentions the lack of freeze-ups as
the most noticeable difference between the FORTRAN and Ada software. He
attributes the difference to Ada's exception handling. "If you get
something totally ridiculous [on the mill], then the exception handler says
use this instead and go ahead. It makes a world of difference," he said.
"To me, it is almost unthinkable to use any other language for a
live-process when you need to run continuously."
The mill has three basic units, each with seven pieces to be coordinated.
Mistakes are inevitable, according to Zickefoose, because humans punch in
the data. "We're doing exponential calculations so that a 10 instead of a
20 gives you huge differences," he said. "Amazing that [the mill] doesn't
freeze up every once in a while." He added that when a piece does break
down, "We inevitably find it goes back to FORTRAN." Weirton's remaining
FORTRAN code runs within Ada shells, which work well enough to keep the
mill's uptime above 99 percent.
Ada vs. FORTRAN: No more nighttime calls
Zickefoose admitted that "I hate Ada but I love what it does. I'm an old
FORTRAN hand, and old habits die hard." He especially appreciates that
with the new Ada code, "I don't get called at night seven nights a week.
In fact," he added, "I might be out of a job soon, and I'll blame that on
Ada. We could do something in C, I guess, and that would give us some
security."
The software team tends to hire programmers who are familiar with steel
mill operations but not necessarily with Ada. Veteran developers of the
steel plant's software take on new applications, while novices are assigned
a couple of Ada books to read, including the Ada Programming Reference
Manual and Norman Cohen's Ada as a Second Language. The programmers are
then given simple maintenance problems on which to experiment with the new
language.
The Weirton developers are considering compiler options for the Windows NT
environment for Ada 95, and are currently using the GNU Ada 95 Translator
(GNAT) compiler, which is freely available through the "copyleft" policy of
the Free Software Foundation, and supported commercially through Ada Core
Technologies. (For more information, see http://www.gnat.com.) The move
from Ada 83 to Ada 95 has been almost transparent, partly because the
hot-steel mill's software does not use all of the language's "bells and
whistles," James said. "We use the KISS [Keep It Simple, Stupid] method.
I'd rather have more lines of code than some esoteric package that no one
understands a year from now." Their decision is based on their primary
obligation to keep the mill up and running. He especially likes the performance of pointers
in Ada 95.
Maintaining software while mill runs at 99.96% uptime
The Ada system has proved to be dependable, going down only "five minutes
here, five minutes there," according to James. The mill's schedule allows
them little time for maintenance. It runs twenty shifts of eight hours
each, with one eight-hour shift allowed for maintaining the electrical
system, cleaning, etc. Even during the mill's down time, staff needs to
run the software to perform their jobs. In the seven years that Ada has
run the mill, the developers have not had two consecutive hours of down
time in which to tinker with the software on-line.
For the last four years, the mill has been productive 99.9 percent of the
time; in 1995, it was up 99.96 percent. "It takes a bit of hustle to make
that happen," James said. To help create a seamless transition from
original to improved software, developers installed redundant hardware on
which to run new packages until they can be safely uploaded onto the
primary hardware.
Through the redundant hardware, the software engineers are able to continue
the conversion from FORTRAN to Ada and add new Ada95/PC applications. They
load and test modified software onto a secondary VAX, i.e., one that is not
running the mill. When they are certain that the new Ada code is bug free,
they switch the running of the mill to the secondary VAX. They then load
another copy of the new software onto the primary VAX, which usually runs
the mill. Once they test that software, the running of the mill is again
handed over to the primary VAX.
James said that if he were to develop the system again, he would
concentrate from the beginning on having enough computers to guarantee the
system's smooth operation while the upgraded software was tested and
installed.
The lifeblood of the company
To revise the Ada standard from its 1983 version to the new one (then
referred to as Ada 9X), interested parties within and outside of the Ada
community were asked to vote on the proposed changes. Weirton cast the
first ballot, in which it described its dependence on the language:
"Weirton Steel has only one hot-strip reducing mill and all of our products
must undergo this process to be converted from slab to coil form ... the
very lifeblood of this company and its nearly 6,500 employee-owners is
intertwined with the Ada language." The company is now voting with its
feet in favor of the revision by committing to Ada 95 in its next
generation of automation.
|