基于LL(K)联锁布尔逻辑动态生成系统及动态生成方法技术方案

技术编号:20745707 阅读:43 留言:0更新日期:2019-04-03 10:29
本发明专利技术公开一种城市轨道交通领域的联锁布尔逻辑动态生成系统及动态生成方法,该系统包括组件部署模块、联锁制表模块、语义规则模块、逻辑生成模块、动态生成布尔逻辑数据。数据加密模块,根据生成的逻辑数据,进行数据加密重排,生成布尔逻辑文件。防止后期对该文件的误修改,保证数据安全。本发明专利技术技术方案采用上下文无关的LL(K)方式对联锁逻辑进行解析并动态生成输出,联锁开发人员后期只需要遵从预定语法规则对联锁逻辑进行修改,即可实时动态生成最新的布尔逻辑,无需改动任何代码,实现规则与生成的解耦,极大程度上减轻信号技术人员的工作负担,加密技术的引入确保逻辑数据的安全性,可靠性高,提高了工作效率。

【技术实现步骤摘要】
基于LL(K)联锁布尔逻辑动态生成系统及动态生成方法
本专利技术涉及城市轨道交通信号控制领域,尤其涉及联锁系统布尔逻辑的生成系统。
技术介绍
联锁设备的正确稳定运行是轨道交通健康、有序运行的前提,其直接影响到列车的安全运行,甚至于乘客的人身财产安全。联锁布尔逻辑BA(BooleanAlgebra)是确保联锁设备之间稳定有序协作的一组表达式,其运算结果是联锁设备安全运行的保障和基础。由于联锁设备间耦合关系复杂,因此惯用的做法是由有经验的信号专业人员将各设备联动关系进行整理计算,手工编写BA。但人工编制带来的问题是BA错误量大,运行可靠性低。随着将计算机技术引入联锁系统,出现了自动生成BA的工具。其本质是将人工编写BA替换为计算机生成,但无法自由修改。一旦出现逻辑变更,则需修改底层程序。系统耦合、粘连性强;过于复杂、笨重;灵活度、易用度低,维护成本较高,出现改动后生成的BA错误量较高。综合以上说明,需要一种新的技术方案以解决上述问题。
技术实现思路
专利技术目的:本专利技术提供一种基于LL(K)布尔逻辑动态生成系统。采用语义规则模块定制规则,LL(K)方法解析、动态生成BA,从而将BA的规则制定与生成相分离。逻辑变更仅需修改独立的规则库,无需修改底层程序,大幅度降低系统耦合性,提高灵活度。同时利用密钥技术确保逻辑数据的安全,最终在提高开发效率的同时提高BA的易用性与安全性,降低系统维护成本。本专利技术同时提供了基于该系统的动态生成方法。技术方案:为达到上述目的,本专利技术基于LL(K)联锁布尔逻辑动态生成系统可采用如下技术方案:一种基于LL(K)联锁布尔逻辑动态生成系统,包括:组件部署模块,用于开发人员部署站场图上各基本联锁设备,组建各设备之间的连接关系,组件部署模块输出一张有向站场拓扑信息图;联锁制表模块,用于通过有向站场拓扑信息图提供的站场数据,基于图的深度优先搜索算法,搜寻创建进路联锁表;语义规则模块,用于开发人员定制BA的生成规则,形成SRL;逻辑生成模块,用于基于上下文无关的LL(K)方法解析SRL,通过SRL关键字指示的方法搜寻目标设备,与SRL提供的算子及自由变量基动态生成BA;数据加密模块,用于对BA数据进行加密,生成密钥和加密文件。进一步的,所述组件部署模块提供站场图的设备组件,包括:信号机,道岔,区段,站台,车挡,计轴,环线,路口控制器,道岔控制器;组件部署模块提供对各组件的部署,确定组件连接关系,包括:左连接,右连接,侧连接。进一步的,联锁制表模块提取站场拓扑信息图中设备信息,通过基于图的深度优先算法搜寻所有进路。进一步的,语义规则模块采用预先定义的语法规则为基础。信号开发人员在遵循预定规则的基础上,模块允许开发人员自由编辑表达式模板,编辑后的数据存入语义规则库;语义规则规定了构成一个表达式所必须的部分,包括:关键字,特定算子,自由变量基。进一步的,逻辑生成模块采用上下文无关的LL(k)方式对表达式进行关键字识别,解析输出布尔逻辑数据;逻辑生成模块根据定义的逻辑规则库,动态生成最新的布尔逻辑数据。进一步的,数据加密模块对生成的布尔逻辑数据进行数据重排加密,产生加密文件及密钥。有益效果:本专利技术技术提供的布尔逻辑动态生成系统,通过组件部署生成站场信息图,进而提取站场信息图生成进路联锁表;再结合开发人员定义的生成规则,解析生成BA,最后对BA进行数据加密。输出联锁设备可识别的布尔逻辑文件。若BA逻辑发生变更,仅需修改生成规则,系统动态生成布尔逻辑。从而实现规则定制与生成解耦,提高系统的灵活度。同时对逻辑数据加密,保证数据安全。最终确保BA安全性的同时,提高开发效率,降低系统维护成本。本专利技术提供的动态生成方法可采用以下技术方案一种根据上述基于LL(K)联锁布尔逻辑动态生成系统的逻辑动态生成方法为:通过组件部署模块生成站场图,系统提取站场图元数据利用联锁制表模块自动生成站场进路联锁表;同时系统根据信号人员在语义规则模块中定义的语法和联锁数据在逻辑生成模块中解析,最后系统根据解析的语义数据在加密模块对数据进行重排加密生成不可改变的布尔逻辑文件。进一步的,联锁制表模块处理流程步骤如下:P201:联锁制表模块读入TDM或有设备信息及连接关系的数据;P202:模块校验数据的有效性,若数据并非TDM或者有连接关系的设备信息,则抛出信息无效异常;P203:模块从输入数据中提取站场设备的名称,类型,设备方向,所在线路方向,左、右、侧方设备信息;P204:模块提取到设备信息存为链表数据结构;P205:模块依序顺序设置搜寻方向,以搜寻不同方向的进路;P206:模块开始搜寻设备,判断该设备是否为始端信号机,若非始端则返回P204重新开始搜寻;P207:循环记录搜寻到的设备信息,直到遇到终端信号机或车挡为止;P208:在搜寻过程中判断当前设备是否为道岔,如果是,则证明当前进路包含一条新的分支进路。则新建一条进路,并回到P207继续循环搜寻;P209:判断当前设备是否为车挡或绝缘节。若是搜寻到该设备证明搜寻到了进路终点;此次搜寻结束,同时该进路并不作为真实进路存在;P210:判断当前设备是否为终端信号机,若是,则搜寻停止,从始端至终端的所有设备构成一条完备的进路,保存该进路到数据结构中;P211:一次搜寻结束后,判定是否还有未搜寻过设备;如若有则重新回到P204开始下一条进路搜寻;若无则直接输出进路联锁表。进一步的,逻辑生成模块的处理流程步骤如下P301:读入语义规则库和进路联锁表后,模块逐行扫描语义规则库定义的每条规则进行处理;P302:查找是否仍有未处理的下一条表达式,若不存在下一条表达式则语义规则库全部解析完成,输出布尔逻辑文件;P303:取出当前表达式;P304:校验表达式是否完整,即是否有关键字,算子,自由变量基以及表达式终结符;如若不完整,则抛出结构完整性异常,回到P302重新执行;P305:采用上下文无关的LL(K)方式对语义表达式进行逐字符解析;P306:判断解析的字符是否为关键字;P307:若为关键字,表明搜寻联锁设备的Dev对象;P308:判断关键字方法是否执行成功;若方法执行成功,则保存搜索到的设备;若方法执行失败,则抛出方法执行异常,回到P302重新执行;P309:判断当前字符是否为自由变量基,若符合条件,将搜寻到的设备与自由变量基结合;P310:判断当前字符是否为算子;若符合条件,则将算子结合入表达式中;P311:判断当前字符是否为表达式终结符;若不符合条件,则表达式未结束,重新回到P305执行;P312:到达表达式终结符,则该语义表达式解析完成。有益效果:本专利技术通过将布尔逻辑的规则定制与生成相分离,很好的解决了布尔逻辑生成不灵活,后期变更维护困难的问题。加密技术的引入又较好的解决了布尔逻辑数据安全的问题。从而在确保数据安全的情况下,降低了系统维护成本,提高了开发效率。附图说明图1是实施实例中布尔逻辑动态生成系统包含模块示意图。图2是实施实例中联锁布尔逻辑动态生成方法流程图。图3是实施实例中联锁制表模块的流程示意图。图4是实施实例中联锁布尔逻辑典型梯形示意图图5是实施实例中逻辑生成模块的流程示意图。具体实施方式请结合图1所示,本专利技术提供一种联锁布尔逻辑动态生成系统,包括:M1:组件部署(Primiti本文档来自技高网...

【技术保护点】
1.一种基于LL(K)联锁布尔逻辑动态生成系统,其特征在于,包括:组件部署模块,用于开发人员部署站场图上各基本联锁设备,组建各设备之间的连接关系,组件部署模块输出一张有向站场拓扑信息图;联锁制表模块,用于通过有向站场拓扑信息图提供的站场数据,基于图的深度优先搜索算法,搜寻创建进路联锁表;语义规则模块,用于开发人员定制BA的生成规则,形成SRL(Syntax Rule Library);逻辑生成模块,用于基于上下文无关的LL(K)方法解析SRL,通过SRL关键字指示的方法搜寻目标设备,与SRL提供的算子及自由变量基动态生成BA;数据加密模块,用于对BA数据进行加密,生成密钥和加密文件。

【技术特征摘要】
1.一种基于LL(K)联锁布尔逻辑动态生成系统,其特征在于,包括:组件部署模块,用于开发人员部署站场图上各基本联锁设备,组建各设备之间的连接关系,组件部署模块输出一张有向站场拓扑信息图;联锁制表模块,用于通过有向站场拓扑信息图提供的站场数据,基于图的深度优先搜索算法,搜寻创建进路联锁表;语义规则模块,用于开发人员定制BA的生成规则,形成SRL(SyntaxRuleLibrary);逻辑生成模块,用于基于上下文无关的LL(K)方法解析SRL,通过SRL关键字指示的方法搜寻目标设备,与SRL提供的算子及自由变量基动态生成BA;数据加密模块,用于对BA数据进行加密,生成密钥和加密文件。2.根据权利要求1所述的基于LL(K)联锁布尔逻辑动态生成系统,其特征在于,所述组件部署模块提供站场图的设备组件,包括:信号机,道岔,区段,站台,车挡,计轴,环线,路口控制器,道岔控制器;组件部署模块提供对各组件的部署,确定组件连接关系,包括:左连接,右连接,侧连接。3.根据权利要求2所述的基于LL(K)联锁布尔逻辑动态生成系统,其特征在于,联锁制表模块提取站场拓扑信息图中设备信息,通过基于图的深度优先算法搜寻所有进路。4.根据权利要求1所述的基于LL(K)联锁布尔逻辑动态生成系统,其特征在于,语义规则模块采用预先定义的语法规则为基础。信号开发人员在遵循预定规则的基础上,模块允许开发人员自由编辑表达式模板,编辑后的数据存入语义规则库;语义规则规定了构成一个表达式所必须的部分,包括:关键字,特定算子,自由变量基。5.根据权利要求1所述的基于LL(K)联锁布尔逻辑动态生成系统,其特征在于,逻辑生成模块采用上下文无关的LL(k)方式对表达式进行关键字识别,解析输出布尔逻辑数据;逻辑生成模块根据定义的逻辑规则库,动态生成最新的布尔逻辑数据。6.根据权利要求1所述的基于LL(K)联锁布尔逻辑动态生成系统,其特征在于,数据加密模块对生成的布尔逻辑数据进行数据重排加密,产生加密文件及密钥。7.一种根据权利要求1-7中任一项所述基于LL(K)联锁布尔逻辑动态生成系统的逻辑动态生成方法,其特征在于:通过组件部署模块生成站场图,系统提取站场图元数据利用联锁制表模块自动生成站场进路联锁表;同时系统根据信号人员在语义规则模块中定义的语法和联锁数据在逻辑生成模块中解析,最后系统根据解析的语义数据在加密模块对数据进行重排加密生成不可改变的布尔逻辑文件。8.根据权利要求7所述的动态生成方法,其特征在于,联锁制表模块处理...

【专利技术属性】
技术研发人员:魏源梁奕
申请(专利权)人:国电南瑞科技股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1