基于UML 的车站联锁软件建模研究
2021-04-24郑伟
郑伟
(中铁第五勘察设计院集团有限公司,北京102600)
1 联锁系统静态模型设计
通过联锁系统的需求分析能够反映联锁软件与其控制对象间的直接关系,利用建模语言实现联锁系统设计,可以有效提高软件的安全性与可靠性。本文首先建立联锁软件系统的静态结构模型,通过用例图实现对联锁机的用例分析,完成需求建模。其次对联锁系统的内部结构进行分析,选取的分析对象包括信号机、道岔、轨道电路区段和进路,研究其联锁逻辑关系。
1.1 联锁软件结构模型
在联锁软件系统设计中,对由人机对话层、联锁控制层和执行层组成的硬件结构做了简化,构建最小功能系统。人机会话层由单上位机实现,联锁层由单联锁机构成,驱动采集以及室外设备可均由软件仿真实现。
联锁机的处理过程是联锁软件的核心,通过对进路处理过程建立活动图来描述这其动作转化,如图1 所示。
图1 联锁机软件活动图
1.2 信号设备对象描述
信号设备对象主要包括信号机、道岔、轨道区段和进路,在联锁运算中需要涉及其状态信息,可通过类图和对象图实现相应类和对象的描述。
对各信号设备对象之间关系的描述通过创建类图实现,如图2 所示。
图2 进路与信号机、道岔和轨道电路关系类图
信号机作为信号开放的标志,必须保证进路的安全防护。图2 中,signal 对象(信号机)描述了信号机编号(signal_id)、信号操作按钮(signal_opr_btn_id)、信号机类型(signal_form,列车或调车信号)、信号显示灯光(signal_light)、信号开放情况(signal_status, 开 放 或 关 闭)、 信 号 资 源 占 用 情 况(signal_occupied,进路征用或否)、敌对信号条件(signal_conflict,是否构成敌对)、信号机灯丝状态(filament_state,灯丝是否断丝)、曾开放标志(signal_opened)等。
道岔位置具有三种状态,分别为定、反位和四开状态。根据锁闭方式可分为进路锁闭、区段锁闭和单独锁闭。图2 中可以看到静态数据结构描述了道岔的道岔编号(switch_id)、道岔类型(switch_form,单动道岔或双动道岔)、道岔实时状态(switch_status)、双动道岔号(switch_dle_id)、道岔锁闭情况(switch_locked)、道岔转换位置(switch_change)、道岔区段编号(switch_belong_section_id)等。
图3 进路处理过程协作图
图4 进路控制过程活动图
轨道电路是用于检查区段是否被占用、监督钢轨是否存在断轨情况。轨道区段可以分为无岔区段、有岔区段和股道,与进路建立和解锁有密切关系,通过“三点检查”来实现进路的分段解锁。图2 中描述了轨道区段编号(section_id)、区段实时状态(section_status)、轨道区段类型(section_form)、区段锁闭标志(section_sign_locked)、区段占用标志(section_has_used)、区段资源征用标志(section_occupied)等。
图5 选路过程顺序图
图2 中描述了进路对象的属性,包括进路号(route_id)、进路类型(route_form,列车或调车)、进路始端按钮(opr_btn_start)、进路终端按钮(opr_btn_end)、进路变更按钮(opr_btn_alter)、防护信号机开放名称(signal_belong_id)、进路所含区段号(section_belong_route_id)、进路中的道岔名称(switch_belong_id)、进路中的道岔类型(switch_belong_type)、是否存在超限区段(section_transfinite)、超限区段名称(section_transfinited_id)等。
2 进路控制过程动态模型设计
文中对进路处理过程进行建模,研究进路建立过程中各子模块间的协作关系和动态时序关系,并对每一个子模块建立相对应的UML 模型。
2.1 进路处理建模分析
一次完整进路过程由联锁系统的协作处理通过协作图完成,如图3 所示。
从动态角度而言,利用时间顺序可以看到进路之间的处理流程,体现对象间信息交互的时序性,该过程由顺序图实现。图中以进路的一次建立和解除过程为例,调度员是每次活动的发起者,而活动过程则由联锁软件逻辑来处理。活动的逐步触发过程由活动图描述,如图4 所示。
2.2 进路建立及解锁过程建模分析
以进路选择阶段为例,选路过程主要完成进路的选择和选排一致检查,包括始终端按钮的确定、道岔选择以及道岔位置转换,图5 所示为选路过程顺序图。
进路解锁过程相较进路建立同样重要。进路建立过程中,若因故不能锁闭进路,信号不能开放,虽影响行车效率,但可以保证安全;但若已锁闭进路因故障原因错误解锁,则意味着敌对进路可能建立,危及行车安全。
3 结论
采用UML 语言对计算机联锁软件进行建模,有助于联锁专业领域专家和软件开发人员的交流。文中提出了联锁软件建模设计中各部分的功能需求及静态和动态建模方法,但仍存在一些问题有待探究。在基于模型的形式化分析和测试方面,还需要进一步研究和改善。