| Table 3-2. Additional Techniques' References |
|
TECHNIQUE
|
REFERENCE
|
| Code Walk-Throughs |
-- Dunn, Robert, Software Defect Removal ,
McGraw-Hill, Inc., 1984.
|
| Event Tree Analysis |
-- Limnious, N. and J.P. Jeannette, "Event Trees and their Treatment
on PC Computers," Reliability Engineering, Vol. 18, No. 3, 1987.
|
| Hazard and Operability Studies |
-- "A Guide to Hazard and Operability Studies," Chemical
Industry Safety and Health Council of the Chemical Industries Association, Alembic House,
London, UK.
-- Klutz, T.V., "HAZOP and HAZAN", Institution of Chemical Engineers, UK, 1986. |
| Nuclear Safety Cross-Check Analysis |
-- Air Force Regulation 122-4, "Nuclear Surety Design Certification
for Nuclear Weapon System Software and Firmware," Department of the Air Force, 24
August 1987.
|
| Petri Nets |
-- Peterson, J.L., Petri Net Theory and Modeling of Systems ,
Prentice Hall, 1981.
|
| Software Failure Mode, Effects, and Criticality Analysis |
-- MIL-STD-1629A, "Procedures for Performing A Failure Mode and
Effect Analysis", Department of Defense, 24 Nov 1980.
|
| Software Fault Tree Analysis |
-- Fussel, J., "Fault Tree Analysis - Concepts and Techniques," Generic
Techniques in Reliability Assessment , Noordhoff Publishing Co., Leyden,
Holland, 1976.
-- NUREG-0942, "Fault Tree Handbook," U.S. Nuclear Regulatory Commission, 1981. |
| Software Sneak Analysis |
-- Rankin, J.P., "Sneak Circuit Analysis," Nuclear Safety,
Vol. 14 , No. 5, 1973.
-- Hecht, Herbert and Myron Hecht, "computer Resources Handbook for Flight Critical
Systems" [HECHT] |
4. SOFTWARE QUALITY
System hazard analyses identify operational hazards which traditionally have been
associated with natural disasters (e.g., earthquakes and fire) and equipment problems
(e.g., electrical failure and hardware component failure). System hazard analyses also
identify hazards which may result from how the system is developed. And, while these
analyses examine software's impact on the system and its development process, neither
system nor software hazard analyses address how the software was developed. The software
must be developed correctly and must have provisions to mitigate consequences of its
failure. If the software is not developed correctly, then the development process itself
is a potential hazard. The techniques in section 3 principally focus on whether or not the
software related to potential hazards has been examined, but few focus on verifying or
proving the QUALITY of the software.
NIST has prepared a framework for the development and assurance of high integrity
software [NIST223] which recommends software development and software assurance processes
for producing quality software. Figure 4-1 depicts the software development and software
assurance processes described in [NIST223]. The remainder of this section summarizes the
software processes, includes software engineering practices to be used when developing and
assuring high integrity software, and is based on [NIST223].
4.1. Software Development
Software development processes are those processes that are used to construct the
software, that is, define the software, design it, implement the design into software
code, and integrate the software into the system. Their purpose is to build the software,
and make corrections as needed. Each software development process produces outputs which
ultimately lead to the final software product which is integrated with other system
components and is executed in the installed system.
The development of high integrity software includes the software requirements process,
software design process, code process, software integration process, software installation
process, and software operation and maintenance process. These processes are briefly
outlined below; for more detailed information see [NIST223].
The objectives of the software requirements process are to fulfill
the system and software objectives, develop software requirements based on, and traceable
back to, the system requirements, and to provide complete, consistent, correct, testable,
and understandable information from which the software may be designed. This process uses
the system requirements, system design, the initial project management plan (PMP), and
software requirements standards identified in the software quality assurance plan (SQAP),
to develop the requirements for software. The software requirements encompass functional,
performance, interface, safety, security, and quality requirements [NIST180]. The software
requirements process produces a software requirements specification (SRS). A user's manual
is also started, but not completed, during this process.
The objectives of the software design process are to develop the
software design based on, and traceable back to, the software requirements, and to provide
complete, consistent, correct, testable, and understandable information from which the
software code may be generated. This process uses the SRS, the initial PMP, and software
design standards identified in the SQAP to develop the software design. System
documentation is available for reference. The software design process produces a software
design description (SDD), a database design description (DBDD), and possibly a revised SRS
and/or updated PMP.
The objective of the code process is to develop the source code
based on, and traceable back to, the software design and software requirements. This
process uses the SRS, SDD, DBDD, the PMP, and code standards identified in the SQAP, to
develop the code. The code process produces the source code, a source code manual, and
supporting documentation for source code. While the code process and unit test process are
often associated with each other, the unit test process is a software assurance process
and is described in section 4.2.
The objectives of the software integration process are to produce
executable code, and to integrate the executable code into other software or hardware
components. This process uses the source code to integrate software components with other
software components and with the hardware in preparation for installation into the system.
The software integration process produces the executable code and a software installation
plan. A software maintenance manual is started, and a user's manual is completed during
this process. The software integration process occurs also in accordance with the overall
system integration and test plan which may mean several iterations of this software
integration process until all software components have been integrated with other system
components.
The objective of the software installation process is to install
the software at each site, and to determine whether the software will perform as required
at all the sites in which it will operate. The software installation process produces a
software installation report, and a software maintenance manual is completed.
The objective of the software operation and maintenance process is
to ensure that the software meets its requirements throughout its operation and when
modifications are made to it. This process uses the integrated software, software
documentation, and software operation and maintenance standards to monitor the software
throughout its operation, and modify the software as necessary (e.g., for error
correction, enhancements, changes to operating environment) for every site at which the
software is installed. Essentially, this process will repeat groups of the preceding
processes. The software operation and maintenance process produces a software operational
procedures manual (if additional information is needed beyond the user's manual), and
supporting documentation for modifications of the software (e.g., anomaly reports,
modification feasibility reports).
4.2. Software Assurance
Software assurance processes plan and manage the software development processes, and
some, like the project management and software quality assurance processes, also oversee
other software assurance processes. Their purpose is to provide assurance that the
software will meet its requirements and consequently support the system requirements.
Software assurance processes check and analyze the decisions regarding the software and
its relationship to the system, the plans and their implementations, and they analyze and
test the software outputs.
In addition to the software hazard analysis process, the assurance of high integrity
software includes the project management process, software quality assurance process,
software verification and validation (includes test) process, and software configuration
management process. These processes are briefly outlined below; for more detailed
information see [NIST223].
The objective of the project management (PM) process is to
establish the organizational structure of the project and assign responsibilities. This
process uses the system requirements documentation and information about the purpose of
the software; criticality of the software; required deliverables; and, available time and
resources, to plan and manage the software development and software assurance processes.
The PM process overlaps and often reiterates other software assurance processes. It
establishes or approves standards, monitoring and reporting practices, high-level policy
for quality (process improvement and output quality), and cites regulations. The PM
process produces a project management plan (PMP) which includes references to all other
software assurance documentation.
The objectives of the software quality assurance (SQA) process are
to ensure that the software development and software assurance processes comply with
software assurance plans and standards, and to recommend process improvement. This process
uses the system requirements, and information about the purpose and criticality of the
software to evaluate the outputs of the software development and software assurance
processes. A software quality assurance plan (SQAP) and review and audit reports are
produced during the SQA process.
The objective of the software verification and validation (SV&V) process is
to comprehensively analyze and test the software concurrently with processes of software
development and software maintenance to determine that the software performs its intended
functions correctly, ensure that it performs no unintended functions, and measure its
quality and reliability [NIST165]. SV&V is a detailed engineering assessment for
evaluating how well the software is meeting its technical requirements, and in particular
its safety, security and reliability objectives and for ensuring that software
requirements are not in conflict with any standards or requirements applicable to other
system components. There are SV&V activities to analyze, review, demonstrate or test
the outputs of every software development and maintenance process; these SV&V
activities may directly impact software development processes.
The objectives of the software configuration management (SCM) process are
to track the different versions of the software, and ensure that each version of the
software contains the exact software outputs generated and approved for that version. SCM
is responsible for ensuring that any changes to any software outputs during the
development processes are made in a controlled and complete manner. The SCM process
produces a software configuration management plan (SCMP).
4.3 Software Engineering Practices
Software engineering practices are those techniques recommended either to prevent
errors from being entered into the software during development, or are properties to be
built into high integrity software [NIST204]. Some software engineering practices that may
enhance the quality of the software are described below.
Formal methods may be used to specify/model the requirements mathematically. A recent
study supports the concept that formal methods may eliminate ambiguity in the requirements
but cannot ensure completeness. The report suggests that better methods of technology
transfer and better automated support are needed before formal methods can be widely used
[NIST626]. And, [FUJII] contains a methodology for describing software specifications in
English. The use of either formal methods or the [FUJII] approach requires analyzing the
completeness and meaning of each requirement. However, one example in [FUJII] demonstrates
that neither method can eliminate all ambiguity. And, neither method can prove the
completeness of the total set of requirements. Formal methods can also be used for
verifying the requirements and for design proof of correctness.
Prototyping, simulation, and modeling can be used in developing software requirements,
and in the software design process. Rapid prototyping and simulation analysis are also
useful in the verification and validation of the software requirements, software design,
and code.
The way in which the software is designed contributes greatly to its quality. Component
isolation separates safety critical components from other components, making analysis of,
and changes to, these components easier to accomplish. Modularity ensures that changes to
one component minimally affect other components. Information hiding prevents components'
actions from interfering with other components. Redundancy is used to prevent or recover
from failures. And, interaction with the operator or user of the software system during
the design of the software/human interface can also be helpful.
Using a software design methodology that is well suited to the software application is
important. Today, new technology is forcing a second look at design methods, specifically
object-oriented design (OOD). NIST conducted a study of the attributes of OOD relative to
safety-critical software for the United States Nuclear Regulatory Commission (NRC). The
purpose was to describe attributes of OOD (e.g., classes, encapsulation, inheritance)
relative to their capability for supporting features desired in software for safety
systems (e.g., modularity, functional diversity, traceability, and non-ambiguity). The
results were presented at the NRC/NIST workshop in September 1993 and published in the
workshop proceedings [NIST216].
The use of high-level languages has also been recommended for quality software
[NIST204]. Using high level, standard languages and their standards lessens programming
errors. Eliminating programming practices that have been demonstrated to be problematic
(e.g., floating point arithmetic, use of interrupts) simplifies analyzing system behavior.
It is also important to use a language with a thoroughly tested compiler.
There are also software engineering practices that apply to the software assurance
processes. Use of cost-modeling and risk assessment techniques can aid the project
management process. Inspections, reviews, and audits can be applied to all software
processes under the software quality assurance process. Software error, measurement,
statistical, algorithm, database, technical, control and data flow, and timing and sizing
analysis techniques are useful in the software verification and validation process. Test
strategies such as equivalence partitioning, cause-effect, boundary value, stress, event
directed, data flow, logic flow, performance, timing, sizing and random, top-down,
bottom-up, sandwich, statistical testing, functional testing, performance testing, when
applied appropriately contribute to the quality of the software. And, the use of selected
software hazard analysis techniques (e.g., software fault tree analysis, petri nets) can
aid this process.
5. CONCLUSIONS
Although there has been increased attention in recent years to the contribution
software makes to total system safety, software safety is still not addressed to the
extent necessary. Few standards specify software safety procedures, much less software
hazard analysis. And those standards that do address such analyses are often incomplete.
There is also a lack of consensus among the standards' makers regarding terminology, what
is included in a software safety analysis, and when and how it is performed. In order to
ensure complete system safety, software safety has to be seriously considered.
The phrase "software hazard analysis" seems to be disappearing from
standards. Standards either describe software safety analysis as a process which may or
may not include software hazard analysis, or incorporate software safety or hazard
analysis into the system level analyses. While software safety must be considered as part
of overall system safety [LEVESON87], it is important to ensure that software safety is
adequately addressed, and it is often not. For example, [MIL882B] contained a separate
section for software safety. In the following version, [MIL882C], the software safety
analysis is included within the sections addressing system safety, and some analyses, like
the code level hazard analysis, were omitted.
Some of the techniques recommended by standards to conduct software hazard analysis are
dated and/or are based on traditional hardware hazard analysis techniques. These
techniques often were developed prior to the appearance of current software engineering
methods and tools which perform the same functions. Standards' makers need to explore the
analysis capabilities of current software engineering methodologies and CASE tools.
Of the techniques investigated for this report, only nuclear safety cross check
analysis, software fault tree analysis, and software sneak analysis have been used
specifically for software hazard analysis. And, while these techniques originated from
similar techniques for hardware, these techniques are relatively young and untried for
software. More investigation and experimentation is needed to determine the usefulness,
scope and cost effectiveness of these techniques.
While this study cannot wholly evaluate the techniques against the criteria listed in
section 3 from [MOD0056'91], the following comments are provided. Most of the techniques
examined for this study do "enhance the understanding of the way risks arise, are
prevented, or reduced; permit the modelling and evaluation of failure modes; and, enable
systematic analysis to be carried out in a manner that is auditable, repeatable, and
verifiable." However, most of these techniques are not currently automated by tools
for analyzing software. In fact only Petri nets are supported by commercially available
tools. And, again for examining software, there are few "documented examples of [a
technique's] successful application." And when documentation does exist, it does not
provide resource information (e.g., cost, schedule).
As software is included in more and more critical systems (e.g., nuclear power plants,
medical devices and transportation systems) the need for software safety programs becomes
crucial. These software safety programs should consist of not only software safety
analyses, but methodologies that assist in the assurance of developing quality software.
In summary, the following issues need to be addressed regarding the safety of software:
- -- Standards need to require software safety programs that include software hazard
analysis and other safety analyses, and software development and software assurance
processes.
- -- Techniques for safety analysis need to be updated, and the use of software
engineering methodologies and computer-aided software engineering (CASE) tools needs to be
considered for software safety analysis.
6. REFERENCES
[AFISC]
AFISC SSH 1-1, "Software System Safety," Headquarters Air Force Inspection and
Safety Center, 5 September 1985.
[ANS501]
ANSI/ANS-50.1, "(DRAFT #6) Nuclear Safety Design Criteria for Light Water
Reactors," American Nuclear Society, January 1993.
[CARLSEN]
Carlsen, Dr. Kjell, Brian C. Nielsen, and C. Andy Hailey, "SNEAK ANALYSIS - Boeing's
Electrical Systems Engineering Quality Program Applied to the Automotive Industry,"
Presented at the University of Michigan Quality Assurance Seminar, Traverse City,
Michigan, August 1989.
[FDA89]
"(DRAFT) Reviewer Guidance for Computer-Controlled Devices," Medical Device
Industry Computer Software Committee, Food and Drug Administration, January 1989.
[FDA91]
"Reviewer Guidance for Computer-Controlled Medical Devices Undergoing 510(k)
Review," Office of Device Evaluation, Center for Devices and Radiological Health,
Food and Drug Administration, 1991.
[FUJII]
Fujii, R., "Software Engineering for Instrumentation and Control Systems,"
Nuclear Plant Instrumentation, Control, and Man-Machine Technologies, Oak Ridge, TN, April
19-21, 1993.
[GODOY]
Godoy, S.G. and G.J. Engels, "Sneak Circuit and Software Sneak Analysis," Journal
of Aircraft , Vol. 15, No. 8, August 1978.
[HALL]
Hall, Fred M., Raymond A. Paul, Wendy E. Snow, "Hardware/Software FMECA," 1983
Proceedings Annual Reliability and Maintainability Symposium , 1983.
[HANSEN] Hansen, Mark D., "Survey of Available Software-Safety Analysis
Techniques," 1989 Proceedings--Annual Reliability and Maintainability
Symposium , The Institute of Electrical and Electronics Engineers, 1989.
[HECHT]
Hecht, Herbert and Myron Hecht, ASD-TR-85-5020, "Computer Resources Handbook for
Flight Critical Systems," USAF Aeronautical Systems Division (Wright-Patterson AFB),
January 1985.
[IECWG9'89]
IEC/TC65A WG9, IEC 65A(Secretariat)94, "89/33006 DC -(DRAFT) Software for Computers
in the Application of Industrial Safety-Related Systems," British Standards
Institution, November 1989.
[IECWG9'91]
IEC/TC65A WG9, IEC 65A(Secretariat)122, "Software for Computers in the Application of
Industrial Safety-Related Systems," Version 1.0, British Standards Institution, 26th
September 1991.
[IECWG10'89]
IEC/TC65A WG10, "89/33005 DC - (DRAFT) Functional Safety of Programmable Electronic
Systems," British Standards Institution, November 1989.
[IEEE610]
IEEE Std 610.12-1990, "IEEE Standard Glossary of Sotware Engineering
Terminology," The Institute of Electrical and Electronics Engineers, Inc., ebruary
1991.
[IEEE1074]
ANSI/IEEE Std 1074-1991, "IEEE Standard for Developing Sotware Lifecycle
Processes," The Institute of Electrical and Electronics ngineers, Inc., 1991.
[IEEEP1059]
IEEE Guide P1059 (DRAFT 7), "Guide to Software Verification and Validation
Plans," IEEE Standards Department, October 18, 1992.
[IEEEP1228-C]
P1228, "(DRAFT C) Draft Standard for Software Safety Plans," Institute of
Electrical and Electronics Engineers, November 13, 1990.
[IEEEP1228-D]
P1228, "(DRAFT D) Standard for Software Safety Plans," Institute of Electrical
and Electronics Engineers, Inc., March 6, 1991.
[IEEEP1228-E]
P1228, "(DRAFT E) Standard for Software Safety Plans," Institute of Electrical
and Electronics Engineers, Inc., July 19, 1991.
[JPL93]
JPL D-10058, "Software Systems Safety Handbook," Prepared by Jet Propulsion
Laboratory for National Aeronautics and Space Administration, May 10, 1993.
[LEVESON83]
Leveson, Nancy G. and Peter R. Harvey, "Analyzing Software Safety," IEEE
Transactions on Software Engineering , Vol. SE-9, No. 5, The Institute of Electrical
and Electronics Engineers, September 1983.
[LEVESON86]
Leveson, N.G., "Software Safety: Why, What, and How," Computing Surveys ,
Vol. 18, No. 2, Association for Computing Machinery, June 1986.
[LEVESON87]
Leveson, Nancy G., Janice L. Stolzy, "Safety Analysis Using Petri Nets," IEEE
Transactions on Software Engineering , Vol. SE-13, No. 3, The Institute of Electrical
and Electronics Engineers, March 1987.
[LEVESON89]
Leveson, Nancy, "Software Safety," Presentation to IEEE Software Safety Working
Group, October 1989.
[LEVESON91]
Leveson, Nancy G., Stephen S. Cha and Timothy J. Shimeall, "Safety Verification of
Ada Programs Using Software Fault Trees," IEEE Software , The Institute of
Electrical and Electronics Engineers, July 1991.
[LEVESON92]
Leveson, Nancy G. and Clark S. Turner, "An Investigation of the Therac-25
Accidents," University of California, Irvine, CA, November 1992.
[LEVINSON]
Levinson, Stanley H. and H. Tazewell Daughtrey, "Risk Analysis of Software-Dependent
Systems," Presented at Probabilistic Safety Assessment International Topical Meeting,
Clearwater Beach, FL, January 1993.
[MAZUR]
Mazur, Mojmir F., " SOFTWARE FMECA ; Failure Mode, Effect and
Criticality Analysis; U.S. Patent and Trademark Office Pilot Project," 1994.
[MIL882B]
MIL-STD-882B, "System Safety Program Requirements," Department of Defense, 30
March 1984.
[MIL882C]
MIL-STD-882C, "Systems Safety Program Requirements," Department of Defense.
[MOD0055'89]
Interim Defence Standard 00-55, "(DRAFT) Requirements for the Procurement of Safety
Critical Software in Defence Equipment," Ministry of Defence, UK, May 1989.
[MOD0056'89]
Interim Defence Standard 00-56, "(DRAFT) Requirements for the Analysis of Safety
Critical Hazards," Ministry of Defence, UK, May 1989.
[MOD0056'91]
Interim Defence Standard 00-56, "Hazard Analysis and Safety Classification of the
Computer and Programmable Electronic System Elements of Defence Equipment," Ministry
of Defence, UK, 5 April 1991.
[NIST190]
NIST Special Publication 500-190, Proceedings of the Workshop on High Integrity
Software; Gaithersburg, MD; Jan. 22-23, 1991 , U.S. Department of Commerce,
National Institute of Standards and Technology, August 1991.
[NIST204]
NIST Special Publication 500-204, "High Integrity Software Standards and
Guidelines," U.S. Department of Commerce, Technology Administration, National
Institute of Standards and Technology, September 1992.
[NIST209]
NIST Special Publication 500-209, "Software Error Analysis," U.S. Department of
Commerce, Technology Administration, National Institute of Standards and Technology, April
1993.
[NIST216]
NIST Special Publication 500-216, Proceedings of the Digital Systems Reliability and
Nuclear Safety Workshop, September 13-14, 1993, Rockville Crowne Plaza Hotel, Rockville,
Maryland , U.S. Department of Commerce, Technology Administration, National Institute
of Standards and Technology, January 1994.
[NIST626]
NIST GCR 93/626, "An International Survey of Industrial Applications of Formal
Methods Volume 1 Purpose, Approach, Analysis, and Conclusions," U.S. Department of
Commerce, Technology Administration, National Institute of Standards and Technology,
Computer Systems Laboratory, March 1993.
[NIST4909]
NISTIR 4909, "Software Quality Assurance: Documentation and Reviews," U.S.
Department of Commerce, Technology Administration, National Institute of Standards and
Technology, Computer Systems Laboratory, September 1992.
[NIST223]
NIST SP 500-223, "A Framework for the Development and Assurance of High Integrity
Software," U.S. Department of Commerce, Technology Administration, National Institute
of Standards and Technology, Computer Systems Laboratory, January 1995.
[NSS1740]
NSS 1740.13, "(Interim) NASA Software Safety Standard," National Aeronautics and
Space Administration, June 1994.
[PES87]
"Programmable Electronic Systems in Safety Related Applications," Parts 1 and 2,
Health and Safety Executive, United Kingdom, 1987.
[PEYTON]
Peyton, B.H. and D.C. Hess, "Software Sneak Analysis," IEEE Seventh
Annual Conference of the Engineering in Medicine and Biology Society , The
Institute of Electrical and Electronics Engineers, 1985.
[POTOCKI]
Potocki de Montalk, J.P., "Computer Software in Civil Aircraft," Microprocessors
and Microsystems , Volume 17, Number 1, 1993.
[RAHEJA89]
Raheja, D. and G. Raheja, "Maintainability Analysis for Intelligent Controls," Proceedings
IEEE International Symposium on Intelligent Control 1988 , IEEE Computing
Society Press, 1989.
[RAHEJA91]
Raheja, Dev G., "Assurance Technologies - Principles and Practices,"
McGraw-Hill, Inc., 1991.
[SOFTENG]
"Standard for Software Engineering of Safety Critical Software," Rev. 0, Ontario
Hydro, December 1990.
[TYSZER]
Tyszer, J., P. Parent, J. Rajski and V. K. Agarwal, "The Hierarchical Description of
Stochastic Petri Nets," Department of Electrical Engineering, McGill University.
[WALLACE]
Wallace, D.R., D.R. Kuhn, J.C. Cherniavsky, "Report on a Workshop on the Assurance of
High Integrity Software," Proceedings of the Sixth Annual Conference on Computer
Assurance (COMPASS '91), NIST, Gaithersburg, MD, June 24-27, 1991 , The Institute of
Electrical and Electronics Engineers, 1991.
APPENDIX A. BIBLIOGRAPHY OF HIGH INTEGRITY SOFTWARE DOCUMENTS
A.1. Standards and Guidelines
AF800-5
AFSC/AFLCP 800-5, "(DRAFT) Software Independent Verification and Validation
(IV&V)," Air Force Systems Command and Air Force Logistics Command, 1988.
AF800-45
AF PAMPHLET 800-45, "Software Independent Verification and Validation
(IV&V)," Department of the Air Force, 1 May 1991.
AFISC
AFISC SSH 1-1, "Software System Safety," Headquarters Air Force Inspection and
Safety Center, 5 September 1985.
ANS103
ANSI/ANS-10.3-199x, (DRAFT 5), "Documentation of Computer Software," American
Nuclear Society, 3/7/92.
ANS104
ANSI/ANS-10.4-1987, "Guidelines for the Verification and Validation of Scientific and
Engineering Computer Programs for the Nuclear Industry," American Nuclear Society,
May 13, 1987.
ANS501
ANSI/ANS-50.1, "(DRAFT #6) Nuclear Safety Design Criteria for Light Water
Reactors," American Nuclear Society, January 1993.
ANS7432
ANSI/IEEE-ANS-7-4.3.2-1982, "Application Criteria for Programmable Digital Computer
Systems in Safety Systems of Nuclear Power Generating Stations," American Nuclear
Society, 1982. AND ANSI/IEEE-ANS-7-4.3.2-19XX, Draft 2, as of November,
1991.
ANSP7432
P-7-4.3.2, draft 7, "American National Standard - Standard Criteria for Digital
Computers in Safety Systems of Nuclear Power Generating Stations," Sponsor: Nuclear
Power Engineering Committee of the IEEE Power Engineering Society.
ANSIX99
ANSI X9.9-1986, "Financial Institution Message Authentication (Wholesale)," X9
Secretariat, American Bankers Association, August 15, 1986.
ANSIX917
ANSI X9.17-1985, "Financial Institution Key Management (Wholesale)," X9
Secretariat, American Bankers Association, April 4, 1985.
AQAP13
AQAP-13, "NATO Software Quality Control System Requirements," NATO, August 1991.
ASMENQA1
ASME NQA-1-1989, "Quality Assurance Program Requirements for Nuclear
Facilities," The American Society of Mechanical Engineers, September 15, 1989.
ASMENQA2
ASME NQA-2a-1990, "Quality Assurance Requirements for Nuclear Facility
Applications," The American Society of Mechanical Engineers, November 1990.
ASMENQA3
ASME NQA-3-1989, "Quality Assurance Program Requirements for the Collection of
Scientific and Technical Information for Site Characterization of High-Level Nuclear Waste
Repositories," The American Society of Mechanical Engineers, March 23, 1990.
ASMESUPP
Supplement 17S-1, ASME NQA-1-1989, "Supplementary Requirements for Quality Assurance
Records," The American Society of Mechanical Engineers.
ASQCA3
ANSI/ASQC A3-1987, "Quality Systems Terminology," American Society or Quality
Control, 1987.
BOEING
"(DRAFT) BA&E (Boeing Aerospace and Electronics) System Safety Instruction -
System Safety Engineering in Software Development," The Boeing Company, 11/11/89.
BSI89
"89/97714-Guide to the Assessment of Reliability of Systems Containing
Software," British Standards Institution, 12 September 1989.
CATEGORY
"Guideline for the Categorization of Software in Ontario Hydro's Nuclear Facilities
with respect to Nuclear Safety," Revision 0, Nuclear Safety Department, June 1991.
CENSUS
"Programming Standards and Guidelines Manual," Bureau of the Census, March 27,
1991.
CSA89
CAN/CSA-Q396.1.2-89, "Quality Assurance Program for Previous Developed Software Used
in Critical Applications," Canadian Standards Association, January 1989.
CSC003
CSC-STD-003-85, "Computer Security Requirements--Guidance for Applying the Department
of Defense Trusted Computer System Evaluation Criteria in Specific Environments,"
Department of Defense, 25 June 1985.
DLP880
DLP880, "(DRAFT) Proposed Standard for Software for Computers in the Safety Systems
of Nuclear Power Stations (based on IEC Standard 880)," David L. Parnas, Queen's
University, Kingston, Ontario, March, 1991.
DOD2167A
DOD-STD-2167A, "Defense System Software Development," Department of Defense, 29
February 1988.
DOT86
"Criteria and Procedures for Testing, Evaluating, and Certifying Message
Authentication Devices for Federal E.F.T. Use," United States Department of the
Treasury, September 1, 1986.
ESA
ESA PSS-05-10, Issue 1, "Guide to Software Verification and Validation,"
European Space Agency, February 1994. with ESA Guide to the Software Engineering
Standards
FAA026
FAA-STD-026, "National Airspace System (NAS) Software Development," U.S.
Department of Transportation, Federal Aviation Administration, March 31, 1989.
FDA89
"(DRAFT) Reviewer Guidance for Computer-Controlled Devices," Medical Device
Industry Computer Software Committee, January 1989.
FDA91
"Reviewer Guidance for Computer-Controlled Medical Devices Undergoing 510(k)
Review," Office of Device Evaluation, Center for Devices and Radiological Health,
Food and Drug Administration.
FIPS74
FIPS PUB 74, "Guidelines for Implementing and Using the NBS Data Encryption
Standard," U.S. Department of Commerce/National Bureau of Standards (U.S.), 1981
April 1.
FIPS81
FIPS PUB 81, "DES Modes of Operation," U.S. Department of Commerce/National
Bureau of Standards (U.S.), 1980 December 2.
FIPS101
FIPS PUB 101, "Guideline for Lifecycle Validation, Verification, and Testing of
Computer Software," U.S. Department of Commerce/National Bureau of Standards (U.S.),
1983 June 6.
FIPS106
FIPS 106, "Guideline on Software Maintenance," U. S. Department of
Commerce/National Bureau of Standards (U.S.), 1984 June 15.
FIPS132
FIPS PUB 132, "Guideline for Software Verification and Validation Plans," U.S.
Department of Commerce/National Bureau of Standards (U.S.), 1987 November 19. (19)
FIPS140
FIPS PUB 140 FS 1027, "General Security Requirements for Equipment Using the Data
Encryption Standard," General Services Administration, April 14, 1982.
FIPS461
FIPS 46-1, "Data Encryption Standard," U.S. Department of Commerce/National
Bureau of Standards (U.S.), 1988 January 22.
FIPS1401
FIPS 140-1, "Security Requirements for Cryptographic Modules," U.S. Department
of Commerce/National Institute of Standards and Technology, 1990 May 2.
IEC880
IEC 880, "Software for Computers in the Safety Systems of Nuclear Power
Stations," International Electrotechnical Commission, 1986.
IEC9126
ISO/IEC 9126, "Information Technology--Software Product Evaluation--Quality
Characteristics and Guidelines for their Use," International Electrotechnical
Commission, 1991-12-15.
IECSUPP
45A/WG-A3(Secretary)42, "(DRAFT) Software for Computers Important to Safety for
Nuclear Power Plants as a Supplement to IEC Publication 880," International
Electrotechnical Commission Technical Committee: Nuclear Instrumentation, Sub- Committee
45A: Reactor Instrumentation, Working Group A3: Data Transmission and Processing Systems,
May 1991.
IECSUPP-94
45A/WG-A3(Secretary)48, "(DRAFT) Nuclear Power Plants - Instrumentation and Control
Systems Important to Safety - First Supplement to IEC Publication IEC 880," IEC
SC45A, May 1994.
IECTC56
IEC/TC56, "89/97714 - (DRAFT) Guide to the Assessment of Reliability of Systems
Containing Software," British Standards Institution, 12 September 1989.
IECWG9'89
IEC/TC65A WG9, IEC 65A(Secretariat)94, "89/33006 DC - (DRAFT) Software for Computers
in the Application of Industrial Safety-Related Systems," British Standards
Institution, November 1989.
IECWG9'91
IEC/TC65A WG9, IEC 65A(Secretariat)122, "Software for Computers in the Application of
Industrial Safety-Related Systems," Version 1.0, 26th September 1991.
IECWG10'89
IEC/TC65A WG10, "89/33005 DC - (DRAFT) Functional Safety of Programmable Electronic
Systems," British Standards Institution, November 1989.
IECWG10'92
IEC/TC65A WG10, "(DRAFT) Functional Safety of Electrical/Electronic/Programmable
Electronic Systems," 1992.
IECWG10'93
IEC/TC65A WG10, "(DRAFT) Functional Safety: Safety Related Systems
IEEE603
IEEE Std 603-1980, "IEEE Standard Criteria for Safety Systems for Nuclear Power
Generating Stations," The Institute of Electrical and Electronics Engineers, Inc.,
November 24, 1980.
IEEE610
ANSI/IEEE Std 610.12-1990, "Glossary of Software Engineering Terminology," The
Institute of Electrical and Electronics Engineers, Inc., February, 1991.
IEEE7301
ANSI/IEEE Std 730.1-1989, "IEEE Standard for Software Quality Assurance Plans,"
Institute of Electrical and Electronics Engineers, Inc., October 10, 1989.
IEEE730
ANSI/IEEE Std 730-1989, "IEEE Standard for Software Quality Assurance Plans,"
Institute of Electrical and Electronics Engineers, Inc., January 22, 1990.
IEEE828
ANSI/IEEE Std 828-1990, "IEEE Standard for Software Configuration Management
Plans," Institute of Electrical and Electronics Engineers, Inc., February 15, 1991.
IEEE829
ANSI/IEEE Std 829-1983, "IEEE Standard for Software Test Documentation,"
Institute of Electrical and Electronics Engineers, Inc., August 19, 1983.
IEEE830-84
ANSI/IEEE Std 830-1984, "IEEE Guide to Software Requirements Specifications,"
Institute of Electrical and Electronics Engineers, Inc., July 29, 1984.
IEEE830-93
ANSI/IEEE Std 830, "(DRAFT) IEEE Recommended Practice for Software Requirements
Specifications," Institute of Electrical and Electronics Engineers, Inc., 8/10/93.
IEEE982-1
ANSI/IEEE Std 982.1-1988, "IEEE Standard Dictionary of Measures to Produce Reliable
Software," Institute of Electrical and Electronics Engineers, Inc., August 10, 1989.
IEEE982-2
ANSI/IEEE Std 982.2-1988, "IEEE Guide for the Use of IEEE Standard Dictionary of
Measures to Produce Reliable Software," Institute of Electrical and Electronics
Engineers, Inc., August 10, 1989.
IEEE983
ANSI/IEEE Std 983-1986, "IEEE Guide for Software Quality Assurance Planning,"
Institute of Electrical and Electronics Engineers, Inc., February 20, 1986.
IEEE990
ANSI/IEEE Std 990-1987, "IEEE Recommended Practice for Ada As a Program Design
Language," Institute of Electrical and Electronics Engineers, Inc., October 1, 1987.
IEEE1002
ANSI/IEEE Std 1002-1987, "IEEE Standard Taxonomy for Software Engineering
Standards," Institute of Electrical and Electronics Engineers, Inc., June 4, 1987.
IEEE1008
ANSI/IEEE Std 1008-1987, "IEEE Standard for Software Unit Testing," Institute of
Electrical and Electronics Engineers, Inc., July 28, 1986.
IEEE1012
ANSI/IEEE Std 1012-1986, "IEEE Standard for Software Verification and Validation
Plans," The Institute of Electrical and Electronics Engineers, Inc., February 10,
1987. (20)
IEEE1016
ANSI/IEEE Std 1016-1987, "IEEE Recommended Practice for Software Design
Descriptions," Institute of Electrical and Electronics Engineers, Inc., October 6,
1987.
IEEE1028
ANSI/IEEE Std 1028-1988, "IEEE Standard for Software Reviews and Audits,"
Institute of Electrical and Electronics Engineers, Inc., June 29, 1989.
IEEE1042
ANSI/IEEE Std 1042-1987, "IEEE Guide to Software Configuration Management,"
Institute of Electrical and Electronics Engineers, Inc., March 10, 1988.
IEEE1058
ANSI/IEEE Std 1058-1987, "IEEE Standard for Software Project Management Plans,"
Institute of Electrical and Electronics Engineers, Inc., October 6, 1988.
IEEE1074
ANSI/IEEE Std 1074-1991, "IEEE Standard for Developing Software Lifecycle
Processes," The Institute of Electrical and Electronics Engineers, Inc., 1991.
IEEE7432
ANSI/IEEE Std 7432-1993, "Standard Criteria for Digital Computers in Safety Systems
of Nuclear Power Generating Stations," The Institute of Electrical and Electronics
Engineers, Inc., 1993.
IEEE1063
ANSI/IEEE Std 1063-1987, "IEEE Standard for Software User Documentation,"
Institute of Electrical and Electronics Engineers, Inc., February 2, 1989.
IEEE1228
IEEE Std 1228-1994, "IEEE Standard for Software Safety Plans," Institute of
Electrical and Electronics Engineers, August 9, 1994.
IEEEP1059
IEEE Std P1059-199X, "(DRAFT 7.1) IEEE Guide for Software Verification and Validation
Plans," Institute of Electrical and Electronics Engineers, May 24, 1993.
IEEEP1228-C
P1228, "(DRAFT C) Draft Standard for Software Safety Plans," Institute of
Electrical and Electronics Engineers, November 13, 1990.
IEEEP1228-D
P1228, "(DRAFT D) Standard for Software Safety Plans," Institute of Electrical
and Electronics Engineers, Inc., March 6, 1991.
IEEEP1228-E
P1228, "(DRAFT E) Standard for Software Safety Plans," Institute of Electrical
and Electronics Engineers, Inc., July 19, 1991.
IEEEP1228-G
P1228, "(DRAFT G) Standard for Software Safety Plans," Institute of Electrical
and Electronics Engineers, Inc., 1/14/92.
IEEEP1228-H
P1228, "(DRAFT H) Standard for Software Safety Plans," Institute of Electrical
and Electronics Engineers, Inc., 4/27/92.
IEEEP1228-J
P1228, "(DRAFT J) Standard for Software Safety Plans," Institute of Electrical
and Electronics Engineers, Inc., 2/11/93.
IEEEGUIDE
"Guide to Software Design Descriptions," Institute of Electrical and Electronics
Engineers, 1993.
IEEETEST
"(DRAFT) Guidelines for Assuring Testability," The Institution of Electrical
Engineers, May 1987.
IFIP104
IFIP WG 10.4, "Dependability: Basic Concepts and Terminology," IFIP Working
Group on Dependable Computing and Fault Tolerance, October 1990.
ISASP84
ISA-SP84, Draft 10, "(DRAFT) Programmable Electronic Systems (PES) for use in Safety
Applications," Instrument Society of America, August 1992.
ISO9000
ISO 9000, "International Standards for Quality Management," May 1990.
ISO12207
ISO/IEC DIS 12207-1, "(DRAFT) Information Technology--Software--Part 1: Software Life
Cycle Process," International Electrotechnical Commission, 1994.
ITSEC89
ITSEC 1.1989, "Criteria for the Evaluation of Trustworthiness of Information
Technology (IT) Systems," GISA - German Information Security Agency, 1989.
ITSEC90
ITSEC 1.1990, "(DRAFT) Information Technology Security Evaluation Criteria
(ITSEC)," Harmonised Criteria of France-Germany-the Netherlands-the United Kingdom,
02 May 1990.
JPL93
JPL D-10058, "Software Systems Safety Handbook," PREPARED BY Jet Propulsion
Laboratory FOR National Aeronautics and Space Administration, May 10, 1993.
MIL347
MIL-HDBK-347, "Mission-Critical Computer Resources Software Support," Department
of Defense, 22 May 90.
MIL498
MIL-STD-498 (DRAFT), "Software Development and Documentation," Department of
Defense, 30 November 1994.
MIL882B
MIL-STD-882B, "System Safety Program Requirements," Department of Defense, 30
March 1984.
MIL882C
MIL-STD-882C, "Systems Safety Program Requirements," Department of Defense,
DISTRIBUTION STATEMENT A.
MIL1521B
[Proposed Updates to] MIL-STD-1521B, "Technical Reviews and Audits for Systems,
Equipments, and Computer Software," Logicon Input to the JLC/CSM, June 16, 1989.
MILSDD
MIL-STD-SDD, "(DRAFT) Software Development and Documentation," Department of
Defense, 22 December 1992.
MILSWM
MIL-HDBK-SWM (DRAFT), "Software Measurement Selection and Use," Department of
Defense, 14 January 1994.
MOD0055'89
Interim Defence Standard 00-55, "(DRAFT) Requirements for the Procurement of Safety
Critical Software in Defence Equipment," Ministry of Defence, UK, May 1989.
MOD0055'91
Interim Defence Standard 00-55, "The Procurement of Safety Critical Software in
Defence Equipment," Parts 1 and 2, Ministry of Defence, UK, 5 April 1991.
MOD0056'89
Interim Defence Standard 00-56, "(DRAFT) Requirements for the Analysis of Safety
Critical Hazards," Ministry of Defence, UK, May 1989.
MOD0056'91
Interim Defence Standard 00-56, "Hazard Analysis and Safety Classification of the
Computer and Programmable Electronic System Elements of Defence Equipment," Ministry
of Defence, UK, 5 April 1991.
NASAMGMT
"Management Plan Documentation Standard and Data Item Descriptions (DID)," NASA,
2/28/89.
NASAPROD
"Product Specification Documentation Standard and Data Item Descriptions (DID),"
NASA, 2/28/89.
NCSC005
NCSC-TG-005, "Trusted Network Interpretation of the Trusted Computer System
Evaluation Criteria," National Computer Security Center, 31 July 1987.
NCSC021
NCSC-TG-021, "Trusted Database Management System Interpretation of the Trusted
Computer System Evaluation Criteria," National Computer Security Center, April 1991.
NIST165
NIST Special Publication 500-165, "Software Verification and Validation: Its Role in
Computer Assurance and Its Relationship with Software Project Management Standards,"
U.S. Department of Commerce/National Institute of Standards and Technology, September
1989.
NIST190
NIST Special Publication 500-190, "Proceedings of the Workshop on High Integrity
Software; Gaithersburg, MD; Jan. 22-23, 1991," U.S. Department of Commerce/National
Institute of Standards and Technology, August 1991.
NIST204
NIST Special Publication 500-204, "High Integrity Software Standards and
Guidelines," U.S. Department of Commerce/National Institute of Standards and
Technology, September 1992.
NIST209
NIST Special Publication 500-209, "Software Error Analysis," U.S. Department of
Commerce/National Institute of Standards and Technology, April 1993.
NIST213
NIST Special Publication 500-213, "Next Generation Computer Resources: Reference
Model for Project Support Environments (Version 2.0)," U.S. Department of
Commerce/National Institute of Standards and Technology, November 1993.
NIST216
NIST Special Publication 500-216, "Proceedings of the Digital Systems Reliability and
Nuclear Safety Workshop (NUREG/CP 0136)," U.S. Department of Commerce/National
Institute of Standards and Technology, March 1994.
NIST626
NIST GCR 93/626, "An International Survey of Industrial Applications of Formal
Methods Volume 1 Purpose, Approach, Analysis, and Conclusions," U.S. Department of
Commerce/National Institute of Standards and Technology, March 1993.
NIST4909
NISTIR 4909, "Software Quality Assurance: Documentation and Reviews," U.S.
Department of Commerce/National Institute of Standards and Technology, September 1992.
NPR6300
NPR-STD-6300, "Management of Scientific, Engineering and Plant Software," Office
of New Production Reactors, U.S. Department of Energy, March 1991.
NSA8616
NSA Spec. 86-16, "Security Guidelines for COMSEC Software Development," National
Security Agency, 10 July 1986.
NSS1740
NSS 1740.13, "(Interim) NASA Software Safety Standard," National Aeronautics and
Space Administration, June 1994.
NSWC8933
NSWC TR 89-33, "Software Systems Safety Design Guidelines and Recommendations,"
Naval Surface Warfare Center, March 1989.
NUREG6018
NUREG/CR-6018, "Survey and Assessment of Conventional Software Verification and
Validation Methods," U.S. Nuclear Regulatory Commission, April 1993.
NUREG6101
NUREG/CR-6101 & UCRL-ID-114839, "Software Reliability and Safety in Nuclear
Reactor Protection Systems," U.S. Nuclear Regulatory Commission, June 11, 1993.
PES87
"Programmable Electronic Systems in Safety Related Applications," Parts 1 and 2,
Health and Safety Executive, 1987.
RTCA178A
RTCA/DO-178A, "Software Considerations in Airborne Systems and Equipment
Certification," Radio Technical Commission for Aeronautics, March, 1985.
RTCA178B
RTCA/DO-178B, "Software Considerations in Airborne Systems and Equipment
Certification," RTCA, Inc., June 29, 1993.
SAFEIT
"SafeIT," Volumes 1 and 2, Interdepartmental Committee on Software Engineering,
June 1990.
SOFTENG
"Standard for Software Engineering of Safety Critical Software," Rev. 0, Ontario
Hydro, December 1990.
SOFTENG2
"Software Engineering of Category II Software," Rev. 00, Ontario Hydro, 1993 05.
TCSEC
DOD 5200.28-STD, "Department of Defense Trusted Computer System Evaluation
Criteria," Department of Defense, December 1985.
UL1998
UL 1998, "The Proposed First Edition of the Standard for Safety-Related
Software," Underwater Laboratories, August 17, 1990.
USEREXP
"User Expectations and Requirements for Software Engineering Standards (Discussion
Draft), Software Engineering Standards Long-Range Planning Study Group, November 22, 1991.
WL-1037
WL-TR-1037, "Evaluation and Validation Reference Manual," Version 3.0, Wright
Laboratory, Wright-Patterson AFB, Ohio, May 1991.
WL-1038
WL-TR-1038, "Evaluation and Validation Guidebook," Version 3.0, Wright
Laboratory, Wright-Patterson AFB, Ohio, May 1991.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~
(19) See IEEE1012
(20) Adopted by the Federal government as FIPS PUB 123.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~
A.2 Books
BEIZER
Beizer, Boris, Software Testing Techniques , Van Nostrand Reinhold,
New York, 1990.
EWICS1
Redmill, F. J. (ed.), "Dependability of Critical Computer Systems 1," Elsevier
Science Publishers LTD, 1988.
EWICS2
Redmill, F. J. (ed.), "Dependability of Critical Computer Systems 2," Elsevier
Science Publishers LTD, 1989.
EWICS3
Bishop, P. G. (ed.), "Dependability of Critical Computer Systems 3 - Techniques
Directory," Elsevier Science Publishers LTD, 1990.
MUSA1
Musa, J.D., A. Iannino, and K. Okumoto, Software Reliability, Measurement,
Prediction, Application , McGraw-Hill, New York, 1987.
RAHEJA91
Raheja, Dev G., "Assurance Technologies - Principles and Practices,"
McGraw-Hill, Inc., 1991.
WILEY
Encyclopedia of Software Engineering , John Wiley & Sons, Inc.,
1994.
A.3 Papers
BELL
Bell, R. and S. Smith, "An Overview of IEC Draft Standard: `Functional Safety of
Programmable Electronic Systems."
BUTLER
Butler, R. and G. Finelli, "The Infeasibility of Experimental Quantified
Life-Critical Software Reliability," Proceedings of SIGSOFT'91: Software for
Critical Systems , Association for Computing Machinery, December 1991.
FUJII1
Fujii, Roger U., "Software Engineering For Instrumentation and Control,"
American Nuclear Society, Nuclear Plan Instrumentation, Control, and Man-Machine
Interface Technologies, Oak Ridge, TN , April 1993.
HANSEN
Hansen, Mark D., "Survey of Available Software-Safety Analysis Techniques," Annual
Reliability and Maintainability Symposium - 1989 Proceedings , 1989.
JOANNOU
Joannou, P.K., J. Harauz, D.R. Tremaine, N. Ichiyen, A.B. Clark, "The Canadian
Nuclear Industry's Initiative in Real-Time Software Engineering," Ontario Hydro and
AECL CANDU, Ontario, Canada.
JUNK
Junk, William S., "Annotated Bibliography - Software Safety," April 24, 1990.
LEVESON83
Leveson, Nancy G. and Peter R. Harvey, "Analyzing Software Safety," IEEE
Transactions on Software Engineering , Vol. SE-9, No. 5, September 1983.
LEVESON86
Leveson, N.G., "Software Safety: Why, What, and How," Computing Surveys ,
Vol. 18, No. 2, June 1986.
LEVESON87
Leveson, Nancy G., Janice L. Stolzy, "Safety Analysis Using Petri Nets," IEEE
Transactions on Software Engineering , Vol. SE-13, No. 3, March 1987.
LEVESON89
Leveson, Nancy, "Software Safety," Presentation to IEEE Software Safety Working
Group, October 1989.
LEVESON91
Leveson, Nancy G., Stephen S. Cha and Timothy J. Shimeall, "Safety Verification of
Ada Programs Using Software Fault Trees," IEEE Software , July 1991.
LEVESON92
Leveson, Nancy G. and Clark S. Turner, "An Investigation of the Therac-25
Accidents," University of California, Irvine, CA, November 1992.
LEVINSON
Levinson, Stanley H. and H. Tazewell Daughtrey, "Risk Analysis of Software-Dependent
Systems," Probabilistic Safety Assessment International Topical Meeting ,
Clearwater Beach, FL, January 1993.
MAZUR
Mazur, Mojmir F., " SOFTWARE FMECA ; Failure Mode, Effect and
Criticality Analysis; U.S. Patent and Trademark Office Pilot Project," 1994.
MUSA2
Musa, J.D., and A.F. Ackerman, "Quantifying Software Validation: When to Stop
Testing?" IEEE Software , May 1989.
PETERSON
Peterson, James L., "Petri Nets," Computing Surveys , Vol. 9, No. 3,
September 1977.
SESAW91-1
DeWalt, Michael P., "Comparison of FAA DO-178A and DOD-STD-2167A Approaches to
Software Certification," Software Engineering Standards Application Workshop
sponsored by IEEE Computer Society, San Francisco, May 1991.
SESAW91-2
Sanz, Julio Gonzalez, "Standardization for Safety Software: Current Status and
Perspectives," Software Engineering Standards Application Workshop sponsored by IEEE
Computer Society, San Francisco, May 1991.
SESAW91-3
Wright, Cynthia L. and Anthony J. Zawilski, "Existing and Emerging Standards for
Software Safety," Software Engineering Standards Application Workshop sponsored by
IEEE Computer Society, San Francisco, May 1991.
TYSZER
Tyszer, J., P. Parent, J. Rajski and V. K. Agarwal, "The Hierarchical Description of
Stochastic Petri Nets," Department of Electrical Engineering, McGill University.
|