THE use of computer technology has grown immensely and software is being used to develop varied products ranging from trains to toasters. But as the power of digital hardware has grown, the size and complexity of the software needed to control it has als6 increased.
Traditional software development is labour-intensive and error-prone, and the software industry urgently needs cheaper and more reliable ways to develop programmes. If a Pc crashes, only data is lost, but if a computer controlling an aircraft or a chemical reactor misbehaves, the consequences can be catastrophic.
Computers have traditionally played a subservient role to more conventional analogue technologies in safety-critical systems. Analogue technologies, leave the pilot or operator in fall control and are designed to well-known fail-safe principles. No such principles exist for softwares, so designers of digital systems have to test their programmes extensively.
Extensive use of computers allow the Boeing-777, which went into service in June 1995,-,to be flown in by two crews instead of the traditional three - a flight engineer is not required. The 777 contains more than two metre lines of software code, four times that of its predecessors, and is Boieng's first commercial aircraft to use digital fly-by-wire technology for flight control system. Built by GEC Marconi, it took five years and 200 people to develop the system.
Digital technology was used because manufacturing costs are lower than those for the analogue system. Boeing's main competitor, the European consortium, Airbus Industry, was the first to use digital fly-by-wire technology to reduce costs.
Airlines are wary of new technologies because of expensive service an dfear of unreliability. For digital fly-by- wire flight control systems, there is the additional worry of IA unknown safety record.
To calm such fears, Boeing exhaustively tested the software for one year inthe laboratory and another one in the air, twice the test period for earlier techniques. Cost is not the only factor in building safety-critical software. Testing complex software requires thousands -of test cases and combinations of operating parameters to be generated and fed into the software to see how it responds. Traditionally, this is done manually, which is both costly and tedious for the people involved and prone to error.
Rational software, a us-based firm, is working with Boeing on a set of tools to automate test-case generation, thereby cutting testing costs. Boeing engineers have developed an algorithm to reduce the time needed to generate test cases from several hours to a few minutes.
Software testing detects mistakes made by the programmers who wrote the programme code. But fundamental design flaws will not be revealed and even extensive testing uncovers only about 70 per cent of the errors in the programme. The rest, serious or otherwise, are passed Y-wire system on to the customer. Phantom withdrawals from bank teller machines, telephone exchanges that do not communicate, and space shuttles that refuse to take off are all manifestations of software bugs overlooked during testing.