时间:2024-07-28
白 锐,康随武
(兰州交通大学 电子与信息工程学院,兰州 730070)
SCADE在城市轨道交通ATP软件建模中的应用
白 锐,康随武
(兰州交通大学 电子与信息工程学院,兰州 730070)
列车自动防护(ATP)系统是基于通信列车控制 (CBTC) 系统的重要组成部分。车载ATP在列车运行过程中担负列车安全运行的重要任务,是与安全直接相关的系统,需要高的安全性和可靠性。为了满足车载ATP软件对安全的需求,提出了基于模型的软件开发方法对ATP进行建模。应用SCADE作为开发工具,建立了ATP系统部分功能的模型,说明了SCADE在ATP软件建模上的可行性。
列车自动防护;安全相关;SCADE
列车自动防护(ATP)系统是CBTC系统的子系统,它负责列车的安全运行,并在紧急情况下采取措施来保证乘客的安全。ATP子系统连续检测列车的位置,计算列车运行的速度曲线和速度限制,提供给列车移动授权,保证前后车的安全间距及超速防护,控制车门和站台屏蔽门的开关,确保旅客的上下车安全[1]。
SCADE[2](Safety-Critical Application Development Environment)是高安全性应用开发环境,覆盖了嵌入式开发的整个流程,是一个以软件模型设计为中心而非传统的以程序代码为中心的软件开发工具。基于SCADE的软件开发流程从需求出发,用图形化建模的方式来实现概要设计和详细设计,采用基于模型构造系统的设计方法。利用SCADE提供的开发工具,可以从模型自动生成代码,且不必对所生成代码进行单元测试,减少了手工编码和测试工作量,在航空、航天、国防、核电等安全要求极高的领域应用非常广泛。
1.1 传统的软件开发模式
传统的软件开发流程是一个“V”型的开发流程[3],软件开发中所有的工作都是以手工编码和以代码为中心而开展的。包括需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试等7个进程。整个软件开发流程的核心就是软件编码,设计过程中所做需求分析、概要设计、详细设计都是为了下一步的编码。而单元测试、集成测试、软件产品确认都是为了验证代码的正确性,如图1所示。
传统的软件开发流程主要存在以下不足:
(1)概要设计、详细设计以图表、自然语言表达,存在歧义,无法模拟仿真,不能保证正确体现规范要求;
图1 传统的软件“V”型开发流程
图2 基于模型的软件开发流程
(2)软件开发完成之后难免会出现错误,后期修改难度大;
(3)对代码进行单元测试的工作量大;
(4)手工编码可靠性低;
(5)软件开发周期长,开发成本高。
1.2 SCADE基于模型的软件开发模式
基于模型的软件开发模式是一种面向模型的软件设计方法,其基础是模型和表达模型的语言。将目标系统建立满足需求的图形化模型,实现了需求分析、概要设计和详细设计。模型表达比传统开发模式采用的自然语言更能准确地表明设计需求,保证了建立的模型与需求的一致性。并且可以直接对模型进行早期模拟仿真和证明,在软件开发的早期阶段发现错误。SCADE软件就是在这个理念上应运而生的。
根据需求所建立的SCADE 图形化模型包含了软件将实现的所有规范要求,可以将其视为SCADE 形式化功能规范。建模之后需要对模型进行确认,在SCADE 开发环境下可以对模型自动生成测试,在模型阶段对建立的模型进行单元测试和集成测试,确认模型是否正确、完整地体现了其上层规范的需求。
在对模型进行确认后,使用SCADE 的代码生成器,可以将所建立的模型自动转化为直接面向工程的ANSI C代码,简化了开发模式中的“编码”过程,并且避免了传统开发模式中手工编写代码引入的人工错误,提高了软件的可靠性。此外,无需对所生成的代码进行单元测试,节省了开发时间,提高了开发效率。因此,基于SCADE 进行软件开发,使软件开发模式实现了从“V” 型到“Y” 型的转化。基于模型的软件开发模式如图2所示。
2.1 SCADESuite环境
LUSTRE是一种同步程序设计语言,是SCADE系统的核心部分。当应用SCADE开发环境时,需要对系统进行建模,再用设计时所用的图形描述符转化成LUSTRE语言,然后在此基础上完成软件设计过程中的静态检查、模拟仿真、形式验证、覆盖率分析,最后生成满足EN50128安全标准的C代码。
2.2 SCADE的软件建模方法
2.2.1 数据流图
数据流图从数据传递和加工的角度,以图形方式表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具。适用于对系统的过程进行描述,模型用系统的输入输出数据流和图形化的操作符一起搭建模型。
2.2.2 有限状态机
有限状态机用来表示有限个状态以及这些状态之间的转移和动作行为的数学模型。
2.2.3 安全状态机
安全状态机用丰富的形式化方法来处理复杂的结构,适用于离散控制系统。它提供了顺序、优先级、层次、并行的状态结构。安全状态机的图形化方法可以很好的对反应式系统建模,它用一系列的状态、转移和信号来表示反应式系统的控制逻辑。系统的进展用状态和状态之间的转移来表示,转移用信号来触发。
2.3 基于SCADE的ATP功能建模
2.3.1 用数据流图对列车间隔控制进行建模
要测试列车的间隔距离是否在一个安全的范围内,ATP系统要计算列车的移动授权(MA),当列车匹配的进路范围内有通信列车正在运行时,前方列车将被视为障碍物,要确保在前行列车尾部的安全停车点前停车,保证系统内所有列车之前的安全间隔。
计算列车的移动授权,必须先确定列车移动授权的计算范围。移动授权的起点为列车的车尾位置,移动授权的终点是列车前方所有的可能进路。MA首先要进行初始化列车车尾到最远前方可能进路的终点。
确定了列车的移动授权范围之后,遍历前方列车,移动授权的终点也即为前方列车的车尾。如果前方列车失去通信,移动授权的终点要和前方列车所占用的计轴区段间隔至少一个区段。循环遍历前车的SCADE数据流图模型如图3所示。输入列车的信息I_TrainInfo、前车的信息I_FroTrainInfo,判断前车是正常通信的列车Comm_Train或者失去通信的列车UnComm_Train计算MA,最后得出MA信息。
图3 循环遍历前车的SCADE数据流图模型
列车移动授权的信息数据都存储在L_MAInfo1和L_MAInfo2中。输出时,通过该结构体构造出移动授权的具体通信帧。
2.3.2 用数据流图对列车超速防护功能的建模
在列车的运行过程中,车载ATP要连续检测列车的位置和速度,一旦列车超速,ATP系统就要进行报警处理,并且实施制动,并记录报警信息。这就要与区域控制器配合。区域控制器的主要任务是通过为其控制的列车提供移动授权,保证列车在其区域内不超速行驶,保证列车的安全。
超速防护功能的系统结构如图4所示。
图4 超速防护功能结构图
根据上述对功能节点的划分,在SCADE建模工具中定义对应的功能节点,按照上述的系统结构,建立超速防护功能的总体SCADE模型,如图5所示。
图5 超速防护总体SCADE模型
2.3.3 用有限状态机对列车行为模型的建模
列车的行为模型是ATP系统设计中非常重要的部分,列车的行为是一种有限状态的过程。初始状态是第一个激活状态。标记选择性的附加到转移和状态上。在ATP系统中,列车的行为是一系列连续的逻辑动作,包括列车的登录状态、正常运行状态、列车的折返状态、列车的接管状态、列车的注销状态等。
根据ATP功能的需求,定义一个有限状态机,命名为Train_Status。对列车的每个状态定义了一个变量,分别是S_Init,S_Moving,S_Reverse,S_Takeover,S_Handover和S_Cancel。如图6所示,详细描述了列车的行为模型。
图6 列车的行为模型
2.3.4 用安全状态机对列车的车门控制功能进行建模
在列车运行或者列车停车时,ATP系统要监控列车车门的状态。只有在确保安全的情况下,列车的车门才得以开启。车载ATP监视列车的速度为零时,才能进行乘客的上下车。并且在车门开启或者锁闭之前,车载ATP要禁止列车行驶。
列车车门控制的安全状态机模型如图7所示。
图7 列车车门控制的安全状态机模型
目前,SCADE模型开发工具还没有专门针对轨道交通的开发工具包。本文采用SCADE工具对城市轨道交通CBTC系统中ATP系统的部分功能进行建模,对SCADE的软件开发方法和流程进行了介绍。下一步研究的重点是对ATP系统的每一项功能选取合理的建模方式并对其进行仿真。
[1]董凯霞,刘晓娟,朱耘燕.城市轨道交通CBTC系统车载ATP仿真研究[J].铁道通信信号,2011,47(4):12-15.
[2]Esterel Technology. SCADE Usage in Railways and Subways [R]. 2011(2).
[3]王群伟,吴成富,陈怀民,徐 克. 基于SCADE的无人机三余度飞控系统设计及实现[J].测控技术,2007,26(4):52-54.
责任编辑 方 圆
Application of SCADE in ATP software modeling for Urban Transit
BAI Rui, KANG Suiwu
( College of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China )
Automatic Train Protection(ATP) System was an important part of Communication Based Train Control(CBTC) System. Car borne ATP bearded the important task of train safe movement, was directly related to security of the System, required high level safety and reliability. To satisfy the safety requirements of the car borne ATP software, model based software development method was proposed in this paper. It was used SCADE suite as the development tool, established ATP system function model, and showed the feasibility of SCADE on ATP software modeling.
ATP; safety-related; SCADE
U284∶TP39
A
2013-06-07
白 锐,在读硕士研究生;康随武,在读硕士研究生。
1005-8451(2014)01-0037-04
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!