CN103049269A - 一种基于双链的相异性冗余编码方法 - Google Patents

一种基于双链的相异性冗余编码方法 Download PDF

Info

Publication number
CN103049269A
CN103049269A CN2012105729004A CN201210572900A CN103049269A CN 103049269 A CN103049269 A CN 103049269A CN 2012105729004 A CN2012105729004 A CN 2012105729004A CN 201210572900 A CN201210572900 A CN 201210572900A CN 103049269 A CN103049269 A CN 103049269A
Authority
CN
China
Prior art keywords
redundancy encoding
analysis
vcp2
vcp1
method based
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012105729004A
Other languages
English (en)
Other versions
CN103049269B (zh
Inventor
张磊
曹杰
汪明新
何昀锋
江伟
刘庆华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casco Signal Ltd
Original Assignee
Casco Signal Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casco Signal Ltd filed Critical Casco Signal Ltd
Priority to CN201210572900.4A priority Critical patent/CN103049269B/zh
Publication of CN103049269A publication Critical patent/CN103049269A/zh
Application granted granted Critical
Publication of CN103049269B publication Critical patent/CN103049269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明涉及一种基于双链的相异性冗余编码方法,该方法首先基于同一套算法原理和同一个需求通过相异的双链开发方式开发两套编码工具:VCP1和VCP2,然后采用这两套编码工具进行冗余编码。与现有技术相比,本发明具有安全性高、错误不可检出率低等优点。

Description

一种基于双链的相异性冗余编码方法
技术领域
本发明涉及一种铁路运输系统的安全编码方法,尤其是涉及一种基于双链的相异性冗余编码方法。
背景技术
铁路信号行业直接涉及到列车的安全运行和人民群众的生命财产安全,尤其车载ATP(Automatic Train Protection,列车自动保护)系统是确保列车运行安全的关键系统,该系统必须运用可被证明的安全方法来达到SIL4级(SIL,Safety IntegrityLevel)的系统安全完善度等级。
对于一个铁路行业的安全产品而言,必须满足RAMS(可靠性、可用性、可维护性、安全性)的要求。尤其是对于确保列车运行安全的关键系统---车载ATP系统,它必须达到SIL4级的系统安全完善度等级。基于双链开发的安全冗余编码技术可以防护由于硬件错误或内存错误等引起的操作数错误、操作符错误及运算错误,而且这种编码技术独立于软件和硬件环境,能够保证系统在各种复杂的软件和硬件环境下具有SIL4标准中所要求达到的错误不可检出率,有效地提升系统的安全度等级。
目前,在多数ATP系统中都使用了不同形式的冗余代码来保证系统的安全性。虽然它们形式各异,但是基本原理相同。具有安全性的冗余编码已广泛应用许多地铁项目中。可以看到,由于冗余编码软件具有不同于其他软件的高安全性,在安全性要求较高的地铁领域具有不可替代的地位。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种安全性高、错误不可检出率低的基于双链的相异性冗余编码方法。
本发明的目的可以通过以下技术方案来实现:
一种基于双链的相异性冗余编码方法,该方法首先基于同一套算法原理和同一个需求通过相异的双链开发方式开发两套编码工具:VCP1和VCP2,然后采用这两套编码工具进行冗余编码。
所述的相异的双链开发方式包括相异的架构设计、相异的开发过程、相异的开发技术和相异的编译器。
所述的相异的架构设计具体是指:
VCP1的架构设计是基于语句分析和消息传递,后端根据前端传递过来的消息进行冗余编码,具体为:
读取缓冲区中的待编码的数据,对其进行词法分析,产生单词标识集合并传送给语法分析模块;语法分析模块对单词标识集合进行语法分析,产生语法二叉树数据结构并传送给消息产生模块;消息产生模块解析语法二叉树数据结构后,产生冗余编码消息,并传送给冗余代码生成模块生成相应的冗余代码;
VCP2的架构设计具体为:设定词法规则和语法规则,利用这些规则对待编码的数据进行词法语法分析,构建程序对象,冗余代码生成模块通过遍历该程序对象进行相应的冗余编码。
所述的词法语法分析过程中,通过中间结构存储分析所得结果。
所述的相异的开发过程是指VCP1和VCP2的开发及测试分别独立完成。
所述的相异的开发技术是指:VCP1使用C语言作为开发语言,词法分析和语法分析基于开源工具CPP和LCC;VCP2使用C++作为开发语言,使用MCPP、lex&yacc进行词法语法分析。
所述的相异的编译器是指:VCP1使用VC6编译环境,VCP2使用g++编译器。
与现有技术相比,本发明以相异的双链开发方式开发两套相异的安全冗余编码工具,来实现相同的编码功能,具有较高的安全等级,使系统在各种复杂的软件和硬件环境下具有更低的错误不可检出率。
附图说明
图1为本发明的原理示意图;
图2为本发明中VCP1的数据结构设计示意图;
图3为本发明中VCP1的编码过程示意图;
图4为本发明中VCP2的数据结构设计示意图;
图5为本发明中VCP2的编码过程示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例
如图1所示,一种基于双链的相异性冗余编码方法,该方法首先基于同一套算法原理和同一个需求通过相异的双链开发方式开发两套编码工具:VCP1和VCP2,然后采用这两套编码工具进行冗余编码。而且VCP1和VCP2编码后的有效冗余代码(不包括空格,空行和注释)经过比较工具(COST1、COST2)比较是完全一致的。
所述的相异的双链开发方式包括相异的架构设计(包括相异的数据结构和编码过程)、相异的开发过程、相异的开发技术和相异的编译器。
所述的相异的架构设计具体是指:
VCP1的数据结构和编码过程如图2-图3所示,VCP1是基于语句分析和消息传递,后端根据前端传递过来的消息进行冗余编码,具体为:
读取缓冲区中的待编码的数据,对其进行词法分析,产生单词标识集合并传送给语法分析模块;语法分析模块对单词标识集合进行语法分析,产生语法二叉树数据结构并传送给消息产生模块;消息产生模块解析语法二叉树数据结构后,产生冗余编码消息,并传送给冗余代码生成模块生成相应的冗余代码。
单词标识是一种标识当前分析的词法语句的类型的值,它是一个唯一的整数。比如,可以用5表示当前分析的词语是一个整型int声明,用2表示当前读到的是一个变量名。
VCP1基于语句处理的模型:
待编码的C语言程序通过词法分析和语法分析被解析成一个有限的语言规则集R<r1,r2,…,rn>,编码算法被定义为一个有限的编码规则集P<p1,p2,…,pn>;对于每个ri(i=1,2,..,n),都有一个相应的编码规则pi(i=1,2,…,n)与之相对应。
VCP2的数据结构和编码过程如图4-图5所示,VCP2的架构设计具体为:通过先定义词法规则和语法规则,然后采用开源工具flex来生成词法分析工具,采用bison来生成语法分析工具。在词法语法分析过程中,还需考虑如何将分析所得的结果合理存储,方便之后进行冗余编码。VCP2中设计了一种中间结构,使用若干个类,来组成一个C语言程序,每个类即代表了C程序的各个语法成分,比如,变量有对应的变量类,声明有对应的声明类,语句有对应的语句类等等。语法分析和词法分析的过程,就是构建程序对象的过程。经过语法词法分析之后,被分析的源C语言程序即被存储到相应的对象中。冗余代码生成模块通过遍历这个程序对象生成冗余代码。
VCP2基于程序对象处理的模型:
待编码的C语言程序通过词法分析和语法分析被存储在一个程序对象中,该程序对象是一个有限的子对象的集合O<o1,o2,…,om>。冗余编码过程就是遍历这个程序对象,将程序对象还原成C代码,在还原的过程中,对符合编码算法的子对象进行冗余编码,然后输出到相应的冗余代码文件中。
所述的相异的开发过程是指VCP1和VCP2的开发及测试由两个独立的团队分别完成。而且除了需求文档和确认测试文档,双链的开发文档,测试文档,安全相关及质量相关的文档都是独立的,以确保在相异的开发过程下,双链的输出结果是一致的。
所述的相异的开发技术是指:VCP1使用C语言作为开发语言,词法分析和语法分析基于开源工具CPP和LCC;VCP2使用C++作为开发语言,使用MCPP、lex&yacc进行词法语法分析。
所述的相异的编译器是指:VCP1使用VC6编译环境,VCP2使用g++编译器。
在足够相异的开发下,双链最终实现的功能是一致的,这样以保证系统足够的安全,即:
VCP1和VCP2均可以对整数的以下运算进行编码:
1)算术运算(包括加、减、乘、除);
2)逻辑运算(包括与、或、非);
3)移位运算(包括算术左移和右移);
VCP1和VCP2均可以对if-else分支结构(包括组合和嵌套的情况)、while循环结构(包括组合和嵌套的情况)、函数调用进行编码。
本方法涉及安全性极高的系统,可作为安全原理来保证系统在各种复杂的软件和硬件环境下具有SIL4标准中所要求达到的错误不可检出率。本方法主要适用的领域为铁路运输系统,除此以外,也适用于各种安全等级较高的领域。本方法尤其适用于车载ATP系统程序的安全计算。本方法使用的范围为模拟量、开关量以及数值量的多输入多输出系统。本方法不仅可以进行逻辑运算的编码,还可以进行一般算术运算的编码,并且能够保证无论是逻辑运算、算术运算或者两者混合的计算形式都能达到极高的安全等级。

Claims (7)

1.一种基于双链的相异性冗余编码方法,其特征在于,该方法首先基于同一套算法原理和同一个需求通过相异的双链开发方式开发两套编码工具:VCP1和VCP2,然后采用这两套编码工具进行冗余编码。
2.根据权利要求1所述的一种基于双链的相异性冗余编码方法,其特征在于,所述的相异的双链开发方式包括相异的架构设计、相异的开发过程、相异的开发技术和相异的编译器。
3.根据权利要求2所述的一种基于双链的相异性冗余编码方法,其特征在于,所述的相异的架构设计具体是指:
VCP1的架构设计是基于语句分析和消息传递,后端根据前端传递过来的消息进行冗余编码,具体为:
读取缓冲区中的待编码的数据,对其进行词法分析,产生单词标识集合并传送给语法分析模块;语法分析模块对单词标识集合进行语法分析,产生语法二叉树数据结构并传送给消息产生模块;消息产生模块解析语法二叉树数据结构后,产生冗余编码消息,并传送给冗余代码生成模块生成相应的冗余代码;
VCP2的架构设计具体为:设定词法规则和语法规则,利用这些规则对待编码的数据进行词法语法分析,构建程序对象,冗余代码生成模块通过遍历该程序对象进行相应的冗余编码。
4.根据权利要求3所述的一种基于双链的相异性冗余编码方法,其特征在于,所述的词法语法分析过程中,通过中间结构存储分析所得结果。
5.根据权利要求2所述的一种基于双链的相异性冗余编码方法,其特征在于,所述的相异的开发过程是指VCP1和VCP2的开发及测试分别独立完成。
6.根据权利要求2所述的一种基于双链的相异性冗余编码方法,其特征在于,所述的相异的开发技术是指:VCP1使用C语言作为开发语言,词法分析和语法分析基于开源工具CPP和LCC;VCP2使用C++作为开发语言,使用MCPP、lex&yacc进行词法语法分析。
7.根据权利要求2所述的一种基于双链的相异性冗余编码方法,其特征在于,所述的相异的编译器是指:VCP1使用VC6编译环境,VCP2使用g++编译器。
CN201210572900.4A 2012-12-25 2012-12-25 一种基于双链的相异性冗余编码方法 Active CN103049269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210572900.4A CN103049269B (zh) 2012-12-25 2012-12-25 一种基于双链的相异性冗余编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210572900.4A CN103049269B (zh) 2012-12-25 2012-12-25 一种基于双链的相异性冗余编码方法

Publications (2)

Publication Number Publication Date
CN103049269A true CN103049269A (zh) 2013-04-17
CN103049269B CN103049269B (zh) 2016-02-24

Family

ID=48061921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210572900.4A Active CN103049269B (zh) 2012-12-25 2012-12-25 一种基于双链的相异性冗余编码方法

Country Status (1)

Country Link
CN (1) CN103049269B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111010258A (zh) * 2019-12-23 2020-04-14 卡斯柯信号有限公司 一种基于编码的计算机联锁系统通信方法
CN111124418A (zh) * 2019-12-10 2020-05-08 卡斯柯信号有限公司 一种基于vcp冗余代码的通信数据超时判断方法
CN111221534A (zh) * 2019-12-31 2020-06-02 卡斯柯信号有限公司 一种模块化嵌入式软件交叉编译烧录装置及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240511A (ja) * 1997-02-25 1998-09-11 Hitachi Software Eng Co Ltd 暗号アルゴリズム開発支援装置及び暗号プログラム開発支援装置
CN101376393A (zh) * 2008-09-25 2009-03-04 卡斯柯信号有限公司 铁路信号系统中故障容错的安全处理器
CN101764619A (zh) * 2009-12-15 2010-06-30 卡斯柯信号有限公司 一种用于车载atp系统的安全冗余编码处理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240511A (ja) * 1997-02-25 1998-09-11 Hitachi Software Eng Co Ltd 暗号アルゴリズム開発支援装置及び暗号プログラム開発支援装置
CN101376393A (zh) * 2008-09-25 2009-03-04 卡斯柯信号有限公司 铁路信号系统中故障容错的安全处理器
CN101764619A (zh) * 2009-12-15 2010-06-30 卡斯柯信号有限公司 一种用于车载atp系统的安全冗余编码处理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124418A (zh) * 2019-12-10 2020-05-08 卡斯柯信号有限公司 一种基于vcp冗余代码的通信数据超时判断方法
CN111010258A (zh) * 2019-12-23 2020-04-14 卡斯柯信号有限公司 一种基于编码的计算机联锁系统通信方法
CN111010258B (zh) * 2019-12-23 2022-01-28 卡斯柯信号有限公司 一种基于编码的计算机联锁系统通信方法
CN111221534A (zh) * 2019-12-31 2020-06-02 卡斯柯信号有限公司 一种模块化嵌入式软件交叉编译烧录装置及方法
CN111221534B (zh) * 2019-12-31 2022-08-30 卡斯柯信号有限公司 一种模块化嵌入式软件交叉编译烧录装置及方法

Also Published As

Publication number Publication date
CN103049269B (zh) 2016-02-24

Similar Documents

Publication Publication Date Title
CN103049269B (zh) 一种基于双链的相异性冗余编码方法
CN104049976B (zh) 基于布尔逻辑的联锁软件自动生成系统
Butler et al. The first twenty-five years of industrial use of the B-method
CN101376393A (zh) 铁路信号系统中故障容错的安全处理器
Vu et al. Formal modeling and verification of interlocking systems featuring sequential release
Ruiz et al. Architecture-driven, multi-concern and seamless assurance and certification of cyber-physical systems
Margaria et al. Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications: 7th International Symposium, ISoLA 2016, Imperial, Corfu, Greece, October 10-14, 2016, Proceedings, Part II
Almeida et al. Partial derivative automata formalized in Coq
Ferrari et al. From commercial documents to system requirements: an approach for the engineering of novel CBTC solutions
Rosenmüller et al. Tailor-made data management for embedded systems: A case study on Berkeley DB
CN101764619B (zh) 一种用于车载atp系统的安全冗余编码处理方法
Seisenberger et al. Safe and secure future AI-driven railway technologies: challenges for formal methods in railway
Amadio1 et al. Reasoning about higher-order processes
Iliasov et al. Practical verification of railway signalling programs
Kanso et al. A light-weight integration of automated and interactive theorem proving
Badeau et al. Formal data validation with Event-B
Taguchi et al. Linking traceability with GSN
CN107430539A (zh) 安全相关的计算机系统
Lecomte Digital modelling in the railways
Wang et al. Route safety verification of train control system by FTA modeling in SCADE
Bouwman et al. Decompositional Branching Bisimulation Minimisation of Monolithic Processes
Ledru et al. A separation of concerns approach for the verified modelling of railway signalling rules
Balogh et al. Distributed and heterogeneous event-based monitoring in smart cyber-physical systems
CN101377665B (zh) 车载atp系统程序到安全编码的转换方法
Le et al. Refinement-based synthesis of correct contract model decompositions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant