The Ada Resource Association
Ada Software Runs Steel Mill in West Virginia
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 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.