Class Notes (810,418)
Canada (494,121)
York University (33,691)
Natural Science (2,769)
NATS 1700 (204)

Lectures 10 and 11.docx

13 Pages
Unlock Document

York University
Natural Science
NATS 1700
Valeri Michkine

SUMMARY OF LECTURES 10 and 11 LECTURE 10 THE REAL CONCERNS REGARDING SOFTWARE What I call the real concerns about new technology software and hardware are the actual or factual or realities surrounding software and hardware. That is: they exist as a fact or the fact is real or actual. Thus, whenever I may refer to the real, factual or actual concerns about new technology software and hardware, I want you to understand that these concerns are not made up or speculative, they are real and factual. They always exist in software and hardware, whether we like it or not. It may be that some of these concerns will change in the future, but for now, they remain constant. A first real or factual concern about software and hardware that we must consider arises as a consequence of Quantum physics itself. You will recall that Quantum physics is based on probability and uncertainty. This means that at least one chip or program or piece of hardware out of a vast number of the same chip, program, or pieces of hardware is going to be effected directly by Quantum physics. In turn, and unlike the other chips, software or pieces of hardware that were manufactured with it in exactly the same way, the probability and uncertainty of it working differently or not working at all is greater that the probability that it will work as it was intended. The result is a chip, software or a piece of computer hardware that for no apparent reason does not work at all or works differently its intended purpose. For this purpose "differently" means either better or worse than the others of its kind. While Quantum physics is the basis for a real or factual concern about software and hardware, so too is a concern that can be stated as follows: "All software and hardware contains bugs". For those of you who have Windows 98, has your computer frozen from time to time? In all probability it has. The reason is that the program has bugs which cannot be easily fixed by down-loaded solutions. The defects or bugs are inherent in the program. There was a time, in the early development of software (circa 1980's), when memory was at a premium. Because memory was limited, it became of utmost importance and programmers spent hours on hours of time attempting to remove as many of the defects or bugs from these early programs as they could, since each defect or bug took up memory. This resulted in very well constructed programs which worked extremely well. From the 1990's onward and because memory began to increase in dramatic increments, programmers started to become sloppy - they maintained an attitude that, since there was plenty of memory, they did not have to concentrate on 2 removing the defects or bugs to the same extent that they did before. This attitude has led to the development of software programs for pubic consumption that have numerous defects or bugs in them. Programs that appear to look and perform much better than the older programs, that is, until you get an error message popping up on your screen. A third real or factual concern about software and hardware is that there is no universal set of rules guidelines and protocols for programmers to follows in the development of computer hardware and software programs. While it is true that each company may have a standard set of rules, guidelines or protocols for its programmers to adhere to, it does not follow that each and every company has the same set of rules, guidelines and protocols. This tends to create inconsistencies in software and hardware within the new technology industry. Programmers are left to their own resources in developing software as are the companies that manufacture computer hardware. Without a universal set of rules, guidelines and protocols, there are no standard formats for testing software and hardware. This lack of standardized testing further affects the integrity of software and hardware. If you are lucky, it will work. If you are not lucky, it will not. The lack of a universal set of rules, guidelines or protocols leads to the unconscious importation or placing, particularly into software programs, of the beliefs and philosophies (the "biases") of those who are doing the programming. A good example of the importation of programming bias into software can be found in a certain intelligence test that was used in the United States in the 1980's. The test was developed to measure the intelligence quotient of school children of all backgrounds. Unfortunately, after a few years of use, it was discovered that white Caucasian children scored higher on the test than children of other ethnic backgrounds. Investigation into the matter determined that, inadvertently, the programmers had made certain assumptions about ethnic minorities which caused these minorities to perform at a lower level from white Caucasian children. Needless to say, this test was finally scrapped, because it was unreliable. Another real concern about software and hardware appears to be fast becoming an unstated law. Simply put, this concern is that, "ambitious systems seldom work the way they are supposed to". To put it another way, the more complex the system, the more apt it is to break down and not to work as it was intended. Although you may not know it, failures in complex systems are all too frequent. It is for this reason that this concern or proposition is fast becoming an unstated law. The final real or factual concern about software and hardware is one which keeps popping up throughout numerous areas related to new technology: "overconfidence". Overconfidence in software and hardware leads the user to believe in it - to trust implicitly that it will always work, notwithstanding that there nay be problems with it. This concern goes farther to suggest that even if there are problems with the hardware or the software they will eventually be overcome. While this may be true, 3 eventually can be too long a time, if the software or hardware fails to perform as intended, with disastrous consequences. A good example of the majority, if not all, of the real or factual concerns is a machine known as the Therac 25. The Therac 25 was an x-ray machine which had been in use in the United States and Canada for some time. It was used to x-ray and did x-ray successfully, hundreds of thousands of people. However, once in a while, for some unknown reason, the machine appeared to freeze or lock. On these occasions, although the machine appeared not to work at all, what it really did was shoot a highly concentrated beam of x-rays at the person lying on the table beneath it. After twelve deaths and a great deal of investigation into what was going on in these isolated cases, the manufacturer and government investigators found that the software program had an unknown glitch in it. So long as the technician programming the machine took more than 30 seconds to set the parameters of the program, the machine worked as intended, without causing any harm to the patient. However, a technician who had worked with the machine for a few years could become so familiar with setting up the program that, in some cases - the fatal cases, the technician programmed the machine in less than 30 seconds. When this happened the machine froze and sent a concentrated beam of x-rays at the patient. Whether you consider the deaths caused by the Therac 25 to result from programming bias (no good technician could program the machine in less than 30 seconds); or from a lack of a universal set of rules, guidelines and protocols; or from overconfidence in what the machine could do; or because the program was complex and complex systems seldom work the way they are intended, the fact is that people died, all because of one form or another of the real or factual concerns about software and hardware. You will recall the fact situation that I provided at the end of Lecture 2. Having the information in this lecture available to you now, consider it again. Hopefully, you will begin to obtain a basic understanding of some of the matters that the fact situation deals with. As you consider the fact situation, keep in mind the notion or proposition that nothing is for free - everything has a cost attached to it or everything comes with a cost that is either apparent or hidden. Summary: of the Real Factual Actual Concerns: 1. Quantum physics; probability means that it will work better, worse, differently or not at all; 2. All software and hardware have bugs/defects; 3. No universal set of rules, protocols or guidelines for programmers; 4. Number 3 leads to programming bias; 4 5. Ambitious/complex systems seldom work the way they are supposed to; 6. Health risks; and 7. The sharing of potentially dangerous information/knowledge. The Coursekit Articles In class we discussed the two Coursekit articles dealing with computer hardware and software related problems, the reasons behind them and the suggested remedies. These articles provide solid evidence that what I call the Real, Factual, Actual concerns regarding computer hardware and software exist and must be addressed if we are to use complex systems wisely and safely. They also point out the need for Professionalism particularly for computer programmers who, at present, and without any formal education, continue to provide software for sophisticated systems which are designed to help us control dangerous and potentially dangerous aspects of modern– day technology, such as nuclear weapons, nuclear power generation and the space shuttle missions. Based on these articles, we might categorize the Summary of Real Concerns as follows: 1. Quantum physics; probability means that it will work better, worse, differently or not at all. There is little that can be done here other than to realize that once in a while and for reasons related to Quantum Physics itself, computer hardware and software are going to malfunction. At present, the only methods available to deal with this reality are the human factor which can intervene and back-up systems which can take over where there is a malfunction. Perhaps, as we gain a more comprehensive knowledge of Quantum Physics, better safeguards can be developed. 2. All software and hardware have bugs/defects: This is partly linked to debate surrounding the need for Professionalism in computer hardware and software development. 3. No universal set of rules, protocols or guidelines for programmers: This requires Professionalism. 4. Number 3 leads to programming bias: This may be remedied by Professionalism. 5. Ambitious/complex systems seldom work the way they are supposed to: Here, quantum physics and the lack of Professionalism are the main causes. 6. Health risks; Such risks can result from system failures that deal with dangerous things such as nuclear weapons and nuclear power generation, and also the reality that electrons give off electromagnetic radiation which depending on the dose, can be and is dangerous to human health. 5 7. The sharing of potentially dangerous information/knowledge. This would appear to stand in a category of its own and we shall explore it further in class. NOTE: For examination purposes, you are to read and summarize these articles. Then under each real, factual or actual concern listed above, except for Quantum Physics and the sharing of dangerous information, you are to find the applicable statements/assertions made by the author that relate to each of the remaining 5 concerns. For example, in Computer System Reliability and Nuclear War: For No 5 above: p. 57: The worldwide electronic warning and communications systems of today are immensely complex and reactive to those of 1956; As C3I systems have increased in complexity and scope, manual methods of merging data are no longer adequate, resulting in the need for fully automated methods, variously referred to as data fusion, multi-source correlation or multisensor integration. To the end of that paragraph. Pps 487 to 411 relating to The Reliability of Complex Systems – here you can take the various statements/assertions/descriptions and put ones that are relevant under number 2, dividing No. 2 in to hardware problems and then software problems. p. 412: For No. 3 above: In regard to the practical limits of reliability, most professional programmers today do not use such software engineering techniques as structures programming, modularity and information hiding, cooperating sequential processes, or formal program semantics. The same should be done for Evaluation of Safety Critical Software and From Slide Rule to Computer. THE LAST REAL CONCERN RELATING TO SOFTWARE AND HARDWARE This concern has to do with the sharing between academics and academic institutions of information that can have dangerous consequences. Consider the following example: 6 We are now working at the molecular level, and at this level are able to work on pathogens or viruses. Normally such work would be used to better understand how pathogens or viruses work, but in the wrong hands, the knowledge gained in working on a pathogen or virus could be used to turn the pathogen or virus into an extremely lethal biological weapon. Knowing this, the question becomes whether or not the information or knowledge gained relating to how to work on and manipulate a pathogen or virus, should be shared throughout the academic community. There are two sides or arguments that can be considered here. The first is that we should not share the information, because it is more than likely that, sooner or later, it will be used for an improper purpose. The other argument is that we should share the information for two main reasons. This has to do with the very essence of the Academic community. It functions to teach and to conduct research in order to further knowledge. By sharing the information among academics, the knowledge gained in one academic institution, can be furthered at another, often with meaningful results such as discovering ways to combat a virus so as to render it harmless or so as to provide a vaccine or cure. Not sharing the information would be to defeat the entire nature of or reasons for the academic community. Any risks as to misuse, would arise outside the academic world. The second reason is rooted in practical reality. By not sharing information, nothing is gained. Each side ends up working in secrecy and frankly, working in secrecy can often prove to be more dangerous. When working together, based on shared information, the playing field is more balanced. This scenario was given to a panel of experts at a workshop that I attended at MIT and the unanimous consensus of the panel was that the information must be shared, otherwise we change the very nature of academia and academic pursuit. Although this real concern does not really deal with software and hardware, I include it here, because it is a real concern about technology itself. ******************************************************************************************** LECTURE 11 PART 1: THE CONCEPT OF CAUSE AND EFFECT As I stated in earlier lectures, nothing is for free. Everything has a consequence. To better understand this, take the example of a population that is free from genetic defects which cause deformity or disease. The genetic material in this population can be called a "clean" or "defect free" genetic pool or "deem pool". Now take another population that is not free from genetic defects or disease, - the "defective" 7 genetic population or deem pool. Consider that in such a population, the genetic defects or diseases are passed from individual to individual by breeding. That is the parents pass the genetic defects or diseases to their offspring. I think it stands to reason that so long as the individuals within each of the two genetic pools breed within their own genetic pool, the "clean" or defect free genetic population remains clean or defect free. As you consider what I have just said, also consider that according to the theory of Natural Selection or survival of the fittest, individuals within the defective genetic pool would die out before breeding, thereby not passing on the genetic defects into the defective gene pool population. In a sense, natural selection would help to reduce the defects in the defective genetic population. Now consider our new technological advances in medicine. Better diagnostic tools such as CATScan and MRI (Magnetic Resonance Imaging) as well consider the advances in medicine itself resulting from the intrusion of new technology into medicine. If an individual in the defective genetic population is successfully treated by the medical techniques and breakthroughs that new technology provides, this person is kept alive, albeit that in this person's genes the defect(s) remain. This person now has the ability to produce offspring which, given genetics and heredity, will pass the defective genes on to the offspring. Thus m
More Less

Related notes for NATS 1700

Log In


Don't have an account?

Join OneClass

Access over 10 million pages of study
documents for 1.3 million courses.

Sign up

Join to view


By registering, I agree to the Terms and Privacy Policies
Already have an account?
Just a few more details

So we can recommend you notes for your school.

Reset Password

Please enter below the email address you registered with and we will send you a link to reset your password.

Add your courses

Get notes from the top students in your class.