一种可视化页面程序修改一致性校验方法技术

技术编号:13567330 阅读:154 留言:0更新日期:2016-08-20 23:39
本发明专利技术公开一种可视化页面程序修改一致性校验方法:根据可视化页面内符号间输入输出数据流关系和数据类型信息,形成页面的中间信息文本。中间信息文本由该页面对外输入的输出变量名、变量类型,相关符号的输入、输出形参类型和参数设置值,输出变量的数据流调用表达式等关键内容拼接组成,基于中间信息文本计算形成CRC,作为页面的特征码,通过比较厂家内部修改页面、现场工程修改页面之间的特征码,给出页面程序修改是否一致的结果,该方法可有效解决由于位置偏差、中间变量命名不同、非相关连接子网络顺序变化等原因导致的页面文件不同,但实际功能一致时误判为不一致的问题。

【技术实现步骤摘要】

本专利技术属于可视化编程领域,具体涉及一种可视化页面程序修改一致性校验方法
技术介绍
已经投运的直流输入控制保护、柔性输电保护工程,存在新的需求时,需要修改部分可视化页面程序。首先是研发人员在厂家内修改相关程序,在厂家内做完相关试验并经过审核评审后,将修改过的页面、修改步骤文档发给现场。之后技术支持人员从现场程序服务器签出需要修改的页面,根据修改说明步骤,进行修改和编译,下载到装置。现场服务器是网络隔离的,不允许USB等端口操作,不允许直接用厂家修改的文件覆盖相关内容,这就存在研发修改的页面和现场修改的页面是否修改一致的问题,需要有校验的手段。常规的方法是比较可视化页面文件或产物文件。由于可视化绘制时,只要有一点位置偏差,页面存储的文件必然不同,故没有可行性。而比较产物的方法,是将可视化页面形成代码,将代码编译形成的HEX文件,比较HEX文件是否一致。然而,在绘制修改页面时,不能确保厂家内、现场新建、删除连接线的顺序前后一致,当中间连接线变量名是根据一定规则在绘制阶段自动命名时,连接线的命名由于绘制顺序不一致产生不同,故形成的连接变量名可能不同,导致形成的C代码产物或编译后的目标文件可能是不同的。而现场用户希望在编译前就能校验两者页面的一致性,并能排除中间变量命名、无关联关系的符号位置变化的无效差异,故通过比较产物的方式是行不通的。故需提供一种可视化页面程序修改一致性校验方法,尚未有文献阐述基于中间信息文本计算提取特征码进行比较的方法,本案由此产生。
技术实现思路
本专利技术的目的是通过分析可视化页面程序内容,转换为中间信息文本,计算得到CRC特征码,进行页面的一致性比较,即能去除中间变量名、无关联关系符号位置差异的同时,又能有效比较出页面实质内容发生变化。为了达成上述目的,本专利技术提供一种可视化页面程序一致性校验方法,其特征在于根据可视化页面内符号间输入输出数据流关系和数据类型信息,形成输出变量的数据流调用表达式和变量类型和初始值等中间信息文本,基于中间信息文本计算形成CRC,作为页面的特征码,通过比较厂家内部修改页面、现场工程修改页面之间的特征码,给出页面程序修改是否一致的结果。所述中间信息文本的具体形成过程包括,1、解析可视化页面文件,读取编程符号和连接信息;2、根据连接信息,形成符号的输入-输出数据流依赖关系,形成有向无环网络;3、提取汇总页面对外的输入、输出符号,对输出变量按照名字进行降序排列;4、设定i=1,N=输出变量个数;5、以输出变量Outi为终止点,按照广度优先算法前向回溯前驱符号的各个分支,直至回溯到输入变量或输入为0的变量;6、汇总各分支回溯路径中的符号名、符号的输入-输出名,得到输出变量的调用计算表达式和辅助设置信息,拼接形成字符文本段Si;7、迭代计算i=i+1,若i<=N则重复步骤5-7;8、将排序后的各个输出变量的文本段汇总形成页面的中间信息文本S=S1+S2+…+SN。作为本专利技术的进一步优选方案,步骤6中,所述辅助设置信息包括:路径中各符号的输入和输出变量类型、变量初始值、参数设置名和设置值。作为本专利技术的进一步优选方案,所述可视化页面文件的编程符号包括输入块、输出块、功能函数块、连接线。作为本专利技术的进一步优选方案,所述中间信息文本不包括连接线变量名,排除内部连接线命名不同时误报不一致的情况。作为本专利技术的进一步优选方案,步骤5中,基于数据流依赖关系进行反向广度优先遍历,排除独立连接网络整体位置调换时,误报不一致的情况。作为本专利技术的进一步优选方案,基于输出变量名进行降序排列,并记录该变量名从输入变量到输出变量整个分支路径的关键信息,进而检测出连接关系变化、调用顺序变化、功能函数变化、变量初始值变化、变量类型变化等。采用上述方案后,本专利技术具有如下有益效果:针对用户网络安全管理的规定和章程,页面程序经过研发人员、现场技术支持人员的2次修改,能用一种自动化的方法得出修改是否一致可信的结论,避免了基于页面文件、产物C代码、二进制目标文件进行比较时,误报不一致的问题,可有效过滤页面中间变量名变化、非关联子网络位置变化的差异,并能有效判断出输出变量调用链的函数、变量类型、初始值不同的差异,从而提高了可视化工程的防误校验能力,提高了工程实施的可靠性,已经在多个直流输入控制保护、柔性输电保护工程进行了批量应用,通过了实践检验,确保了可视化页面程序升级的有效性、一致性。附图说明图1 是可视化页面程序修改一致性校验方法;图2 是输出变量中间信息文本形成示意图;图3 独立子网络位置变化一致性等价示例图。具体实施方式以下将结合附图,对本专利技术的技术方案进行详细说明。可视化页面程序修改一致性校验方法和步骤如图1所示:计算厂家修改的可视化页面A的中间信息文本和CRC1;计算现场技术支持人员修改的页面A’和32为CRC2,通过比较CRC1和CRC2是否一致,得出页面修改一致性的结论。其中形成页面的中间信息文本是关键步骤,具体实施如下:1)读取可视化页面文件,包括输入符号、输出符号、功能函数符号、连接线等符号数据;2)通过连接线记录的连接起始端符号ID、连接终止符号ID、连接起始变量名、连接终止变量名,形成基于图论结构的输入输出的网状关系,每条连接线记录起始符号、终止符号、起始连接点、终止连接点的数据指针,每个符号的连接点记录与之相连接的连接线指针;3)根据连接线连接关系和指针双向记录结构,形成符号的输入-输出数据流依赖关系,根据数据流关系,形成有向无环的AOV等价网络;即页面可视为M个输入、N个输出的黑盒子,内部的功能函数网状连接形成。则通过汇总输出变量的计算表达式和辅助信息,可得到等价中间信息文本;4)提取汇总页面对外的输入、输出符号,对输出变量按照名字进行降序排列(依次比较每位ASCII字符的数值,相同条件下短名字优先,例如ABC>ABCD);5)设置循环变量i=1, 并置N=输出变量个数;6)依次取出排序后的输出变量,以输出变量Outi为终止点,前向回溯前驱符号的各个分支路径,按照广度优先算法完成前向回溯,直至回溯到输入变量或输入为0的变量;7)汇总各分支回溯路径中的符号名、符号的输入-输出名,逐级替换,得到输出变量的调用计算表达式和辅助设置信息。辅助设置信息包括分支路径中各符号的输入和输出变量类型、变量初始值、参数设置名和设置值),拼接形成字符文本段Si;8)i=i+1;9)i<=N则重复步骤6)到步骤8 ;10) 将排序后的各个输出变量的文本段汇总形成页面的中间信息文本S=S1+S2+…+SN。如图2所示,输出变量Out1前驱是OR2, 则遍历L1时,可得到式1:Out1=XOR2.b1XOR2.b1=XOR2( XOR2.a1, XOR2.a2)。之后遍历XOR2的2个输入连接线L2,L3,可得到:式2:XOR2.a1=AND3.b1XOR2.a2=OR3.b1。代入式1可得到式3:Out1= XOR2(AND3.b1, OR3.b1)再遍历 AND3的输入连接线L4、L5、L6,OR3的输入连接线L7、L8、L9,可得:式4:AND3.b1=AND3(AND3.b1, AND3.b2, AND3.b3)AND3.b1=AND3(In1, In2, In3)式5: OR本文档来自技高网...

【技术保护点】
一种可视化页面程序修改一致性校验方法,其特征在于:根据可视化页面内编程符号间输入输出数据流关系和数据类型信息,形成输出变量的中间信息文本,所述中间信息文本包括数据流调用表达式、变量类型和初始值,基于中间信息文本计算形成CRC作为页面的特征码,通过比较修改页面之间的特征码,判断出页面程序修改是否一致。

【技术特征摘要】
1.一种可视化页面程序修改一致性校验方法,其特征在于:根据可视化页面内编程符号间输入输出数据流关系和数据类型信息,形成输出变量的中间信息文本,所述中间信息文本包括数据流调用表达式、变量类型和初始值,基于中间信息文本计算形成CRC作为页面的特征码,通过比较修改页面之间的特征码,判断出页面程序修改是否一致。2.如权利要求1所述的一种可视化页面程序修改一致性校验方法,其特征在于:所述中间信息文本的具体形成过程包括,步骤1、解析可视化页面文件,读取编程符号和连接信息;步骤2、根据连接信息,形成符号的输入-输出数据流依赖关系,形成有向无环网络;步骤3、提取汇总页面对外的输入、输出符号,对输出变量按照名字进行降序排列;步骤4、设定i=1,N=输出变量个数;步骤5、以输出变量Outi为终止点,按照广度优先算法前向回溯前驱符号的各个分支,直至回溯到输入变量或输入为0的变量;步骤6、汇总各分支回溯路径中的符号名、符号的输入-输出名,得到输出变量的调用计算表达式和辅助设置信息,拼接形成字符文本段Si;步骤7、迭代计算i=i+1,若i<=N则重复步骤5-7;步骤8、...

【专利技术属性】
技术研发人员:陈宏君文继锋刘克金李海英王永平邹强黄志岭周强
申请(专利权)人:南京南瑞继保电气有限公司南京南瑞继保工程技术有限公司
类型:发明
国别省市:江苏;32

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

1