Subsystem Hazard Analysis (SSHA)

Similar documents
Safety Checklist for Four-Variable Requirements Methods

Requirements Specifications

MAKING FORMAL METHODS PRACTICAL

An Introductory Guide to SpecTRM

Operating Instructions Extended Cascade Controller MCO 101

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

Safety Instructions 1-1 Avoid unintended Start General Description 2-2

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

Protect Against Power-Related DUT Damage During Test

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

!"#$"%"& When can a UAV get smart with its operator, and say 'NO!'? Jerry Ding**, Jonathan Sprinkle*, Claire J. Tomlin**, S.

HCI in the software process

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

Checking General Safety Criteria on UML Statecharts

Accord Builder. User Guide

Introduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2

OMG Smart Transducer Specification (I)

CORBA in the Time-Triggered Architecture

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

Software Architecture. Lecture 4

Safety-Critical Software Development

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

2. REAL-TIME CONTROL SYSTEM AND REAL-TIME NETWORKS

CDR File Information. Comments Toyota 86 Registration 1ETM870 Speedometer Reading Kms. Data Limitations CDR Record Information:

IN4343 Real-Time Systems

Designing Specification Languages for Process Control Systems: Lessons Learned and Steps to the Future

IEEE Time-Sensitive Networking (TSN)

Guidelines for deployment of MathWorks R2010a toolset within a DO-178B-compliant process

DAQ Electronics, Inc 262B Old New Brunswick Road, Piscataway, NJ

Athena Series RMC Hot Runner Controller Configuration and Operation Manual

Architectural Design. CSCE Lecture 12-09/27/2016

Configuring Advanced BGP

SWISS GARDE 360 HOKUSPOKUS KNX/KLR APPLICATION DESCRIPTION

Issues in Programming Language Design for Embedded RT Systems

Time Triggered and Event Triggered; Off-line Scheduling

DIN RAIL 12/8/4 OUTPUT MODULE. BOxxB01KNX. Product Handbook

Everything s possible. Modbus Communication. Reference Manual. DigiFlex Performance Servo Drives. MNCMMBRF-02

Application program: description and examples

Finding Firmware Defects Class T-18 Sean M. Beatty

Ch 5 Industrial Control Systems

F²MC-16FX FAMILY ALL SERIES STANDBY MODES & POWER MANAGEMENT 16-BIT MICROCONTROLLER APPLICATION NOTE. Fujitsu Microelectronics Europe Application Note

Real Time Operating Systems and Middleware

Real-time HOOD. Analysis and Design of Embedded Systems and OO* Object-oriented Programming Jan Bendtsen Automation and Control

CS4514 Real-Time Systems and Modeling

AirTight: A Resilient Wireless Communication Protocol for Mixed- Criticality Systems

Deckblatt. APL Operator Guide SIMATIC PCS 7. Application description June Applikationen & Tools. Answers for industry.

Chapter 11. High Availability

Introduction to Formal Methods

MindSphere. Fleet Manager. Introduction to "Fleet Manager" 1. User interface for "Fleet Manager" 2. User rights in "Fleet Manager" 3.

A Study on Embedded Operating Systems for Automotive Electronics

SIP System Features. SIP Timer Values. Rules for Configuring the SIP Timers CHAPTER

Lecture 5 Safety Analysis FHA, HAZOP

What are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software

BDTIC

Proportional/Integral/Derivative (PID) Loop Instruction

ABSTRACT BACKGROUND PSIG 05B3

Impact of Runtime Architectures on Control System Stability

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system

Application Note, V1.0, Aug AP08064 XC866/886/888. Safeguarding the Microcontroller under Out-of-Spec Noise Conditions.

Configuring the Embedded Event Manager

SIP System Features. SIP Timer Values. Rules for Configuring the SIP Timers CHAPTER

The Safe State: Design Patterns and Degradation Mechanisms for Fail- Operational Systems

Lecture 7: Requirements Modeling III. Formal Methods in RE

A Longitudinal Control Algorithm for Smart Cruise Control with Virtual Parameters

RE for Embedded Systems - Part 1

Verification and Test with Model-Based Design

DOCUMENTATION FOR PC EMERGENCY CONTROL DEVICE USB WATCHDOG TIMER

Randomization. Randomization used in many protocols We ll study examples:

Randomization used in many protocols We ll study examples: Ethernet multiple access protocol Router (de)synchronization Switch scheduling

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt

Operating and installation instructions Differential pressure monitor

Petri Nets. Petri Nets. Petri Net Example. Systems are specified as a directed bipartite graph. The two kinds of nodes in the graph:

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Rules for the General Communication Process in ILSA Prepared by: Chris Miller Version:.01 Date: 19 February, 2002

Automation Systems Discrete Event Control Systems and Networked Automation Systems

Weapon System Fault Detection, Isolation, and Analysis using Stateflow

LM76 ±0.5 C, ±1 C, 12-Bit + Sign Digital Temperature Sensor and Thermal Window Comparator with Two-Wire Interface

Configuring and Managing Embedded Event Manager Policies

Synergy Controller App Note 56

SysML Modeling Guide for Target System

Use of the application program. Contents overview. GAMMA instabus Application program description. August 2012

Leveraging Formal Methods for Verifying Models and Embedded Code Prashant Mathapati Application Engineering Group

Safety-critical embedded systems, fault-tolerant control systems, fault detection, fault localization and isolation

COMPLEX EMBEDDED SYSTEMS

SCADAPack E Data Processing Technical Reference

User Guide Supplement Modbus TM Serial Data Communications Option IM/C100 MOD_6. /8 DIN Process Indicators and Controllers C100, C150, C160 and V100

FANCOIL CONTROLLER UNIT TC17B01KNX. Product Handbook

Congestion Avoidance. Finding Feature Information

ni.com Best Practices for Architecting Embedded Applications in LabVIEW

The Service Availability Forum Platform Interface

Formal Analysis of Timing Effects on Closed-loop Properties of Cyber Physical Systems

Service & Support. Which dependencies exist between the safety functions of the SINAMICS S120 drive system? Technology CPU.

Applications of Program analysis in Model-Based Design

Pack Manager Program System Design Document

Unit 3 : Process Management

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

Traditional Approaches to Modeling

Manage User Features

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux

Transcription:

Subsystem Hazard Analysis (SSHA) c "!$#%! Examine subsystems to determine how their Normal performance Operational degradation Functional failure Unintended function Inadvertent function (proper function but at wrong time or in wrong order) could contribute to system hazards. Determine how to satisfy design constraints in subsystem design. Validate the subsystem design satisfies safety design constraints and does not introduce previously unidentified hazardous system behavior. c "!$# & Software Hazard Analysis A form of subsystem hazard analysis. Validate that specified software blackbox behavior satisfies system safety design constraints. Check specified software behavior satisfies general software system safety design criteria. Must perform on ALL software, including COTS.

State Machine Hazard Analysis c "!$# ' Like system hazard analysis, software (subsystem) hazard analysis requires a model of the component s behavior. Using code is too hard and too late. Software is too complex to do analysis entirely in one s head. Formal models are useful, but they need to be easily readable and usable without graduate level training in discrete math. Only a small subset of errors are detectable by automated tools: the most important ones require human knowledge and expertise. Mathematical proofs must be understandable (checkable) by application experts. Hazard analysis process requires that results can be openly reviewed and discussed. State Machine Hazard Analysis (2) c "!$# ( State machines make a good model for describing and analyzing digital systems and software. Match intuitive notions of how machines work (e.g., sets do not) Have a mathematical basis so can be analyzed and graphical notations that are easily understandable. Previous problems with state explosion have been solved by "meta modeling" languages so complex systems can be handled. Some analyses can be automated and tools can assist human analyst to traverse (search) model. Our experience is that assisted search and understanding tools are the most helpful in hazard analysis. Completely automated tools have an important but more limited role to play.

Example of a State Machine Model c "!$# ) Reading at set point / Close drain pipe Water level high Reading at setpoint / Turn off pump Water level at setpoint High reading / Open drain pipe Water level low Low reading / Activate pump Requirements Validation c "!$# # Requirements are source of most operational errors and almost all the software contributions to accidents. Much of software hazard analysis effort therefore should focus on requirements. Problem is dealing with complexity 1) Use blackbox models to separate external behavior from complexity of internal design to accomplish the behavior. 2) Use abstraction and metamodels to handle large number of discrete states required to describe software behavior. Do not have continuous math to assist us But new types of state machine modeling languages drastically reduce number of states and transitions modeler needs to describe.

Cruise Control Off cruise control turned on / initialize cc Cruise Control On and in Standby Mode increase speed commanded / send command to throttle to increase at X rate brake depressed or accelerator depressed / discontinue cruise control Increasing Speed set point reached / reduce throttle Maintaining Speed read wheel turning rate / adjust throttle

Blackbox specifications c *!$# + Provide a blackbox statement of software behavior: Permits statements only in terms of outputs and externally observable conditions or events that stimulate or trigger those outputs. trigger output (double implication) Complete trigger specification must include full set of conditions that may be inferred from existence of specified output. Such conditions represent the assumptions about the environment in which program or system is to operate. Thus the specification is the input to output function computed by the component, i.e., the transfer function. Internal design decisions are not included. Process Models c *!$#, Define required blackbox behavior of software in terms of a state machine model of the process (plant). Sensors Measured variables Process inputs Human Supervisor Model of Process Model of Automation Controls Displays Automated Controller Model of Process Controlled Process Disturbances Actuators Controlled variables Process outputs

c "!$# - Level 3 Specification (modeling) language goals Readable and reviewable Minimize semantic distance Minimal (blackbox) Easy to learn Unambiguous and simple semantics Complete Can specify everything need to specify Analyzable Executable Formal (mathematical) foundation Includes human actions Assists in finding incompleteness c "!$+. SpecTRM RL Combined requirements specification and modeling language A state machine with a more readable notation on top of it Includes a task modeling language Could add other notations and visualizations of state machine Enforces or includes most of completeness criteria Supports specifying systems in terms of modes Control modes Operational modes Supervisory modes Display modes

Model of Process c "!$+%! Process is modeled using state variables Traffic Density Low Average High Unknown Schedule Slot [1...90] Available Aircraft Scheduled Blocked Unknown Values of state variables given by AND/OR tables c "!$+ & Environment Sensor Measured Variable 1 Measured Variable 2 Component SUPERVISORY MODE INFERRED SYSTEM OPERATING MODES Supervisor Control Input CONTROL MODES INFERRED SYSTEM STATE Control Command Controlled Device Display Output Measured Variable (Feedback)

Digital Altimeter Digital Altimeter Analog Altimeter altitude status altitude status altitude status Pilot Interface Inhibit Signal Reset Signal Altitude Switch Power-on Signal Device of Interest (DOI) DOI Status Signal Strobe Watchdog Timer

Analog Altimeter Digital Altimeter 1 Digital Altimeter 2 Analog-Alt-Signal {Below,Above} Analog-Alt-Status {Invalid,Valid} DA1-Alt-Signal {-50..2500} INT DA1-Status-Signal {Fail,NCD,Test,Norm} DA2-Alt-Signal {-50..2500} INT DA2-Status-Signal {Fail,NCD,Test,Norm} Altitude Switch Cockpit Fault Indicator Lamp On Off Inhibit {On,Off} Reset {T,F} SUPERVISORY MODE Cockpit Controls CONTROL MODES Startup Operational Fault Detected INFERRED SYSTEM STATE Analog-Alt Valid Invalid Unknown Aircraft Altitude Below-threshold At-or-above-threshold Unknown Cannot-be-determined Dig1-Alt Valid Invalid Unknown Dig2-Alt Valid Invalid Unknown DOI-Power-On {High} Device of Interest (DOI) Not Inhibited DOI-Status DOI-status-signal {On, Off} Inhibited On Off Unknown Fault-detected Watchdog-Strobe {High} Watchdog Timer

Output Command DOI-Power-On Destination: DOI Acceptable Values: {high} Initiation Delay: 0 milliseconds Completion Deadline: 50 milliseconds Exception-Handling: (What to do if cannot issue command within deadline time) Feedback Information: Variables: DOI-status-signal Values: high (on) Relationship: Should be on if ASW sent signal to turn on Min. time (latency): 2 seconds Max. time: 4 seconds Exception Handling: DOI-Status changed to Fault-Detected Reversed By: Turned off by some other component or components. Do not know which ones. Comments: I am assuming that if we do not know if the DOI is on, it is better to turn it on again, i.e., that the reason for the restriction is simply hysteresis and not possible damage to the device. References: This product in the family will turn on the DOE only when the aircraft descends below the threshold altitude. Only this page needs to change for a product in the family that is triggered by rising above the threshold. CONTENTS = discrete signal on line PWR set to high TRIGGERING CONDITION Control Mode State Values Operational Not Inhibited DOI-Status = On Altitude = Below-threshhold Prev(Altitude) = At-or-above-threshold T T F T T

Output Command Watchdog-Strobe Destination: Watchdog Timer Acceptable Values: high signal (on) Min-Time-Between-Outputs: 0 Max-Time-Between-Outputs: 200 msec PERIOD Exception-Handling: Feedback Information: None Reversed By: Not necessary Comments: References: CONTENTS = High signal on line WDT TRIGGERING CONDITION Operating Mode Operational T Startup T Inhibited T State Values Time <= (Time sent Watchdog Strobe) + 200 msec T T DOI-Status = Fault-detected Time >= (Time entered Altitude.Cannot-be-determined) + 2 DL secs. F F.

c "!$+ ' Requirements Analysis Model Execution, Animation, and Visualization Completeness State Machine Hazard Analysis (backwards reachability) Software Deviation Analysis Human Error Analysis Test Coverage Analysis and Test Case Generation Automatic code generation? c "!$+ ( Model Execution and Animation SpecTRM RL models are executable. Model execution is animated Results of execution could be input into a graphical visualization Inputs can come from another model or simulator and output can go into another model or simulator.

Requirements Completeness c "!$+ ) Most software related accidents involve software requirements deficiencies. Accidents often result from unhandled and unspecified cases. We have defined a set of criteria to determine whether a requirements specification is complete. Derived from accidents and basic engineering principles. Validated (at JPL) and used on industrial projects. Completeness: Requirements are sufficient to distinguish the desired behavior of the software from that of any other undesired program that might be designed. Requirements Completeness Criteria (2) c "!$+ # How were criteria derived? Mapped the parts of a control loop to a state machine I/O I/O Defined completeness for each part of state machine States, inputs, outputs, transitions Mathematical completeness Added basic engineering principles (e.g., feedback) Added what have learned from accidents

c "!$+ + Requirements Completeness Criteria (3) About 60 criteria in all including human computer interaction. (won t go through them all Startup, shutdown Mode transitions Inputs and outputs Value and timing Load and capacity Environment capacity Failure states and transitions Human computer interface they are in the book) Robustness Data age Latency Feedback Reversibility Preemption Path Robustness Most integrated into SpecTRM RL language design or simple tools can check them. Startup and State Completeness c "!$+, Many accidents involve off nominal processing modes, including startup and shutdown and handling unexpected inputs. Examples of completeness criteria in this category: The internal software model of the process must be updated to reflect the actual process state at initial startup and after temporary shutdown. The maximum time the computer waits before the first input must be specified. There must be a response specified for the arrival of an input in any state, including indeterminate states.

c "!$+ - Failure States and Transition Criteria Need to completely specify: Off nominal states and transitions Performance degradation Communication with operator about fail safe behavior Partial shutdown and restart Hysteresis in transitions between off nominal and nominal Most accidents occur while in off nominal processing modes. c "!$,. Input and Output Variable Completeness At blackbox interface, only time and value observable to software. So triggers and outputs must be defined only as constants or as the value of observable events or conditions. Criteria: All information from the sensors should be used somewhere in the specification. Legal output values that are never produced should be checked for potential specification incompleteness.

c "!$,%! Trigger Event Completeness Behavior of computer defined with respect to assumptions about the behavior of the other parts of the system. A robust system will detect and respond appropriately to violations of these assumptions (such as unexpected inputs). Therefore, robustness of software built from specification will depend on completeness of specification of environmental assumptions. There should be no observable events that leave the program s behavior indeterminate. Why need to document and check all assumptions? Formal Robustness Criteria To be robust, the events that trigger state changes must satisfy the following: 1. Every state must have a behavior (transition) defined for possible input. 2. The logical OR of the conditions on every transition out of every state must form a tautology. x < 5 x > 5 c "!$, & 3. Every state must have a software behavior (transition) defined in case there is no input for a given period of time (a timeout). Together these criteria guarantee handing input that are within range, out of range, and missing.

c "!$, ' Nondeterminism Criterion The behavior of the requirements should be deterministic (only one possible transition out of a state is applicable at any time). X > 0 X < 2 We (and others) have tools to check specifications based on state machines for robustness, consistency, and nondeterminism. NOTE: This type of mathematical completeness is NOT enough. e.g., true is a mathematically complete, consistent, and deterministic specification. Value and Timing Assumptions c "!$, ( Examples: All inputs should be checked and a response specified in the event of an out of range or unexpected value. All inputs must be fully bounded in time and the proper behavior specified in case the limits are violated. Minimum and maximum load assumptions... A minimum arrival rate check should be required for each physically distinct communication path. Software should have the capability to query its environment with respect to inactivity over a given communication path. Response to excessive inputs (violations of load assumptions) must be specified.

c "!$, ) Human Computer Interface Criteria For every data item displayable to a human, must specify: 1. What events cause this item to be displayed? 2. What events cause item to be updated? If so, what events should cause the update? 3. What events should cause the display to disappear? For queues need to specify: 1. Events to be queued 2. Type and number of queues to be provided (alert and routine) 3. Ordering scheme within queue (priority vs. time of arrival) 4. Operator notification mechanism for items inserted in the queue. 5. Operator review and disposal commands for queue entries. 6. Queue entry deletion. c "!$, # Environment Capacity Constraints Examples: For the largest interval in which both input and output loads are assumed and specified, the absorption rate of the output environment must equal or exceed the input arrival rate. Contingency action must be specified when the output absorption rate limit will be exceeded.

c "!$, + Data Age Criteria All inputs used in specifying output events must be properly limited in the time they can be used. Output commands that may not be able to be executed immediately must be limited in the time they are valid. Incomplete hazardous action sequences (transactions) should have a finite time specified after which the software should be required to cancel the sequence automatically and inform the operator. Revocation of partially completed transactions may require: 1. Specification of multiple times and conditions under which varying automatic cancellation or postponement actions are taken without operator confirmation. 2. Specification of operator warnings to be issued in case of such revocation. c "!$,, Latency Criteria Latency is the time interval during which receipt of new information cannot change an output even though it arrives prior to output. Influenced by hardware and software design (e.g., interrupt vs. polling) Cannot be eliminated completely. Acceptable length determined by controlled process. Subtle problems when considering latency of HCI data. (see book for criteria)

c "!$, - Feedback Criteria Basic feedback loops, as defined by the process control function, must be included in the requirements along with appropriate checks to detect internal or external failures or errors. Examples: There should be an input that the software can use to detect the effect of any output on the process. Every output to which a detectable input is expected must have associated with it: 1. A requirement to handle the normal response 2. Requirements to handle a response that is missing, too late, too early, or has an unexpected value. Path Criteria c "!$-. Paths between states are uniquely defined by the sequence of trigger events along the path. Transitions between modes are especially hazardous and susceptible to incomplete specification. REACHABILITY Required states must be reachable from initial state. Hazardous states must not be reachable. Complete reachability analysis often impractical, but may be able to reduce search by focusing on a few properties or using backward search. Sometimes what is not practical in general case is practical in specific cases.

c / 0 1 0 2 3 45*6$7%6 Path Criteria (2) RECURRENT BEHAVIOR Most process control software is cyclic. May have some non cyclic states (mode change, shutdown) Required sequences of events must be specified in and limited by transitions in a cycle. Inhibiting state: State from which output cannot be generated. There should be no states that inhibit later required outputs. REVERSIBILITY PREEMPTION Path Criteria (3) c / 0 1 0 2 3 45*6$7 8 PATH ROBUSTNESS Soft failure mode: The loss of ability to receive input X could inhibit the production of output Y Hard failure mode: The loss of ability to receive input X will inhibit the production of output Y Soft and hard failure modes should be eliminated for all hazard reducing outputs. Hazard increasing outputs should have both soft and hard failure modes. Multiple paths should be provided for state changes that maintain safety. Multiple inputs or triggers should be required for paths from safe to hazardous states. CONSTRAINT ANALYSIS

; ; c / 0 1 0 2 3 45"6$7 F 9 3 : <= > 0?= @ = > AB 4 = C D 2 E 2 State Machine Hazard Analysis Start from a hazardous configuration in the model (violates safety design constraint) Trace backward until get enough information to eliminate it from design. Natasha Neogi has extended to hybrid models. Human Error Analysis c / 0 1 0 2 3 45"6$7 G 9 3 : <= > 0?= @ = > AB 4 = C D 2 E 2 General requirements and design criteria Hazard analysis for specific hazards Mode Confusion and other Analysis Want to look at interaction between human controllers and the computer Have designed an operator task modeling language using same underlying formal model. Can be executed and analyzed along with other parts of model.

; ; c / 0 1 0 2 3 45"6$7 H 9 3 : <= > 0?= @ = > AB 4 = C D 2 E 2 Operator Task Models To ensure safe and efficient operations, must look at the interaction between the human controllers and the computer. Use same underlying formal modeling language. Designed a visual representation more appropriate for the task modeling. Can be executed and analyzed along with other parts of the model. c / 0 1 0 2 3 45"6$7 I 9 3 : <= > 0?= @ = > AB 4 = C D 2 E 2 Executable Specifications as Prototypes Easily changed At end, have specification to use Can be reused (product families) Can be more easily reviewed If formal, can be analyzed Can be used in hardware in the loop or operator in the loop simulations..