1 SEA’99 Conference Verification & Validation of Safety Critical Software Verification & Validation of Safety Critical Software Dr Peter Lindsay Assistant.

Slides:



Advertisements
Similar presentations
Integra Consult A/S Safety Assessment. Integra Consult A/S SAFETY ASSESSMENT Objective Objective –Demonstrate that an acceptable level of safety will.
Advertisements

Chapter 4 Quality Assurance in Context
Mr. R. R. Diwanji Techniques for Safety Improvements.
Developing safety critical systems
1 Solution proposal Exam 19. Mai 2000 No help tools allowed.
SWE Introduction to Software Engineering
1 Software Testing and Quality Assurance Lecture 38 – Software Quality Assurance.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification.
SWE Introduction to Software Engineering
SQM - 1DCS - ANULECTURE Software Quality Management Software Quality Management Processes V & V of Critical Software & Systems Ian Hirst.
CSC 402, Fall Requirements Analysis for Special Properties Systems Engineering (def?) –why? increasing complexity –ICBM’s (then TMI, Therac, Challenger...)
Title slide PIPELINE QRA SEMINAR. PIPELINE RISK ASSESSMENT INTRODUCTION TO RISK IDENTIFICATION 2.
Tony Gould Quality Risk Management. 2 | PQ Workshop, Abu Dhabi | October 2010 Introduction Risk management is not new – we do it informally all the time.
©Ian Sommerville 2006Critical Systems Slide 1 Critical Systems Engineering l Processes and techniques for developing critical systems.
CIS 376 Bruce R. Maxim UM-Dearborn
Quality Risk Management ICH Q9 Annex I: Methods & Tools
Testing safety-critical software systems
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Hazard Management for Safety Critical Systems Philip Benjamin Supervised by: Dr. David Hemer Computer Science Department University Of Adelaide.
EE551 Real-Time Operating Systems
1 Chapter 2 Socio-technical Systems (Computer-based System Engineering)
Software Safety: Examples, Definitions, Standards, Techniques Tom Hobson (tdh06u)
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 2.
WHAT IS SYSTEM SAFETY? The field of safety analysis in which systems are evaluated using a number of different techniques to improve safety. There are.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering As modified by Randy Smith.
Safety-Critical Systems 6 Certification
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 3 Slide 1 Critical Systems 1.
Safety Critical Systems ITV Model-based Analysis and Design of Embedded Software Techniques and methods for Critical Software Anders P. Ravn Aalborg University.
FAULT TREE ANALYSIS (FTA). QUANTITATIVE RISK ANALYSIS Some of the commonly used quantitative risk assessment methods are; 1.Fault tree analysis (FTA)
QUALITY RISK MANAGEMENT RASHID MAHMOOD MSc. Analytical Chemistry MS in Total Quality Management Senior Manager Quality Assurance Nabiqasim Group of Industries.
GE 116 Lecture 1 ENGR. MARVIN JAY T. SERRANO Lecturer.
Safety-Critical Systems T Ilkka Herttua. Safety Context Diagram HUMANPROCESS SYSTEM - Hardware - Software - Operating Rules.
Software Testing and Quality Assurance Software Quality Assurance 1.
Open Platform for EvolutioNary Certification Of Safety-critical Systems Large-scale integrating project (IP) Nuanced Term-Matching to Assist in Compositional.
1 Reducing the Software Impact to System Safety Paul Mayo – SafeEng Limited.
1 Safety - definitions Accident - an unanticipated loss of life, injury, or other cost beyond a pre-determined threshhold.  If you expect it, it’s not.
Risk management and disaster preparedness
Safety-Critical Systems 7 Summary T V - Lifecycle model System Acceptance System Integration & Test Module Integration & Test Requirements Analysis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 1.
PLC Workshop at ITER, 4-5 th of December 2014 A. Nordt, ESS, Lund/Sweden.
Software Safety Case Why, what and how… Jon Arvid Børretzen.
Over View of CENELC Standards for Signalling Applications
Software Testing and Quality Assurance Software Quality Assurance 1.
NCAF_May03.ppt Slide - 1 CSE International Ltd Data Integrity: The use of data by safety-related systems Alastair Faulkner CEng CSE International Ltd Tel:
WHAT IF ANALYSIS USED TO IDENTIFY HAZARDS HAZARDOUS EVENTS
SAFEWARE System Safety and Computers Chap18:Verification of Safety Author : Nancy G. Leveson University of Washington 1995 by Addison-Wesley Publishing.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
1. 2 An Introduction to Software Engineering 3 What is software? Computer programs and associated documentation such as requirements, design models and.
Failure Modes and Effects Analysis (FMEA)
Stan O’Neill Managing Director, The Compliance Group.
1 Software Testing and Quality Assurance Lecture 38 – Software Quality Assurance.
Toward a New ATM Software Safety Assessment Methodology dott. Francesca Matarese.
About Us! Rob StockhamBA IEng MIEE General Manager Moore Industries-Europe, Inc MemberIEE Honorary Secretary ISA England Institute of Directors DirectorThe.
Failure Modes, Effects and Criticality Analysis
ON “SOFTWARE ENGINEERING” SUBJECT TOPIC “RISK ANALYSIS AND MANAGEMENT” MASTER OF COMPUTER APPLICATION (5th Semester) Presented by: ANOOP GANGWAR SRMSCET,
Introduction to Safety Engineering for Safety-Critical Systems Seo Ryong Koo Dept. of Nuclear and Quantum Engineering KAIST Lab. Seminar.
Fault Trees.
PRA: Validation versus Participation in Risk Analysis PRA as a Risk Informed Decision Making Tool Richard T. Banke– SAIC
Critical Systems Specification
Dept. of Nuclear and Quantum Engineering
FAULT TOLERANCE TECHNIQUE USED IN SEAWOLF SUBMARINE
Quality Risk Management
HSE Case: Risk Based Approach.
Failure Mode and Effect Analysis
Computer in Safety-Critical Systems
A New Concept for Laboratory Quality Management Systems
Review and comparison of the modeling approaches and risk analysis methods for complex ship system. Author: Sunil Basnet.
Presentation transcript:

1 SEA’99 Conference Verification & Validation of Safety Critical Software Verification & Validation of Safety Critical Software Dr Peter Lindsay Assistant Director Software Verification Research Centre School of Information Technology The University of Queensland T HE U NIVERSITY O F Q UEENSLAND S OFTWARE V ERIFICATION R ESEARCH C ENTRE

2 SEA’99 Conference Verification & Validation of Safety Critical Software Abstract of talk (1) u The increasing trend towards systems integration, and increased automation of critical functions which were once performed by humans, means that more and more reliance is placed on software. u Procurers of safety-critical systems are becoming more aware of the need for appropriate levels of safety assurance, and are increasingly requiring system developers to produce a Safety Case to document the reasons why a system is safe to be operated.

3 SEA’99 Conference Verification & Validation of Safety Critical Software Abstract of talk (2) u This talk looks at recent and emerging standards for safety-critical software, and will introduce listeners to the key principles of safety assurance, including: –hazard and risk analysis –safety integrity levels –the structure and content of safety cases –management of the safety process

4 SEA’99 Conference Verification & Validation of Safety Critical Software Computer Aided Disasters u Therac 25 ( , N. America) radiation therapy machine delivers severe radiation overdoses (x6) u London Ambulance Service (1992) 20+ die unnecessarilly when dispatch system fails u USS Vincennes (1988) shoots down Iran Air airliner after faulty identification u Airbus A320 (1988-) various crashes u Ariane 5 (1996) software exception causes self-destruct u etc See

5 SEA’99 Conference Verification & Validation of Safety Critical Software What’s Different About Software? Broadly speaking, traditional safety engineering is concerned with physical failures: –e.g. wear-out, corrosion, faulty manufacture –mitigations include: well-tried designs, safety margins, redundant components, inspection, maintenance –this has little relevance for software On the other hand, software is typically: –novel, complex, highly input-sensitive, not designed by domain experts Software demands a new approach to safety engineering

6 SEA’99 Conference Verification & Validation of Safety Critical Software Talk outline u Define main terms & concepts in safety engineering as they relate to software: –hazards, risk, safety integrity levels, etc u Explain the basic principles of safety management & the safety lifecycle for software systems u Outline 3 important safety analysis techniques –Failure Modes Effects Analysis (FMEA) –Fault Tree Analysis (FTA) –Hazard and Operability Studies (HAZOP) u Summary

7 SEA’99 Conference Verification & Validation of Safety Critical Software Reference Material u IEC “Functional Safety: Safety-related Systems” (International Electrotechnical Commission, 1998) u Def(Aust) 5679 Australian Defence Standard for Procurement of Computer-based Safety-critical Systems u UK MOD 00-55, 00-56, Standards for software development and hazard analysis of safety-critical systems u Nancy Leveson Safeware: System Safety and Computers

8 SEA’99 Conference Verification & Validation of Safety Critical Software Safety u A system is unsafe if it can cause unacceptable harm. u Harm: loss of life, injury, damage to the environment, etc u Safety is a whole system issue –only physical objects can cause harm –need to consider all system components: software, hardware, operators, procedures, infrastructure,… u Safety is a whole lifecycle issue –from concept through to decommissioning u Safety and reliability are two different things

9 SEA’99 Conference Verification & Validation of Safety Critical Software Hazards u Hazard: a situation with the potential for harm u Hazards are a state of the system –scope of system needs careful definition –other factors (outside system control) may affect whether hazard leads to an accident u Failure mode: the way in which something fails Environment System Failure Hazard Accident

10 SEA’99 Conference Verification & Validation of Safety Critical Software Risk u Absolute safety is generally unachievable –instead, aim for acceptable risk u Risk: a combination of the severity of consequences & likelihood of occurrence u Severity: the possible extent of harm u Likelihood: the probability/frequency of occurrence –eg. probability of that X fails on request; mean-time-to-failure is 2 years; probability of failure of in lifetime of equipment u What constitutes acceptable risk is domain specific

11 SEA’99 Conference Verification & Validation of Safety Critical Software Risk Assessment 1. Model the system: –identify the major components and interfaces 2. Identify hazards & how they arise –identify potential failure modes –trace consequences and control measures –build a cause-and-effect model of the system 3. Analyse and assess risk –assess component failure rates –assess likelihood & severity of hazards If some risks are not tolerable, it’s back to the drawing board!

12 SEA’99 Conference Verification & Validation of Safety Critical Software Likelihood of Software Failure? u Theory of failure-rate prediction is almost non-existent for all but the simplest software –same goes for complex hardware, operator procedures, system design,... u Design faults now overtaking physical failures in impact on complex systems u Current best practice relies on the rigour of the development process - the Safety Integrity Level (SIL) u Standards differ on exactly what SILs mean, and on what processes are required –but broadly speaking, SIL relates to degree to which system safety depends on the component

13 SEA’99 Conference Verification & Validation of Safety Critical Software IEC 61508: Safety Integrity Levels In IEC 61508, SILs correspond to acceptable failure rates:

14 SEA’99 Conference Verification & Validation of Safety Critical Software Safety Management u Overall goal: to deliver a safe system, however “Like justice, safety needs not only to be done, but to be seen to be done.” u A Safety Case documents the claim that the system is safe to be operated u Main ingredients of a Safety Case: –identification of hazards, failure modes, failure mechanisms, safety features, safety targets & SILs –reasoned arguments for risk assessment –supporting evidence, including: hazard analysis, V&V results

15 SEA’99 Conference Verification & Validation of Safety Critical Software Safety Management Lifecycle (1) From IEC 61508:

16 SEA’99 Conference Verification & Validation of Safety Critical Software Safety Management Lifecycle (2)

17 SEA’99 Conference Verification & Validation of Safety Critical Software Software Engineering for Safety u All the regular good software-engineering practices –thorough requirements analysis, reviews & testing –configuration management u Involve all system stakeholders in safety management u Design for safety –KISS (Keep It Simple, Stupid) –no single point of failure –isolate critical functions –belts and braces –diversity throughout design, implementation, review u Pay special attention to internal & external interfaces

18 SEA’99 Conference Verification & Validation of Safety Critical Software Safety-Directed V&V u Safety Validation: are we building a safe system? –all hazards & safety requirements identified –safety targets are appropriate: i.e., if met, will achieve acceptable risk u Safety Verification: are we achieving targets? –safety requirements & targets are being flowed down through design –appropriate evidence is being gathered that safety targets are being met (and no new hazards introduced) u Safety Integrity Level determines the degree of rigour to be applied

19 SEA’99 Conference Verification & Validation of Safety Critical Software Important Safety V&V techniques The broad goals of Safety V&V are to –identify (& prioritize) all hazards and –trace their resolution Different techiques are applicable at different stages of design, according to what design details are available Will outline 3 techniques that apply well to software: –Failure Modes & Effects Analysis (FMEA) –Fault Tree Analysis –Hazard & Operability Studies (HAZOP)

20 SEA’99 Conference Verification & Validation of Safety Critical Software FMEA Example: Speed Sensor gearbox controller sensor signal processing unit dashboard gearbox toothed wheel

21 SEA’99 Conference Verification & Validation of Safety Critical Software FMEA Report: Speed Sensor

22 SEA’99 Conference Verification & Validation of Safety Critical Software FMEA - Summary Failure Modes and Effects Analysis u Method: from known or predicted failure modes of components, determine possible effects on system u Good for hazard identification early in development, by considering possible failures of system functions: –loss of function (omission failure) –function performed incorrectly –function performed when not required (commision failure) u Not so good for mulitple failures

23 SEA’99 Conference Verification & Validation of Safety Critical Software Example Fault Tree: tank-level sensors Tank overflow Inlet open Inlet valve failed Outlet closed Wrong control to inlet valve Controller failed Sensor X fails Sensor Y fails Outlet Valve A Inlet Valve B Controller X Y AND OR AND

24 SEA’99 Conference Verification & Validation of Safety Critical Software Fault Tree Analysis - Summary u Method: trace faults stepwise back through system design to possible causes –a tree with a top event at the root –logic gates at branches, linking each event with its “immediate” causes –initiating faults at leaves (eventually) u Good for tracing system hazards through to component failures, and thus for allocating safety requirements u Good for checking completeness of safety requirements u but can be difficult, time-consuming, hard to maintain

25 SEA’99 Conference Verification & Validation of Safety Critical Software HAZard and OPerability Studies u Developed by ICI in mid’60s for hazard identification for chemical process plants u Method: given model of the system in terms of “flows” between components –consider possible deviations in flows, using guide words to steer analysis: no, more, less, as well as, part of, other than, reverse –consider both causes and effects of deviations u Adapts well as a systematic design-review technique for computer systems (CHAZOP) –guidewords extended with: early, late, before, after

26 SEA’99 Conference Verification & Validation of Safety Critical Software CHAZOP Example - Elevator Data flow diagram showing internal structure of software 3 Sequenc e controlle r 1 Lift panel interface 2 Floor panel interface 1 Lift panel interface 2 Floor panel interface Request Display Request Display Feedback Control Feedback Control Lift request Display Floor request Display Movement commands Status Door commands Status Pending request

27 SEA’99 Conference Verification & Validation of Safety Critical Software CHAZOP Example - Elevator Output

28 SEA’99 Conference Verification & Validation of Safety Critical Software Talk Summary u Software Safety Engineering is a new discipline u Standards now require Safety Case prior to operation u Safety is a system-wide, whole lifecycle issue u Safety should be designed into a system, rather than added on later –start developing safety arguments from earliest stages of design –KISS, cost-effectiveness u Main goals of Safety V&V are to identify all hazards and track their resolution