Nancy Leveson
Computer Science & Engineering
University of Washington
leveson@cs.washington.edu
Computers are rapidly becoming an integral part of nearly every engineered product, as well as controlling the manufacturing process for products: Computers control consumer products, commercial aircraft, nuclear power plants, medical devices, weapon systems, aerospace systems, automobiles, public transportation systems, and so on. Virtually nothing is engineered and manufactured in the U.S. today without computers affecting the design, manufacturing and operation. Not only do products use computers to operate better or cheaper--``smart'' automobiles and appliances are examples--but complex systems are incorporating designs that cannot be operated without computers--for example, unstable aircraft and the space vehicles that cannot be operated successfully by humans alone.
At the same time that computers are becoming indispensable in controlling complex engineered systems, quality and confidence issues are increasing in importance. We are hearing more and more about failures due to computers: Software errors have resulted in loss of life, destruction of property, failure of businesses, and environmental harm. Computers now have the potential for destabilizing our financial system. GAO reports have detailed the problems of government-financed projects such as the C-17 and the new U.S. Air Traffic Control System that are in serious trouble because of software problems. Some large projects have actually been cancelled because the software parts of the system could not be made to work adequately.
Although the draft CIC initiative covers important topics in information systems and communications, the area of computers embedded within products and computers that control complex systems is not included. For example, the appendix on medical systems includes many examples of medical information systems and the transfer of medical imaging and other information over a communications network, but no mention is made of the use of computers in medical devices themselves. Computers, for example, are now performing operations, monitoring critically ill patients, and embedded permanently in human bodies in the form of insulin pumps, pacemakers, and standby defibrillators.
While Europe (and to some extent Japan) are spending large amounts for research on the problems involved with building the software for such devices (and are ahead of us in many areas), this type of research does not seem to be a priority in the U.S. and the amount of work being done on these topics is dwindling at the major U.S. universities. The major initiatives in the past few years--HPCC and NII--have not funded research on these topics, resulting in relatively little of this type of research being performed at the major research universities in this country.
We are starting to see software development go offshore, yet software engineering research has a low priority in this and other initiatives and in several of the agencies involved in this initiative. This trend will only escalate as fewer graduate students are trained to do this type of research. The basic training of the work force is also being affected as undergraduate classes tend to reflect the research interests of the faculty and require faculty that are knowledgeable in the topic to be effective. One possible scenario is that we become the information society, but most of the products (outside of computers and the software to run them) will be made outside the U.S. We may also find that complex infrastructure projects such as air traffic control and public transportation systems will suffer as a result and may need to be commissioned outside the U.S.
This white paper discusses the need for such research, why we have the problems and have not solved them in the past, and some important research problems that need to be addressed in order to regain U.S. superiority.