SDI A Violation of Professional Responsibility A presentation
SDI: A Violation of Professional Responsibility A presentation by: Rong Gu Cincy Francis Amitkumar Dhameja CS 575 - Software Design
SDI: A Violation of Professional Responsibility Contents: 1. SDI – An Overview 2. Parnas & SDI 3. The Role of Computers 4. The Decision to Act 5. Some Critical Issues 6. Broader Questions 7. Parnas’ Advice 8. Questions 9. Our Opinion CS 575 - Software Design
SDI - An Overview Strategic Defense Initiative: A U. S. government program responsible for research and development of a space-based system to defend the nation from attack by strategic ballistic missiles v v Popularly referred to as “Star Wars” Announced by President Ronald Reagan in a speech in March of 1983 v CS 575 - Software Design
SDI - An Overview Strategic Defense Initiative: Administered by the Strategic Defense Initiative Organization (renamed Ballistic Missile Defense Organization, 1993) v v Under Department of Defense, assisted by NASA CS 575 - Software Design
SDI - An Overview SDI Aims: To develop a network of satellites carrying sensors, weapons and computers v To detect ICBMs and intercept them in mid-air v To free us from the fear of nuclear weapons, and make nuclear strategic missiles impotent and obsolete v CS 575 - Software Design
SDI - An Overview “Some say it will bring war to the heavens. But its purpose is to deter war in the heavens and on earth. Now some say the research would be expensive. Perhaps, but it could save millions of lives, indeed, humanity itself. ” - President Ronald Reagan CS 575 - Software Design
SDI – A Software Classification Four Classes of Usage 1. Man-rated: Software so important and critical 2. that lives may depend on it. Examples: SDI, ATC, Medical device software Enterprise-rated: Software critical to the uninterrupted operation of an enterprise. Examples: ATMs, Web-commerce software. CS 575 - Software Design
SDI – A Software Classification Four Classes of Usage 3. Good-enough: Business software not critical 4. but maybe used frequently. Examples: Personal productivity applications, much client & single user software Don’t-care: Non-critical, business or personal entertainment software. Examples: Games, seldom used utilities CS 575 - Software Design
Parnas & SDI Parnas’ Involvement in SDI : v. Approached by the SDIO in May of 1985 $1000/day SDIO Panel on Computing in Support of Battle Management v v Resigned 2 months later CS 575 - Software Design
Parnas & SDI Professional Responsibility: A professional Is responsible for his own actions and cannot rely on any external authority to make his decisions for him v v Cannot ignore ethical and moral issues Must make sure that he is solving the real problem, not simply providing short-term satisfaction to his supervisor v v Shouldn’t hesitate to “blow the whistle” CS 575 - Software Design
Parnas & SDI Parnas’ Early Doubts: Whether any such system could meet the requirements v Possible conflict of interests v Whether such a system would be trustworthy v Would it be useful to build a system we did not trust v CS 575 - Software Design
Parnas & SDI Why trustworthiness is essential: If the system is not trustworthy v US will not abandon deterrence and nuclear missiles Seeing both a “shield” and missiles, USSR would feel impelled to improve its offensive forces v v US not trusting its defense, would join in, in the arms race v Result – a more dangerous world, instead of a safer one CS 575 - Software Design
The Role of Computers must: Process and analyze vast amounts of data produced by the sensors v Detect missile firings, determine source, compute trajectories v Discriminate between warheads and decoys v Aim and fire the weapons v Software is the glue that holds the system together, if software is not trustworthy, the system isn’t either! CS 575 - Software Design
The Role of Computers Limits of Software Technology: Lack of validation methods mean we cannot expect a real program to work properly the first time it’s used v v Tests/simulations fail to uncover all serious problems Reliability & trustworthiness – only through extensive use. v CS 575 - Software Design
Why Software for SDI is Difficult Based on assumptions about target and decoy characteristics controlled by attacker v Espionage could render it worthless, so could overloading v Dependence on communicating computers in satellites makes it vulnerable v CS 575 - Software Design
Why Software for SDI is Difficult v. A satellite will require data from other satellites to assist in tracking, discrimination & countering noise Realistic testing of hardware & software through “practice” nuclear wars impossible v v MUST WORK THE FIRST TIME CS 575 - Software Design
The Decision to Act Some reasons Parnas got in support of SDI: Research money would advance the state of computer science! v The money was going to be spent anyway and Parnas should help to see it well spent! v There could be 100, 000 errors in the software and it would still work properly! v CS 575 - Software Design
The Decision to Act Some reasons Parnas got in support of SDI: There was no fundamental law of computer science that said the problem could not be solved! v Parnas – and other SDI critics – are demanding perfection! v CS 575 - Software Design
The Decision to Act Parnas Resigns… Found no scientist who disagreed with his conclusions v Every reply argued with statements other than those Parnas had published v “Taking money allocated for a shield against nuclear missiles, while knowing that such a shield was impossible, seemed like fraud to me” – Parnas v CS 575 - Software Design
Some Critical Issues The “ 90%” Distraction 3 layers, each 90% effective – overall leakage is less than 1% as effectiveness multiplies v Parnas reveals 90% figure picked for illustration v Assumes performance of each layer is independent of others v Percentage? ? ? v CS 575 - Software Design
Some Critical Issues The “Loose Coordination” Distraction (Eastport Group, Dec. 1985) Phase I architectures – excessively tight coordination between “battle stations” v Software difficulties could be overcome with loose coordination v New Phase I studies be started v CS 575 - Software Design
Critical Issues The “Loose Coordination” Distraction Parnas Argues Loose coordination? ? ? v Loose coordination – reduced communication between stations v Later sections discuss need for extensive communication – Inconsistency v CS 575 - Software Design
Critical Issues Eastport Group’s Unstated Assumptions Battle stations do not need data from other satellites to perform their functions False!!! v Data from other satellites is essential for accurate tracking and discrimination between warheads & decoys v CS 575 - Software Design
Critical Issues Eastport Group’s Unstated Assumptions An simple battle station is a small software project that will not run into software difficulties described before False!!! v Each battle station is unlikely to work, impossible to test, impossible to trust v CS 575 - Software Design
Critical Issues Eastport Group’s Unstated Assumptions The only interaction between the stations is by explicit communication False!!! v Communication through weapons, sensors and through shared targets. Weapons, destruction of targets creates noise. v CS 575 - Software Design
Critical Issues Eastport Group’s Unstated Assumptions A collection of communicating systems differs in fundamental ways from a single system False!!! v A collection of communication programs is mathematically equivalent to a single program. In practice, distribution makes the problem harder, not easier v CS 575 - Software Design
Some Critical Issues 1985 CPSR-MIT Debate: David Parnas, Joseph Weinazenbaum (Against SDI) v. s. Charles Seitz, Danny Cohen (In favor of SDI) CS 575 - Software Design
Some Critical Issues Parnas’ arguments: Specifications cannot be known in advance v Realistic testing is essentially impossible v Hard real-time deadlines do not allow repair during use v No foreseeable advance in software tech changes this v Therefore – It is not possible to construct SDI software that you could trust to work v CS 575 - Software Design
Some Critical Issues Steitz’s arguments: The current objective of SDI is to conduct the vigorous research necessary to build a defense system v Such a system can be written using conventional software techniques coupled with radical hardware architecture v This will greatly aid in the testing, simulation and modification of SDI v CS 575 - Software Design
Some Data on SDI TOP 10 SDI contractors 1983 -1986: ($Thousand) Source: Council on Economic Priorities 1987 CS 575 - Software Design
Some Data on SDI Distribution of requested SDI funding in major research areas in FY 1985: ($ Million) Source: Waller et al. 1986: 15 CS 575 - Software Design
Broader Questions Is SDIO sponsored work of good quality? à Phase I studies – Eastport vs. SDIO contractors/evaluators à Big promises, low quality à Bypasses scientific review processes, no real scientific contribution v CS 575 - Software Design
Broader Questions Do those who take SDIO funds really disagree with Parnas? à Remember the reasons Parnas got in support of SDI? v The blind led by those with their eyes shut à Often people indulge in unprofessional behavior just to not displease the customer v CS 575 - Software Design
Broader Questions v The role of academic institutions Institutional pressures in favor of accepting research funds from any source à A researcher judged on his ability to attract funds à Do. D is a major administrator of research funds – consequently many institutions are working on SDIO à CS 575 - Software Design
Broader Questions v Should we pursue SDI for other reasons? Parnas says à“Good research stands on its own merits; poor research must masquerade as something else” à“Over funded research is like heroin, it leads to addiction, weakens the mind, and leads to prostitution” – Prof. Janusz Makowski CS 575 - Software Design
Parnas’ Advices Determine participation in defense projects by: Considering effectiveness of project v Prioritizing legitimate defense interests of the country v Emphasizing individual responsibility v CS 575 - Software Design
Our Opinion Is SDI really impossible? ? ? As our technologies evolve the system becomes more realistic v Present systems show some signs of success v Reliability/trustworthiness can be achieved through testing v Testing can be done via computer simulations (e. g. Nuclear Tests are no longer necessary) v Changes in hardware (Sensors, weapon delivery systems, etc. ) can compensate for no advances in Software technology v Better algorithms should be developed to counter noise, detect decoys, etc. v “SDI is the way to go” – Amit, Cincy, Rong v CS 575 - Software Design
Questions CS 575 - Software Design
- Slides: 38