丁治敏
(北京全路通信信号研究设计院集团有限公司,北京 100070)
高速铁路信号系统是确保高速列车运营安全和高效运行的关键装备。通过科学有效的安全分析手段,找出高铁信号系统的潜在危险因素,进而保障高铁信号系统的安全性,对于国内高速铁路的健康发展至关重要。
由于新技术的引入,高铁信号系统拥有复杂的系统结构和交互关系,给以往传统的危险分析方式带来了难度。针对此问题,基于系统理论事故致因模型及过程(Systems-Theoretic Accident Model and Process,STAMP)成为解决复杂高铁信号系统安全分析的一种有效手段。使用STAMP理论对高铁信号系统进行安全分析的起点和基础是建立系统的STAMP 模型。高铁信号系统具有复杂的结构和功能,各子系统间又存在错综复杂的信息交互关系。显然,如果建模语言没有较强且准确的表达能力,很难仅凭分析人员的自然语言表述来构建准确的安全分析模型。然而,现阶段基于STAMP 模型进行安全分析,基本都采用自然语言的方式对控制结构进行刻画,自然语言虽然便于人们沟通、交流,但容易产生歧义或表述不清的问题。虽然有研究采用具有严格数学语义的形式化方法(Formal Method)刻画STAMP 模型,但是形式化方法包含复杂的数学概念和公式,不易理解和使用,限制了其在工程界的广泛应用。
考虑到统一建模语言(Unified Modeling Language,UML)作为一种已被工程界广泛接受的图形化建模语言,具有易于使用、表达能力强的特点,而且相比于自然语言具有精确的元模型定义。采用UML 对STAMP 模型进行刻画,能够有效解决基于自然语言的STAMP 模型歧义和二义性问题。尽管现有UML 建模机制无法直接刻画STAMP 模型,但UML 提供针对自身的扩展机制,用户可以根据建模对象的特点对传统的UML 进行扩展,使其能够充分刻画建模对象。因此本文利用UML 的扩展机制对现有UML 进行扩展,使其能够描述高铁信号系统的STAMP 模型,从而保障高铁信号系统安全分析建模阶段的准确性。
对UML 进行扩展的目的是刻画STAMP 模型,即分层控制结构,因此首先要明确高铁信号系统STAMP 模型的特征元素。归纳该结构的特征要素,然后针对这些要素进行UML 扩展。高铁信号系统STAMP 模型中,有以下几种重要元素。
1) 控制器:控制器或者说控制者在控制结构中起到发出控制命令的作用。而控制器生成控制命令的过程还要依赖下面两种元素。
过程模型:过程模型是控制器对于当前被控过程或被控对象的知识集合,起到数据库的作用。过程模型主要包含过程变量(被控对象的当前状况、控制过程相关的环境情况)、各类变量之间的关系(控制过程要遵守的规则)、以及改变被控对象状态的方式。
控制算法:控制算法是控制者根据过程模型生成控制行为的具体流程。
2) 执行器:执行器是将控制命令下达给被控对象的结构。当然,在某些情况下,如果执行器不属于被分析的系统且可以假设始终正常工作,可以忽略执行器。
3) 传感器:传感器是将被控对象的当前状态信息反馈给控制器的结构,主要作用是更新控制器过程模型,使过程模型始终反映最新的被控对象情况。
4) 被控对象:在某一控制环路中,被控对象是根据控制命令执行相关活动的结构。因此,从分层控制结构的角度来看,某一环路的控制器有可能是上一级环路的被控对象。
5) 关系:在控制结构中,控制器与被控对象之间存在控制关系和反馈关系,不同的控制器之间存在信息交互关系。
UML 作为一种通用的建模语言,只能对不同领域间共性的元素进行刻画,无法充分描述具体领域或特定对象的特有元素。因此,需要利用UML 提供的扩展机制对其进行扩展,使其能够刻画相应的元素。本节在第2 节所分析的STAMP 特征元素的基础上,使用UML 扩展机制中构造型(Stereotype)的方式对UML 进行面向STAMP 的扩展。
类是对那些具有相同性质对象的抽象描述。可以将控制器抽象为一种类的概念。类似的,STAMP模型中执行器、传感器以及被控对象均可以类的形式存在。考虑到标准UML 中使用“Class”来对类进行标识,因此针对上述STAMP 的特征元素,分别用控制器类(controllerClass)、执行器类(actuatorClass)、传感器类(sensorClass)以及被控对象类(objectClass)进行标识。上述STAMP 元素类均是在UML 类的元模型基础上扩展而来,下面分别对其进行介绍。
控制器类:控制器类继承自标准UML 的类,从而控制器类具备UML 类的特征。另外,在分层控制结构中,控制器对被控对象进行控制的前提是了解被控对象且具备控制算法,因此在控制器类的元模型中,控制器类还有同时关联控制算法(Control algorithm)和过程模型(Process model)。 其 中, 控 制 算 法 是 状 态 机(State machine)的泛化,即控制算法以状态图的形式呈现。在元模型中,如果两个元素是一一对应的关系,那么连接线上的数量值可以省略,因此如图1 所示,一个控制器类有唯一的控制算法和过程模型。另外,过程模型也是扩展出的新元素,根据STAMP 的内容,过程模型包含变量、变量关系以及改变状态的方式等3 方面的内容,具体的扩展见下述内容。
图1 控制器类的构造型Fig.1 Stereotype of controller class
过程模型:如前所述,过程模型是控制器对于当前被控过程或被控对象的知识集合,起到数据库的作用。因此,过程模型的元模型主要包括3 方面内容:1)过程模型的变量,进一步,变量又可分为系统变量和环境变量;2)变量间的关系,刻画了不同变量值的相互制约关系;3)状态改变方式。具体的过程模型的构造型如图2 所示。
图2 过程模型的构造型Fig.2 Stereotype of process model
图2 给出了过程模型的构造型,但不同于控制器类在实例化时采用UML 类图的形式,过程模型的实例化采用对控制器进行约束的形式。具体来讲,采用对象约束语言(Object Constraint Language,OCL)进行过程模型实例化描述,同时实例化的过程模型作为控制器的一种约束。过程模型的这种实现形式符合UML2.0 标准关于推荐OCL 作为UML 约束补充的建议。另外,OCL 作为一种规范的说明性语言,具有准确的语义和语法,与UML 语言结合使用能够消除自然语言可能带来的歧义和描述不清的问题。
执行器类、传感器类与被控对象类:与控制器类类似,这3 种“类”也继承自标准UML 的类,从而具备UML 类的特征。具体的这3 种类构造型如图3 所示。
前面针对STAMP 模型中的各个实体元素,扩展了UML 的类图。而这些实体之间还存在各种关系,比如控制器与被控对象间的控制关系、反馈关系、控制器之间的交互关系等。考虑到标准UML 的基础包定义了关系元素,因此可以在关系元素的基础上对STAMP 模型中的各种关系进行扩展,从而实现对STAMP 模型中关系的扩展,如图4 所示。另外,在建模时,分别用直线箭头、虚线箭头以及虚点线箭头对控制、反馈及交互进行图形化表示。
图3 执行器类、传感器类和对象类的构造型Fig.3 Stereotypes of actuator class, sensor class and object class
图4 扩展后的关系元模型Fig.4 Extended relationships meta model
以“在区间运行时,车载设备获得行车许可并监控列车运行的过程”,即列车在区间运行时的“行车许可”场景为案例。同时,考虑到车载子系统与无线闭塞中心(Radio Block Center, RBC)、列车、司机之间的交互、以及RBC 与RBC、CTC 与调度员之间交互,足以代表高铁信号系统内部以及与外部环境的主要交互特征。因此,选取车载子系统、RBC、CTC 代表高铁信号系统,选取调度员、司机代表高铁信号系统的外部环境。其中,车载子系统考虑车载安全计算机(Vital Computer, VC)、无线通信模块(Radio Transmission Module, RTM)、列车接口单元(Train Interface Unit, TIU)、测速测距单元(Speed and Distance Unit, SDU)等部分。
图5 给出了案例STAMP 模型中UML 类图。该图使用扩展后UML 对研究案例的层次化控制结构进行描述。其中,由图5 可见VC、RBC、CTC、调度员以及司机分别作为各自控制环路的控制器,并且分别具有各自的控制算法和过程模型。而车载设备中的TIU、SDU 以及RTM 分别起到执行器和传感器的作用。由于调度员、司机作为系统的外部环境,因此与它们相关的控制环路作简化处理,不再深入讨论其中的执行器和传感器。限于篇幅,本文仅以RBC 子系统为例,展示其过程模型及控制算法模型,如图6 所示。其他子系统如CTC、VC 等均具有类似模型成分。
图5 研究案例STAMP模型中的UML类图Fig.5 Diagram of UML class in STAMP model of research case
本文从高速铁路信号系统安全分析建模工作的实际工程需求出发,提取高铁信号系统STAMP模型的特征元素,明确UML 的扩展需求。在此基础上,利用UML 的扩展机制从“类”和“关系”两个方面对现有的UML 建模能力进行扩展设计,形成面向高铁信号系统STAMP 模型特征的UML。针对高铁信号系统的典型应用场景进行建模,应用结果表明本文设计的面向高铁信号系统STAMP 的UML 建模方法,能够实现对STAMP 模型各项元素的刻画,并通过采用半形式化的描述结构保障了模型的准确性和易用性,这为推动STAMP 框架下高铁信号系统安全分析工作的开展提供了有效的建模方法和语言工具。
图6 研究案例STAMP模型中RBC的过程模型和控制算法Fig.6 Process model and control algorithm of RBC in STAMP model of research case