77
Engineering Safety-Related Requirements for Software-Intensive Systems Donald Firesmith, Software Engineering Institute, USA Tutorial T3

Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

EngineeringSafety-Related Requirements forSoftware-Intensive Systems

Donald Firesmith, Software Engineering Institute,USA

Tutorial T3

Page 2: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Page 3: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Importance of Requirements

❍ Poor requirements cause more than half of all projectfailures:● Major cost overruns● Major schedule overruns● Major functionality not delivered● Cancelled projects● Delivered systems that are never used

Page 4: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Difficulty of Requirements

❍ “The hardest single part of building a software system isdeciding precisely what to build. No other part of theconceptual work is as difficult as establishing the detailedtechnical requirements, including all the interfaces topeople, to machines, and to other software systems. Noother part of the work so cripples the resulting system ifdone wrong. No other part is more difficult to rectify later.”

F. Brooks, No Silver Bullet, IEEE Computer, 1987

Page 5: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Importance of Accidents

❍ Accidents can have expensive and potentially fatalrepercussions:● Mars Climate Orbiter ($125 million)● Therac–25● Bhopal (3–10K deaths, 500K injured)

Page 6: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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 Wrongand How to Prevent Failure (2nd Edition), 1995

● “Almost all accidents related to software components inthe past 20 years can be traced to flaws in therequirements specifications, such as unhandled cases.”

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

Page 7: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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?

Page 8: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

More Problems and Challenges

❍ Inappropriate architecture and design constraintsunnecessarily specified as requirements● Use ID and password for identification and

authentication.

❍ Separation of requirements engineering and safetyengineering:● Different disciplines with different training, books,

journals, and conferences.● Different professions with different job titles.● Different fundamental underlying concepts and

terminologies

Page 9: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Engineering

❍ Safety engineering is the engineering discipline withinsystems engineering that lowers the risk of accidental harmto valuable assets to an acceptable level to legitimatestakeholders.

Note:● Engineering Discipline● Systems Engineering (not just software)● Risk● Accidental Harm● Harm to Valuable Assets● Acceptable Level of Risk● Legitimate Stakeholders

Page 10: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Page 11: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Page 12: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Tutorial Example: Very Large New Zoo

Parking Lots

Zoo Maintenance

Restaurantsand Shops

TropicalRainforest

AfricanSavannaChildren’s

PettingArea

Monkeys

GreatApes

Aviary

Bears

GreatCats

Wolvesand

Other Dogs

GreatOutback

Aquarium

Wetlandsand

Waterways

Zoo Entrance

Page 13: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Zoo Automated Taxi System (ZATS)

Parking Lots

Zoo Maintenance

Restaurantsand Shops

TropicalRainforest

Stn

Statio

n

Stn

Stn

Station

Statio

n

Statio

nSt

ation

Station Station Station

Station

Station

Sta

tion

AfricanSavanna

Children’sPettingArea

Monkeys

GreatApes

Aviary

Bears

GreatCats

Wolvesand

Other Dogs

GreatOutback

Aquarium

Wetlandsand

Waterways

Station

StationStation

Stat

ion

Stat

ion

Zoo Entrance

ZATS Control

Sta

tion

Stn

Stn

Stn

Stn

ZATSMaintenance

Page 14: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Typical Habitat

Page 15: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Typical Automated Taxi Station

T

T

T

T

T

Zoo

Loop

Lin

e

Hab

itat L

ine

ExitElevator

EntryElevator

VM

VM

Stairs

Stairs

T

T

T

T

T

T

T

T Taxi

Passenger

Direction ofMovement

VM

Debit CardVendingMachine

Door

Guideway

Page 16: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

ZATS Domain Model

Guideways

Taxis

Regions

travelsalong

stopat

connect

TaxiDrivers

drive andmonitor

Passengers

ridein

Dispatcher

dispatchesand monitors

taxis via

enterand exittaxis at

request tripsand pay

VirtualPerson

TaxiStations

ParkingLots

are in

HabitatsMaintenance

Facility

monitorsand controls

DailySchedule

keeps when necessarycan communicate with

Page 17: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Taxi Object Model

PassengerCompartment

Door

SpeedSensor

Accelerometer

PositionDisplay

Speaker

GuidewayLocationSensor

StationIdentification

Sensor

PassengerCompartment

Power BrakingSystem(PBS)

Sensor

ZooMap

Schedule

SafetyPolicy

notifies >< controls

conforms

tohas is based on

Taxi

AccelerationLocationSpeedSpeed ProfileState

ControlPanel

CardReader

SelectionButton

PanelDisplay Passenger

SensorProximitySensor

RadioTransmitter

Receiver

Computer

Page 18: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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)

Page 19: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Quality Model

❍ Quality Model – a hierarchical model (i.e., a collection ofrelated abstractions or simplifications) for formalizing theconcept of the quality of a system in terms of its qualityfactors, quality subfactors, quality criteria, and qualitymeasures. Quality Model

Quality SubfactorQuality Factor

System-SpecificQuality Criterion

QualityMeasure

measuresprovides

evidence for existence of

System

describes quality of

is measured using

providesevidence for existence of

Page 20: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Quality Factors

Quality Factor

Development-OrientedQuality Factor

Usage-OrientedQuality Factor

Safety

Security

Survivability

Dependability

Defensibility Soundness

Continuity

Correctness

Operational Availability

Predictability

Reliability

Robustness

ConfigurabilityCapacity Efficiency Interoperability

Stability

Quality Model

Page 21: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety as a Quality Factor

❍ Safety is the quality factor capturing the degreeto 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

Page 22: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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 SubfactorQuality Factor

System-SpecificQuality Criterion

QualityMeasure

measuresprovides

evidence for existence of

System

describes thequality of the

is measured using

providesevidence for existence of

Prevention

Detection

Reaction

Adaptation

Safety

Page 23: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Subfactors

Safety SubfactorSafety

Safety Problem Type

Safety Solution Type

System-SpecificSafety Criterion

SafetyMeasure

measuresprovides

evidence for existence of

is measured using

providesevidence for existence of

Safety Incident

Hazard

Safety Risk

Accidental Harm Prevention

Detection

Reaction

Adaptation

System

describes thesafety of the

Page 24: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Valuable Assets

❍ A valuable asset is anything of significant value to alegitimate stakeholder that should be protected fromaccidental (or malicious) harm by the system.

Asset

People Property Environment

Data Software Hardware Facilities

Services

Money

Stakeholderis valuable to a

Systemis responsible for an

has legitimate interest in the

Page 25: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

ZATS Valuable Assets

❍ What are the Valuable Assets for which ZATS isresponsible for protecting against accidentalharm?

❍ How valuable are these assets to the Zoo (andsociety)?

Page 26: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Accidental Harm

❍ Harm is anysignificant negativeconsequence to avaluable asset

❍ Accidental harm is anyharm due to an accident

may occur to a

Unintentional(Accidental)

Harm

Attacker-Caused (Malicious)

Harm

AuthorizedHarm

UnauthorizedHarm

HarmValuable

Asset

Harm toPeople

Harm toProperty

Harm toService

Denial ofService (DOS)

UnauthorizedUsage (Theft)

CorruptionDestruction

Damage

Corruption

Theft

UnauthorizedAccess

UnauthorizedDisclosure

Harm toEnvironment

Destruction

Damage

Death

Injury

Illness

Kidnap

Corruption (bribery or extortion)

Safety Security

Loss of Use

Hardship

e.g., caused toenemy forces by

weapons systems

Repudiation of Transaction

Survivability

Accidental Loss of Service

Page 27: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

ZATS Harm to Valuable Assets

❍ What kinds of accidental harm can occur to theValuable Assets for which ZATS is responsible?

❍ How should these kinds of harm be categorized interms of harm severity, and how should thecategories be defined?● Catastrophic● Critical● Major● Minor● Negligible

Page 28: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Incidents

❍ An incident is an unplanned (but notnecessarily unexpected) series of one or morerelated events that either did cause or couldhave caused (accidental or malicious) harm toone or more valuable assets● A safety incident is an incident involving

actual or potential accidental harm

Page 29: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

UnsuccessfulAttack

SuccessfulAttack

Unauthorized Harm

Probeor

Scan

Attackercauses

Valuable Asset

may occur to

may cause

Attack

DoS

Virus

Man-in-the-Middle

Event

Page 30: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

ZATS Safety Incidents

❍ What kinds of safety incidents can occur if notprevented?● Accidents● Near misses

❍ What kind of harm can these accidents cause towhat valuable assets?

❍ How likely can these safety incidents be allowed tobe?

Page 31: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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 inconjunction with condition(s) in the environmentof the system can cause or contribute to theoccurrence 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 securityor security incident (i.e., a vulnerability combined withan attacker with means, motive, and opportunity).

Page 32: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Dangers and their Relationships

Environment System

relevant

Incident

Unauthorized Harm

Attackerinvolves the

existence and profile of

Valuable Asset

may occur to

may cause

Danger

Hazard Threat

may result in

SecuritySafety Survivability

State

is responsible forprotecting or

not harming any

Page 33: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

ZATS Hazards

❍ What kinds of ZATS hazards (hazardousconditions) might exist?

❍ What kinds of safety incidents can these hazardscause?

❍ What kinds of events can cause these safetyhazards to exist?

❍ Can the existence of these hazards be detected?

Page 34: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Risks

❍ Risk is the combination of theseverity of harm to a valuableasset with the likelihood that theharm will occur.

❍ Harm severity is usually setconservatively to the maximumcredible category of harm.

❍ The likelihood of harm is thelikelihood of danger multipliedby the likelihood that thedanger results in a harm-causing incident (e.g.,accident or attack).

DefensibilityRisk

SafetyRisk

SecurityRisk

HarmLikelihood

Harm Severity

DangerLikelihood

IncidentLikelihood

SurvivabilityRisk

categorizes amount of

Incident

maycause

Harm

mayoccur

to

Asset

Danger

mayresult

in

is due to

likelihood of

likelihoodof

Page 35: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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 AcceptableALARPALARPUndesirable Acceptable

Page 36: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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 assignsafety risks to the safety risk matrix cells?

❍ What would be some of the ramifications of yourchoices?

Page 37: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Goals

❍ Safety Goals are high-level stakeholder desires regardingsafety:● “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. impossibleto guarantee).

❍ Goals are not requirements.

❍ A major problem is safety goals that are specified as if theywere verifiable requirements.

Page 38: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

ZATS Safety Goals

❍ What do you think some of the safety goals for theZATS should be?

❍ Are they realistic and verifiable?

❍ Do different stakeholders have different safetygoals?

Page 39: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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 requirementsand policy documents may sometimes includerequirements. Why is this a problem?

Page 40: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Requirements

❍ A requirement is a statement that formally specifies anecessary capability or characteristic of a businessenterprise, application (system or SW), component, orapplication 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)

Page 41: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safeguards (Safety Mechanisms)

❍ A safeguard is a kind ofdefense that fulfills asafety-related requirementand thereby eliminates orreduces the impact of asafety vulnerability.

❍ A safeguard is a part of thesystem (e.g., component,procedure, training)

❍ Only relevant torequirements if specifiedas safety constraints.

Defense

Safeguard Countermeasure

DefensibilityRequirement

Vulnerability

fulfills

Safety Security

eliminatesor reduces

Page 42: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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 asystem that enables a hazard to exist or an accident tooccur.

❍ Only relevant to requirements if a requirement needs to bespecified to prevent the vulnerability or mitigate its negativeconsequences

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

Page 43: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

mayoccur to an

maycause

Hazard

mayresult

in

SafetyIncident

Accident

Near Miss

includes relevant states of the

Environment

SafetyRisk

isdueto

SafetyRequirement

mandateselimination

or reductionof a

SafetyPolicy

specifiesa

Safety

QualityFactor

describesa qualityattribute

of a

mandatesa minimumamount of

Vulnerability

has

exploits

exists because of actual orpotential

Safeguard

eliminatesor reduces

fulfillsa

mandatesa desired

criterion of

SafetyGoal

establishesa

states the importance ofachieving a target level of

QualityRequirement

Non-FunctionalRequirement

Requirement

QualityCriterion

QualityMeasure

FunctionalRequirement

includes relevant statesof the

is responsible for an

Stakeholder

is valuableto a

has alegitimateinterestin the

Page 44: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety-Related Requirements

❍ Safety Requirements

❍ Safety-Significant Requirements

❍ Safety System Requirements

❍ Safety Constraints

Page 45: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Types of Requirements

ProductRequirements

Functional Requirements

Non-Functional Requirements

ConstraintsDataRequirements

InterfaceRequirements

QualityRequirements

Requirements

Process Requirements

DefensibilityRequirements

SafetyRequirements

SecurityRequirements

SurvivabilityRequirements

SystemRequirements

SoftwareRequirements

HardwareRequirements

Main MissionRequirements

Safety SystemRequirements

Security System

Requirements

SafetyConstraints

Page 46: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety-Related Requirements

❍ Safety-Related Requirements are any systemrequirements having significant safety ramifications:● Safety Requirements are requirements that specify

mandatory amounts of pairs of subfactors of the safetyquality factor.

● Safety-Significant Requirements are non-safety primarymission requirements with significant safety ramifications.

● Safety System Requirements are requirements forsafety systems or subsystems (as opposed to primarymission requirements).

● Safety Constraints are constraints intended to ensure aminimum level of safety.

Page 47: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety-Related Requirements

SystemRequirements

Main MissionRequirements

Safety SystemRequirements

FunctionalRequirements

DataRequirements

InterfaceRequirements

QualityRequirements Constraints

SafetyRequiresments

Non-SafetyQuality

Requirements

Safety-IndependentRequirements

SIL = 0

Safety-IntolerableRequirements

SIL = 5

Safety-Critical Requirements

SIL = 4

Safety-MajorRequirements

SIL = 3

Safety-ModerateRequirements

SIL=2

Safety-MinorRequirements

SIL = 1

SafetyConstraints

Safety -SignificantRequirements

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

Saf

ety In

tegr

ity L

evel (

SIL

)

Page 48: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

[Pure] Safety Requirements

❍ A safety requirement is a kind of defensibility requirementbecause 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, SafetyRisk

● Defensibility Solution Type:Prevention, Detection, Reaction, Adaptation

❍ A safety requirement is a combination of a safety criterionand a minimum threshold on a safety measure.

Page 49: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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 SubfactorQuality Factor

System-SpecificQuality

Criterion

QualityMeasure

with Threshold

measures

provides evidencefor existence of

System

provides evidencefor existence of

describesquality of

Page 50: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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 SubfactorQuality Factor

System-SpecificQuality

Criterion

QualityMeasure

with Threshold

measures

provides evidencefor existence of

System

provides evidencefor existence of

Safety Requirement

Safety

requiresminimum amount of

describesquality of

Page 51: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Requirements (Simplified)

❍ Previous figure with supertypes removed for simplicity:

Safety Requirement

Safety SubfactorSafety

System-Specific Safety

Criterion

Measurewith Threshold

measures

provides evidencefor existence of

System

provides evidencefor existence of

describessafety of

requiresminimum amount of

Page 52: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Based on Safety Subfactors

Safety SubfactorSafety

Safety Problem Type

Safety Solution Type

System-SpecificSafety Criterion

SafetyMeasure

measuresprovides

evidence for existence of

is measured using

providesevidence for existence of

Safety Incident

Hazard

Safety Risk

Accidental Harm Prevention

Detection

Reaction

Adaptation

System

describes thesafety of the

Page 53: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Requirements

❍ Based on the previous figure, there are twelve types ofsafety requirements:● Accidental harm prevention, detection, and reaction● Safety incident prevention, detection, and reaction● Hazard prevention, detection, and reaction● Safety risk prevention, detection, and reaction

Page 54: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Example Safety Requirements

❍ “The system shall not cause more than X amount ofaccidental 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 Ypercent 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 ofthe time.”

❍ “The system shall react to accidents of type X byperforming Y.”

Page 55: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

ZATS Safety Requirements

❍ What are some reasonable ZATS safety requirementsrelated 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?

Page 56: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Page 57: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

SILs and SEALs

❍ Safety Integrity Level – a category of required safety forsafety-significant requirements.

❍ Safety Evidence Assurance Level – a category ofrequired 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 fulfillrequirements (e.g., architecture, design, coding, testing)

Page 58: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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, andtesting:● Safe subset of programming language● Design inspections● Extra testing

Page 59: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Page 60: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

ZATS Safety-Significant Requirements

❍ What are some reasonable ZATS functional requirementswith safety ramifications?

❍ What is a reasonable data requirement with safetyramifications?

❍ What is a reasonable interface requirement with safetyramifications?

❍ What SIL level (e.g., intolerable, undesirable, tolerable,insignificant) should be assigned to these safety-significantrequirements?

Page 61: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Page 62: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Example Safety System Requirements

❍ “Except when the weapons bay doors are open or havebeen open within the previous 30 seconds, the weaponsbay cooling system shall maintain the temperature of theweapons bay below X° C.”

❍ “The Fire Detection and Suppression System (FDSS) shalldetect smoke above X ppm in the weapons bay within 5seconds.”

❍ “The FDSS shall detect temperatures above X° C in theweapons bay within 2 seconds.”

❍ “Upon detection of smoke or excess temperature, theFDSS shall alert the pilot within 1 second and begin firesuppression.”

Page 63: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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 fewof its requirements be?

Page 64: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Constraints

❍ A constraint is any engineering decision that has beenchosen 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 toensure a minimum level of safety(e.g., a mandated safety control).

❍ Safety standards often mandate best practices safetyconstraints.

Page 65: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Example Safety Constraints

❍ “When the vehicle is stopped in a station with the doorsopen for boarding, the horizontal gap between the stationplatform and the vehicle door threshold shall be no greaterthan 25 mm (1.0 in.) and the height of the vehicle floorshall be within plus/minus 12 mm (0.5 in.) of the platformheight 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, exceptas required for normal lubrication.”

Page 66: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

ZATS Safety Constraints

❍ What would be reasonable safety constraints to specify onthe ZATS system?

Page 67: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Engineering Process

AssetAnalysis

SafetyIncidentAnalysis

HazardAnalysis

Safety RiskAnalysis

SafetySignificance

Analysis

SafetyControlAnalysis

SafetyEngineering

SafetyProgramPlanning

SafetyAnalysis

SafetyMonitoring

SafetyIncident

Investigation

SafetyComplianceAssessment

SafetyCertification

Asset / HarmRequirements

Safety IncidentRequirements

HazardRequirements

Safety RiskRequirements

SafetyRequirements

Safety-SignificantRequirements

SafetyConstraints

Safety SystemRequirements

Safety-RelatedRequirements

Page 68: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety & Requirements EngineeringSet

SafetyGoals

SafetyProgram

PlanSafety Team

SafetyGoals

ApplicationVision

Statement(ConOps)

SafetyProgramPlanning

RequirementsElicitation

ApplicationVisioning

RequirementsTeam

SafetySignificance

Analysis

Safety-RelatedRequirements

Safety-Significant

Requirements

SystemRequirementsSpecification

SafetyAnalysis

SafetyRequirements

SafetyConstraints

SafetySystem

Requirements

RequirementsSpecification

SystemRequirements

are categorized during

SafetyControlAnalysis

Page 69: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Program Planning

Safety Policy

Safety Goals

Harm SeverityCategories

Safety IncidentLikelihoodCategories

SafetyProgramPlanning

Legacy Documentation

Standard / ReusableSafety Evidence

Assurance Levels

Stakeholders

Subject Matter Experts

Project Documentation(RFP, Contract, ConOps)

Generic / ReusableSafety Categories

SetSafetyPolicy

SetSafetyGoals

DetermineSafety

Categories

DevelopSafety

Program

Safety Team

performs

Safety IntegrityLevels (SIL)

Safety EvidenceAssurance Levels

Safety ProgramPlan

Asset ValueCategories

Hazard LikelihoodCategories

Safety Risk Matrix

Page 70: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Analysis

SafetyAnalysis

AssetAnalysis

SafetyIncidentAnalysis

HazardAnalysis

Safety RiskAnalysis

AssetSafety

Requirements

AccidentSafety

Requirements

HazardSafety

Requirements

Safety RiskSafety

Requirements

SafetyRequirements

Safety Team

RequirementsTeam

performshelps

perform

supports

SafetySignificance

Analysis

Safety-Significant

Requirements

Safety-RelatedRequirements

Safety SystemRequirements

SafetyConstraints

identifies

SafetyControl

Analysis

ArchitectureTeam

helpsperform

supports

Prelim.Hazard

Analysis

SystemHazard

Analysis

Page 71: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Asset Analysis

Asset List

Asset Value andHarm Table

Asset / HarmRequirements

AssetAnalysis

Generic / ReusableAsset Lists

Standard / ReusableHarm Severity Categories

Stakeholders

Subject Matter Experts

Project Documentation(RFP, Contract, ConOps)

Generic / ReusableAsset / Harm Tables

AssetIdentification

ValueAnalysis

HarmAnalysis

Safety Team

Requirements Team

performs

Asset / HarmRequirements

Production

Standard / ReusableAsset / Harm Requirements

helps perform

Page 72: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Incident Analysis

SafetyIncidentAnalysis

Safety IncidentType List

Safety IncidentType / Harm

TableAsset Value andHarm Table

Standard / ReusableSafety Incident Likelihood

Categories

Stakeholders

Subject Matter Experts

Safety Incident LikelihoodCategories

Project Documentation(RFP, Contract, ConOps)

Generic / ReusableSafety Incident /

Harm Tables SafetyIncident

Requirements

Generic / ReusableSafety Incident Type Lists

Safety IncidentType Identification

SafetyIncident Harm

Analysis

Safety IncidentLikelihoodAnalysis

Safety Team

performs

Safety IncidentType Likelihood

Table

SafetyIncident

RequirementsProduction

Harm SeverityCategories

Standard / ReusableSafety IncidentRequirements

Requirements Team

helps perform

Page 73: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Hazard Analysis

HazardAnalysis

HazardIdentification

HazardCategorization

HazardCause

Analysis

HazardEffects

Analysis

HazardLikelihoodAnalysis

Root CauseAnalysis

Common CauseAnalysis

Networkof CausesAnalysis

Hazard List

HazardCategories

Hazard Cause &Effect Diagrams

and Tables

HazardLikelihood

Table

performsStakeholders

Subject Matter Experts

Standard / ReusableHazard Likelihoods

Generic / ReusableHazard Lists

Standard / ReusableHazard Categories

Project Documentation(System Architecture)

HazardReports

HazardRequirements

Production

HazardReporting

HazardSafety

Requirements

Generic / ReusableHazard SafetyRequirements

HAZOP/FEMA

Fault/EventTrees

Requirements Team

helps perform

Safety Team

Page 74: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Risk Analysis

Safety RiskAnalysis

Safety RiskDetermination

Safety RiskEstimation

Safety Risk Categories

Accident TypeSafety Risk Table

Safety Team

performs

Stakeholders

Subject Matter Experts

Standard / ReusableSafety Integrity Levels

Generic / ReusableSafety Risk Matrices

Standard / ReusableSafety Risk Categories

Harm SeverityCategories

HazardSafety Risk Table

Standard / ReusableSafety Evidence

Assurance Levels(SEALs)

Accident / HazardLikelihood Categories

Safety Risks

Safety RiskRequirements

Safety RiskRequirements

Production

Generic / ReusableSafety Risk

Requirements

Requirements Team

helps perform

Page 75: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety-Significance Analysis

SafetySignificance

Analysis

Safety-SignificantRequirementsIdentification

Safety IntegrityLevel (SIL)Allocation

Categorizationof Safety-Significant

Requirements

Safety Team Requirements Team

performshelps

perform

Stakeholders

Subject Matter Experts

Safety Integrity Levels

Data Requirements

InterfaceRequirements

FunctionalRequirements

Safety Risk Tables

Non-SafetyQuality Requirements Safety

Evidence AssuranceLevel (SEAL)

Allocation

IdentifySafety-Significant

FunctionalRequirements

IdentifySafety-Significant

DataRequirements

IdentifySafety-Significant

InterfaceRequirements

IdentifySafety-Significant

Non-QualityRequirements

Safety EvidenceAssurance

Level(SEAL)

Allocation

Safety IntegrityLevel (SIL)Allocation

Page 76: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Safety Control Analysis

SafetyControl

Analysis

SafetyControls

Identification

Safety SystemIdentification

SafetyConstraints

Safety Team Architecture Team

performs helps perform

supports

Stakeholders

SubjectMatter

Experts

Safety Analyses

Safety-SignificantRequirements

SafetyConstraints

Determination

SafetyControls

Safety SystemRequirements

SafetySystem

RequirementsAllocation

SystemArchitecture

UpdatedSystem

Architecture

Requirements Team

helps perform

Page 77: Engineering Safety-Related Requirements for Software ......Tutorial T3 Engineering Safety-Related Requirements for Software-Intensive Systems 4 Difficulty of Requirements “The hardest

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

Conclusion

❍ Engineering safety-significant requirements requiresconcepts, methods, techniques, and expertise from bothrequirements engineering and safety engineering.

❍ There are multiple types of safety-related requirements thathave different forms and that need to be analyzed andspecified differently.

❍ Look for my upcoming book by the same title.

❍ For more information, check out my repository of over1,100 free open source reusable process componentsincluding many on safety at www.opfro.org.