THE MILLENNIUM PROBLEM

By Patrick O'Beirne

of Systems Modelling Ltd

ONE PLANT'S £500,000 PROBLEM

At midnight on New Year's Eve 1996 at Tiwai Point in South Island, New

Zealand, all the smelting potline process control computers stopped working instantly, simultaneously, and without warning. The Bell Bay plant in Tasmania shut down two hours later - midnight local time. Both smelters used the same computer program, which was written by Comalco computer staff. New Zealand Aluminium Smelters general manager David Brewer said : "The failure was traced to a faulty computer software program, which failed to account for 1996 being a leap year. The computer was not programmed to handle the 366th day of the year. Each of the 660 process control computers hung up simultaneously at midnight. The glitch was fixed and normal production restored by mid-afternoon. However, by then, the damage had been done. Without temperature regulation, four cells overheated and will have to be replaced at a cost of more than NZ$1 million." (Source: NZPA [New Zealand Press Assoc.])

Note (updated April 1999): The Bell Bay plant shutdown referred to in the AP report has been denied by Kevin Terrey-Ocock Kevin.TerreyOcock@rmmb.co.nz who reported:

"It gave the sister plant in Australia 2 hours warning that the same problem could occur.  They were then able to operate a manual over-ride and stop millions of $ in losses through metal solidifying in Ingots."

THE CAUSES

It's easy to dismiss as bad programming their failure to realise that a year divisible by four is a leap year. But one of the most endemic practices in programming is faulty date calculations involving two-digit years and miscalculation of leap years. Programmers may have been smart enough to know of the division by 4 rule and the division by 100 exception - but not informed enough to know of the division by 400 counter-exception. These will get their comeuppance in the year 2000 which IS a leap year.

Many programs will roll over from 1999 to 1900 because they work like an odometer with just the last two digits. Now an elapsed time calculation that worked fine subtracting a start year of, say, 80 from 97 to get 17, will now subtract 80 from 00 to get -80. What will that do to your materials requirement planning?

If one file is changed to store years as four digits rather than two, all programs using that file must change, It's an all-or-nothing change that must be put in place once, permanently, and on time. It's like nothing else the computer industry has ever done. The record of computer people in bringing software updates in on time and without error is not good. The Jan 2000 deadline is one that cannot move. There is not even the usual fallback of being able to use the old system while the new one is being fixed. Once Jan 2000 arrives, the old two-digit-date software just does not work anymore.

It's not just the obvious software. It could be embedded in hardware. Many internal clocks in personal computers (and therefore also the process control computers that are built with such a motherboard base) will roll over the date from 31/12/1999 to 04/01/1980 because of a design fault in the BIOS.

THE CURE

Make sure your management have a budget for this issue. Make sure your computer people have a strategy and a project plan. Ensure that that includes data interchange with other companies. Be prepared to abandon hitherto depended-upon old systems that cannot be upgraded on time. Exercise due diligence. Get demonstrations (not just reassurances) of compliance from your equipment vendors - process monitoring and control, laboratories, security and access systems, telephone exchanges... There are computers embedded in thermometers these days. Even on your own desktop, you can check if your applications can accept dates such as 01/01/2000 and 29/02/2000. Do you KNOW your exposure? If not, start checking now.

It's midnight. Do you know when your process control computer thinks it is?

Patrick O'Beirne, Software quality consultant. Date: 1997.03.07

Systems Modelling Ltd. 055-22294. Email pobeirne@sysmod.com

Y2K web page: http://www.sysmod.com/year2000.htm