Tutorial T3 Engineering Safety-Related Requirements for - - PowerPoint PPT Presentation

tutorial t3
SMART_READER_LITE
LIVE PREVIEW

Tutorial T3 Engineering Safety-Related Requirements for - - PowerPoint PPT Presentation

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems Donald Firesmith, Software Engineering Institute, USA Topics Importance of Safety-Related Requirements Automatic People Mover Example Overview Basic


slide-1
SLIDE 1

Engineering Safety-Related Requirements for Software-Intensive Systems

Donald Firesmith, Software Engineering Institute, USA

Tutorial T3

slide-2
SLIDE 2

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

2

Topics

❍ Importance of Safety-Related Requirements ❍ Automatic People Mover Example Overview ❍ Basic Safety Concepts ❍ Safety-Related Requirements:

  • Safety Requirements
  • Safety-Significant Requirements
  • Safety System Requirements
  • Safety Constraints

❍ A Process for Producing Safety-Related Requirements

slide-3
SLIDE 3

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

3

Importance of Requirements

❍ Poor requirements cause more than half of all project

failures:

  • Major cost overruns
  • Major schedule overruns
  • Major functionality not delivered
  • Cancelled projects
  • Delivered systems that are never used
slide-4
SLIDE 4

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

4

Difficulty of Requirements

❍ “The hardest single part of building a software system is

deciding precisely what to build. No other part of the conceptual work is as difficult as establishing the detailed technical requirements, including all the interfaces to people, to machines, and to other software systems. No

  • ther part of the work so cripples the resulting system if

done wrong. No other part is more difficult to rectify later.”

  • F. Brooks, No Silver Bullet, IEEE Computer, 1987
slide-5
SLIDE 5

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

5

Importance of Accidents

❍ Accidents can have expensive and potentially fatal

repercussions:

  • Mars Climate Orbiter ($125 million)
  • Therac–25
  • Bhopal (3–10K deaths, 500K injured)
slide-6
SLIDE 6

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

6

Poor Requirements Cause Accidents

❍ Most accidents are caused by poor requirements:

  • “For the 34 (safety) incidents analyzed, 44% had

inadequate specification as their primary cause.”

Health and Safety Executive (HSE), Out of Control: Why Control Systems Go Wrong and How to Prevent Failure (2nd Edition), 1995

  • “Almost all accidents related to software components in

the past 20 years can be traced to flaws in the requirements specifications, such as unhandled cases.”

Safeware Engineering, “Safety-Critical Requirements Specification and Analysis using SpecTRM”, 2002

slide-7
SLIDE 7

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

7

Poor Requirements

❍ Ambiguous Requirements:

  • Developers misinterpret Subject Matter Experts intentions.
  • The system shall be safe.”
  • How safe? Safe in what way?

❍ Incomplete Requirements:

  • Developers must guess SME intentions.
  • The system shall do X.”
  • In what state? When triggered by what event? How often? How

fast? For whom?

❍ Missing Requirements:

  • What shall the system do if it can’t do X?
  • Unusual combinations of conditions result in accidents.
  • What shall the system do if event X occurs when the system is

simultaneously in states Y and Z?

slide-8
SLIDE 8

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

8

More Problems and Challenges

❍ Inappropriate architecture and design constraints unnecessarily specified as requirements

  • Use ID and password for identification and

authentication. ❍ Separation of requirements engineering and safety engineering:

  • Different disciplines with different training, books,

journals, and conferences.

  • Different professions with different job titles.
  • Different fundamental underlying concepts and

terminologies

slide-9
SLIDE 9

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

9

Safety Engineering

❍ Safety engineering is the engineering discipline within

systems engineering that lowers the risk of accidental harm to valuable assets to an acceptable level to legitimate stakeholders.

Note:

  • Engineering Discipline
  • Systems Engineering (not just software)
  • Risk
  • Accidental Harm
  • Harm to Valuable Assets
  • Acceptable Level of Risk
  • Legitimate Stakeholders
slide-10
SLIDE 10

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

10

Tutorial Example: Characteristics

❍ Common Ongoing Example throughout Tutorial ❍ Safety-Critical SW-Intensive System ❍ Realistic Example System ❍ No Special Domain Knowledge Needed ❍ Understandable:

  • Requirements
  • Technology
  • Hazards
slide-11
SLIDE 11

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

11

Tutorial Example: Overview

❍ Very Large New Zoo ❍ Zoo Automated Taxi System (ZATS) ❍ Typical Habitat ❍ Typical Automated Taxi Station ❍ ZATS Domain Model ❍ Taxi Object Model

slide-12
SLIDE 12

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

12

Tutorial Example: Very Large New Zoo

Parking Lots Zoo Maintenance Restaurants and Shops Tropical Rainforest African Savanna Children’s Petting Area Monkeys Great Apes Aviary Bears Great Cats Wolves and Other Dogs Great Outback Aquarium Wetlands and Waterways Zoo Entrance

slide-13
SLIDE 13

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

13

Zoo Automated Taxi System (ZATS)

Parking Lots Zoo Maintenance Restaurants and Shops

Tropical Rainforest

Stn S t a tio n S tn S tn S tation S ta tio n S ta tio n S ta tio n Station Station Station S t a tio n Station S ta ti

  • n

African Savanna Children’s Petting Area Monkeys Great Apes Aviary Bears Great Cats Wolves and Other Dogs Great Outback Aquarium Wetlands and Waterways

Station Station Station S ta tio n S ta tio n

Zoo Entrance

ZATS Control

S ta t io n Stn S tn Stn S tn

ZATS Maintenance

slide-14
SLIDE 14

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

14

Typical Habitat

slide-15
SLIDE 15

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

15

Typical Automated Taxi Station

T T T T T Z

  • L
  • p L

in e H a bita t L ine Exit Elevator Entry Elevator V M V M

Stairs Stairs

T T T T T T T T Taxi Passenger Direction of Movement V M Debit Card Vending Machine Door Guideway

slide-16
SLIDE 16

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

16

ZATS Domain Model

Guideways Taxis Regions travels along stop at connect Taxi Drivers drive and monitor Passengers ride in Dispatcher dispatches and monitors taxis via enter and exit taxis at request trips and pay Virtual Person Taxi Stations Parking Lots are in Habitats Maintenance Facility monitors and controls Daily Schedule keeps when necessary can communicate with

slide-17
SLIDE 17

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

17

Taxi Object Model

Passenger Compartment Door Speed Sensor Accelerometer Position Display Speaker Guideway Location Sensor Station Identification Sensor Passenger Compartment Power Braking System (PBS) Sensor Zoo Map Schedule Safety Policy n

  • t

i f i e s > < c

  • n

t r

  • l

s conforms to h a s is based on Taxi Acceleration Location Speed Speed Profile State Control Panel Card Reader Selection Button Panel Display Passenger Sensor Proximity Sensor Radio Transmitter Receiver Computer

slide-18
SLIDE 18

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

18

Basic Safety Concepts

❍ Safety as a Quality Factor of a Quality Model ❍ Safety Quality Subfactors ❍ Valuable Assets ❍ Accidental Harm to Valuable Assets ❍ Safety Incidents (Accidents & Near Misses) ❍ Hazards ❍ Safety Risks ❍ Goals, Policies, and Requirements ❍ Safeguards (Safety Mechanisms) ❍ Vulnerabilities (system-internal sources of dangers)

slide-19
SLIDE 19

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

19

Quality Model

❍ Quality Model – a hierarchical model (i.e., a collection of

related abstractions or simplifications) for formalizing the concept of the quality of a system in terms of its quality factors, quality subfactors, quality criteria, and quality measures.

Quality Model Quality Subfactor Quality Factor System-Specific Quality Criterion Quality Measure

measures provides evidence for existence of

System

describes quality of is measured using provides evidence for existence of

slide-20
SLIDE 20

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

20

Quality Factors

Quality Factor Development-Oriented Quality Factor Usage-Oriented Quality Factor

Safety

Security Survivability Dependability Defensibility Soundness Continuity Correctness Operational Availability Predictability Reliability Robustness Configurability Capacity Efficiency Interoperability Stability Quality Model

slide-21
SLIDE 21

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

21

Safety as a Quality Factor

❍ Safety is the quality factor capturing the degree

to which:

  • Accidental harm to valuable assets is prevented,

detected, reacted, and adapted

  • Accidents (and near misses) are eliminated or their

negative consequence mitigated

  • Hazards are eliminated or mitigated
  • Safety risks are acceptably low
slide-22
SLIDE 22

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

22

Defensibility Subfactors

Defensibility Subfactor Defensibility Defensibility Problem Type Defensibility Solution Type Incident Danger Risk Harm Quality Subfactor Quality Factor System-Specific Quality Criterion Quality Measure

measures provides evidence for existence of

System

describes the quality of the is measured using provides evidence for existence of

Prevention Detection Reaction Adaptation Safety

slide-23
SLIDE 23

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

23

Safety Subfactors

Safety Subfactor Safety Safety Problem Type Safety Solution Type System-Specific Safety Criterion Safety Measure

measures provides evidence for existence of is measured using provides evidence for existence of

Safety Incident Hazard Safety Risk Accidental Harm Prevention Detection Reaction Adaptation System

describes the safety of the

slide-24
SLIDE 24

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

24

Valuable Assets

❍ A valuable asset is anything of significant value to a

legitimate stakeholder that should be protected from accidental (or malicious) harm by the system.

Asset People Property Environment Data Software Hardware Facilities Services Money Stakeholder is valuable to a System is responsible for an has legitimate interest in the

slide-25
SLIDE 25

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

25

ZATS Valuable Assets

❍ What are the Valuable Assets for which ZATS is

responsible for protecting against accidental harm?

❍ How valuable are these assets to the Zoo (and

society)?

slide-26
SLIDE 26

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

26

Accidental Harm

❍ Harm is any

significant negative consequence to a valuable asset

❍ Accidental harm is any

harm due to an accident

may occur to a Unintentional (Accidental) Harm Attacker-Caused (Malicious) Harm Authorized Harm Unauthorized Harm Harm Valuable Asset Harm to People Harm to Property Harm to Service Denial of Service (DOS) Unauthorized Usage (Theft) Corruption Destruction Damage Corruption Theft Unauthorized Access Unauthorized Disclosure Harm to Environment Destruction Damage Death Injury Illness Kidnap Corruption (bribery or extortion) Safety Security Loss of Use Hardship

e.g., caused to enemy forces by weapons systems

Repudiation of Transaction Survivability Accidental Loss of Service

slide-27
SLIDE 27

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

27

ZATS Harm to Valuable Assets

❍ What kinds of accidental harm can occur to the

Valuable Assets for which ZATS is responsible?

❍ How should these kinds of harm be categorized in

terms of harm severity, and how should the categories be defined?

  • Catastrophic
  • Critical
  • Major
  • Minor
  • Negligible
slide-28
SLIDE 28

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

28

Safety Incidents

❍ An incident is an unplanned (but not

necessarily unexpected) series of one or more related events that either did cause or could have caused (accidental or malicious) harm to

  • ne or more valuable assets
  • A safety incident is an incident involving

actual or potential accidental harm

slide-29
SLIDE 29

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

29

Incidents and their Relationships

Incident Safety Incident Near Miss (Close Call) Accident Security Incident Unsuccessful Attack Successful Attack Unauthorized Harm Probe

  • r

Scan Attacker

causes

Valuable Asset

may occur to may cause

Attack DoS Virus Man-in- the-Middle Event

slide-30
SLIDE 30

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

30

ZATS Safety Incidents

❍ What kinds of safety incidents can occur if not

prevented?

  • Accidents
  • Near misses

❍ What kind of harm can these accidents cause to

what valuable assets?

❍ How likely can these safety incidents be allowed to

be?

slide-31
SLIDE 31

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

31

Safety Hazards

❍ Danger (Defensibility) is one or more conditions,

situations, or states of a system that in conjunction with condition(s) in the environment

  • f the system can cause or contribute to the
  • ccurrence of an incident:
  • Hazard (Safety) is a danger that can cause or

contribute to the occurrence of an safety incident.

  • Threat (Security and Survivability) is a danger that

can cause or contribute to the occurrence of security

  • r security incident (i.e., a vulnerability combined with

an attacker with means, motive, and opportunity).

slide-32
SLIDE 32

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

32

Dangers and their Relationships

Environment System

relevant

Incident Unauthorized Harm Attacker

involves the existence and profile of

Valuable Asset

may occur to may cause

Danger Hazard Threat

may result in

Security Safety Survivability State

is responsible for protecting or not harming any

slide-33
SLIDE 33

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

33

ZATS Hazards

❍ What kinds of ZATS hazards (hazardous

conditions) might exist?

❍ What kinds of safety incidents can these hazards

cause?

❍ What kinds of events can cause these safety

hazards to exist?

❍ Can the existence of these hazards be detected?

slide-34
SLIDE 34

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

34

Safety Risks

❍ Risk is the combination of the

severity of harm to a valuable asset with the likelihood that the harm will occur.

❍ Harm severity is usually set

conservatively to the maximum credible category of harm.

❍ The likelihood of harm is the

likelihood of danger multiplied by the likelihood that the danger results in a harm- causing incident (e.g., accident or attack).

Defensibility Risk Safety Risk Security Risk Harm Likelihood Harm Severity Danger Likelihood Incident Likelihood Survivability Risk

categorizes amount of

Incident

may cause

Harm

may

  • ccur

to

Asset Danger

may result in is due to likelihood of likelihood

  • f
slide-35
SLIDE 35

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

35

Safety Risk Matrix

❍ Safety Risks can be categorized (for example) as:

  • Intolerable
  • Undesirable
  • As Low As Reasonably Practical (ALARP)
  • Acceptable

Negligible Major Critical Catastrophic Intolerable Harm Severity Frequent Probable Occasional Remote Frequency of Accident / Hazard Occurrence Implausible Safety Risks / Safety Integrity Levels (SILs) Acceptable Acceptable Acceptable Intolerable Intolerable ALARP ALARP ALARP ALARP ALARP ALARP ALARP Undesirable Undesirable Undesirable Intolerable Intolerable Undesirable ALARP Minor Acceptable ALARP ALARP Undesirable Acceptable

slide-36
SLIDE 36

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

36

ZATS Safety Risks

❍ How would you develop a safety matrix for ZATS?

  • How would you categorize and define harm

severity?

  • How would you categorize and define

likelihood?

❍ How would you categorize, define, and assign

safety risks to the safety risk matrix cells?

❍ What would be some of the ramifications of your

choices?

slide-37
SLIDE 37

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

37

Safety Goals

❍ Safety Goals are high-level stakeholder desires regarding safety:

  • “The system must be safe.”
  • “There can be no serious accidents.”
  • “The system will never kill or injure its users.”

❍ Goals are typically ambiguous or unrealistic (i.e. impossible to guarantee). ❍ Goals are not requirements. ❍ A major problem is safety goals that are specified as if they were verifiable requirements.

slide-38
SLIDE 38

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

38

ZATS Safety Goals

❍ What do you think some of the safety goals for the

ZATS should be?

❍ Are they realistic and verifiable? ❍ Do different stakeholders have different safety

goals?

slide-39
SLIDE 39

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

39

Safety Policies

❍ Policy – a strategic decision that establishes a desired goal. ❍ Safety policy – a policy that establishes a safety goal:

  • “The overall responsibility for safety must be identified and

communicated to all stakeholders.”

  • “A hazard analysis shall be performed during early in the project.”
  • “All users will have safety training.”

❍ Tend to be process rather than product oriented. ❍ Safety policies are collected into safety policy documents. ❍ In practice, safety policies are confused with requirements and policy documents may sometimes include

  • requirements. Why is this a problem?
slide-40
SLIDE 40

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

40

Requirements

❍ A requirement is a statement that formally specifies a

necessary capability or characteristic of a business enterprise, application (system or SW), component, or application domain.

❍ Good requirements must be:

  • Mandatory (i.e., required)
  • Cohesive
  • Consistent
  • Correct
  • Feasible
  • Relevant
  • Unambiguous
  • Uniquely Identifiable
  • Verifiable and Validatable
  • What, not how (architecture, design, or implementation)
slide-41
SLIDE 41

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

41

Safeguards (Safety Mechanisms)

❍ A safeguard is a kind of

defense that fulfills a safety-related requirement and thereby eliminates or reduces the impact of a safety vulnerability.

❍ A safeguard is a part of the

system (e.g., component, procedure, training)

❍ Only relevant to

requirements if specified as safety constraints.

Defense Safeguard Countermeasure Defensibility Requirement Vulnerability

fulfills

Safety Security

eliminates

  • r reduces
slide-42
SLIDE 42

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

42

Safety Vulnerabilities

❍ A safety vulnerability is a weakness in the architecture,

design, implementation, integration, or deployment of a system that enables a hazard to exist or an accident to

  • ccur.

❍ Only relevant to requirements if a requirement needs to be

specified to prevent the vulnerability or mitigate its negative consequences

❍ For example, if taxi doors did not have locks or lock

sensors.

slide-43
SLIDE 43

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

43

Putting the Safety Concepts Together

Asset People Property Environment Data Software Hardware Facilities Services Money System Accidental Harm may

  • ccur to an

may cause Hazard may result in Safety Incident Accident Near Miss includes relevant states of the Environment Safety Risk is due to Safety Requirement mandates elimination

  • r reduction
  • f a

Safety Policy specifies a Safety Quality Factor describes a quality attribute

  • f a

mandates a minimum amount of Vulnerability has exploits exists because

  • f actual or

potential Safeguard eliminates

  • r reduces

fulfills a mandates a desired criterion of Safety Goal establishes a states the importance of achieving a target level of Quality Requirement Non-Functional Requirement Requirement Quality Criterion Quality Measure Functional Requirement includes relevant states

  • f the

is responsible for an Stakeholder is valuable to a has a legitimate interest in the

slide-44
SLIDE 44

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

44

Safety-Related Requirements

❍ Safety Requirements ❍ Safety-Significant Requirements ❍ Safety System Requirements ❍ Safety Constraints

slide-45
SLIDE 45

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

45

Types of Requirements

Product Requirements Functional Requirements Non-Functional Requirements Constraints Data Requirements Interface Requirements Quality Requirements Requirements Process Requirements Defensibility Requirements Safety Requirements Security Requirements Survivability Requirements System Requirements Software Requirements Hardware Requirements Main Mission Requirements Safety System Requirements Security System Requirements Safety Constraints

slide-46
SLIDE 46

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

46

Safety-Related Requirements

❍ Safety-Related Requirements are any system

requirements having significant safety ramifications:

  • Safety Requirements are requirements that specify

mandatory amounts of pairs of subfactors of the safety quality factor.

  • Safety-Significant Requirements are non-safety primary

mission requirements with significant safety ramifications.

  • Safety System Requirements are requirements for

safety systems or subsystems (as opposed to primary mission requirements).

  • Safety Constraints are constraints intended to ensure a

minimum level of safety.

slide-47
SLIDE 47

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

47

Safety-Related Requirements

System Requirements Main Mission Requirements

Safety System Requirements

Functional Requirements Data Requirements Interface Requirements Quality Requirements Constraints

Safety Requiresments

Non-Safety Quality Requirements Safety-Independent Requirements SIL = 0 Safety-Intolerable Requirements SIL = 5 Safety-Critical Requirements SIL = 4 Safety-Major Requirements SIL = 3 Safety-Moderate Requirements SIL=2 Safety-Minor Requirements SIL = 1

Safety Constraints Safety -Significant Requirements SIL 1

Asset Harm Requirements Security Incident Requirements Hazard Requirements Safety Risk Requirements Protection of Valuable Assets Requirements Detection of Safety Incidents Requirements Reaction to Safety Incidents Requirements Adaptation to Safety Incidents Requirements S a fe ty In te g rity L e v e l (S IL )

slide-48
SLIDE 48

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

48

[Pure] Safety Requirements

❍ A safety requirement is a kind of defensibility requirement

because safety is a type of defensibility. (Safety requirements are like security requirements.)

❍ Safety requirements specify minimum required amounts of:

  • Safety
  • A quality subfactor of safety:
  • Defensibility Problem Type:

Accidental Harm, Safety Incident, Hazard, Safety Risk

  • Defensibility Solution Type:

Prevention, Detection, Reaction, Adaptation

❍ A safety requirement is a combination of a safety criterion

and a minimum threshold on a safety measure.

slide-49
SLIDE 49

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

49

Quality Requirements

❍ Quality Requirements are based on a quality model:

Quality Requirement Quality Model Quality Subfactor Quality Factor System- Specific Quality Criterion Quality Measure with Threshold

measures provides evidence for existence of

System

provides evidence for existence of describes quality of

slide-50
SLIDE 50

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

50

Safety Requirements

❍ Safety Requirements are a kind of quality requirement.

Quality Requirement Quality Model Quality Subfactor Quality Factor System- Specific Quality Criterion Quality Measure with Threshold

measures provides evidence for existence of

System

provides evidence for existence of

Safety Requirement Safety

requires minimum amount of describes quality of

slide-51
SLIDE 51

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

51

Safety Requirements (Simplified)

❍ Previous figure with supertypes removed for simplicity: Safety Requirement Safety Subfactor Safety System- Specific Safety Criterion Measure with Threshold

measures provides evidence for existence of

System

provides evidence for existence of describes safety of requires minimum amount of

slide-52
SLIDE 52

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

52

Based on Safety Subfactors

Safety Subfactor Safety Safety Problem Type Safety Solution Type System-Specific Safety Criterion Safety Measure

measures provides evidence for existence of is measured using provides evidence for existence of

Safety Incident Hazard Safety Risk Accidental Harm Prevention Detection Reaction Adaptation System

describes the safety of the

slide-53
SLIDE 53

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

53

Safety Requirements

❍ Based on the previous figure, there are twelve types of

safety requirements:

  • Accidental harm prevention, detection, and reaction
  • Safety incident prevention, detection, and reaction
  • Hazard prevention, detection, and reaction
  • Safety risk prevention, detection, and reaction
slide-54
SLIDE 54

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

54

Example Safety Requirements

❍ “The system shall not cause more than X amount of

accidental harm per year.”

❍ “The system shall not cause more than X safety incidents

(accidents, near misses) per passenger mile traveled.”

❍ “The system shall not cause hazard X to exist more than Y

percent of the time.”

❍ “The system shall not allow a safety risk level of X to exist.” ❍ “The system shall detect accidents of type X Y percent of

the time.”

❍ “The system shall react to accidents of type X by

performing Y.”

slide-55
SLIDE 55

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

55

ZATS Safety Requirements

❍ What are some reasonable ZATS safety requirements

related to preventing:

  • Accidental harm to valuable assets?
  • Safety incidents from occurring?
  • Hazards from existing?
  • Safety risks from being too high?

❍ How about:

  • Detecting accidental harm, safety incidents, hazards, and

risks?

  • Reacting to the detection of harm, incidents, hazards, and

risks?

  • Adapting ZATS to better handle future harm, safety incidents,

hazards, and risks?

slide-56
SLIDE 56

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

56

Safety-Significant Requirements

❍ Are identified based on safety (hazard) analysis ❍ Subset of non-safety requirements:

  • Functional Requirements
  • Data Requirements
  • Interface Requirements
  • Non-safety Quality Requirements
  • Constraints

❍ Safety Integrity Level (SIL) is not 0:

  • May have minor safety ramifications
  • May be safety-critical
  • May have intolerable safety risk
slide-57
SLIDE 57

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

57

SILs and SEALs

❍ Safety Integrity Level – a category of required safety for

safety-significant requirements.

❍ Safety Evidence Assurance Level – a category of

required evidence needed to assure stakeholders (e.g., safety certifiers) that the system is sufficiently safe (i.e., that it has achieved its required SIL).

❍ SILs are for requirements ❍ SEALs are for components that collaborate to fulfill

requirements (e.g., architecture, design, coding, testing)

slide-58
SLIDE 58

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

58

Safety-Significant Requirements (cont)

❍ Require enhanced Safety Evidence Assurance Levels

(SEALs) including more rigorous development process (including better requirements engineering):

  • Formal specification of requirements
  • Fagan inspections of requirements

❍ Too often SEALs only apply to design, coding, and

testing:

  • Safe subset of programming language
  • Design inspections
  • Extra testing
slide-59
SLIDE 59

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

59

Example Safety-Significant Requirements

❍ Requirements for controlling elevator doors:

  • Keep doors closed when moving
  • Not crush passengers

❍ Requirements for firing missiles from military aircraft:

  • When to arm missile
  • Controlling doors providing stealth capabilities
  • Detecting weight-on-wheels

❍ Requirements for chemical plant:

  • Mixing and heating chemicals
  • Detecting temperature and pressure
slide-60
SLIDE 60

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

60

ZATS Safety-Significant Requirements

❍ What are some reasonable ZATS functional requirements

with safety ramifications?

❍ What is a reasonable data requirement with safety

ramifications?

❍ What is a reasonable interface requirement with safety

ramifications?

❍ What SIL level (e.g., intolerable, undesirable, tolerable,

insignificant) should be assigned to these safety-significant requirements?

slide-61
SLIDE 61

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

61

Safety System Requirements

❍ Systems or components strictly added for safety:

  • Emergency core coolant system for nuclear power plant
  • Fire detection and suppression system for aircraft
  • Emergency full pump cut off for gas station
  • Emergency stop for escalators

❍ All requirements for such systems are safety-related

slide-62
SLIDE 62

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

62

Example Safety System Requirements

❍ “Except when the weapons bay doors are open or have

been open within the previous 30 seconds, the weapons bay cooling system shall maintain the temperature of the weapons bay below X° C.”

❍ “The Fire Detection and Suppression System (FDSS) shall

detect smoke above X ppm in the weapons bay within 5 seconds.”

❍ “The FDSS shall detect temperatures above X° C in the

weapons bay within 2 seconds.”

❍ “Upon detection of smoke or excess temperature, the

FDSS shall alert the pilot within 1 second and begin fire suppression.”

slide-63
SLIDE 63

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

63

ZATS Safety System Requirements

❍ Would the ZATS system need a safety subsystem? ❍ If so, what would that subsystem be and what would a few

  • f its requirements be?
slide-64
SLIDE 64

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

64

Safety Constraints

❍ A constraint is any engineering decision that has been

chosen to be mandated as a requirement. For example:

  • Architecture constraints
  • Design constraints
  • Implementation (e.g., coding) constraints
  • Testing constraints

❍ A safety constraint is any constraint primarily intended to

ensure a minimum level of safety (e.g., a mandated safety control).

❍ Safety standards often mandate best practices safety

constraints.

slide-65
SLIDE 65

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

65

Example Safety Constraints

❍ “When the vehicle is stopped in a station with the doors

  • pen for boarding, the horizontal gap between the station

platform and the vehicle door threshold shall be no greater than 25 mm (1.0 in.) and the height of the vehicle floor shall be within plus/minus 12 mm (0.5 in.) of the platform height under all normal static load conditions…” Automated People Mover Standards – Part 2: Vehicles, Propulsion, and Braking (ASCE 21-98)

❍ “Oils and hydraulic fluids shall be flame retardant, except

as required for normal lubrication.”

slide-66
SLIDE 66

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

66

ZATS Safety Constraints

❍ What would be reasonable safety constraints to specify on

the ZATS system?

slide-67
SLIDE 67

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

67

Safety Engineering Process

Asset Analysis Safety Incident Analysis Hazard Analysis Safety Risk Analysis Safety Significance Analysis Safety Control Analysis

Safety Engineering

Safety Program Planning Safety Analysis Safety Monitoring Safety Incident Investigation Safety Compliance Assessment Safety Certification Asset / Harm Requirements Safety Incident Requirements Hazard Requirements Safety Risk Requirements Safety Requirements Safety-Significant Requirements Safety Constraints Safety System Requirements

Safety-Related Requirements

slide-68
SLIDE 68

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

68

Safety & Requirements Engineering

Set Safety Goals Safety Program Plan Safety Team Safety Goals Application Vision Statement (ConOps) Safety Program Planning Requirements Elicitation Application Visioning Requirements Team Safety Significance Analysis Safety-Related Requirements Safety- Significant Requirements System Requirements Specification Safety Analysis Safety Requirements Safety Constraints Safety System Requirements Requirements Specification System Requirements are categorized during Safety Control Analysis

slide-69
SLIDE 69

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

69

Safety Program Planning

Safety Policy Safety Goals Harm Severity Categories Safety Incident Likelihood Categories Safety Program Planning Legacy Documentation Standard / Reusable Safety Evidence Assurance Levels Stakeholders Subject Matter Experts Project Documentation (RFP, Contract, ConOps) Generic / Reusable Safety Categories Set Safety Policy Set Safety Goals Determine Safety Categories Develop Safety Program Safety Team performs Safety Integrity Levels (SIL) Safety Evidence Assurance Levels Safety Program Plan Asset Value Categories Hazard Likelihood Categories Safety Risk Matrix

slide-70
SLIDE 70

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

70

Safety Analysis

Safety Analysis

Asset Analysis Safety Incident Analysis Hazard Analysis Safety Risk Analysis Asset Safety Requirements Accident Safety Requirements Hazard Safety Requirements Safety Risk Safety Requirements Safety Requirements

Safety Team Requirements Team performs helps perform supports

Safety Significance Analysis Safety- Significant Requirements

Safety-Related Requirements

Safety System Requirements Safety Constraints

identifies

Safety Control Analysis

Architecture Team helps perform supports Prelim. Hazard Analysis System Hazard Analysis

slide-71
SLIDE 71

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

71

Asset Analysis

Asset List Asset Value and Harm Table Asset / Harm Requirements Asset Analysis Generic / Reusable Asset Lists Standard / Reusable Harm Severity Categories Stakeholders Subject Matter Experts Project Documentation (RFP, Contract, ConOps) Generic / Reusable Asset / Harm Tables Asset Identification Value Analysis Harm Analysis Safety Team Requirements Team performs Asset / Harm Requirements Production Standard / Reusable Asset / Harm Requirements helps perform

slide-72
SLIDE 72

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

72

Safety Incident Analysis

Safety Incident Analysis Safety Incident Type List Safety Incident Type / Harm Table Asset Value and Harm Table Standard / Reusable Safety Incident Likelihood Categories Stakeholders Subject Matter Experts Safety Incident Likelihood Categories Project Documentation (RFP, Contract, ConOps) Generic / Reusable Safety Incident / Harm Tables Safety Incident Requirements Generic / Reusable Safety Incident Type Lists Safety Incident Type Identification Safety Incident Harm Analysis Safety Incident Likelihood Analysis Safety Team performs Safety Incident Type Likelihood Table Safety Incident Requirements Production Harm Severity Categories Standard / Reusable Safety Incident Requirements Requirements Team helps perform

slide-73
SLIDE 73

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

73

Hazard Analysis

Hazard Analysis Hazard Identification Hazard Categorization Hazard Cause Analysis Hazard Effects Analysis

Hazard Likelihood Analysis

Root Cause Analysis

Common Cause Analysis Network

  • f Causes

Analysis

Hazard List Hazard Categories

Hazard Cause & Effect Diagrams and Tables

Hazard Likelihood Table

performs Stakeholders Subject Matter Experts Standard / Reusable Hazard Likelihoods Generic / Reusable Hazard Lists Standard / Reusable Hazard Categories Project Documentation (System Architecture)

Hazard Reports

Hazard Requirements Production Hazard Reporting

Hazard Safety Requirements

Generic / Reusable Hazard Safety Requirements

HAZOP/ FEMA Fault/Event Trees Requirements Team helps perform

Safety Team

slide-74
SLIDE 74

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

74

Safety Risk Analysis

Safety Risk Analysis Safety Risk Determination Safety Risk Estimation Safety Risk Categories Accident Type Safety Risk Table Safety Team performs Stakeholders Subject Matter Experts Standard / Reusable Safety Integrity Levels Generic / Reusable Safety Risk Matrices Standard / Reusable Safety Risk Categories Harm Severity Categories Hazard Safety Risk Table Standard / Reusable Safety Evidence Assurance Levels (SEALs) Accident / Hazard Likelihood Categories Safety Risks Safety Risk Requirements Safety Risk Requirements Production Generic / Reusable Safety Risk Requirements Requirements Team helps perform

slide-75
SLIDE 75

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

75

Safety-Significance Analysis

Safety Significance Analysis

Safety-Significant Requirements Identification Safety Integrity Level (SIL) Allocation

Categorization

  • f Safety-

Significant Requirements Safety Team Requirements Team performs helps perform Stakeholders Subject Matter Experts Safety Integrity Levels Data Requirements Interface Requirements Functional Requirements Safety Risk Tables Non-Safety Quality Requirements

Safety Evidence Assurance Level (SEAL) Allocation Identify Safety-Significant Functional Requirements Identify Safety-Significant Data Requirements Identify Safety-Significant Interface Requirements Identify Safety-Significant Non-Quality Requirements

Safety Evidence Assurance Level (SEAL) Allocation Safety Integrity Level (SIL) Allocation

slide-76
SLIDE 76

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

76

Safety Control Analysis

Safety Control Analysis

Safety Controls Identification Safety System Identification Safety Constraints Safety Team Architecture Team performs helps perform supports Stakeholders Subject Matter Experts Safety Analyses Safety-Significant Requirements Safety Constraints Determination Safety Controls Safety System Requirements Safety System Requirements Allocation System Architecture Updated System Architecture Requirements Team helps perform

slide-77
SLIDE 77

Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems

77

Conclusion

❍ Engineering safety-significant requirements requires

concepts, methods, techniques, and expertise from both requirements engineering and safety engineering.

❍ There are multiple types of safety-related requirements that

have different forms and that need to be analyzed and specified differently.

❍ Look for my upcoming book by the same title. ❍ For more information, check out my repository of over

1,100 free open source reusable process components including many on safety at www.opfro.org.