-
摘要:
“系统理论事故模型与过程”(STAMP)理论认为系统安全是系统的涌现属性,因此,更准确地揭示了现代复杂系统的危险成因。依据该理论构建的“系统理论过程分析”(STPA)是一种新型危险分析方法,得到越来越多的关注,目前已被多份国际标准所采纳。但STPA仍以人工分析为主,当系统较复杂时,损失场景呈现涌现特性,STPA难以识别这类损失场景。提出改进的STPA,澄清了不安全控制动作(UCA)、损失场景、过程模型等概念,利用状态机构建识别UCA和损失场景所需要的全部行为,利用模型检测技术识别时间相关或不相关UCA的损失场景,改进后的STPA具备准确识别涌现损失场景的能力,可以减少“漏报”或“误报”。
Abstract:System-theoretic accident model and processes (STAMP), which considers system safety as an emergent property of systems, provides a more accurate accident/loss causality model for modern complex systems. System-theoretic process analysis (STPA), a new approach to risk analysis based on STAMP, is getting more and more attention and is now included in several international standards. However, STPA is mainly conducted manually, so it is difficult to identify the loss scenarios emerging in complex systems. In this paper, we clarify the concepts of unsafe control action (UCA), loss scenario, and process model, and use finite state machines to construct all the behaviors needed for the identification of either UCAs or loss scenarios. Meanwhile, Model checking technology is employed to identify loss scenarios for time-dependent and time-independent UCAs. The improved STPA is capable of accurate identification of loss scenarios, while reducing the probability of missed identification or false identification.
-
表 1 ISTPA和HSTPA的主要差异
Table 1. Main differences between ISTPA and HSTPA
HSTPA ISTPA 改进原因 第1步确定分析目标 第1步确定分析目标 第2步构建控制结构模型。①采用框、线元素描述部件之间的层级化控制结构,包括部件及部件之间的命令、反馈等信息。②需要额外构建过程模型,过程模型仅有静态信息 第2步构建系统状态机。
①识别UCA和损失场景所需要的全部行为通过有限状态机构建。②不单独构建过程模型,认为过程模型包括动态行为,并包含于控制器的有限状态机中①HSTPA所使用的描述方式虽然直观易懂,但主要描述静态信息,对系统行为的描述能力不足。为了弥补这项不足,ISTPA通过有限状态机构建系统动态行为信息。
②第4步将采用模型检测技术识别损失场景。模型检测技术使用有限状态机,在本步使用有限状态机将有助于生成模型检测所需要的模型,减少工作量和语义偏差。
③SysML、AADL、AltaRica等有代表性的语言和工具都具有状态机建模能力。使用状态机有助于降低建模难度,复用已有模型,促进STPA与现有系统工程融合。
④通过状态机构建识别UCA或损失场景所需要的全部行为,以支持系统涌现分析。
⑤控制器的运行不仅需要被控过程的静态信息,也需要动态信息,因此,将过程模型的行为也纳入控制器的有限状态机第3步识别不安全控制动作。 ①从第2步中的框线模型提取UCA识别所需要的信息。②未明确UCA是否为一种状态,也未明确UCA的组成元素CA是被控过程接收的CA还是控制器发出的CA 第3步识别不安全控制动作。
①从第2步中的有限状态机模型提取UCA识别所需要的信息。
②将UCA定义为一种状态,并使用被控过程接收到的CA作为UCA定义的组成元素①由于第2步建模方法改变,因此识别UCA所需信息的来源也相应地发生改变。
②HSTPA有时把UCA当做状态,有时又认为UCA存在于控制器的输出端,存在歧义。因此ISTPA明确UCA是一种状态,以方便将其转换成待检测性质。
③UCA所使用的CA应当是指被控过程接收到的CA。当存在传感器时,被控过程接收到的CA不同于控制器发送的CA,因为CA在经过传感器时可能发生变化。UCA与系统危险密切相关,需要与系统状态直接联系,因此,其定义所使用的控制动作应当是被控过程接收到的控制动作,而不应该是控制器发送的控制动作第4步识别损失场景。①损失场景
的定义:描述了导致UCA和危险的
致因因素。②采用人工方式识别损
失场景第4步识别损失场景。①损失场
景的定义:系统在致因因素的参
与下产生UCA和系统级危险的过
程。②采用模型检测技术识别
损失场景①HSTPA的损失场景仅描述相关致因因素是不充分的,难以在实际系统或仿真系统中验证。损失场景还应当描述致因因素怎样导致UCA和危险。
②模型检测技术可以自动提供反例,该反例与损失场景具有对应关系。
③由于模型检测技术是一种数学证明技术,因此ISTPA所获得的损失场景更加准确,可以减少损失场景的“漏报”或“误报”。
④可以利用模型检测技术识别时间相关和不相关UCA的损失场景表 2 SysML系统状态机图中的全局变量
Table 2. Global variables in SysML state machine diagram
变量名 变量
类型取值
范围初始值 说明 tDoorOpening Clock 记录列车门开门时间 tDoorClosing Clock 记录列车门关门时间 controllerOutput int {0,1} 0 控制器发出的用于控制列车门
开门或关门的命令,0为关门
命令,1为开门命令表 3 潜在不安全控制动作分析结果
Table 3. Analysis results of potential UCAs
ID Hazard 说明 1 H1 第一步已标识的危险 2 无 无 $\vdots $ $\vdots $ $\vdots $ 55 H2 新危险 56 无 无 $\vdots $ $\vdots $ $\vdots $ 64 无 无 表 4 更新后全局变量
Table 4. Updated global variables
变量名 变量类型 取值范围 初始值 说明 tDoorOpening Clock 记录列车门开门时间 tDoorClosing; Clock 记录列车门关门时间 actuatorOutput int {0,1} 0 表示作动器发出开门或关门信号后的作动器状态信息
当作动器发出开门信号synActuatorOutputOpenAction,actuatorOutput置1;
当作动器发出关门信号synActuatorOutputCloseAction,actuatorOutput置0doorSensorOutput int {0,3} 0 表示列车门传感器输出的列车门状态信息,0表示关闭,
1表示开门过程,2表示打开,3表示关门过程blockSensorOutput int {0,1} 0 表示障碍物传感器给列车门控制器发送的障碍物状态
信息,0表示无障碍物,1表示有障碍物 -
[1] LEVESON N. Introduction to STAMP [EB/OL]. (2020-07-20) [2021-04-19]. http://psas.scripts.mit.edu/home/wp-content/uploads/2020/07/STAMP-Tutorial.pdf. [2] LEVESO N, THOMAS J. STPA handbook [EB/OL]. (2018-03-15) [2021-04-19].https://psas.scripts.mit.edu/home/materials/. [3] Radio Technical Commission for Aeronautics. Airworthiness security methods and considerations: RTCA DO 356A[S]. 2018. [4] International Organization for Standardization. Road vehicles-safety of the intended functionality: ISO/PAS 21448[S]. 2019. [5] THOMAS J. Extending and automating a systems-theoretic hazard analysis for requirements generation and analysis[D]. Massachusetts: Massachusetts Institute of Technology, 2013: 19-23. [6] ASARE P, LACH J, STANKOVIC J A. FSTPA-I: A formal approach to hazard identification via system theoretic process analysis[C]//Cyber-Physical Systems (ICCPS), 2013 ACM/IEEE International Conference on. New York: ACM, 2013: 150-159. [7] ABDULKHALEQ A, WAGNER S. Integrating state machine analysis with system-theoretic process analysis[C]//Software Engineering 2013 – Workshopband. Bonn: Gesellschaft für Informatik e. V. , 2013: 501-514. [8] SUO D. Tool-assisted hazard analysis and requirement generation based on STPA[D]. Massachusetts: Massachusetts Institute of Technology, 2016: 48-57. [9] CHEN M, WANG L, HU J, et al. An extraction method of STPA variable based on four-variable model[C]//International Conference on Intelligent and Interactive Systems and Applications. Berlin: Springer, 2018: 375-381. [10] ABDULKHALEQ A, WAGNER S. Integrated safety analysis using systems-theoretic process analysis and software model checking[C]//International Conference on Computer Safety, Reliability, and Security. Berlin: Springer, 2014: 121-134. [11] HOWARD G, BUTLER M, COLLEY J, et al. A methodology for assuring the safety and security of critical infrastructure based on STPA and Event-B[J]. International Journal of Critical Computer-Based Systems, 2019, 9(1-2): 56-75. [12] DAKWAT A L, VILLANI E. System safety assessment based on STPA and model checking[J]. Safety Science, 2018, 109: 130-143. doi: 10.1016/j.ssci.2018.05.009 [13] CLARKE E M, HENZINGER T A, VEITH H, et al. Handbook of model checking[M]. Berlin: Springer, 2018: 75-148. [14] 夏宇. 基于NuSMV和STPA的RBC交接场景安全分析方法研究[D]. 北京: 北京交通大学, 2018: 27-32.XIA Y. Research on safety analysis method for RBC handover based on NuSMV and STPA[D]. Beijing: Beijing Jiaotong University, 2018: 27-32(in Chinese). [15] 李浩. 基于STAMP理论的机载显示系统安全性分析方法研究[D]. 天津: 中国民航大学, 2020: 13-17.LI H. Research on safety analysis method of airborne display system based on the STAMP theory[D]. Tianjin: Civil Aviation University of China, 2020: 13-17(in Chinese).