形式化计算机联锁实现方法技术

技术编号:7468894 阅读:239 留言:0更新日期:2012-06-30 10:37
一种形式化计算机联锁实现方法,其特征是首先利用RMGateway工具中的图形编辑器建立带追踪分析的无歧义的系统需求,再根据从系统需求中提取出的计算机联锁软件需求进行模型设计,模型设计采用建模的方法,通过模型设计生成的程序是有别于传统的编程语言的实例化的站场元件对象,程序执行采用循环处理同类对象的方式;模型设计完成后再利用经过安全认证的代码生成器生成标准C代码,最后使用经过验证的编译器编译连接生成最终计算机联锁应用程序的目标码。采用本发明专利技术实现的软件程序不使用循环语句,对象程序明确、无二义性,方便验证,而且执行效率较高。

【技术实现步骤摘要】

本专利技术涉及一种安全联锁技术,尤其是一种轨道交通中运行软件的安全联锁的实现方法,具体地说是一种。
技术介绍
随着计算机技术的发展,传统的继电联锁逐步被计算机联锁所取代,而其中联锁应用软件的大都采用C语言,梯形图等以代码为中心的开发语言来实现,这种方式存在以下问题1、概要设计以图表、自然语言表达,存在歧义,无法模拟仿真,对需求分析结果的验证也主要依赖于评审、走查、分析等人工验证方式,验证工作量大,而且验证工作缺乏严格的数学推演过程。2、同样,详细设计也以图表、自然语言表达,无法模拟仿真,因此对软件设计结果的验证同样很困难,对该进程验证的验证更加难以实现。3、单元测试是对代码编写进程进行验证的有效手段,并通过测试用例的代码覆盖率评估测试是否充分,实现对代码编写进程验证结论的验证。单元测试及代码覆盖率分析一般需借助专业的工具软件,工作量巨大,难度高。4、集成编译工作的验证通过验证编译器实现,需采用专业的编译器验证工具软件,验证的充分性保证一般很难实现。而形式化的开发方法从需求阶段就采用可验证的设计方法,需求阶段,软件设计, 代码编写,代码集成等开发全过程都能得到验证。
技术实现思路
本专利技术的目的是针对现有的软件安全联锁是在软件编制完成后进行从而造成验证困难,难度大,过程复杂等问题,专利技术一种,覆盖软件开发的整个流程,能够满足联锁对安全相关软件的需要,并可以满足其它对安全要求极高系统的需求。本专利技术的技术方案是一种,其特征是首先利用RM Gateway工具中的图形编辑器建立带追踪分析的无歧义的系统需求,再根据从系统需求中提取出的计算机联锁软件需求进行模型设计,模型设计采用建模的方法,通过模型设计生成的程序是有别于传统的编程语言的实例化的站场元件对象,程序执行采用循环处理同类对象的方式;模型设计完成后再利用经过安全认证的代码生成器生成标准C代码,最后使用经过验证的编译器编译连接生成最终计算机联锁应用程序的目标码。所述的站场元件包括进路、道岔和信号机。在模型设计阶段采用两种图形化建模机制来描述计算机联锁软件,即数据流图和有限状态机,二者以严格的数学模型为基础,具有精确的描述和表达形式,以保证设计模型的精确性、完整性、一致性和无二义性;在模型的功能验证方面,采用模拟仿真即黑盒测试保证功能的正确实现,使用模型覆盖率分析即白盒测试定量衡量模拟仿真的完备性,同时自动生成满足D0-178B标准的高安全性C代码,以免除单元测试的工作。是所述的模型的验证方法为静态分析、模拟仿真、覆盖率分析和形式验证;系统设计人员在模型设计阶段就可以完成对系统的仿真测试和安全验证,这可以使系统设计人员及早的发现系统的设计缺陷和安全漏洞,将这些问题所导致的影响降低到最小;在模型的安全性验证上,首先用模型形式化的描述安全需求,然后对安全需求进行进行分解,细化,建模;对计算机联锁软件的安全性进行验证,无需借助大量的测试用例,解决传统软件编程方法所带来的安全性无法得到全面验证的问题;在验证过程中使用验证器作为形式化的验证工具,用来帮助设计开发人员验证设计的正确性。本专利技术的有益效果1.为计算机联锁设备提供了完备的形式化的开发方法。2.采用本专利技术实现的软件程序不使用循环语句,对象程序明确、无二义性,方便验证,而且执行效率较高。3.为计算机联锁设备通过第三方安全认证提供强有力的支持。4.可以满足不同站场的需要;5.可作为其它安全相关系统,如信号系统中的ATP控制器,区域控制器的设计依据;6.为对安全性要求高的系统提供形式化开发方法的支持。附图说明图1是本专利技术计算机联锁软件形式化开发方法流程图。图2是本专利技术计算机联锁应用软件生成图。具体实施方式下面结合附图和实施例对本专利技术作进一步的说明。如图1-2所示。一种,首先利用RM Gateway工具中的图形编辑器建立带追踪分析的无歧义的系统需求,再根据从系统需求中提取出的计算机联锁软件需求进行模型设计,模型设计采用建模的方法,通过模型设计生成的程序是实例化的站场元件对象(如具体的进路,道岔和信号机等),程序执行有别于传统的编程语言采用循环处理同类对象的方式。模型设计完成后再利用经过安全认证代码生成器生成标准C代码,最后使用经过验证的编译器编译连接生成最终计算机联锁应用程序的目标码,开发方法流程如图1 所示。整个开发过程都可追踪到系统需求,通过模型覆盖率分析可以发现最终实现和开发过程对需求的覆盖情况,通过模型检查可以发现模型设计的不足。下面介绍具体的技术途径在模型设计阶段采用两种图形化建模机制来描述计算机联锁软件数据流图和有限状态机,二者以严格的数学模型为基础,具有精确的描述和表达形式,保证了设计模型的精确性、完整性、一致性和无二义性。在模型的功能验证方面,采用模拟仿真(黑盒测试)保证了功能的正确实现,使用模型覆盖率分析(白盒测试)定量衡量模拟仿真的完备性,同时自动生成满足D0-178B标准的高安全性C代码,免除了单元测试的工作。模型的验证主要采用以下方法1、静态分析;2、模拟仿真;3、覆盖率分析;4、形式验证。系统设计人员在模型设计阶段就可以完成对系统的仿真测试和安全验证,这可以使系统设计人员及早的发现系统的设计缺陷和安全漏洞,将这些问题所导致的影响降低到最小。在模型的安全性验证上,首先用模型形式化的描述安全需求,然后对安全需求进行进行分解,细化,建模。对计算机联锁软件的安全性进行验证,无需借助大量的测试用例, 解决传统软件编程方法所带来的安全性无法得到全面验证的问题。另外在验证过程中使用验证器作为形式化的验证工具,用来帮助设计开发人员验证设计的正确性。验证器只需要相关安全属性的形式化描述,就能对安全属性进行严格的数学证明。验证器的原理是采用数据流节点的形式描述相关的安全属性,将该节点的输入和输出与被验证模型进行相连,然后进行形式化证明。验证器与仿真器的区别在于验证的完整性。仿真测试案例无法百分之百的保证设计的正确性,但验证器可以完整的证明设计的安全性满足相关安全要求。联锁应用软件的实现方法参见图2,先把联锁站场配置成通用数据表格形式的文件,以满足不同站场的需求,方便工程人员输入,开发人员利用开发环境将站场元素(如进路,道岔,信号机和轨道等)采用数据流和状态机建立其基本模型放置在基本元素库中,再利用自动生成工将站场配置文件和基础库为生成具体站场文件,生成的站场文件包含所有元素的实例化对象(如每条进路都是采用状态机根据站场文件描述的实际进路)。上述过程完成后,再通过自动生成工具根据不同项目的需求自动生成应用软件。本专利技术未涉及部分均与现有技术相同或可采用现有技术加以实现。权利要求1.一种,其特征是首先利用RM Gateway工具中的图形编辑器建立带追踪分析的无歧义的系统需求,再根据从系统需求中提取出的计算机联锁软件需求进行模型设计,模型设计采用建模的方法,通过模型设计生成的程序是有别于传统的编程语言的实例化的站场元件对象,程序执行采用循环处理同类对象的方式;模型设计完成后再利用经过安全认证的代码生成器生成标准C代码,最后使用经过验证的编译器编译连接生成最终计算机联锁应用程序的目标码。2.根据权利要求1所述的,其特征是所述的站场元件包括进路、道岔和信号机。3.根据权利要求1所述的,其特征是在模型设计阶段采用两种图形化建本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:黄克勇束元邱鹏
申请(专利权)人:南京恩瑞特实业有限公司
类型:发明
国别省市:

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

1
相关领域技术