CN107003912B - 电子系统和在该电子系统中执行程序的方法 - Google Patents

电子系统和在该电子系统中执行程序的方法 Download PDF

Info

Publication number
CN107003912B
CN107003912B CN201580053999.9A CN201580053999A CN107003912B CN 107003912 B CN107003912 B CN 107003912B CN 201580053999 A CN201580053999 A CN 201580053999A CN 107003912 B CN107003912 B CN 107003912B
Authority
CN
China
Prior art keywords
self
test
chk
sys
subroutines
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.)
Active
Application number
CN201580053999.9A
Other languages
English (en)
Other versions
CN107003912A (zh
Inventor
R.马里亚尼
M.博加蒂
S.洛伦兹尼
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN107003912A publication Critical patent/CN107003912A/zh
Application granted granted Critical
Publication of CN107003912B publication Critical patent/CN107003912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

一种用于在提供有功能安全性的应用的电子系统中运行程序(P)的方法,电子系统包括单处理器或多处理器处理系统和另一独立控制模块,该方法包括:执行将程序(P)分解为多个并行子程序(P1、…、Pn)的操作;将各并行子程序(P1、…、Pn)的执行指配给系统的相应处理模块,周期性地执行关联到所述子程序(P1、…、Pn)的每个的自测操作(Ast1、Asys、Achk)。

Description

电子系统和在该电子系统中执行程序的方法
技术领域
本公开涉及用于在要求功能安全性的应用的电子系统的上下文中运行程序的技术。所述的电子系统基于包括单个处理器(CPU)或者多个处理器的架构。所述的技术设想:
执行将经由所述架构所运行的程序分解为多个并行子程序的操作;
将各并行子程序的执行指配给系统的相应处理模块、特别是关联到所述处理器之一的物理处理器或虚拟机;以及
在所述架构的正常操作期间周期地按照程序的循环频率执行设计成满足功能安全性目标的自测操作。
各个实施例可适用于功能安全性。特别是,各个实施例在工业机器人和工业控制领域的电子系统中以及在电子系统的技术领域中得到应用,以供驾驶员辅助和部分或完全自动驾驶的汽车应用。
背景技术
诸如IEC 61508、ISO 13849和ISO 26262之类的功能安全性标准包含对检测集成电子系统中的潜在危险失效的要求。例如,在标准 ISO 26262中,要求之一定义为“HW随机失效的概率度量(PMHF)”,其对于给定失效模型F、作为第一近似定义为基本失效概率(λ)、在失效模型上的这个概率的分布(ΛF)、安全失效的分数的一的补数(1-s) 和非安全失效的诊断性覆盖的一的补数之间的乘积。
通过“安全失效”表示这种失效:使得运行于电子装置的程序的任务将不受影响或者将按照安全方式来被影响;即,任务终止于已知状态、即所谓的“安全状态”,其中对功能安全性不存在危险。
单处理器或者多处理器处理系统的处理器是在这类集成电子系统的最关键元件之中,并且其复杂度随着本领域取得的进步而增加。
关于处理器,上述标准(例如ISO 26262-5,附录D,表D.4)提供用于得到非安全失效的覆盖的诊断性值(由k标示,其尽可能高)的各种可能技术。
上述技术在现有技术中得到各种实现。
诸如例如专利No.US6233702或者专利No.US7472051中所述架构等的架构必然要求处理器的硬件的修改,以便保证功能安全性,使得实现处理器的完全或简化形式的冗余度。
诸如例如专利No.US5513319中所述架构等的架构设想由处理器以预设时间间隔周期性地查询独立元件(监视器)。然而,它能够保证的功能安全性仅限于:处理器的失效的一小部分能够采用这种方法被检测到—基本上是引起程序流中的充分差异的方法。
发明内容
本文所述的实施例的目的在于改进按照先前所述现有技术的方法的潜力,特别是使得有可能取得对复杂架构(诸如现代多处理器的复杂架构)高诊断性覆盖,同样限制单个处理器的覆盖目标并且限制或去除对硬件的修改的需要。
由于具有以下权利要求书中所述特性的方法,各个实施例取得上述目的。各个实施例还可涉及一种架构,因为它们同样涉及一种计算机程序产品,其能够加载到至少一个计算机(例如网络中的终端)的存储器中,并且包括设计成当程序运行于至少一个计算机上时执行该方法的步骤的软件代码部分。如本文所使用的上述计算机程序产品被理解为相当于计算机可读部件,其包含用于控制计算机系统以便协调按照本发明的方法的执行的指令。提到“至少一个计算机”被理解为强调本发明按照模块化和/或分布式形式来实现的可能性。权利要求书形成本文关于本发明所提供的技术教导的构成整体所必需的部分。
各个实施例可设想,该方法包括自测操作,其包括:
诊断性自测操作,即,对处理器执行测试并且将结果与设计阶段期间预先计算的值进行比较的操作;
在架构上测量的系统值(完全作为举例,电压和温度)的自测以及结果与预计参考范围的比较的操作;以及
所述子程序的部分结果之间的比较的操作,
以及所述自测操作包括:
生成与自测操作有关的相应自测数据,并且对所述自测数据执行检查操作;
使用消息协议与另一独立控制模块连续地交换所述自测数据;
在所述另一独立控制模块中执行至少部分所述检查操作;以及
执行将程序分解为多个并行子程序以便尊重失效概率目标(其作为所述诊断性自测操作所确定的覆盖值、在架构上测量的系统值的自测操作的给定覆盖值、以及上述子程序的部分结果之间的比较操作所确定的覆盖值的函数)的所述操作。
分解所述程序以及将自测操作划分为上述三个独立操作(经由诊断性测试的自测、经由系统值的监测的自测以及经由中间结果的比较的自测)的过程实现对已知技术的改进。特别是,这种三分实现按照优化方式的目标分布,即,降低这些操作(对于所述方法应用于其上的特定类型的系统—其要求强设计工作量或硬件的修改以便被达到) 的目标,而代替地,提升那些操作(其在这种上下文中更易于执行)的目标。
附图说明
现在将完全作为举例、参照附图来描述各个实施例,在附图中:
-图1示出配置用于实现本文所述方法的电子系统的多处理器架构的一实施例的框图;
-图2示出表示本文所述方法所使用的安全性功能的简图;
-图3示出配置用于实现本文所述方法的多处理器架构的软件级的简图;
-图4和图5示出表示多处理器架构所实现的通信协议所使用的分组的简图;
图6示出与多处理器架构协作以用于实现本文所述方法的控制模块的框图;
-图7是本文所述多处理器架构所运行的测试程序的示意图;
-图8示出表示本文所述方法的分解操作的逻辑实现的一示例的逻辑图;以及
-图9示出具有二核对称多处理器、SoC(芯片上系统)上系统的实现的原理图。
具体实施方式
在以下描述中,提供许多具体细节,以便实现对作为举例所提供的实施例的最大理解。实施例可在具有或没有特定细节的情况下或者采用其他方法、组件、材料等实现。在其他情况下,没有详细示出或描述众所周知的结构、材料或操作,以便使实施例的各个方面不会难以理解。本描述的过程中提到“一实施例”或“一个实施例”表示结合其实现而描述的特定结构、特质或特性包含在至少一个实施例中。因此,可在本描述的各个点反复出现的诸如“在一实施例中”或“在一个实施例中”之类的词语不一定表示同一个实施例。此外,特定结构、特质或特性可按照任何便利方式结合在一个或多个实施例中。
各种提法在本文中只为了便于读者而提供,而不是限定实施例的范围或含意。
图1示出用于提供有功能安全性的应用的集成电子系统的、具有功能安全性的处理架构。如所述,电子系统可以是例如用于驾驶员辅助的汽车应用或者部分或完全自动驾驶的电子系统,其包括按照功能安全性进行操作的处理架构。
上述架构包括多处理器处理系统;即,在多处理器处理系统上实现,作为整体通过参考标号10标示,是基于提供多个处理和控制通道的功能安全性系统。在安全性以及特别是IEC 61508的上下文中,通过“通道”表示元件或元件集合,其独立实现功能安全性功能或“安全性功能SF”(参见IEC 61508-4,3.3.6)。这例如可以是微处理器、虚拟机或者另外某个其他元件。
多处理器处理系统10包括多个处理器模块11。上述处理器模块 11主要包括独立CPU,即,所谓的“核心”。如以下更详细描述,多核系统中(也如同单核系统中一样)的处理器模块在本描述中还可表示通过上述核心之一上的虚拟化软件所生成的虚拟机。参照图1和图 3,“处理器模块”11因此在本文中表示多处理器10的多个核心C1…Cm其中之一或者甚至在上述核心C1、…、Cm的一个或多个上实现的多个虚拟机V1、…、Vn其中之一。
多处理器10能够在架构上按照不同方式来构建,其包括同构架构(其中各种处理核心11是相同的架构)和异构架构(其中处理核心11 是不同的架构)以及通过消息的交换进行通信的分布式存储器架构的共享存储器架构。从物理实现的观点来看,多种解决方案是可能的,其范围从较高集成度(其中核心11设置在同一个集成电路中)到较小程度(其中多处理器10的核心11设置在不同集成电路上或者在不同且独立模块上)。
在这个上下文中,图1的示例中表示的是一种架构,其只包括上述多处理器10之一(其又包括多个处理器模块11)。运行于上述多处理器10的是应用功能,即,例如用于控制或辅助驾驶机动车辆的程序P以及针对系统的完整性的自测和可能失效或失灵(其在多处理器 10本身的逻辑和固态存储器中或者在其子部件中可能发生)的检测的安全性功能SF。
除了多处理器10之外,提供有图1所表示的功能安全性的架构还设想由控制模块15所表示的独立处理单元,其配置用于分析、处理和比较来自多处理器10中的各种操作程序(其实现上述自测操作) 的监测和控制消息MC的流的内容,上述自测操作由多处理器10的处理器11来执行,以便实现其功能安全性的监测和任何可能失灵(其在组成它们的逻辑中或者更一般在子程序P1、…、Pn(程序P所分解成的,使得它能够运行于相应处理器模块11)的执行流程中可能发生) 的检测。
多处理器10和控制模块15经过通信部件12进行通信,通信部件12使多处理器10的各种处理器模块11能够从/向处理和比较单元、即控制模块15(其又能够分别从/向多处理器10接收和发送消息、例如报警)接收/发送上述监测和控制消息MC。
如所述,图1中为了简洁起见所表示的只是一个多处理器10,但是实际上,该架构可设想多个处理器或者多处理器,其经过相应通信部件12与控制模块15交换监测和控制消息。
本文所述的方法适用于多处理器10(其上实现图2中通过SF所标示的安全性功能)的所有这些可能配置。通过“安全性功能”表示在系统的框架(对其要求上述标准中涉及的功能安全性的要求的尊重 (respect))中进行操作的功能。图2实际上表示在软件进程中执行的安全性功能SF以及运行于多处理器10上的程序P。图2中,作为循环运行的进程的程序P作为整体通过环面(其表示在时间t以循环时间 Tcyc的循环执行)来表示。安全性功能SF占据上述程序P的时间段、即环面的扇区,安全性功能SF一般是程序P的一部分,并且然后运行比循环时间Tcyc更短的安全执行时间TS。又在图2中指示的是在安全性功能SF的执行期间、即安全执行时间TS期间,如何交换监测和控制消息MC,特别是与独立控制模块15。
如图1所示,本文所述的方法设想将程序P分解为并行子程序 P1、…、Pn,其在图1的架构中各自在核心11上实现。即使图1中示出一个多处理器,但是子程序P1、…、Pn在处理系统只提供一个处理器的情况下也能够例如经由虚拟化技术来划分。在多处理器的操作系统领域可用的技术解决方案是虚拟化技术,其实现硬件(在其上,应用程序运行于单个核心,或者如以下所示还运行于多处理器10的核心11)的准确虚拟化(参照例如所谓的“管理程序”或“虚拟机监测器”)。按照虚拟化技术的使用范例,程序P分解为多个并行进程P1、…、Pn,其各自可运行于虚拟机V1、…、Vn,以便得到并行执行,其在功能上相当于包括安全性功能SF的起始程序P。
在已知系统中通过考虑与特定程序P的功能有关的功能类型来指导分解为将要指配给各种虚拟机或核心的子程序P1、…、Pn。如以下更全面描述,本文所述的方法而是设想将分解为子进程P1、…、 Pn的上述操作作为尊重随机类型的失效存在的情况下覆盖的给定约束(其是工业和汽车应用中设想的功能安全性标准所要求的)的函数来执行。上述约束因此一般称作该标准所要求的覆盖k的等级的函数 f(k)。
图1的功能安全性架构还配置用于在安全性功能SF的框架中执行图3更详细描述的自测操作,其一般包括:
诊断性自测操作Ast1,其通过运行关联到处理器11的自测库 (STL)50来执行诊断性测试,如图3所示;
在架构上测量的系统值的自测操作Asys,其也优选地通过运行自测库(STL)50来执行;以及
子程序P1、…、Pn之间经由应用-比较软件模块60的比较操作 Achk,参照图3所述。
图2中关于这一点所表示的是自测库(STL)50和应用-比较软件模块60,其关联到核心11的每个,并且各自实现三种类型的自测操作 Ast1、Achk、Asys。如所述,STL 50优选地包括用于执行诊断性自测操作Ast1以及用于执行在架构上测量的系统值的自测操作Asys的软件,但是在变体实施例中,系统值的自测操作Asys能够经由独立和专用软件模块来运行。
上述三种类型的自测操作Ast1、Asys、Achk包括在多处理器10上生成自测数据,即,分别为诊断性自测数据Dst1、系统自测数据Dsys、应用自测数据Dchk。如图3中更详细提到和描述,还设想在软件模块 (其通过诊断性自测库50以及通过应用-比较软件模块60所表示)中生成上述自测数据Dst1、Dsys、Dchk,并且将它们在监测和控制消息MC 中发送,使得检查操作经由图2所表示的作为控制模块15中包含的逻辑模块51、61的模块对上述自测数据Dst1、Dsys、Dchk来执行。
图1中再次示出的是通信系统12,其用于在处理器模块(其组成多处理器10)与控制模块15之间交换监测和控制消息MC。上述通信通道可由点对点类型的段来组成,或者按照分层方式并且可能采用对共享物理介质(例如在所示示例中的通信总线)的多次访问来创建。待交换监测和控制消息MC的内容的确定经由运行除了以下详细描述的其他操作之外还运行自测操作Ast1、Asys、Achk来得到,以及监测和控制消息MC本身的发送在常规时间间隔(其中,组成多处理器10的处理器模块11卸运行从程序P的分解所得到的相应应用程序P1、…、 Pn,它们通常专用于其大部分时间,并且被指配给运行特殊代码、即自测库50的程序的代码)期间来得到。特别是,监测和控制消息MC 在运行于多处理器10的软件的不同分层等级来生成,如以下更详细描述。系统多处理器10与控制模块15之间的监测和控制消息MC的交换按照通信协议PL(其也在以下更详细描述)来得到。
按照本文所述方法的主要方面,设想执行将程序P分解为多个并行子程序P1、…、Pn的操作,以便尊重失效概率目标,其对于一般情况由g标示,而在以下提供的二处理器示例中由g12标示,其对每个子程序P1、…、Pn是上述诊断性自测操作Ast1所确定的相应覆盖值Kst1、在多处理器架构10上测量的值的自测操作Asys的相应给定覆盖值Ksys以及子程序P1、…、Pn之间的比较操作Achk所确定的覆盖值Kchk的函数。
在图1的安全性架构的各组件的诊断性覆盖(DC)或者安全失效分数(SFF—关于这一点参见安全性标准IEC61508)方面,特别是对于诊断性自测操作Ast1的软件程序的部分(自测库50),覆盖作为系统的下列特性的函数来确定:
-对系统、特别是二通道系统所取得的安全完整性等级(SIL);这产生由系统所尊重的覆盖k的要求;
-操作和诊断性测试间隔(DTI)的基本循环频率fcyc;在这点上,如图2所示,程序P作为整体以循环时间Tcyc、并且因此以基本循环的频率fcyc循环地运行;安全性功能SF占据上述程序P的时间分段达比循环时间Tcyc更短的安全执行时间Ts;
-由控制模块15在单位时间对诊断性自测操作Ast1的结果进行的,特别是在所考虑的架构中,检查的数量和类型;安全执行时间 Ts是安全性标准所要求的覆盖的约束的函数f(k);
此外,又如以下详细描述,数据交换的操作采用消息序列来运行,其中数据量q和频率f按照将要尊重的上述失效概率目标g的另一函数来选择。
作为附加步骤,可设想一项检查以校验作为上述失效概率目标g 的函数所确定的覆盖目标值k是否经由在模拟步骤(例如按照以本申请人的名义所提交的专利No.EP1980964A1中所述)中的失效注入而有效地达成。
下面是按照将要尊重的失效概率目标g的函数,将程序P分解为多个并行子程序P1、…、Pn的操作的详细描述。
为了在没有硬件修改并且具有对程序P的最小化影响(被理解为程序存储器的大小并被理解为执行时间)的情况下得到最低失效概率 g,所述的方法实际上提供将程序P分解为两个或更多独立程序P1、 P2、…、Pn。
提供有所述功能安全性的架构作为失效概率目标g的函数并且因此作为将要达成的覆盖k的值的函数来建立。特定示例以下基本上涉及二通道系统,即,在其中程序P分解为在两个核心C1和C2或者两个虚拟机V1和V2(其提供结果的两个通道)上运行的两个进程 P1和P2的系统。
因此,以分解为两个程序P1、P2的操作情况为例,并且为了简洁起见而假定两个独立程序P1、P2运行于两个相同处理器模块11(其具有等于1的相同基本失效概率λ并且具有等于1的失效模型的相同分布Λ),由处理器1和2所组成的多处理器系统的失效概率可描述为
g12≤(1-β)2*(l-s1)*(1-k1)*(1-s2)*(1-k2)*texp+ +β*(1-s12)*(1-k12) (1)
其中:k1、k2是两个处理器(例如分别是C1和/或C2,其运行两个程序P1和P2)的失效覆盖;s1、s2分别是两个处理器C1、C2(其运行两个程序P1和P2)的安全失效的分数;β是能够引起两个处理器 C1、C2之间的共因失效(CCF)的失效的分数;k12是能够引起两个处理器C1、C2之间的共因失效的失效覆盖;s12是两个处理器C1、C2 共同的安全失效的分数;以及texp是第一失效的曝光时间。时间texp 由系统的使用类型并且由失效模型的类型来定义,并且在极限情况下可等于系统的服务时间。给定子程序Pi,假定基本失效概率λ等于1 并且失效模型的分布Λ等于1,值对si、ki(其分别是对应处理器的安全失效的分数和失效覆盖)充分地识别其失效概率。
先前对两个单独子程序P1和P2的失效概率目标g12所定义的等式(1)经由故障树分析(FTA)算法来确定(参见例如ISO 26262-10,附录 B);即,它对应于(参见图8)确定通过AND类型的逻辑函数所连接的两个子程序P1和P2的失效概率,在该逻辑函数中各程序运行于其上的相应硬件连接到极低失效概率。因此,等式(1)表达近似为相应概率和曝光时间t的乘积的所产生平均失效概率、即失效概率目标。
因此有可能将等式(1)容易地扩展用于任意数量的独立程序:例如,在三个程序的情况下,三输入AND门能够分解为两个二输入 AND门,并且然后所产生公式能够使用以上对两个程序P1和P2所述的公式来构成。
换言之,通过将子程序P1、…、Pn看作是具有与子程序同样多的输入的AND门的输入、将上述AND门分解为二输入AND门、并且将概率目标计算为每个二输入AND门的输出处的失效概率和执行时间的乘积的函数,来计算相对于将要尊重的失效概率目标g的子程序P1、…、Pn的失效概率的值。
再次应用FTA算法,失效概率g12通过与共因项β·(1-s12)·(1-k12)(其计及失效CCF)的总和(即,OR类型的逻辑函数) 来完成。
因此,上述失效概率目标g的计算包括将子程序P1、…、Pn看作是具有与子程序P1、…、Pn同样多的输入的AND逻辑函数AG 的输入,将这个AND逻辑函数(AG)分解为具有作为输入的对(其能够在上述子程序P1、…、Pn之间组成)的二输入AND逻辑函数,计算在来自每个二输入AND门的输出处的失效概率(即对ki、si)与共因失效分数β的补数和曝光时间texp的乘积,从而将上述概率目标g 计算为:前一操作的结果的函数加上,通过将OR函数应用于共因失效(即子程序P1、…、Pn的所有对ij之间的对kij、sij)所得到的值乘以共因失效分数β。
图8经由逻辑电路示出通过按照刚才所述实现逻辑函数来进行的概率目标g的计算操作。由AG标示的是n输入AND门,其能够按照以上所提到分解为二输入门,并且其接收作为每个子程序Pi的输入的覆盖ki和安全失效的分数si(在公式(1)的示例中为k1、s1和 k2、s2)。输出与1-β(其是能够引起共因失效的失效的分数的补数)相乘。AND门(如FTA算法中所设想)实现与待计算曝光时间的乘积。 OG标示的是多输入OR门,其对两个子程序Pi和Pj在输入处接收共因失效覆盖kij和共因安全失效的分数sij(在本例中为k12、s12)。输出与β(其是能够引起共因失效的失效的分数)相乘。门OGT则计算门AG和OG的输出的总和,以产生等式(1)的失效目标g12的一般形式g。
区分本方法的特性之一在于,失效覆盖k1、k2和k12定义为三个份额的组合:
Kst1,即,通过运行诊断性自测操作Ast1(经由自测库50、特别是与存在于模块15上的模块51协作来执行)所保证的覆盖分数;
kchk,即,通过执行程序P1和P2的中间结果之间的比较、即执行自测操作Achk(在比较组件60中、特别是与存在于控制模块15上的模块61协作来执行)所保证的覆盖分数;
ksys,即,通过比较从自测操作Asys(优选地再次在多处理器10和模块15的模块之间,在多处理器架构10的系统参数(诸如程序P1 和P2运行于其上的处理器C1、C2的温度和电压)之间协作来执行) 得到的系统自测数据Dsys与参考值或极限值、即范围Ratt所保证的覆盖分数。
具体来说,对于程序P1和P2的覆盖k1、k2以及共因覆盖k12,具有:
k1=kst11∪kch2∪ksys,k2=kst12∪kch3∪ksys,k12 =kst112∪kchk∪ksys (2)
并集操作符∪指示两个覆盖按照集合论的规则相结合,作为其单独失效覆盖的函数。
关联到输入至运行于处理器C1上的程序中的库50的自测库 kst11、关联到输入至运行于处理器C2上的程序中的库50的自测库 kst12、以及关联到输入至运行于处理器C1和/或处理器C2上的程序中以用于覆盖共因失效的库50的自测库kst112,它们的覆盖目标—并且因此它们的结构及其编程—被确定,以便取得作为参数β、t以及 s1、s2和s12的函数的失效概率目标g12。
因此,在实践中,该方法设想在安全性架构中提供三种不同类型的自测操作Ast1、Achk、Asys(覆盖kst1、kchk、ksys与其关联),以及给定程序P按照功能安全性所分解成的子程序P1、…、Pn的数量,对于每种类型的自测操作Ast1或Achk或Asys,通过定义自测操作Ast1或Achk或Asys的参数将上述自测操作Ast1或Achk或Asys关联到每个子程序 P1、…、Pn和/或处理器11,使得覆盖的所产生值kst1或kchk或ksys将,连同按照等式(1)所示从其他两种类型的自测操作得出的值一起,尊重为系统所定义的失效概率目标g。
按照本文所述方法的另一方面,上述
基于采用两个处理器C1和C2的相应自测覆盖kst11、kst12和kst112所定义的自测库50的诊断性自测操作Ast1
程序P1和P2的中间结果之间的比较操作Achk、应用自测数据Dchk,与比较覆盖kchk,以及
处理器C1、C2(程序P1和P2运行于其上)的系统自测数据Dsys与预计范围Ratt(其识别系统覆盖ksys)之间的比较操作Asys
没有在多处理器10中运行,而是经由独立于多处理器10的另一元件、即控制模块15(其完成这些操作)依次完成。这经由多处理器 10与控制模块15之间的数据交换(消息MC)来得到。
比较覆盖kchk确定为在相对总量的每次比较所交换的数据量q和相对目标时间T—通常计算为对应于上述功能安全性标准的过程安全性时间(PST)或容错时间间隔(FTTI)—的数据交换周期t(其逆是数据交换频率f)的函数:
kchk=min(1,q.T/t) (3)
数据交换周期t对应于安全执行时间Ts。
从等式(1)和(2)发现,覆盖k1、k2、k12取决于比较覆盖kchk的值,并且失效概率目标是k1、k2、k12的函数。因此还发现,给定失效概率目标g,所交换的数据量q和数据的交换频率f的值确定大小成使得比较覆盖kchk将采取这样一个值,即,一旦其被输入等式(1)和(2) 则失效概率目标g将被尊重。
覆盖kst11、kst12、kst112、kchk和ksys相对于如上所述确定的目标值的对应性在模拟期间经由失效注入来测试。
因此,本文所述的方法设想在提供有功能安全性的电子系统(其运行给定程序P)的上下文中执行,其中按照关系等式(1)(其将失效目标链接到子程序的覆盖,其又定义为三个自测操作Ast1、Achk、Asys的覆盖kst1、kchk、ksys的函数,实现被指配给三个自测操作的每个的覆盖目标的准确识别,同样实现按照优化方式的目标分布)将程序P 分解为子程序并且将自测操作划分为三个独立操作(即,经由诊断性测试的自测Ast1、经由系统值的监测的自测Asys以及经由中间结果的比较的自测Achk)。
参照图1所述的架构还设想经由用于交换监测和控制消息MC的通信协议PL与外部模块、即控制模块15协作执行上述自测操作。“外部模块”在这里表示处理器11外部的模块,即使上述模块能够包含在其中提供处理器的集成电路中。所述的方法设想,即,与已知系统中运行的自测操作(其在同一个单处理器或多处理器处理系统中生成和检查自测数据)不同的自测操作,其设想在单处理器或多处理器处理系统中生成自测数据,但是通过经由单独的独立元件、即控制模块 15执行检查来完成自测操作。
为了更详细描述上述和其他方面,图3通过ISO/OSI类型的物理和软件层的分级结构而示意性示出所述解决方案的一实施例的抽象模型,其也表示通信协议PL。
上述通信协议PL在分层等级来实现,其中在应用层(图3中的 L4)的消息封装在程序P所实现的协议PL中,以及在较低级(图3中的层L2),添加与STL 50有关的消息。如图3所示,控制模块15按照相对于上述分层等级镜面(specular)的方式来实现通信协议PL。上述协议PL按分层框架(其实现不同处理器模块11的不同标识符ID的不同分组的封装及其在控制模块15中朝预先设置用于其分析和比较的处理单元的路由选择)来安排监测和控制消息MC,如参照图6更详细表示。以下由VC标示的是定址特定系统层的逻辑通道,由ID标示的是定址涉及处理元件的物理通道的标识符,由C1、…、Cm标示的是物理核心,由V1、…、Vm标示的是虚拟机。特别是,在协议 PL中,分组类型的消息MC包括用于数值的下列字段:
专用于消息MC的分层(作为它们所属的逻辑通道VC的函数) 的字段;
用于消息MC的分组的基本和时间序列的字段;
控制模块15的命令的字段;以及
包含控制模块15相对其必须完成自测操作的数据的有效载荷字段。
控制模块15还配置用于通过实现检错和/或纠错的算法对消息 MC的内容执行完整性检查。优选地,算法CRC32用作检错算法(图 7中,它在模块112a中实现)。
研讨图3的物理和软件分层等级的表示的更多细节,由L1标示的是用于与多处理器10(其包括多个核心C1、…、Cm和输入/输出模块10)对应的硬件执行的物理层。这通常通过一个或多个集成电路来实现。
由L2标示的是管理程序层L2,通过用于管理虚拟机17的模块表示,通常称作“管理程序(hypervisor)”的软件组件,其具有物理层L1 的现有硬件的虚拟化的功能,从而使得具有对应操作系统的数量n个虚拟机V1、…、Vn在虚拟化级L3可用,使得它们能够用作独立单元、即所谓的“客户虚拟机”。用于管理虚拟机17的模块保证各种虚拟机V1、…、Vn以及从程序P所分解(例如手动地)的对应子程序 P1、…、Pn将具有程序P所需的给定特性。上述分解操作备选地甚至可以不受保护,或者经由应用本身或者其操作系统的修改来保护。在功能安全性的应用领域,上述特性通常包括保证不同进程的执行之间的实时执行和无干扰。如所述,本文所述的方法而是设想,上述特性将仅或者也考虑失效概率目标g。一般来说,虚拟机的数量n示为等于程序P所分解成的子进程P1、…、Pn的数量,其中在优选示例中n=2。由于能够在同一个核心中得到多个虚拟机,所以核心的数量 m优选地小于或等于n。
本文所述的用于管理虚拟机17的模块包括:与STL 50对应的软件组件,其如所述引入对核心C1、…、Cm的每个的功能完整性的测试;以及外设,其构成作为它的基础的硬件、即物理层L1,以便保证随机类型的可能失效(其本是在上述基础硬件中发生)以覆盖k的预定义百分比被检测到。在同构多处理器的情况下可以只存在一个库 50。用以在用于管理虚拟机17的模块中集成软件组件、在这里为STL 50的组件(或者在非同构多处理器的情况下STL 50的组件)的形态本身是本部门的技术人员已知的。STL 50的组件可易于集成在用于管理虚拟机17的模块中,在这种类型的模块范围中,例如管理程序,其提供有已知的虚拟化系统,通常向用户呈现实现附加组件的集成的界面。因此,有可能将STL 50的组件作为附加组件来集成,如图3 所示。
应用层L4对应于程序P所分解成的子程序P1、…、Pn(其在虚拟机V1、…、Vn上实现)的等级。关联到这个应用层L4的是软件模块或组件、特别是对应用比较60而言各进程P1、…、Pn一个,具体称作“应用安全性层”(ASL),其一般执行自测操作,其经过通道的中间结果之间的比较来生成应用自测数据Dchk。更具体来说,如所述,在本文所述的方法中,应用-比较软件模块或组件60、特别是各进程 P1、…、Pn一个,得到应用自测数据Dchk,其然后在控制模块15中被检查和比较。
图3中,控制模块15表示为硬件组件,在图6中详细示出。但是,它也可以按等效方式实现为具有所产生组件的成本/性能的差异的软件。完全作为举例,控制模块15可实现为另一处理器所运行的程序。
与控制模块15所交换以用于完成自测操作Ast1、Asys、Achk的监测和控制消息MC划分为两种不同类型:
包含与运行于微处理器10上的程序P的特性无关的数据的消息;这些是例如通过在架构上测量的系统值的自测操作Asys所生成的系统自测数据Dsys(其包括多处理器10的核心C1、…、Cm的电压和/ 或温度的测量)以及与按照自测库50的特定诊断性自测过程之一进行的计算的中间结果有关的诊断性自测数据Dst1
包含与程序P的处理的中间结果有关的数据并且因此取决于程序P或应用本身的消息;这些是通过子程序P1、…、Pn之间经由应用-比较软件模块60的比较操作Achk所生成的应用自测数据Dchk
控制模块15采用控制模块15中包含的对应自测逻辑组件51和应用-比较逻辑组件61,经由消息MC(其包含对应自测数据Dst1和Dchk) 的协作和交换,来完成在多处理器10中开始的自测操作Ast1、Asys、 Achk。如图6所示,上述分离具有逻辑类型;但是,组件51和61可经由硬件模块的同一个集合来实现。这例如按如下方式进行:
-控制模块15通过在逻辑模块51中进行按照自测库50的特定诊断性自测过程之一对多处理器10的核心C1、…、Cm所进行的计算的中间结果有关的诊断性自测数据Dst1与上述控制模块15中存储的预先计算和预计值Dst1a的集合之间的比较来完成诊断性自测操作Ast1,并且检测可能的共因失效(CCF);上述诊断性自测数据Dst1与预先计算和预计值Dsta1的集合之间的可能差指示逻辑中或者多处理器 10的核心C1、…、Cm的状态中的失效的影响(是永久还是瞬时);
-同时,控制模块15通过在逻辑模块61中进行一对处理器模块 11(是虚拟机还是核心)独立产生的应用自测数据Dchk的连续比较实,际执行两个对应安全性通道之间的交叉检查的功能;以及
-控制模块15还通过检查系统自测数据Dsys是否落入预计范围 Ratt(其同样存储在控制模块15中)之内而以检查来完成在架构上测量的系统值的自测操作Asys
控制模块15按照例如用于比较的下列标准对监测和控制消息 MC进行上述检查:
它考虑消息MC的到达顺序以及它们是否属于对比较所考虑的循环;因此,优选地,不考虑单独消息MC的绝对到达时间,即使在备选实施例中可被考虑;
控制模块15配置用于实现来自不同源、即来自不同处理器元件 11(在这种情况下为二)的消息MC的内插,适当地尊重两个处理器模块11的每个的序列中的顺序,如先前所示;以及
控制模块15通过完成循环时间Tcyc所定义的每个循环的检查而在循环的基础上应用其自己的检查。
以下是自测库50和补充逻辑模块51的更详细描述。
STL 50具有下列双重功能:
实现多处理器处理系统10的诊断性自测操作Ast1所表示的自测操作;这个诊断性自测操作Ast1通常通过比较由多处理器10在测试时刻本身所处理的计算结果、诊断性自测数据Dst1与预先计算和存储的正确结果、预计结果Dst1a来实现,以便检查多处理器10是否正确计算和运行对其指配的程序序列;这个计算结果Dst1通常从算术和逻辑类型的操作以及定址操作的序列来得到,以便按照最完全、广泛和详尽的方式涉及微处理器11的各种电路部件;如所述,在本文所述的方法和架构中,与预计值Dst1a的比较操作与外部处理模块、即控制模块15协作(即,通过图3的分层表示中的模块50和51的协作) 来实现;以及
测量系统自测数据Dsys,即,测量与每个微处理器的操作和/或操作条件有关的全局参数;优选地,测量诸如微处理器的工作电压和系统的温度或者微处理器内部的温度之类的量;这个功能在识别微处理器的可能失效的状况以及特别是可确定微处理器中的共因失效的状况中特别重要;如所述,上述系统自测数据Dsys优选地还经由库50 中包含的对应程序来得到,即使它们可在独立库中提供并且在逻辑模块51中针对预计范围Ratt来检查。
特别地并且关于诊断性自测操作Ast1(其提供诊断性自测数据 Dst1),自测代码通常由测试分段的集合(由202标示并且参照图7更详细描述)来组成。
上述测试分段优选地专用于按照在集成电路级并且特别是对单独核心C1、…、Cm或者单独处理器进行的“失效模式影响和诊断分析”(FMEDA)类型的分析目标,来测试微处理器、在这种情况下为多处理器处理系统10的一个或多个功能单元。上述FMEDA能够例如在以本申请人的名义所提交的专利申请No.EP1980964A1中描述的过程之后进行。组成每个核心C1、…、Cm的STL 50的测试分段的总体目标是取得覆盖等级、具体来说是自测覆盖kst1或系统覆盖ksys,诸如以满足对组成核心C1、…、Cm的整个逻辑预先确定的覆盖约束 f(k)。这通常是具有高级架构(具有深层管线、具有超标量、多问题类型)的微处理器的极难问题,并且困难随着经受自我诊断的微处理器的复杂度增加而显著增加。与应用部门相关的功能安全性标准定义对系统和系统的各种组件的完整性的最小要求。
因此,组成库50的各个分段必须被设计用于作为整体在整个微处理器或核心上取得覆盖kst1的目标值,例如以便使—经由例如以下通过应用等式1所述过程等的计算过程—完整性等级达成大于或等于相关安全性标准所设想的。
诊断性自测库50的程序通常,由于相对待测试微处理器的各种功能单元的可扩展性和微处理器的每个功能单元上的更简单单元、即测试分段202的专门化,按照模块化形式来组织。
图7关于这一点示意性表示由200标示的自测库50的自我诊断性程序。通过指示待运行测试分段的标识符ID#、通过称作“测试接口201”的软件层(其提供朝向在循环和规则的基础上调用库50的自我诊断性程序的软件的接口),来调用程序200中包含的测试分段202。测试分段202通过发送合格/不合格戳记进行应答。
测试分段202的结构再次具有通过连续阶段所组织的模块化类型,并且包括序文203和后文204,其通常通过高级语言(ANSI-C)来编写,即,与经受自测的微处理器的架构无关。序文202和后文204 专用于朝向高层的接口的功能、全局变量的管理和测试的结果,其将采用实现任何差错(当这在被这些软件模块所处理时可能折磨测试结果)的检测的技术来管理。
测试分段202的心脏通过按照微处理器的架构特定的低级代码 (通常为汇编程序)所编写的一系列模块206来表示,图中标示为“ASM 核心代码”。在它们按针对性方式模拟微处理器的各种逻辑和算术及连续单元以便激活微处理器本身的可能失效并且使其是可观察的范围内,这些模块206是有效地执行自测的部件。按照低级代码的各种模块206能够通过按照高级语言所编写的例程205来管理。测试分段 202包括戳记计算器207,以用于经由模块205和206在检查结束时生成不合格/合格戳记。测试分段202包括按照低级代码的多个模块 206,以用于得到相对于失效的覆盖目标,考虑安全性分析所定义的失效模式的给定集合。
以下是处理器11上的STL 50与控制模块15上的逻辑组件51之间的自测分析的分布、具体来说是诊断性自测操作Ast1的描述。
STL 50的操作基于微处理器通过下列步骤来自行测试的能力:运行代码序列,例如以便要求组成它的各种逻辑的尽可能多的份额,并且产生中间结果,其适当累积以使得中间结果中的可能差错无法抵消,然后可产生标志,其在与假定失效不存在的情况下预先计算的相同值进行比较时将产生可能影响经受测试的逻辑的可能失效的检测的最高置信度。激活并且检测失效的能力取决于STL 50激活失效的能力以及取决于用于累积中间结果以使得中间结果中的任何可能差在累积过程期间无法抵消的数值方法。为了清楚起见,可存在微处理器中的STL 50所产生的各种类型的结果,即,中间结果、累积和标志,最后两个按照实施例经常是相同的。累积通常是减少原本不可管理的中间结果的数量所需的。以下为了简洁起见,将参照中间结果,在这个定义中包括上述全部三种类型的结果。
单个微处理器中的失效的激活的检测可经过两种不同机制进行:
a)通过自测软件本身进行的检测,其通过检测诊断性自测数据 Dst1与预先计算数据、即预计结果Dst1a的比较的差来确定差错,并且以可编程方式采用对策,指出所检测差错;这是典型情况,其中失效没有影响负责控制程序流程的逻辑,而是仅影响数据的算术/逻辑计算的部分;
b)通过与失效的发生联合运行STL 50的测试所得到的模拟,其确定程序P的执行的序列中的差错,例如以便违反在外部监视器(其通知关于差错)所监控的执行时间t的测试极值;这是典型情况,其中失效影响负责控制程序流程的逻辑;要注意,监视器可以是系统的专用组件或者另一个核心,其通过执行交叉检查进行管理以检测所考虑微处理器上的测试50的执行的错误功能或时间行为。
在上述上下文中,图3所示的STL 50生成诊断性自测数据Dst1,其包括与自测过程或中间结果(或者部分结果、中间结果的累积或者中间结果与预计值之间的比较结果)有关的数据,其被发送给外部模块、即控制模块15,其执行诊断性自测数据Dst1(机制a)与程序流程的控制之间的交叉比较(按照这种方式在STL测试的模拟的机制b的上下文中执行外部监视器的功能,如上所述)。
STL 50还生成测量值,包括系统配置、即系统自测数据Dsys
STL 50对控制模块15生成对应消息MC,其包含上述诊断性自测数据Dst1和系统自测数据Dsys,控制模块15经由逻辑组件51来处理由运行于多处理器10的物理核心C1、…、Cm的STL 50所生成的上述消息。
在逻辑组件51中执行的这种处理配置用于执行下列操作:
执行对诊断性自测数据Dst1的交叉检查,
通过实现对微处理器C1、…、Cm所进行的比较的结果实现执行流程的(通道内)检查;以及
通过对于从微处理器C1、…、Cm的每个上的库50的测试的处理所得到的部分结果进行(通道间)交叉检查;
通过检查比较的结果、即部分结果在预定时间窗口(其特征在于最大和最小等待时间)之内并且按照预设顺序来发送和接收对适当时间执行来执行检查;这实现流程的执行中的可能差错的检测,如先前所示,作为要求外部组件的辅助的STL 50的测试的执行流程中的差错的检测机制;
对于测量值Dsys是否实际属于被测量量(通常为工作电压和温度) 的可变性的预定义范围之内执行检查;另外,可执行系统配置(其通过测试库50来获取并且表示执行期间的系统的状态)的一致性的检查。
刚才描述的检查之一的违反暗示由控制模块15生成报警AL(如图6所示),并且实现安全性的应用所需的对策。上述报警生成功能将报警发送给模块16,其是控制系统10中的系统资源的模块,并且例如可实现复位或去除电源电压或者在任何情况下迫使达到系统的安全状态。
关联到自测库50的操作流程的一示例如下:
永远重复{
从运行于多处理器10、管理程序层或者直接运行于每个物理核心的自我诊断库的所有程序来接收数据
按照核心、虚拟通道和类型来划分并且组织数据
对齐与库50的各程序对应的中间结果;检查对应中间结果与最大等待时间之间的最大偏斜
执行库50的中间结果之间的交叉检查并且检测差错
从不同核心采集测量;检查对应中间结果与最大等待时间之间的最大偏斜
对范围执行检查并且识别违反
}
又如图6中参照模块116所示,控制模块15运行值、顺序、时间(等待时间、偏斜和使用时间戳的绝对到达时间)和范围(在具有比较器的模块114中)的多个检查。具体来说,进行对自测数据Dst1、Dchk、 Dsys的下列检查:
·对值的检查检验中间结果是否相同或者已经校正;
·对顺序的检查按照消息中的计数器来检验消息的顺序是否正确;
·对到达时间的检查将消息的到达时间与执行的当前循环中的预计最小和最大时间和/或与来自另一个核心的对应消息进行比较;以及
·对范围的检查校验所测量的值是否属于预定义范围Ratt
校验的各违反由控制模块15(其通知关于差错并且然后向模块16 发送报警)来管理。
以下是控制模块15中存在的应用-比较软件组件60和补充逻辑模块61的更详细描述。
因此,如图3所示,运行于虚拟机V1、…、Vn的子程序P1、…、 Pn中存在的是应用-比较软件组件60,其实现ASL、即子程序P1、…、 Pn的处理的部分结果的检测过程。这些应用-比较软件组件60还执行上述部分结果的累积,并且通过具有安全性功能SF的程序来检测所累积的结果的差。上述应用-比较软件组件60还按照协议PL(其形成本文所述方法的主题)执行累积结果和应用数据Dchk的帧中的差的组织。
如所述,应用-比较软件组件60还具有控制模块15中的对应应用-比较逻辑组件61。对应用自测数据Dchk,控制模块15具体通过下列步骤来执行交叉比较:基于应用自测数据Dchk的值、其顺序以及应用-比较软件组件60所生成的应用自测数据Dchk的分组中出现的时钟时间来检查信息的一致性。
现在更详细描述的是通信协议PL。自测操作Ast1、Asys、Achk的组织设想按照软件层L2、…、L4(其生成消息)并且按照消息本身的目的来定义协议PL中的消息集合的不同类型。
定义下列逻辑通道或虚拟机VC。逻辑通道VC的每个携带来自通过ID0和ID1所表示的最多两个不同物理通道的消息:
VC0:安全性VC—源自应用层L4或者源自具有安全性功能SF 的程序的安全性逻辑通道(具有标识符ID0和ID1的物理通道);
VC1:管理程序VC—按照实现、源自管理程序层L2或者源自应用层L4的逻辑通道(具有标识符ID0的物理通道);以及
VC2:Q&S—按照实现(其对系统执行维护操作(质量和服务))、源自管理程序层L2或者源自虚拟机和操作系统层L3的质量和服务逻辑通道(具有标识符ID0和ID1的物理通道)。
在具有两个物理通道的优选实施例中具有
逻辑通道VC0和VC2支持两个物理通道ID0和ID1,其因此是安全性通道;以及
逻辑通道VC1仅支持一个物理通道ID0。
逻辑通道VC的上述定义在控制模块15的特定特性中反映,使得有可能配置消息集合的每个类别的可编程校验和报警。
在控制模块15的优选实施例中,预先确定和固定各种逻辑通道 VC的传输顺序,例如VC0、VC1和VC2。图4示出通过控制模块 15的比较逻辑所反映的通信协议PL的可能实施例的一示例。具体所示的是通信信道,其中在诊断性测试间隔DTI之内,按照通信协议 PL来发送逻辑通道VC0、VC1、VC2DTI:
逻辑通道VC0,用于物理通道ID0、ID1—这携带安全性功能SF 的数据、即应用自测数据Dchk,测试其与控制模块15的组件61的一致性:属于通道ID0和ID1的同构消息相互比较,以及该比较必须产生正确结果、即相同的但是有差异、例如编码的差异的数据;数据实际上可按照不同方式来编码(例如通道中互补),以便降低共因差错的概率;
逻辑通道VC1,用于物理通道IDO—这携带来自管理程序层L2 的诊断性自测库50的诊断性自测数据Dst1;以及
逻辑通道VC2,用于物理通道ID0、ID1—这携带所测量的值、即系统自测数据Dsys,例如温度、电压等的值。
再次参照图4,应当注意,在传输必须按照连续方式并且在最坏情况下具有与程序P相同的循环时间Tcyc进行的范围内,消息传递通道MC上的总传输时间必须不超过系统的诊断性测试间隔DTI。
在图5的简图中描述由控制模块15对消息序列Sq所进行的校验。第一行中出现的是分层等级L以及所涉及元件,无论是处理器模块C1或C2还是管理程序模块17。标记有标识符ID0和ID1的消息 MC封装在消息的各个集合Sq(Sq1和Sq2)中,并且包含在各种逻辑通道VC中。它们经受控制模块15进行的两种类型的校验:
通道内校验ITC(图5中未示出),其应用于属于同一个逻辑通道 VC和同一个标识符ID的消息;
通道间校验INTC,其应用于属于不同逻辑通道VC的消息MC(例如,与ID1的第一消息Sq10,1进行比较的ID0的第一消息Sq10,0,与ID1的第二消息Sq 2,1进行比较的ID0的第二消息Sq12,0,等等);除了通道内校验ITC(其关心来自每个通道的消息的一致性)之外并且在比通道内校验ITC要高的等级还进行这些通道间校验INTC。
应当强调,图5表示按照其原始而不是时间序列(用以传送它们) 的消息。
所述通信协议PL以及对消息集合所执行的校验的结构在控制模块15的功能架构一直到其实现微架构中存在直接对应性,如参照图 6所示。
如所述,用于控制模块15的软件类型以及例如FPGA装置中或者ASIC中具有专用逻辑的硬件类型的实现都是可能的。
图6示出控制模块15中集成的主要功能。
图6的描述的等级反映专用硬件单元,但是同样可反映用于提供例如作为独立于多处理器10的处理器模块中的嵌入式软件而不是 FPGA装置或者ASIC中的专用硬件的其实施例的功能单元。完全作为举例,图9示出芯片上系统(SoC)1000所提出的、具体来说具有二核对称多处理器的架构的可能实现,其中两个处理器11包含在“硬宏”1010中,而控制模块15是运行于SoC 1000的可编程部分 1020(FPGA)中实现的冗余处理器的软件模块。
回到图6,通过112所表示的是到通信总线12的总线接口,其包括配置和状态接口模块112c以及用于各种通道ID0和ID1的消息的缓冲器112b。它还包括用于对到达的分组的CRC类型的校验的模块112a。
通过113所表示的是定时模块,以用于检查定时,具体来说是用于检查执行时间保持在为检查所设置的极值之内。
通过114所表示的是用于通道间校验(INTC操作)的模块,其包括用于通道的数据的通道间比较的比较器114a以及硬件故障注入器 114b。
通过116所表示的是用于通道内校验(ITC操作)的模块,其包括用于检查到达数据的到达时间、顺序和值。
数据由消息分发器模块115来提供给上述模块114和116,消息分发模块115包括直接存储器存取(DMA)模块116和消息控制器模块 116b。
通过111所表示的是差错控制器,其经由可编程事件路由器向模块16发送报警。与从反常条件(其在模块114和116中从物理通道ID0 与ID1之间的比较或者相对值或预先计算结果的预计范围的比较所检测)所得出的数据和报警有关的信息和信号如参考安全性标准(参见例如IEC61508“安全性设计推荐”)所要求来保持为独立(从逻辑、电气和物理观点来看)。再次参照图6,报警通过虚线表示。所示的报警源关心下列比较中的异常的检测:
通道间校验INTC(模块114)—这种类型的比较包括值、例如由多处理器的不同核心所计算的、预计是相同的值的比较以及预先计算的预计值的比较;它们生成通道间报警Alintc;
通道内校验ITC(模块116)—这种类型的比较包括与预先计算的预计值的比较,即,相对(例如工作温度或电压的)预定义参考范围的检查;它们生成通道内报警Alitc;
对定时的校验(模块113),例如对执行时间是否保持在为校验所设置的极值之内的校验;它们生成定时报警Alt;以及
从正式观点来看的消息的结构和组成的异常,在所考虑的示例中,由CRC模块112a对于接口112的输入处的消息的文本进行CRC 类型的校验的失败,这个校验生成报警ALc。
最后,控制模块15包括故障注入模块117。
如通过图6的描述可理解,逻辑模块51和61没有单独实现,而是这些逻辑模块的每个所需的功能基本上由模块114、116和113来执行。
因此,通过以上描述,本发明的优点清楚地显现。
所述的方法和架构有利地使得有可能满足多通道或单通道系统、甚至在单个集成电路上的多处理器中高度集成的系统的功能安全性的给定要求。
分解程序并且将自测操作划分为三个独立操作(即,经由诊断性测试的自测、经由系统值的监测的自测以及经由中间结果的比较的自测)的上述过程以及对应等式(1)实现将要指配给三个自测操作的每个的覆盖目标的准确识别,同样实现按照优化方式的目标的分布,即,降低—对于对其应用所述方法的特定类型的系统—要求取得主要设计工作量的操作的目标,而提升这种上下文中更易于执行的操作的目标。
所述的解决方案还实现经过引入元件(基本上通过控制模块所表示,即,单独电子定时器模块,由处理器以预设时间间隔周期地查询,以用于以给定周期性或频率来执行所述的三个不同自测操作)来缓解共因失效(CCF)的问题。
具体来说,以上所述通过在自测操作中执行下列步骤来得到:
-通过下列步骤的时间类型以及值和序列类型两者的检查功能:对预定义时间窗口中的预定义事件的发生和预定义序列的考虑来施加校验;以及检查所确定的或者在任何情况下由处理器所计算的数值,其对应于上述诊断性自测操作;
-在处理器中通过处理器所计算或者经由处理器或者一般来说的多处理器中可用的传感器所测量的值相对与系统值的自测的上述操作对应的预先计算的正确值的比较来检测CCF的发生;以及
-用于基于交叉检查来确定处理器的完整性的协议的实现,其对应于程序的中间结果的自测的上述操作。
在这点上,要强调多处理器的高度集成和同构电路实施例如何是保证系统的最高性能和最低成本、同时易受CCF的问题的实施例,其在架构越是同构和高度集成时全部更为重要并且难以防止和/或检测。CCF的存在是这种类型的架构和实现解决方案没有广泛用于服从汽车和工业领域中的安全性标准的应用世界的主要原因,其中具有可取得的经济有益效果的由此引起的损失。
所述的解决方案还实现虚拟机的控制软件(例如管理程序)与专用软件程序的组合,其实现上述自测操作,并且通过其联合使用使取得工业和汽车应用中要求的功能安全性的完整性等级所需的要求被满足。
所述的方法和架构还实现具体为具有核心之间的交叉检查的支持的多核系统所优化的逻辑和时间监测;
用于具有1oo1表决的架构和用于1oo2表决的架构的诊断的实现;
与多核的硬件有关的信息(状态、温度、供应状态等)的监测;
自行监测;
符合规范IEC 61508第二版的系统,其能够集成在SIL-2和SIL-3 系统中;
与软件配合使用的标准接口;
可配置反应;以及
所选实现技术(FPGA或ASIC)的优化的可能性。
当然,没有对本发明的原理的偏见,细节和实施例可相对本文中完全作为举例所述的细节和实施例甚至显著改变,而没有由此背离范围,这个保护范围通过所附权利要求书所限定。
在作为举例所考虑的安全性架构中,控制模块15能够关联到表决器模块,其常用于在多通道架构连续比较通道的输出(在其由程序或者由致动器所使用之前),按照表决技术来评估将要提供给程序的安全输出。OR门能够接收控制模块15的输出和表决器的输出,并且检测这些输出之间的可能差。差的检测确定失效的检测条件,其迫使系统达到或保持为所运行程序所定义的安全状态。
术语“库”在本描述中用于定义诊断性自测程序的软件模块,但是也可适用于系统数据(其如所述可包含在诊断性自测库中)的自测的模块,并且适用于子程序的中间结果之间的比较的自测模块。
包括自测程序的上述库或软件模块例如可存储在卡上可用或者以其他方式所集成(其包括处理系统)的闪速存储器中,并且然后在处理模块的RAM中加载。
即使本文所述的方法表示处理系统、具体来说是多处理器系统和控制模块,但是分解为子程序的操作本身也只适用于没有独立控制模块的处理系统。换言之,形成本公开的主题的也是一种用于在提供有功能安全性的应用的电子系统(其包括单处理器或多处理器类型的处理系统)中运行程序的方法,包括:执行将程序(其包括安全性功能并且经由上述系统来运行)分解为多个并行子程序的操作;将各并行子程序的执行指配给系统的相应处理模块、具体来说是上述多处理器架构的处理器或者关联到上述处理器之一的虚拟机;在系统中、在上述安全性功能的框架中按照系统的正常操作期间的程序循环频率周期地执行关联到上述子程序的每个并且关联到对应处理模块(它们在其上运行)的自测操作,其中上述自测操作包括诊断性自测操作(其执行诊断性自测)、测量系统值的自测操作、子程序的中间结果之间的比较的自测操作,并且这些自测操作包括生成与自测操作对应的相应自测数据,并且执行对这些自测数据进行检查的操作,以尊重给定失效概率目标这样一种方式执行将程序分解为多个并行子程序的上述操作,得到关联于相应子程序或处理模块的上述自测操作每个的覆盖目标。

Claims (16)

1.一种用于在提供有功能安全性的应用的电子系统中运行程序(P)的方法,其中所述电子系统包括单处理器或多处理器处理系统(10)和另一独立控制模块(15),所述方法包括:
执行将程序(P)分解为多个并行子程序(P1,…,Pn)的操作,其中所述程序包括安全性功能(SF)并且经由所述处理系统(10)来运行;
将各并行子程序(P1,…,Pn)的执行指配给所述处理系统的相应处理模块(11);以及
在所述安全性功能(SF)的框架中,周期性地按照所述处理系统(10)的正常操作期间所述程序(P)的循环频率(fcyc),在所述处理系统(10)中执行关联到所述子程序(P1,…,Pn)的每个并且关联到它们运行于其上的对应处理模块(11)的自测操作(Ast1,Asys,Achk),
所述方法的特征在于,所述自测操作(Ast1,Asys,Achk)包括:
诊断性自测操作(Ast1),其执行诊断性自测;
所测量系统值的自测的操作(Asys);以及
所述子程序(P1,…,Pn)的中间结果之间的比较的自测操作(Achk),
以及所述自测操作(Ast1,Asys,Achk)包括:
生成与所述自测操作(Ast1,Asys,Achk)对应的相应自测数据(Dst1,Dsys,Dchk),并且对所述自测数据(Dst1,Dsys,Dchk)执行检查操作(51,61);
经由消息(MC)的协议(PL)与所述另一独立控制模块(15)连续地交换所述自测数据(Dst1,Dsys,Dchk);
在所述另一独立控制模块(15)中执行所述检查操作(51,61)的至少部分;以及
以尊重给定失效概率目标(g12;g)这样一种方式执行将所述程序(P)分解为多个并行子程序(P1,…,Pn)的操作,以得到所述自测操作(Ast1,Asys,Achk)的每个的覆盖目标(kst1,ksys,kchk),其中所述自测操作的每个关联于相应子程序(P1,…,Pn)或处理模块(11)。
2.如权利要求1所述的方法,其特征在于,所述电子系统基于包括多个处理器的架构,并且将各并行子程序(P1,…,Pn)的执行指配给所述处理系统的相应处理模块(11)包括:将各并行子程序(P1,…,Pn)的执行指配给所述架构的处理器(C1,…,Cm)或者指配给关联到所述处理器(C1,…,Cm)中的一个处理器的虚拟机(V1,…,Vn)。
3.如权利要求1所述的方法,其特征在于,所述给定失效概率目标(g12;g)是所述诊断性自测操作(Ast1)所确定的覆盖值(kst1)、在所述处理系统(10)上测量的系统值的自测的操作(Asys)所确定的覆盖值(ksys)、以及所述子程序(P1,…,Pn)的中间结果之间的比较的操作(Achk)所确定的覆盖值(kchk)的函数。
4.如权利要求1所述的方法,其特征在于,所述给定失效概率目标(g12;g)的计算包括:
将所述子程序(P1,…,Pn)看作是具有与所述子程序(P1,…,Pn)同样多的输入的AND逻辑函数(AG)的输入;
将所述AND逻辑函数(AG)分解为具有作为输入的对的二输入AND逻辑函数,其中所述对能够在所述子程序(P1,…,Pn)之间组成,将第一乘积计算为来自每个二输入AND门的输出处的失效概率乘以共因失效分数(β)的补数并乘以曝光时间(texp);以及
将所述给定失效概率目标(g)计算为所述第一乘积与第二乘积的和,所述第二乘积计算为将OR函数应用于子程序(P1,…,Pn)的所述对之间的共因失效所得到的值乘以所述共因失效分数(β)。
5.如权利要求4所述的方法,其特征在于,将所述子程序(P1,…,Pn)的所述失效概率评估为每个子程序(P1,…,Pn)的所述诊断性自测操作(Ast1)所确定的覆盖值(kst1)、在所述处理系统(10)上测量的系统值的自测的操作(Asys)所确定的覆盖值(ksys)以及所述子程序(P1,…,Pn)的所述中间结果之间的比较的自测操作(Achk)所确定的覆盖值(kchk)的并集的函数。
6.如权利要求1所述的方法,其特征在于,所述处理系统(10)实现虚拟机管理模块(17),其生成所述子程序(P1,…,Pn)能够运行于其上的虚拟机(V1,…,Vn)。
7.如权利要求1所述的方法,其特征在于,在所述另一独立控制模块(15)中执行所述检查操作(51,61)的至少部分的所述操作包括:
执行对应于在单处理器或多处理器类型的所述处理系统(10)的所述处理器(C1,…,Cm)上按照所述诊断性自测操作(Dst1)来进行的计算的中间结果的诊断性自测数据(Dst1)与所存储的预先计算和预计值(Dst1a)的集合的比较;
执行所述子程序(P1,…,Pn)的所述中间结果之间的比较操作(Achk)所产生的应用自测数据(Dchk)的比较;以及
执行与在所述处理系统(10)上测量的系统值的自测的操作(Asys)对应的系统自测数据(Dsys)相对所存储的预计范围(Ratt)的比较。
8.如权利要求1所述的方法,其特征在于,所述另一独立控制模块(15)配置用于对所述自测数据(Dst1,Dchk,Dsys)执行:
对所述自测数据的值的检查,以用于检验所述中间结果是否相同或者已被校正;
对值的范围的检查,以用于检验在所述处理系统上测量的自测数据(Dsys)的值是否属于值的预定义范围(Ratt);
对顺序的检查,以用于检验所述消息的顺序是否正确;以及
对所述消息的到达时间的检查。
9.如权利要求8所述的方法,其特征在于,检验所述中间结果是否相同或者已被校正包括:检验与所述子程序(P1,…,Pn)的中间结果之间的比较的自测操作(Achk)对应的应用自测数据(Dchk)和/或与所述诊断性自测操作(Ast1)对应的诊断性自测数据(Dst1)是否相同或者已被校正。
10.如权利要求1所述的方法,其特征在于,经由消息(MC)的协议(PL)与所述另一独立控制模块(15)连续地交换所述自测数据(Dst1,Dsys,Dchk)的所述操作包括按照产生所述消息(MC)的分层等级(L)并且按照产生所述消息(MC)的物理通道(ID0,ID1)在逻辑通道(VC)中组织所述消息(MC)。
11.如权利要求8所述的方法,其特征在于,在所述另一控制模块(15)中执行所述检查操作(51,61)的至少部分的所述操作包括执行下列操作:
应用于属于同一个逻辑通道(VC)并属于同一个物理通道(ID)的消息的通道内检查(ITC);以及
应用于属于不同逻辑通道(VC)的消息(MC)的通道间检查(INTC)。
12.一种用于在提供有功能安全性的应用的电子系统中运行程序(P)的方法,其中所述电子系统包括单处理器或多处理器类型的处理系统(10),所述方法包括:
执行将程序(P)分解为多个并行子程序(P1,…,Pn)的操作,其中所述程序包括安全性功能(SF)并且经由所述处理系统(10)来运行;
将各并行子程序(P1,…,Pn)的执行指配给所述处理系统的相应处理模块(11);以及
在所述安全性功能(SF)的框架中,周期性地按照所述处理系统(10)的正常操作期间所述程序(P)的循环频率(fcyc),在所述处理系统(10)中执行关联到所述子程序(P1,…,Pn)的每个并且关联到它们运行于其上的对应处理模块(11)的自测操作(Ast1,Asys,Achk),
所述方法的特征在于,所述自测操作(Ast1,Asys,Achk)包括:
诊断性自测操作(Ast1),其执行诊断性自测;
所测量系统值的自测的操作(Asys);以及
所述子程序(P1,…,Pn)的中间结果之间的比较(60)的自测操作(Achk),
以及所述自测操作(Ast1,Asys,Achk)包括:
生成与所述自测操作(Ast1,Asys,Achk)对应的相应自测数据(Dst1,Dsys,Dchk),并且对所述自测数据(Dst1,Dsys,Dchk)执行检查操作(51,61);以及
以尊重给定失效概率目标(g12;g)这样一种方式执行将所述程序(P)分解为多个并行子程序(P1,…,Pn)的操作,以得到所述自测操作(Ast1,Asys,Achk)的每个的覆盖目标(kst1,ksys,kchk),其中所述自测操作的每个关联于相应子程序(P1,…,Pn)或处理模块(11)。
13.如权利要求12所述的方法,其特征在于,所述电子系统基于包括多处理器类型的处理系统(10)的架构,并且将各并行子程序(P1,…,Pn)的执行指配给所述处理系统的相应处理模块(11)包括:将各并行子程序(P1,…,Pn)的执行指配给所述架构的处理器(C1,…,Cm)或者指配给关联到所述处理器(C1,…,Cm)中的一个处理器的虚拟机(V1,…,Vn)。
14.一种提供有功能安全性的电子系统,包括单处理器或多处理器类型的处理系统(10)和另一独立控制模块(15),配置用于实现如权利要求1至13中的任一项所述的方法的步骤。
15.一种计算机可读介质,包括存储于其上的指令,所述指令当被执行时使计算机执行如权利要求1-13中的任一项所述的方法。
16.一种用于执行指令的设备,包括多个装置,每个装置用于执行如权利要求1-13中任一项所述的方法的相应步骤。
CN201580053999.9A 2014-08-04 2015-07-31 电子系统和在该电子系统中执行程序的方法 Active CN107003912B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
ITTO20140633 2014-08-04
ITTO2014A000633 2014-08-04
PCT/IB2015/055833 WO2016020815A1 (en) 2014-08-04 2015-07-31 Method of executing programs in an electronic system for applications with functional safety comprising a plurality of processors, corresponding system and computer program product

Publications (2)

Publication Number Publication Date
CN107003912A CN107003912A (zh) 2017-08-01
CN107003912B true CN107003912B (zh) 2020-09-08

Family

ID=51663375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580053999.9A Active CN107003912B (zh) 2014-08-04 2015-07-31 电子系统和在该电子系统中执行程序的方法

Country Status (6)

Country Link
US (1) US10248492B2 (zh)
EP (1) EP3178000B1 (zh)
JP (1) JP6599431B2 (zh)
KR (1) KR102352068B1 (zh)
CN (1) CN107003912B (zh)
WO (1) WO2016020815A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITUB20154590A1 (it) * 2015-10-13 2017-04-13 Yogitech S P A Procedimento di esecuzione di programmi in un sistema elettronico per applicazioni in sicurezza funzionale comprendente una pluralita' di processori, relativo sistema e prodotto informatico
US11262722B2 (en) * 2016-08-02 2022-03-01 Siemens Aktiengesellschaft Monitoring and controlling unit for use in an autonomous system with self-x properties
CN108205490B (zh) * 2016-12-19 2021-05-14 比亚迪股份有限公司 软件看门狗测试方法和装置
US10229042B2 (en) * 2017-01-19 2019-03-12 International Business Machines Corporation Detection of meaningful changes in content
US20190018408A1 (en) * 2017-07-12 2019-01-17 Qualcomm Incorporated Systems and methods for verifying integrity of a sensing system
US10710602B2 (en) * 2017-10-06 2020-07-14 Uatc, Llc Systems and methods for a vehicle controller safety monitor
EP3543718B1 (en) * 2018-03-19 2020-08-19 Melexis Technologies NV Method for detecting a failure in an electronic system
KR20200044206A (ko) * 2018-10-10 2020-04-29 삼성전자주식회사 전자 장치 및 이의 제어 방법
US10846439B2 (en) * 2019-06-28 2020-11-24 Intel Corporation Functional safety over trace-and-debug
CN110727536A (zh) * 2019-10-09 2020-01-24 上海元城汽车技术有限公司 控制器自检方法、装置、计算机设备和可读存储介质
JP2021086359A (ja) * 2019-11-27 2021-06-03 株式会社デンソーウェーブ 産業機器の制御装置
CN114428694A (zh) * 2020-10-29 2022-05-03 华为技术有限公司 一种错误检测方法及相关装置
CN115202327B (zh) * 2022-09-14 2022-12-09 江苏恒立液压科技有限公司 阀口独立控制系统及其安全性能评估方法、装置
CN115357519B (zh) * 2022-10-20 2022-12-16 中科方德软件有限公司 一种测试方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591761A (zh) * 2010-11-29 2012-07-18 英飞凌科技股份有限公司 用于安全相关的应用中的sw的编码执行的增强型可缩放cpu
CN102707225A (zh) * 2012-06-21 2012-10-03 上海华岭集成电路技术股份有限公司 集成电路测试优化方法及其测试装置
CN102929778A (zh) * 2012-10-30 2013-02-13 无锡江南计算技术研究所 众核阵列上并行测试的控制方法及硅后验证系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314744A (ja) * 1995-05-18 1996-11-29 Hitachi Ltd フォールトトレラントシステム
JP3991384B2 (ja) * 1996-07-15 2007-10-17 株式会社デンソー 電子制御装置
JP2002189706A (ja) * 2000-12-21 2002-07-05 Nec Miyagi Ltd 通信装置の分散型初期設定システム及び方法
US7113938B2 (en) * 2002-02-14 2006-09-26 Gravic, Inc. Method of increasing system availability by splitting a system
JP2004038654A (ja) * 2002-07-04 2004-02-05 Mitsubishi Heavy Ind Ltd 並列計算機の異常検出システムおよび異常検出方法
JP2008123357A (ja) * 2006-11-14 2008-05-29 Honda Motor Co Ltd 並列計算機システム、並列計算方法および並列計算機用プログラム
JP5078347B2 (ja) * 2006-12-28 2012-11-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のノードを有するコンピュータ・システムの故障ノードをフェイルオーバー(修復)する方法
JP2010128627A (ja) * 2008-11-26 2010-06-10 Hitachi Automotive Systems Ltd 車載用電子制御装置
US8230262B2 (en) 2010-07-02 2012-07-24 Oracle International Corporation Method and apparatus for dealing with accumulative behavior of some system observations in a time series for Bayesian inference with a static Bayesian network model
US20170054592A1 (en) * 2014-04-30 2017-02-23 Telefonaktiebolaget Lm Ericsson (Publ) Allocation of cloud computing resources

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591761A (zh) * 2010-11-29 2012-07-18 英飞凌科技股份有限公司 用于安全相关的应用中的sw的编码执行的增强型可缩放cpu
CN102707225A (zh) * 2012-06-21 2012-10-03 上海华岭集成电路技术股份有限公司 集成电路测试优化方法及其测试装置
CN102929778A (zh) * 2012-10-30 2013-02-13 无锡江南计算技术研究所 众核阵列上并行测试的控制方法及硅后验证系统

Also Published As

Publication number Publication date
CN107003912A (zh) 2017-08-01
US10248492B2 (en) 2019-04-02
EP3178000B1 (en) 2019-01-30
JP2017527895A (ja) 2017-09-21
US20170228279A1 (en) 2017-08-10
JP6599431B2 (ja) 2019-10-30
KR102352068B1 (ko) 2022-01-17
KR20170065497A (ko) 2017-06-13
WO2016020815A1 (en) 2016-02-11
EP3178000A1 (en) 2017-06-14

Similar Documents

Publication Publication Date Title
CN107003912B (zh) 电子系统和在该电子系统中执行程序的方法
US10761916B2 (en) Method for executing programs in an electronic system for applications with functional safety comprising a plurality of processors, corresponding system and computer program product
US6374364B1 (en) Fault tolerant computing system using instruction counting
Reinhardt et al. Achieving a scalable e/e-architecture using autosar and virtualization
US9282008B2 (en) Systems and methods for monitoring system performance and availability
JP7202448B2 (ja) 安全性が要求されるプロセスを監視する自動化システム
CN107077103A (zh) 双向架构
Jiang et al. Re-thinking mixed-criticality architecture for automotive industry
CN109634171A (zh) 双核双锁步二取二架构及其安全平台
Larrucea et al. A modular safety case for an IEC-61508 compliant generic hypervisor
Larrucea et al. A modular safety case for an IEC 61508 compliant generic COTS processor
Perez et al. A safety certification strategy for IEC-61508 compliant industrial mixed-criticality systems based on multicore partitioning
MX2015001900A (es) Metodos y aparatos para reducir las fallas de modo comun en los sistemas de control de software relacionados con la seguridad nuclear.
Idirin et al. Implementation details and safety analysis of a microcontroller-based SIL-4 software voter
Alcaide et al. SafeX: Open source hardware and software components for safety-critical systems
Chen et al. Application of software watchdog as a dependability software service for automotive safety relevant systems
CN106940667B (zh) 检验具有多个计算单元的系统中的计算结果的方法和设备
Wu et al. Ensuring safety of avionics software at the architecture design level: An industrial case study
JP7267400B2 (ja) 安全性が要求されるプロセスを監視する自動化システム
Li et al. A structure design of safety PLC with heterogeneous redundant dual-processor
Yadav et al. Functional Safety for Braking System through ISO 26262, Operating System Security and DO 254
Alcaide Portet et al. SafeX: Open source hardware and software components for safety-critical systems
KR102475879B1 (ko) Mdps mcu 코어 고장 감지 장치 및 방법
Xu et al. The Method of Realize the Cloud Based Generic Function Safety Platform
CN117125003A (zh) 一种功能安全操作系统、方法、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant