基于领域元模型的车载ATP子系统软件建模研究
2022-09-06王锡奎张国侯田建兆王若昆
王锡奎,张国侯,田建兆,王若昆
(南京铁道职业技术学院 通信信号学院,南京 210031)
列车自动防护(ATP, Automatic Train Protection)系统是用于监控列车运行速度,保证列车安全间隔,提高运营效率的核心设备。车载ATP子系统属于安全性苛求系统,为保证列车在不同场景中的运行安全,该系统需要完成复杂的安全控制过程,执行不同的程序分支路径。因此,车载ATP子系统的建模和软件开发要求高、难度大,目前常用的建模、开发方法主要面临的如下问题:
(1) 以过程式模块开发和人工编码为主,造成开发效率低下,且开发过程中产生的错误和安全隐患很难被发现,严重影响软件质量;
(2) 软件的开发缺乏合理的生命周期管理,无法保障软件开发各个阶段的安全性,只能与系统硬件结合后才能完成软件的测试和验证;
(3) 现有软件建模方法难以描述领域内不同系统的相同或相似性特征,无法设计出在领域内具有一定通用性的模型,模型不具备良好的重用性,造成系统重复设计和开发,显著增加开发所需成本。
因此,只有提出更加适用于车载ATP子系统的开发方法,才能满足其在开发效率、质量、安全性等方面的要求。本文以车载ATP子系统为研究对象,提出一种基于领域元模型的模型构建方法。
1 特定领域建模及元模型
1.1 特定领域建模
特定领域建模(DSM ,Domain-Specific Modeling)是指领域专家对特定领域的需求和技术进行分析和抽象,定义特定领域建模语言(DSML ,Domain-Specific Modeling Language)及特定领域建模环境(DSME, Domain-Specific Modeling Environment),并使用DSML和DSME建立特定领域内具体应用的模型,借助代码生成技术开发软件产品的方法[1-2]。
在DSM中,建模概念源于领域概念、功能、物理产品结构、待建系统的外观、产品变化空间及生成目标。DSML包含领域中的概念和规则,并说明二者与代码生成器中代码之间的映射关系。DSM已在嵌入式系统、移动终端、网络应用等诸多领域得到了应用,已成为有众多指导和工具支持的提高软件复杂度的方法。DSM直接提取领域中的概念,提高了软件建模和开发的抽象度,使开发人员将工作重点放在系统模型设计中,不用编写软件代码,使软件开发的效率提高5~10倍[3]。
元建模技术为DSML和DSME的建立提供了支持[4]。元模型是对某一特定领域建模环境的规范定义,抽象等级高于模型。元模型主要给出模型定义、模型构建方法、模型的集成及交互接口。元模型和模型的关系类似于类和实例的关系,将元模型实例化后即可得到特定的模型,如图1所示。
图1 元模型、模型、实际系统之间的关系
(1)元模型通过描述特定领域中的元素及其之间相互关系定义DSML的抽象语法、具体语法及语义,并定制出DSME[5-6]。定义抽象语法是建立DSML过程中的关键环节。DSML的抽象语法描述DSML中的基本元素及其之间的关系,可以用UML类图表示,通用规则由某种约束语言描述(如OCL[7-8]等)。统一建模语言(UML ,Unified Modeling Language)和公共仓库元模型(CWM,Common Warehouse Metamodel),以及本文讨论的车载ATP子系统元模型均属于元模型。
(2)模型层是元模型层的实例,如本文所构建的ATP-ML(ATP-Modeling Language)是用于描述车载ATP子系统的领域语言。
(3)实际系统层是模型层的实例化,如车载ATP子系统即是使用ATP-ML所生成的实际系统。
1.2 基于领域元模型的车载ATP子系统建模方法
列车运行控制系统(简称:列控系统)地面ATP子系统根据每列列车当前的前方行车条件,以无线通信方式向其提供实时行车许可。车载ATP子系统实时接收行车许可,并根据行车许可和列车运行状态计算出速度控制曲线,当列车速度超过限制速度时触发制动指令,使列车降速或停车,防止发生追尾等事故。列控系统工作原理,如图2所示。
图2 列控系统原理示意
车载ATP子系统领域元模型是基于该系统的共性特征和变化特征抽象的模型,而非对某一种车载ATP子系统的抽象模型。通过该元模型刻画车载ATP子系统建模语言ATP-ML的语义和语法,从而实现铁路信号系统领域内车载ATP子系统的建模需求。综上,提出一种车载ATP软件特定领域建模方法,给出了从车载ATP子系统领域出发开发车载ATP软件的过程,如图3所示,该方法中包含3个关键步骤。
图3 基于元模型车载的ATP子系统软件开发过程
(1)建立车载ATP子系统领域元模型,分析车载ATP子系统的特征,用领域元模型描述该系统的主要特征,形成ATP-ML语言特有的语义和语法,再用元模型解释器转化为可视化的车载ATP建模环境。
(2)应用ATP-ML构建车载ATP子系统领域内的应用模型,为某一基于特定平台的车载ATP子系统构建模型。
(3)生成车载ATP软件。通过模型解释器将车载ATP子系统的应用模型转换程序代码,并应用编程环境,将转换所得程序编译成可执行的应用程序。
2 车载ATP子系统领域特征分析
2.1 功能方面
车载ATP子系统以不断更新的行车许可(MA,Movement Authority)和列车运行状态为输入,实时输出列车速度监控命令,保证列车运行安全。车载ATP子系统需要完成的功能包括:地面信息收发及处理、列车运行计算(速度和位置计算)、超速防护驾驶操作及信息显示、运行记录等,如图4所示。
图4 车载ATP子系统功能
2.2 控制对象方面
车载ATP子系统的控制对象为列车,而列车具有大量相同或相似的特性。如列车的长度、重量、牵引制动性能,以及轨道线路等均具备一维性。以上共性势必会使得不同的车载ATP子系统软件存在相似性。例如,列车速度和位置计算中使用的列车受力分析模型等。
2.3 控制原理方面
车载ATP子系统的核心功能是对列车速度的实时监控。对列车速度的监控有2种依据,分别是分级速度控制曲线和速度—距离模式曲线。分级速度控制曲线要求列车速度逐级降低,直至低于限制速度;速度—距离模式曲线要求持续输出制动指令,直至速度下降至限制速度以下。后者能够更好地利用列车的制动性能,缩短制动距离,提高行车效率,因而得到了广泛采用。
目前应用的系统,车载ATP子系统在列车运行过程中周期性20 ms计算当前监控速度,速度—距离模式曲线是将行车许可范围内所有位置的监控速度连接起来而形成的。图5为1种常用的速度—距离模式曲线,该曲线包括顶棚速度监督区和目标速度监督区。
图5 速度-距离模式曲线
综上,可以从业务特征、功能特征、实现技术特征和领域技术特征抽象车载ATP子系统的特征。
3 车载ATP子系统的领域元模型设计
元模型中应用较为广泛的建模工具包括MetaEdit+,DOME、EMF/GMF、通用建模环境(GME,General Modeling Environment)[9]等。GME具备元模型构建所需的平台,支持多层次、多角度进行领域分析和建模,如类图、元素、引用、属性、约束等。本文采用GME构建车载ATP子系统的元模型。
3.1 车载ATP子系统的元模型
元模型车载ATP中采用层次化的方式将车载ATP子系统中的重要概念及规则组织为模型中的元素,各层元素之间为整体—部分的关系。如图6所示,该模型包含人机显示界面(DMI,Driver Machine Interface)和Logic两部分,分别代表了车载ATP子系统的人机交互和逻辑功能。DMI和Logic都是Model类型的元素,即二者均有各自的内部结构。
图6 车载ATP子系统元模型
(1)从人机交互角度,车载ATP子系统采用DMI为司机提供驾驶过程中的参考信息,便于司机观察和操作。
(2)DMI划分为界面显示(Display)、司机操作(DriverCommand)、数据输入(DataInput)、按钮菜单(Button_Menu)及文本信息(TextInfo)5个部分。
(3)界面显示中的信息包括距离信息(DistanceInfo)、速度信息(SpeedInfo)、补充驾驶信息(supDrivingInfo)、运行计划信息(Planning)、监控信息(SupervisingInfo)、功能键信息(Function-Key)等。因此,按上述划分方式,将人机交互方面的功能组织为车载ATP子系统中DMI部分中的模型元素。
3.2 车载ATP子系统的逻辑元模型
从列车安全控制过程分析,车载ATP子系统的功能是根据地面ATP子系统的行车许可信息,计算速度控制曲线并监控列车运行速度,实现列车的超速防护和安全间隔控制。因此,可以从车载ATP子系统中提取出的领域概念包括列车、线路、行车许可、临时限速、速度曲线、制动距离等。图6为车载ATP子系统的Logic部分的结构。
如图7所示,Logic模型部分包含Model、Atom、Connection3种类型的元素。
图7 车载ATP子系统的逻辑元模型
(1)Atom类型的元素包括模式(Mode)、列车(Train),Mode表示车载ATP的工作模式,Train表示OnboardATP所控制的列车。其中,元素Train包含列车结构及性能的静态属性,如列车重量(trainWeight)、列车长度(trainLength)、列车最大允许速度(trainMaxPerSpeed)、列车最大牵引力(trainMaxTraction)、列车最大制动力(trainMax Braking)等;列车当前速度(trainSpeed)、列车加速度(trainAcc)、列车运行状态(trainState)等说明列车在运行过程中的动态属性。
(2)Model类型的元素包括MA和速度曲线(SpeedCurve)等。MA包含Section和临时限速(TSR,Temporary Speed Restriction),分别表示行车许可范围内的轨道区段和临时限速。Section包含区段长度(secLength)、区段起点位置(secStart Pos)、区段固定限速(secLimitSpeed)等属性,TSR包含临时限速长度(TSRLength)、临时限速值(TSRLimitSpeed)等属性。SpeedCurve为由行车许可计算得来的速度控制曲线,包含最限制速度曲线(MRSP,Most Restrictive Speed Profile)和动态速度曲线(DSP,Dynamic Speed Profile)。DSP内包含允许速度(PBSpeed)、报警速度(WSpeed)、常用制动出发速度(SBISpeed)和紧急制动触发速度(EBISpeed)等。DSP分为顶棚监视区(CSM)和目标监视区(DSM)2个区域,故将CSM和TSM定义为DSP的2个元素,继承其4个属性。Onboard ATP中的一些元素包含枚举类型的属性,如表1所示。
表1 车载ATP子系统元模型中的枚举类型
(3)Connection类型的元素代表元模型中各元素之间的关系。车载ATP子系统元模型中包含8个Connection类型的元素,其中MRSP_Section、MRSP_TSR、MRSP_Train和MRSP_Mode分别是最限制速度曲线(MRSP)的计算应考虑线路固定限速、线路临时限速、列车构造限速及模式限速;DSP_MA、DSP_MRSP和DSP_Train分别是DSP的计算中考虑的行车许可、MRSP和列车的制动性能;Train_DSP是车载ATP子系统根据动态速度曲线监控列车运行速度,列车超速时通过输出报警提示、切断牵引及制动的方式控制列车速度,保障列车安全。
上述分析过程给出了车载ATP子系统领域内的重要概念及其相互之间的关系,其功能的实现依赖于一些领域规则,具体如下:
(1)当MRSP的构成要素发生变化时,要重新计算MRSP;MRSP的速度监控应考虑列车遵守的最小静态速度限制和列车长度。
(2)当列车进入降速区段,MRSP计算要考虑安全距离;当列车进入升速区段,MRSP计算要考虑车尾保持。
(3)列车收到的新临时限速若与先前收到的临时限速编号相同,新的临时限速应取代旧的临时限速。
(4)报警提示产生后应持续有效,应在列车减速至允许速度以下后关闭。
(5)如果常用制动命令被触发,应在列车速度降至允许速度以下后缓解。
(6)紧急制动是常用制动的后备,如果常用制动无法达到控车安全要求时,则应触发紧急制动命令。
(7)如果列车速度大于紧急制动限制速度,应触发紧急制动命令。
(8)紧急制动命令被触发后,只能在列车停稳且司机按下制动缓解按键后才能缓解。
以上领域规则只是车载ATP子系统领域规则的一部分,可以根据需要进行扩展和细化,这些领域规则无法用UML类图表示。在利用GME构建元模型时,将领域规则以OCL约束的形式组织起来。OCL是一种施加在指定模型元素上的形式化语言。OCL表达式以附加在模型元素上的条件和限制来表现对该对象的约束,包括附加在模型元素上的不变量或约束的表达式,以及附加在操作和方法上的前置条件和后置条件。
4 结束语
分析和抽象列控系统车载ATP子系统的共性特征,并应用元模型理论和建模工具构建其领域元模型。该模型可以描述车载ATP子系统的共性特征和组织结构,从而刻画了该系统的建模语言ATP-ML的语义和语法。ATP-ML具有较强的通用性,可以刻画面向不同硬件平台和操作系统的车载ATP子系统的软件模型,发挥了模型的可重用性,提高了软件的质量和开发效率,显著缩短开发周期。