Information-technology Promotion Agency, Japan
STAMP Workbench logo

Table Of Contents

Previous topic

First step to install STAMP Workbench

Next topic

Reference

STAMP/STPA procedures in STAMP Workbench learned from the First STAMP/STPA

This tutorial describes the STAMP/STPA procedures in STAMP Workbench based on the IPA First STAMP/STPA.

The STAMP/STPA procedures in STAMP Workbench are as follows:

On the system analyzed in this tutorial

The system analyzes the target “Train Control System between stations on single line for the class1 or class 3 level crossing” of the IPA First STAMP/STPA Ver1.0 2016/3.


STPA Procedure Preparations

The STPA Procedure Preparations include the following procedures:

Creating a New Project

Launch STAMP Workbench, then create a project to control the STAMP/STPA analysis model.

To create a new project, select menu File ‣ New.

Hint

Instead of creating a new project, an analysis may be started by opening the project file offered by the organization and using it as a template.

Understanding the Analysis Target System

Once the tool preparations are complete, understand the analysis target system.

Read the requirements specifications well to understand the analysis target system, draw a brief picture, or create a model pointing out the requirements, structures, and behaviors, using SysML or UML. Or read the results, including the model created by the engineering activities, and understand the analysis target system.

As there are varieties of methods to be used, the method is not directly supported in STAMP Workbench, but another tool may be used.

sysml

Confirming the STPA Procedures

Once the analysis target system is understood, start the STAMP/STPA analysis, using STAMP Workbench.

Refer to “STPA Procedure” displayed in the left pane of the tool. The STPA Procedure shows the STAMP/STPA procedures, using this tool. For anyone not accustomed to STPA, it is recommended to follow these procedures to learn the actual process.

STPA Analysis Procedure

Hint

The STPA Procedure is not mandatory. For the well-trained person it is possible to start drawing a Control Structure Diagram, using the diagram menu or structure tree without using the STPA Procedure view.

The structure tree is placed next to the STPA Procedure view. This exhaustively shows the diagrams and models created with the STPA Procedure view or diagram menu, in the tree view.

Structure Tree

STPA Procedure STEP 0 Preparation 1

The STPA Procedure STEP 0 Preparation 1 includes the following procedures:

STEP 0 Preparation 1 Determining the Preconditions

Once the analysis target system is understood, determine the process and preconditions of the system in the analysis range as a part of the work of clarifying it. This procedure is also described in “4.1 Determining Preconditions on page 13 of the First STAMP/STPA”.

Many suppositions or preconditions, for example, such as using the railroad-crossing system of Ver1.2, not including the A component in the analysis range, may be extracted to understand the analysis target system.
Organize such information as a precondition table.
Then add the preconditions.
First, double-click STEP 0 ‣ Preparation 1 ‣ Determine Preconditions in the STPA Procedures. Then the Precondition Table shown below will be displayed.
Precondition Table

Right-click on a cell in the displayed table to select Add Precondition.

Add Precondition

As a precondition is newly created and assigned a generated number, input “A and B are the sensors that trigger the train crossing control system to start the alarm when they detect a running train.“ in Name.

Let’s add other preconditions in the same way.

Preconditions

STEP 0 Preparation 1 Identifying Accidents, Hazards, and Safety Constraints

Understand the analysis target system, determine the suppositions/preconditions, then clarify for which accident the safety analysis is to be executed.

First, decide which accident is to be analyzed and extract the hazards, i.e., system conditions that lead to the accident. At the end, to avoid the accidents, extract the requirements or limitations for maintaining the safety of the analysis target as the safety constraints.

For the concepts and analysis procedures of the accidents, hazards and safety constraints, refer to “4.2 Step 0 Preparation 1 Identifying Accident, Hazard and Safety Constraints on page 15 in Section 2.2 on page 7 of the First STAMP/STPA”.

Create and control a model of the accidents, hazards and safety constraints and control them using the table in the same way as for the preconditions mentioned above. The following accidents, hazards and safety constraints described in the First STAMP/STPA with a series of operations are identified.

Accident, Hazard, Safety Constraint

First, double-click STEP 0 ‣ Preparation 1 ‣ Identifying Accidents, Hazards, and Safety Constraints in the STPA procedure. Then the Accident Hazard Safety Constraint Table shown below will be displayed.

Accident Hazard Safety Constraint Table

Right-click on a cell in the displayed table to select Add Accident.

Add Accident Menu

As a new accident, in the same way as with the preconditions, is created and assigned a generated number, input “Collision with train and cars or people on the crossing”.

Add Accident

Next, to add the hazard that leads to this accident, right-click with a cell in the Hazard row selected to select Add Hazard.

Add Hazard Menu

This time set “Crossing does not close when the train is approaching or passing”.

Add Hazard

Next, to set the safety constraints, right-click with a cell in the Safety Constraints row selected to select Add Safety Constraint.

Set the accidents, hazards, and safety constraints described in the First STAMP/STPA with the same operations.

Accident, Hazard, Safety Constraint

Hint

The hazard that leads to an accident may be the same as that analyzed with another accident. Or, the safety constraint may be extracted with the combination of another accident and hazard. In this case, the existing hazard or safety constraint can be selected with “Select Hazard” or “Select Safety Constraint”.

Select Safety Constraint

Step 0 Preparation 1 Extracting a Components to Analyze

Identify the accidents, hazards and safety constraints, determine the target of analysis, then draw the structure and relationship of analysis target as a diagram or model.

In particular, components that represent the structure configuring the analysis target are drawn in the Control Structure Diagram and the relations among components are shown.

It may be difficult to determine what should be drawn on the control structure. In STAMP Workbench, for supporting creation of a control structure, components to be drawn can be determined using the Component Extracting Table, and according to the results, the control structure can be created.

Then, double-click STEP 0 ‣ Preparation 1 ‣ Extract Components to Analyze in the STPA procedures to display the Component Extracting Table.

The Component Extracting Table is displayed. Right-click on a cell in the displayed table and select Add Component.

As a row for one component is added in the same manner as with the table mentioned above, add “Crossing Control System” and “Alarm, Bar” as components that may be drawn on the control structure.

Componment Extracting Table

Click on the cell to design the control action and feedback for this Crossing Control System for each cell.

For example, to add the control action “Start the alarm” to “Alarm, Bar” from “Crossing Control System”, proceed as follows:

  • Double-click on the cell of the control action of the Crossing Control System.
  • The Control Action dialog is displayed. Click on the Add button.
  • Select “Alarm, Bar” as the Target Component.
  • Set “Start the alarm” in the Control Action.
  • After setting the Control Action and Target Component, click on the OK button to finalize the edit.
CA Dialog

The results of this operation may become as follows:

Add CA

Right-click on the Component Extracting Table to select Generate Control Structure Diagram. Then the Control Structure Diagram shown below will be drawn from the models that have previously been designed.

Control Structure Diagram

Thus the components and their correlations are determined using the table, and the results will be drawn as the Control Structure Diagram.

Hint

This example First STAMP/STPA analyzes and concludes that a train driver is not included as a component.

Determine Component

The Component Extracting Table has “Target” to define the out-of-range parameters of the analysis target. To exclude the train driver from the analysis target, proceed as follows:

Exclude Component

Hint

The relations between an analysis-target component and the outside world can be designed with “I/O” on the Component Extracting Table.

I/O
I/O Component

STPA Procedure STEP 0 Preparation 2

The STPA Procedure STEP 0 Preparation 2 includes the following procedures:

STEP 0 Preparation 2 Draw the Control Structure

The Control Structure Diagram has already been created from the Component Extracting Table. In STAMP Workbench, the STPA procedures by IPA are not mandatory. It is possible to start drawing the STPA with the Control Structure Diagram.

Now draw the control structure shown below that is described in “4.3 Step 0 Preparation 2 Draw the Control Structure” in the First STAMP/STPA in the Control Structure Diagram drawn from the Component Extracting Table.

Control Structure Diagram
First, add the component “Start Sensor A”.
Select Tool Bar – > Component and click on any point on the diagram. Then a component is created. A component can also be created by double-clicking on the diagram.
Component in the toolbar

Input Start Sensor A in the created component directly.

Add Component
The component name can also be set in the property view at the bottom left on the screen as well as on the diagram.
In the property view, details regarding the properties of the model, such as “Responsibility” that describes the responsibility of the component, “Definition” that defines the description, “Process Model” described later, “CA (Control Action)” or “FB (Feedback)” connected to the component, can be confirmed in addition to Name.
Component Property View
Then design the control action “notify Absence” in the Crossing Control System from Start Sensor A.
Select Tool Bar ‣ Link, click on Start Sensor A, and drag it with the mouse to the Crossing Control System.
Link in the toolbar
Add Link

Hint

Using the draw suggest function on a diagram, a control structure can be described without moving the mouse repeatedly on the tool bar on the Link. Click on the line arrow symbol to select a component to be connected, and the link will be created.

Suggest

Clicking on the “>>” symbol of the line arrow enables you to select a link to define the control action or feedback.

Select Suggest
A control action can be added by clicking on the icon “CA” that is displayed by hovering the mouse over the created link. Now set “Notify Absence”.
Control actions can be added, edited, or deleted in the property view by selecting the link.
CA Suggest

Hint

The link line colors of the control action and feedback have been set to red and blue, respectively, as default, as recommended by IPA.

This setting can be changed by selecting Tool ‣ System Properties ‣ Default Item Style ‣ Control Action/Feedback Line Color. Other than color, Line Type can be selected as Solid Line or Dashed Line.

Default Item Style

The control structure is constructed by adding and editing the component, link, control action, and feedback.


STPA Procedure STEP 1

The STPA Procedure STEP 1 includes the following procedures:

STEP 1 Extracting a UCA (Unsafe Control Action)

Once the structure of the analysis target is constructed as a control structure, it is analyzed using the UCA Table as to whether the control action can lead to the hazard/action from a viewpoint of a guide word for each control action.

Then double-click STEP 1 ‣ Identify UCA (Unsafe Control Action) in the STPA procedure.

UCA Table

In the UCA Table, the control actions automatically extracted from the control structure are displayed. For each control action, analyze the viewpoint of the guide word, such as “Not Providing”.

This time if the control action “Start the alarm” is set to Not Providing, input the analysis that the unsafe result of “The train passes the railroad crossing without ringing the alarm” is generated.

  • First, double-click on the cell on which “Start the alarm” and “Not Providing” are crossed. The UCA dialog is displayed. Press “Add UCA”.
  • As a UCA is added, input “Crossing is open while train is passing” in the Text.
  • Double-click on a cell of “Violating Safety Constraint” to select the safety constraint designed with the accident, hazard and safety constraint table that the UCA violates.
  • Finally click on the OK button.
UCA Dialog

With these procedures, the UCA Table is as shown below.

Add UCA

The UCA will be analyzed with these operations.

Hint

To change the order of the control actions in the UCA Table, drag the line and drop it at the desired position.


STPA Procedure STEP 2

The STPA Procedure STEP 2 includes the following procedures:

STEP 2 Extracting HCF - Control Loop Diagram:

Once the UCA is extracted, identify the Hazard Causal Factor for each control action considered as the UCA.

As one of the methods, create a control structure that focuses on the control action considered as the UCA that is named in the Control Loop Diagram with the Control Structure Diagram.

Then double-click STEP 2 ‣ HCF ‣ Control Loop Diagram in the STPA procedures. The alert dialog shown below will be displayed.

Control Loop Alert

As described above, the Control Loop Diagram is created by focusing on a control action. So it is necessary to select the control action or link that is focused on in the Control Structure Diagram.

Then open the Control Structure Diagram and double-click on the Control Loop Diagram of the STPA procedures again with the control action “Start the alarm” selected.

Create Control Loop Diagram

A Control Loop Diagram whose components other than those that are directly related to the selected control actions are omitted as the input/output from/to an external device as shown below, is created.

Control Loop Diagram

In the case of the First STAMP/SPTA, there is no control loop and the HCF analysis is executed with the control structure. However in this tutorial, analysis is executed using the control loop.

One of the HCF analysis methods in the Control Loop Diagram is to analyze the HCF by referring to hint words that may give the hint recommending discard and the control loop.

Click on Tool Bar ‣ Hint Word Set in the Control Loop Diagram.

Then the hint words are displayed, as shown below. While observing the Control Loop Diagram, execute the analysis of whether the causes to lead to a hazard occur or not in the status indicated by each hint word.

Hint Word

Hint

In the Control Loop Diagram (or Control Structure Diagram), the status of the target to be controlled that the controller recognizes can be designed as a process model.

In STAMP Workbench, select a component and right-click Process Model Compartment Visibility. The compartment in which the process model can be designed is displayed.

In the displayed process model compartment, the process variable and process value can be designed by right-clicking or in the property view.

Process Model

Step 2 Identify HCF - HCF Table

Organize the HCF extracted with the procedures mentioned above in the HCF Table.

Double-click STEP 2 ‣ Identify HCF ‣ HCF Table in the STPA procedures.

Then the dialog to select the HCF for which the UCA to be organized is displayed. Select the UCA currently being analyzed in the Control Loop Diagram.

In this dialog, the circle symbol is added to the UCA that created the HCF Table, which enables you to identify the UCA for which the HCF analysis has not been executed.

Select UCA

When the HCF Table is displayed, add an HCF in the same way as in the operations before and create a scenario to lead to the HCF and design for the hint word from which it was extracted.

HCF

STPA Procedure STEP 3

The STPA Procedure STEP 3 includes the following procedures:

STEP 3 Countermeasures

The last STPA procedure is to consider the countermeasures for the extracted HCF.

Double-click Countermeasures in the STPA procedure. Then the Countermeasure Table to design the countermeasures for the extracted HCF is displayed.

Countermeasure Table

Right click on the countermeasures cell of this table and add the countermeasures using Add Countermeasure or set the Target Component by double-clicking on the cell of the Target Component.

These operations will finalize the countermeasures for the HCF.

Countermeasure Table

In STPA, during the UCA analysis, an omission is found in the control structure, and frequently the procedures go back. Execute the STPA analysis with iterative analysis being done as described.