Dynamic Reasoning for Safety Assurance
Ibrahim Habli
Ibrahim.habli@york.ac.uk
Based on an ICSE NIER 2015 paper with Ewen Denney and Ganesh Pai https://ti.arc.nasa.gov/publications/21593/download
Dynamic Reasoning for Safety Assurance Ibrahim Habli - - PowerPoint PPT Presentation
Dynamic Reasoning for Safety Assurance Ibrahim Habli Ibrahim.habli@york.ac.uk Based on an ICSE NIER 2015 paper with Ewen Denney and Ganesh Pai https://ti.arc.nasa.gov/publications/21593/download Background Paradigm shift in many domains
Ibrahim.habli@york.ac.uk
Based on an ICSE NIER 2015 paper with Ewen Denney and Ganesh Pai https://ti.arc.nasa.gov/publications/21593/download
Piper Alpha, 1988
Rail privatisation, 1992
FDA, 2010
Automotive, 2011
2
[Rae 2009]
3
Ibrahim Habli, Tim Kelly, 2007
Sn Sn 3 QM Reviews Sn Sn 4 Testing Reviews G 34 34 Quality Management regimeThis is not a safety case.
Safety Case Depictions vs. Safety Case Reports
[Inquiry Report following the RAF Nimrod aircraft accident]
6
7
QRH pages from Boeing B-757
Same QRH pages WITH pilot annotations
Increasing authority, autonomy, adaptation, and communication Greater uncertainty about safe operation
including for historically stable domains such as aerospace and automotive
10
[Building safe artificial intelligence: specification, robustness, and assurance by DeepMind]
[Building safe artificial intelligence: specification, robustness, and assurance by DeepMind]
https://adeshpande3.github.io/Deep-Learning-Research-Review-Week-2-Reinforcement- Learning
[Vincent and Amalberti 2016]
17
18
safety is an operational concept
deal with leading indicators of, and precursors to, hazardous
behaviour
i.e not just faults and failures
assessment of current confidence based on operational data a high degree of automation and formality is necessary?
Argument is partially developed (because system is evolving) But well-formed with open tasks and continuous update
linked anticipation and preparedness
19
20
Dynamic Safety Case Identify Monitor Analyse Respond
Maintenance data Operational data Incident reporting Safety management data
Regulations and Oversight Organizational Practices and Culture Development Operations
Plug the safety case into system
i.e. assurance deficits (ADs) Mapping ADs to assurance variables (AVars)
e.g., Environment and system variables
System/environment change Argument change AD Change
21
Dynamic Safety Case Identify Monitor Analyse Respond
Maintenance data Operational data Incident reporting Safety management data
Regulations and Oversight Organizational Practices and Culture Development Operations
How can we decide on the most important subset of ADs?
Correspond to the underlying sources of uncertainty (AVars)
i.e. Specify in a measurable or assessable way
Leading / Lagging indicators
22
Dynamic Safety Case Identify Monitor Analyse Respond
Maintenance data Operational data Incident reporting Safety management data
Regulations and Oversight Organizational Practices and Culture Development Operations
Examine whether the AD thresholds are met Define and update confidence in associated claims
E.g., Bayesian reasoning?
23
Dynamic Safety Case Identify Monitor Analyse Respond
Maintenanc e data Operational data Incident reporting Safety management data
Regulations and Oversight Organizational Practices and Culture Development Operations
What can we learn from the world of AI and machine learning?
System / Environment change + DSC change, when necessary
Impact on confidence of new data Response options already planned Level of automation provided Urgency of response and communication
24
Dynamic Safety Case Identify Monitor Analyse Respond
Maintenance data Operational data Incident reporting Safety management data
Regulations and Oversight Organizational Practices and Culture Development Operations
Do we need a new theory for argument refactoring? Rule mining?
Remove a branch of the argument depending on an invalidated assumption Create a task for an engineer to reconsider evidence when confidence in a particular branch drops below a threshold
(AVar∗ → EnumVal | ContinuousVal) × Period
not(trafficDensity < n) ⇒ forEach(y :: solves∗ Contextualizes | replaceWith(y, empty)) confidence(NodeX) < n ⇒ forEach(E :: dependsOn(E); traceTo(NodeX) |
) | createTask(engineer, inspect(E), urgent))
25
2014)
2011/2012)
automation, transformation and validation (Hawkins, Habli and Kelly 2015)
26
27
28
Calinescu, Radu, Danny Weyns, Simos Gerasimou, Muhammad Usman Iftikhar, Ibrahim Habli, and Tim Kelly. "Engineering trustworthy self- adaptive software with dynamic assurance cases." IEEE Transactions on Software Engineering 44, no. 11 (2018): 1039-1069.
29