周 游 何 涛
1(兰州交通大学自动化与电气工程学院 甘肃 兰州 730070)
2(甘肃工业交通自动化工程技术研究中心 甘肃 兰州 730070)
随着近几年我国高速铁路的迅速发展并逐渐走向世界,高铁的安全性、实时性和运行效率也变得尤为重要[1-2]。CTCS-3级列控系统中C2级向C3级场景转换作为高速铁路最常见的场景,在保证其安全的前提下,提高运行效率、减少等级转换时间对进一步研究高速铁路系统有重要价值。
国内相较于国外对列控系统的研究起步较晚,近年来随着高铁的发展,对列控系统建模的深入研究也逐渐取得了一些成果。文献[3]运用混合时间自动机和随机Petri网等方法对中国列车运行控制系统CTCS-3级列控系统进行功能安全分析及建模,随机Petri网虽然对系统的描述能力很强,但是当遇见层次结构复杂的系统时容易出现状态空间爆炸问题[4]。文献[5-6]利用统一建模的半形式化方法(UML)对列控系统等级转换场景进行建模分析,UML的建模通过图形和符号描述提供了较为明确的逻辑过程,但是UML缺乏具体的数学表达方式[7],不能具体地表达等级转换过程中的信息流。文献[8]采用UML扩展机制构建了列控等级转换场景的Hybrid UML模型,研究了等级转换功能需求不能满足时功能模块失效情况。文献[9-10]研究UML模型向对象Petri网的半自动的转换方法能够较好地对复杂原模型进行描述,但转换规则复杂,不容易实现模型之间转换。文献[11]利用了检验模型的反例生成方法,该方法适用于离散系统而不适合于列控系统同时具备连续成分与离散成分的混成性系统。综上,国内外大多学者关于列控系统等级场景转换都倾向于UML或Petri建模,大多数场景转换过程都是简单的模块化建模,忽略了速度、时间等变量参数变化对场景转换的影响。而且大多数对场景转换的UML和有色Petri网建模方法没有考虑列控系统的混成性,只是将其活动抽象成离散的状态静态转移过程进行分析而忽略了列车在运行过程中的动态演化。
列控系统具有显著的混成性特征,包含速度、位置等连续变量的动态变量,RBC、GSM-R与设备交互的离散信息演化过程。因此,本文提出UML活动图的扩展机制对系统的静态及动态属性进行离散信息参数扩展,用来刻画转换场景中连续物理量的参数变化过程和动态演化的约束条件,并结合HTCPN对行车速度和消息重发间隔进行分析。
在C2级向C3级列控系统等级转换场景中,列车在转换成C3级模式前需要车载设备与GMS-R网络、RBC建立连接并且注册,当列车与RBC建立通信后将不会再接收C2级模式下的控车信息,列车运行过程中车载设备、应答器组、无线闭塞中心(RBC)不断地交互实时信息来保证列车运行的实时性和安全性。等级转换过程中应答器分布如图1所示。
图1 等级转换场景应答器组分布
如果在C2/C3级转换边界应答器组(LTO)处不满足等级转换条件,则列车将继续保持C2级模式行车,同时,列控系统会一直检测列车是否满足C3级模式行车的条件,一旦满足条件时,列车将会自动转换成C3级模式行车。相关应答器组的具体含义如表1所示。
表1 应答器组具体含义
列车在CTCS-2级区域行驶将至GRE应答器组时,车载设备中的无线电台检测GSM-R网络,为满足等级转换要求,由GSM-R网络连接注册信息应答器组(GRE)向列车发送命令信息(MSG45),需要在40 s内建立可靠连接并且注册[12]。车载设备完成与GSM-R网络的可靠连接,在转换区入口连接应答器组(RE)处向车载设备发送与RBC建立通信会话命令信息(ETCS信息包42)。车载设备呼叫RBC成功后,列车前端越过在至转换点唯一进路入口处设置的转换预告应答器组(LTA)时,RBC向车载设备发送越过转换边界的行车许可和等级转换命令(MSG41)。列车前端经过C2/C3级边界时,转换执行应答器组(LTO)向车载设备发送等级转换命令(MSG46)。C2级向C3级转换的过程中,车载设备、GSM-R网络、RBC数据的交互信息如图2所示。
图2 C2级向C3级转换过程中信息交互
UML活动图模型强调从活动到活动的控制流,同时也能表示对象的值流和控制流,对象流状态表示活动中输入或输出的对象[13]。
车载设备根据接收RBC发送的消息并做出相应的反应,从而使车载的状态发生改变,采用活动图来描述C2向C3级等级转换的活动状态转换。等级转换活动图如图3所示,在车载设备向GSM-R网络发送注册请求时,注册时间是30 s时成功率为95%,35 s时成功率为99%,当注册时间大于40 s时被认定注册失败。车载设备从开始呼叫直至与RBC建立连接,此过程消耗的时间小于8.5 s时成功率为95%,10 s时成功率为100%,当消耗时间大于10 s是认定连接失败,车载将继续保持C2模式运行。
图3 C2级向C3级转换UML活动图
通过向UML活动图构造型中加入与列控系统相关的动态和静态元素属性对UML中的元类元素进行注释和扩展,可以补充缺少的性能参数以便更好地描述等级转换过程中连续动态行为。通过分析C2到C3的过程,轨旁应答器会在列车经过的瞬间进行信息的交换,而列车运行时不变集合为inv={v≥0},流条件集合为flow={x′=v∧v′=a},如图4所示,通过对列车场景转换过程中行驶(Running)、常规制动(Braking)、紧急制动(Emgbraking)三个控制列车状态变量进行参数的扩展来刻画转换过程中物理量的变化和约束条件。各变量的含义如表2所示。
图4 C2到C3转换过程中动态变量
表2 各变量的含义
续表2
定义通过UML活动图扩展后提取节点到CPN模型元素的转换规则,将扩展后的每个节点类型转换为相应的CPN模型单元。根据UML活动图中等级转换过程状态之间的迁移关系,把转换后的CPN单元连接起来组建成相应的变迁关系,就可以得到含有连续物理量的参数和动态演化的约束条件的CPN模型。
扩展后的UML活动图转换成以XML文件表示的树形结构过渡中间层[14],通过图5的遍历算法提取XML的过渡中间层中不同属性的节点:
(1) 加载XML源文件获取根节点,并遍历根节点下的所有子节点。
(2) 查找XML文件中的关键节点,输出关键节点的信息并保存到list列表中。
(3) 调用SQLHelper类中的方法将list中的数据逐条写入到数据库中并提取出来。
通过以上方法对XML文件的提取可将活动图转换成以下节点,开始节点Arrival
图5 节点遍历算法
通过节点对应的Petri转换规则如表3所示,将UML活动图转换成有色Petri网。
表3 节点到CPN转换规则
(1) Simple节点的映射。Simple节点可以转换为一个变迁,由于Petri网的语法规则要求库所和变迁交替出现,Simple节点对应模型为一个库所、一个变迁,以及库所指向变迁的弧。Simple节点里Function按其函数值决定,如果是null,转换后变迁的守护函数为默认true。转换规则如图6所示。
图6 简单节点转换规则
(2) Arrival节点的映射。Arrival节点代表具有特定功能的CPN模型,大部分功能性节点属于CPN模型的反向转换。转换规则如图7所示。
图7 功能节点转换规则
(3) Resource节点的映射。Resource资源访问类节点对应的CPN模型用一个替代变迁和一个子网来表示,name属性值对应CPN子页名称。转换规则如图8所示。
图8 资源节点转换规则
(4) Opt节点的映射。着色Petri网通过transition的守护函数或arc的描述函数选择执行路径完成判断分支结构的映射。转换规则如图9所示。
图9 选择节点转换规则
如图10所示,通过设计转换代理类ConverterAgent设置待转模型,调用源节点模型转换方法实现转换,节点源模型用Diagram接口实现规则转换方法switch(将有色Petri网中库所、变迁、弧信息对应XML中节点写入到数据库中对应的表中),转换工具通过ActDiagram类将活动图源进行转换和NodeDiagram类实现扩展活动节点源的转换,遍历算法通过解析模型源生成模型对象再遍历内存对象完成模型的转换。
图10 自动转换工具设计类
分层赋时有色Petri网(HTCPN)是在CPN的基础上引入了时间戳和分层结构[15]。验证系统功能时必须有时间概念,时间戳是在CPN模型库所包含的token、变迁以及弧上赋予了时间特性,分层结构是将复杂系统分解成多个简单系统的嵌套组合。HTCPN的建模方式有自底向上和自上而下,本文采用自上而下的建模方法逐步完成对等级转换的细化。
C2至C3级列控系统等级转换HTCPN顶层模型中用库所集和变迁集之间信息流的相互传递来表示等级转换的过程,库所集中的托肯(token)是HTCPN模型中的动态数据流,托肯中包括了RBC与车载设备的交互信息(Message)和时间戳(Time)[16]。
通过自动工具转换将UML活动图转换成HTCPN等级转换模型,如图11所示是等级转换的HTCPN顶层模型,C2至C3级列控系统等级转换中车载设备和RBC的状态库所集P={C2,VC RecConOrder,Version Information Match Fail Remain C2,ConSucceed,RBC RecPosInfo,VC RecMovAuthority,Convert to C3},转换过程中库所集的具体含义如表4所示。描述等级转换中车载设备动作过程的变迁集合T={VC ConGSM-R,Call RBC,Position report,Arrive to LTA,Arrive to LTO},变迁集的具体含义如表5所示。
表4 库所集的具体含义
表5 变迁集的具体含义
图11 等级转换的HTCPN顶层模型
从变迁“VC ConGSM-R”到库所“VC RecCon Order”过程中,添加产生随机数字函数est(),判定车载设备与GSM-R网络注册时间是否超过40 s,如果大于40 s则认定注册失败。从变迁“CAll RBC”到库所“ConSucceed”过程中,添加随机函数rand()从1到10随机产生数字,标志车载设备与RBC从开始呼叫到建立连接所需的时间,如果时间大于10 s,则被认为建立连接失败。从变迁“PositionReport”到库所“RBC RecPosInfo”过程中,时间戳的增量为20 s(车载设备与RBC通信时间15 s+司机确认5 s),此模型中有五个置换变迁,置换变迁都带有子页模型描述更详细的变迁活动。
子页模型通过置换变迁与顶层模型建立连接,置换变迁“VC ConGSM-R”的子页模型描述了列车从GRE到RE应答器组时车载设备和GSM-R网络的连接过程;置换变迁“Call RBC”的子页模型模拟了列车前端经过RE应答器组时,车载设备呼叫RBC并且建立可靠连接的过程;置换变迁“Position report”的子页模型模拟了车载设备向RBC发送位置信息和参数信息的详细过程,其中包括车载设备接收到RBC的ID和电话号码后,呼叫RBC的过程中时间、变量信息交换等变化参数。该子页模型通过库所变迁ConSucceed与顶层模型建立连接,子页模型如图12所示。置换变迁“Arrive to LTA”和“Arrive to LTO”分别模拟了列车至LTA应答器组时RBC向车载设备发送行车许可和列车至LTO应答器组时转换C3级模式的过程。
图12 等级转换的HTCPN子页模型
模拟列车以250 km/h的速度从GSM-R网络连接注册信息应答器组(GRE)到转换执行应答器组(LTO),在C2级向C3级转换的HTCPN模型建立成功后,通过CPN tools检查语句是否有错误,若语句没有语义错误,对状态空间和强连接部件工具图进行计算操作,循环进行104次场景转换,生成场景转换模型数据及状态空间报告,用MATLAB对导出的模型转换数据进行分析,绘制出图13所示的转换结果。将图13的结果转换成不同时间下等级转换的成功概率,如表6所示,在保证转换时间为102 s时,转换成功率可以达到99.6%。
图13 不同时间C2级向C3级场景转换
表6 转换时间和成功概率的关系
图14模拟列车分别以250、230、200 km/h的速度从GSM-R网络连接注册信息应答器组(GRE)到转换执行应答器组(LTO),仿真出在不同速度下转换成功的概率。由图14和表7可以得出,在等级转换概率相同的情况下,列车运行速度越高,等级转换的时间越短。
图14 不同速度下C2至C3的转换结果
表7 不同速度下转换时间与转换成功率的关系
C2至C3级列控等级场景转换HTCPN模型中车载设备与RBC的通信会话完成的概率也影响C2至C3级的转换结果,影响通信会话的因素和列车在这段区间行驶的平均速度相关,图15选取2、4、6、8 s作为消息重发时间间隔,分析出列车速度从60到360 km/h的情况下模型转换的成功率。提取模型数据仿真结果如表8所示。可以看出,当消息重发时间间隔相同时,列车速度越高,C2至C3级转换概率越低。当列车速度相同时,时间间隔越短,C2至C3级转换概率越高。这是由于重发间隔时间增加会降低车载设备与RBC交互信息的能力,从而增加了信息传输完成的时间。当列车运行速度在250 km/h以内,消息重发间隔在6 s以内时,转换成功概率达到99.5%。
图15 不同速度下不同时间间隔与转换成功率的关系
表8 不同时间间隔下转换成功率和速度的关系
针对列控系统场景转换混成性的问题,本文提出了UML活动图和HTCPN混合模型,并设计了一种新的UML扩展中间模型来扩展转换过程中物理量的参数和动态演化的约束条件。对HTCPN模型进行验证并提取数据,用MATLAB进行数据分析,研究了列车在不同速度、不同消息重发间隔与等级转换率的关系,验证了利用UML活动图和HTCPN结合方法建模仿真结果满足列控系统实时性要求。该建模相比较于传统的建模方法模拟列车以250 km/h进行场景等级转换,转换成功率提高了0.2%,且:
(1) 在等级转换概率相同的情况下,列车运行速度越高,等级转换需要的时间越短,对列车等级转换的信息交互实时性的要求越高。
(2) 消息重发间隔保持在6 s以内时,列车转换模型成功率达到99.5%以上。