CN101802793A - 处理飞行器机载系统的运行软件在调试阶段期间处理的信息容量的方法和实施该方法的设备 - Google Patents

处理飞行器机载系统的运行软件在调试阶段期间处理的信息容量的方法和实施该方法的设备 Download PDF

Info

Publication number
CN101802793A
CN101802793A CN200880106873A CN200880106873A CN101802793A CN 101802793 A CN101802793 A CN 101802793A CN 200880106873 A CN200880106873 A CN 200880106873A CN 200880106873 A CN200880106873 A CN 200880106873A CN 101802793 A CN101802793 A CN 101802793A
Authority
CN
China
Prior art keywords
program
progress point
function
executing state
software
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.)
Pending
Application number
CN200880106873A
Other languages
English (en)
Inventor
F·兰蒂姆比沃罗罗纳
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.)
Airbus Operations SAS
Original Assignee
Airbus Operations SAS
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 Airbus Operations SAS filed Critical Airbus Operations SAS
Publication of CN101802793A publication Critical patent/CN101802793A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种处理机载系统的运行软件的程序在调试阶段所处理的信息容量的方法,其特征在于包括以下步骤:a)通过在程序的每个函数上布置行进点,将所述运行程序的执行路径切割(32)成多个函数区间,b)设置(33)与每个行进点相关联的控制点,c)正常执行程序,其中进行以下操作:存储程序在每个行进点位置处的执行状态,存储执行状态使得删除前面存储的所述行进点的执行状态,当检测到错误时:搜索与有缺陷的函数相对应的行进点,搜索(41)程序开始时执行状态,重新生成(42)这个开始执行状态,改正(44)这个有缺陷的函数中的错误,和重新执行程序。

Description

处理飞行器机载系统的运行软件在调试阶段期间处理的信息容量的方法和实施该方法的设备
技术领域
本发明涉及的是一种处理飞行器机载系统的运行软件在调试阶段期间所处理的信息容量的方法。这个方法使得开发人员可以大大地减少信息容量,并因此大大地减少搜索和改正要安装的系统的运行软件的错误所必需的存储器资源。
本发明的优越适用不仅限于航空领域,并尤其适用于所安装系统的运行的软件测试领域。
背景技术
出于安全的考虑,用来安装在飞行器上的系统需要接受运行是否良好的检验,在检验中系统必需符合一些认证的要求。这在安装有类似系统的飞行器被授权进行飞行并甚至是投入商业服务之前进行。
安装前,这些系统要经受一些测试以检验是否符合认证权威机构制定的完整性和安全性要求。这些机载系统可以尤其是一些特殊的计算机,用来实现一些对飞行器很重要的功能,例如,领航功能。这些系统在下文中被称作计算机。
在现有系统的架构中,最常见的是每个计算机都可以用于同样性质的一种或多种应用,例如控制飞行的应用。每个计算机都包括一个硬件部分和一个软件部分。硬件部分包括至少一个中央处理单元(CPU)和至少一个输入/输出单元,计算机通过这个单元与一个计算机网络和一些外围设备等等连接。
通常在航空领域中使用的机载系统的一个主要特征是,不论其硬件还是软件的结构,都尽量避免引入执行上述系统的功能所需之外的任何装置。
因此,与普及的应用中通常碰到的系统相反的是,在航空领域,计算机不具备复杂的操作系统。另外,软件使用的语言与中央处理单元能理解的语言尽量接近,唯一可得到的输入/输出是系统运行所必需的,如来自飞行器传感器或其他部件的信息,或发送到驱动器或其他部件的信息。
这种架构的优势在于这种系统的运行非常便于控制。它并不依赖一个复杂的操作系统,复杂的操作系统的多方面的运行都要根据不可控制的参数并且否则这些系统往往成为和应用软件同样的安全示范。这种系统简单不易受攻击,因为它只包括一些执行该系统的功能严格所必需的装置。
相对地,这种系统的运行也非常难以进行观察。例如,这个系统不包括通常的人/机接口例如键盘和屏幕用来检验是否正确执行指令序列以及对执行进行调整,这就使得在软件的开发、检验和评定中难以进行一些必不可少的检验。
计算机的软件包括一个专用于所考虑的应用并保证计算机运行的软件,软件指令要与确定系统的运行的算法相符。
在系统和飞行器使用前,为了认证系统,要有一个对计算机进行生效确认的阶段。
众所周知,生效确认阶段主要在于,在计算机操作过程的每个步骤,检验计算机是否符合设立的技术规范,使得上述计算机满足系统期待的运行。
尤其对软件而言,要通过一系列的步骤来实现符合技术规范,从软件的最简单组件的检验到包括所有组件的整个完整软件安装在目标计算机中。
在第一个步骤,对可被测试的最简单的软件部件进行所谓的单元测试。在这些测试过程中,检验所述软件部件的逻辑指令即代码单独地是否都与设计要求相符。
在第二个步骤,即综合步骤,将已经分别接受检验的不同软件部件集合,形成软件部件相互作用的一个整体。对这些不同的软件部件进行整体性测试以确定这些软件部件尤其在上述部件的功能接口处是相容的。
在第三个步骤,软件部件整体安装在专门的计算机中。从而,进行一些生效确认实验以显示由集成在计算机中软件部件整体组成的软件是否符合设备技术规范,即软件能完成预期的功能,以及运行可靠安全。
为了保证软件的安全和满足认证的要求,在这个生效确认阶段,这个系统进行的整个测试同样必需能够以足够的概率得出软件与其所处的系统规定的安全要求相符。
在生效确认阶段对软件进行的不同测试可以保证软件不会出现任何一种功能不良(会对计算机的运行良好产生影响,从而影响飞行器及其安全)或者一旦出现功能不良软件能够及时控制。
然而,在生效确认阶段,尤其是当检验到异常进行研究时,不仅需要保证安装软件的计算机的输入和输出参数与期待相符,而且要保证软件内部的一些性能良好。
在这种情况下,鉴于所安装应用的专用计算机的特殊结构,不使用特殊设备和方法时通常很难观察软件的运行。
已知的第一种方法在于使用仿真器在所测试的安装有软件的计算机和一个平台之间建立一个文件分配系统。通过仿真器,一个设备能够在连接的平台上模拟计算机处理器的一个计算单元的逻辑运行。
在使用仿真器的这样一个运行模式中,计算机的处理器可以用一个检测器代替,这个检测器保证与带有处理器的仿真功能的相连接平台接口。
这样,就可以通过连接平台的自身功能,在除处理器部分外的计算机上,执行要测试的软件,观测软件的运行或一些内部运行不良,例如,输入/输出部件的输入的刺激所引起的不良,还能观测上述的输入/输出部件的输出。
这个方法存在一些不足。事实上,要测试的计算机的任何类型都需要一个特别的测试台或者测试台的至少一个专门配置。测试台是一个尤其包括一些与要测试的计算机相互连接的装置和一些模拟计算机处理器的装置以及执行测试程序的装置的组合。
既然每个处理器都需要一个特殊的仿真器,不论是仿真软件还是代替处理器的相应的检测器,那么需要增加符合计算机的性质的仿真器。
另外,一般根据仿真器进行研究的可能性比较受限。再加上必需使用与所检验的处理器的特殊机器语言意味着程序员必须是一个机器语言程序设计专家。
另外,仿真器成本昂贵,一般只会小批量生产。这类产品的生命周期也很短暂(6个月至2年),而为了延长飞机程序的周期(20年,甚至更久),在操作条件下需要对运作和检查装置进行维护(根据条例,工业反应性)。这表现为越来越难解决的废旧处理问题。
因此这种仿真器的解决方案并不具有很好的实用性,因为,除了在检查研究方面的表现欠佳,它的使用和维护成本还很高。
成本还可能增加的原因在于一般地出于安全设计理念,要使用处理器的不同模型以确保运行冗余,这就要求同样多的仿真器。
第二种排除仿真器问题的方法在于,在执行要测试的程序前,在主平台上模拟计算机的运行。在这种情况下,为了读取测试的矢量或为了记录测试的结果,要测试的软件应当访问主平台的文件。
因为要测试的软件自身并不包括类似的访问主平台的文件系统的功能,所以需要改进要测试的软件,增加这些访问功能。
为了转移这些信息,人们一般使用由模拟测试环境发出的调用系统的指令。调用系统的指令可以是,例如打开文件,写入文件或者甚至是读取文件。调用系统指令通过主平台操作系统捕获,并将其转换为主平台的系统调用。
这个第二种方法也同样存在一些不足。事实上,文件种类过多导致访问功能性的运作十分依赖主平台及其操作系统。然而,主平台不仅在空间上(世界各地分布的操作设备的情况)而且在时间上(主平台替换)的变化性是很大的,这就给这种方法的实际操作带来困难。
这些困难更加严重,还因为访问文件系统的类似功能性的运作,同样需要能够改进操作系统功能的专家的技能,因此一些进行实验的专家并不具备。
因此,这种方法成本过高,很难实施。
另外这种方法对要测试的软件具有损害性,而且为了进行这些测试而修改软件会出现软件本身运行中断的风险。
在计算机确认阶段,即这些测试阶段,会出现运行软件的执行中断。这种中断表现为运行软件的运行中断或者软件在无限的指令循环中阻塞。程序员这时应该在指令代码行中搜索出异常或错误,以期改正。通过如下一种执行完成此项搜索:其中执行路径的连续点的顺序与按正常执行的顺序相反。换句话说,回溯(remonter)一个代码行的序列,在其中搜索错误(即返回已经执行的但是包括一个或几个错误的代码行的序列中),然后再重新执行这个回溯序列。这种搜索称为反向执行。
这种反向执行要求,在一个指令代码行序列形成的运行软件执行路径的任一点上,程序员都了解指令代码行的进展。否则,程序员就不知道在执行路径的哪个位置出现错误。因此他也不知道应当在多少个执行代码行上进行反向执行。另外,对于机载软件,反向执行应该与正常执行使用同样的语言,即机器语言。因此对程序员来说很难理解运行软件的程序进展以回溯序列和找出错误。另外,没有任何一种反向执行的控制或追踪装置能够保证程序员知道应该回溯到有缺陷的序列的哪里以便找出错误或异常。
考虑到这种复杂性,这种搜索错误的方法需要几小时到几天不等的大量时间,不论在生产力还是劳动力方面,这都相对提高了调试阶段的成本。
另外,为了能够进行程序的反向执行,最好提前捕获然后重建程序执行状态的信息。捕获的这些信息将全部存储在数据存储器中以便日后重新生成。但是,程序执行路径会很长,被操作和存储的数据量很大,这对存储器资源的容量提出了要求。
为了解决上面陈述的不同问题,人们已经提出了几种解决方案。第一种方案在于压缩整个操作数据。这个方案不太有效,因为压缩的系数是随意的(根据不同的操作数据而变化)。而且,在压缩操作后,对于压缩数据增加的成本,获得的存储空间的收益相对较小。
第二种方案在于只捕获严格需要的数据以减少数据。在这种方案中使用的方法是写时才拷贝(英语为copy-on-write)。这种方案建立在信息计数的有规律检验上,从而只捕获修改后的数据页面,这就保证了用于随后重新生成的信息的最小化。
与第一种方案不同,这种捕获的成本是最小的;相对地,由此要做的重新生成就需要一个相对长的时间,尤其在一个交互调试活动期间,因为从程序开始,对最初执行状态的每次重建都需要所有捕获的控制点。
发明内容
本发明旨在解决上述的不便。为此,本发明提出一种处理在机载系统的运行软件调试阶段所操作的信息容量的方法。
本发明的方法保证可以减少和最优化用于机载系统的存储器资源的需求量。为此,本发明的方法提出将运行程序的执行路径切割成多个函数区间,捕获与被测试的软件的给定位置的执行状态相关的信息,随后重建这些信息。
更为确切地,本发明涉及一种处理机载系统的运行软件的程序在调试阶段所处理的信息容量的方法,其特征在于包括以下步骤:
a)通过在程序的每个函数上布置行进点,将所述运行程序的执行路径切割成多个函数区间,
b)设置与每个行进点相关联的控制点,
c)正常执行程序,其中进行以下操作:
-存储程序在每个行进点位置处的执行状态,
-存储执行状态使得删除前面存储的所述行进点的执行状态,
-当检测到错误时:
搜索与有缺陷的函数相对应的行进点,
搜索程序开始时执行状态,
重新生成这个开始执行状态,
改正这个有缺陷的函数中的错误,和
重新执行程序。
本发明还可以包括一个或几个以下特征:
-唯一的执行状态被同时存储在数据存储器中。
-在正常执行一个函数后,与这个函数相对应的行进点从非活跃状态过渡为活跃状态。
-搜索有缺陷的函数在于搜索最近的活跃行进点。
-存储行进点及其状态的列表。
本发明同样涉及一种模拟飞行器的机载计算机的运行的设备,其特征在于实施上述的方法。
这个设备可以包括能够存储程序执行状态的数据存储器。
本发明还涉及一种用于飞行器的机载系统的可加载在控制单元上的运行软件的程序,包括当程序被加载在控制单元上并执行时用于执行上述的方法的指令序列。
附图说明
在阅读以下说明之后并且在研究附图之后,将更好地理解本发明。这些不作为对本发明的限制的说明。
图1示出本发明的方法的功能示意图
图2a和2b示出执行本发明方法的设备的示意图。
具体实施方式
运行软件由一组程序组成。程序由一组写指令序列组成,称叫指令串序列。这些指令串通常按出现顺序执行,即从第一个指令到最后一个指令。这些按出现顺序执行的指令串组成了程序的正常执行路径。
为了有效地调试程序,即搜索和改正程序的错误、设计的纰漏和运行的异常,本发明的方法提出,在程序执行路径中布置标记以便相对于这些标记确定哪里出现了错误或异常。标记是位于程序特别位置的虚拟方位标。这些位置,例如,与程序不同函数(fonction)的开始和结束相对应。一个函数就是一个指令序列,整体上使得可以进行一个特殊操作。一个紧跟一个地执行程序的这些函数。标记放置于,例如,程序函数的每个输入或输出点。当标记位于每个程序函数的输入或输出处,这些标记就实现了程序的函数设标。
每个标记都包括一个行进点和控制点。
行进点是可以位于程序特殊位置的虚拟方位标。程序中的行进点的位置即上述的标记的位置。当执行程序时,行进点构成了方位标的点。然后,在程序运行中断后的反向执行情况下(当碰到一次或几次异常或错误时),行进点组成程序执行路径的进程的重启(reprise)点。事实上,在程序执行路径上,行进点规则地分布,这保证了可以简单快速地找出碰到的错误或异常。这个分布可以是函数类型的,即行进点将程序的执行路径切割成多个相邻的函数区间。
每个标记的控制点都是对应于存储器中的一个图像的状态的矢量,在该存储器中存储了执行程序时使用的不同数据。控制点显示在给定位置,即程序中标记所处的位置,的程序的执行状态,这样可以随后重新初始化包括控制点信息的存储器。控制点与每个行进点相关联。位于两个暂时连续的标记之间的程序执行所参考的信息的整体组成控制点。这个整体是重新执行两个标记之间的程序的最小、必需而足够的信息整体。
每个行进点都可包括两个状态:一个活跃状态和一个非活跃状态。除其状态(活跃/非活跃)外,行进点包括相关的程序地址以及确定当程序执行到达行进点的地址时将要进行处理的信息。在程序运行开始时,所有的行进点都是非活跃的。所有与行进点对应的控制点都是中性的,即它们不包括任何信息。
每当正常执行一个函数时,函数结束处或下个函数入口处的行进点的状态变得活跃。那么,与这个行进点相关联的控制点捕获或存储程序在行进点位置的执行状态。
当正常执行程序时,在正常执行的函数后(在函数末端或下一个函数入口)的行进点从非活跃状态到活跃状态。当行进点转为活跃状态时,通过与行进点相对应的控制点捕获程序的执行状态。换句话说,在程序给定位置的程序执行状态记录在数据存储器中。
根据本发明,程序的不同执行状态一个紧跟一个地被连续记录在同一个数据存储器中,从而在数据存储器中只同时存储唯一一个执行状态。这个存储的执行状态是最后捕获的执行状态,即程序在最后的活跃行进点位置的执行状态。事实上,在本发明中,人们考虑到,当进行反向执行时,只有这个最后的执行状态的存储是随后重新生成程序执行状态所必需的。在一种实施方式下,捕获执行状态覆盖了前面执行状态的记录。在另一种实施方式下,在每次记录执行状态后,删除前面已经记录的执行状态,数据存储器从而只包括一个执行状态,即当反向执行时对重启程序有用的执行状态。
当出现错误时,程序员进行程序反向执行以在程序内部找到上述的错误。这种反向执行可以按与程序的正常操作相反的方向回溯程序,以在与最后的活跃行进点相对应的第一函数指令行上重新开始执行操作,即最后一个函数,它的控制点已捕获程序状态信息。
存储行进点及其状态的列表。这样,当出现程序执行的中断时,找出哪个是最后的活跃行进点,并重新回到与这个行进点相对应的程序的位置。然后在数据存储器中搜索记录的执行状态并从这个位置出发使用与记录的执行状态相关的数据重新执行程序。
这样,根据本发明,反向执行就可以按照行进点进行,以回溯程序的指令串并确定缺陷的指令串的位置。反向执行可以照这样在唯一一个函数区间内进行。当在这个函数区间检测到一个缺陷串或错误时,程序员则找出这个串中的错误或异常,然后加以改正。
借助于控制点,可以在最后一个活跃的行进点处重新执行程序。这种程序的重启需要取回开始的执行状态。根据本发明,这种执行状态的取回只需要一个与执行状态相对应的空间,如存储空间。另外,行进点和控制点之间的关联保证可以快速地取回开始的执行状态。
图1是本发明的方法的一个运行示意图实例。这个方法包括调试阶段初始化的预备步骤31。这个步骤将对调试阶段良好运行有用的不同参数进行重新初始化。
在步骤32中,对运行的软件程序的执行路径进行规则、恰当的切割。这种切割可以标识与程序的执行路径的整个区间相关联的运行环境。
在步骤33中,沿着程序的执行路径分布行进点以将上述的执行路径切割为函数区间。每个行进点都与一个控制点相关联。全部行进点和控制点形成一个信标系统。每个行进点都有一个消极作用;它单独形成指示程序执行重启点的指示器。控制点有一个积极作用,即它能具有两种不同的状态(活跃或非活跃)。控制点的作用在于捕获程序在给定位置和确定时间的执行状态。
在步骤34中,正常执行程序。在步骤35中对程序进行一个测试循环。在这个步骤35中,检测在行进点上的通过。如果在程序执行期间检测到在一个行进点上的通过,即如果一个行进点被通过,执行步骤36。在相反的情况下,反复执行步骤34。
在步骤36中,捕获程序在给定位置的执行状态。在步骤37中存储这个捕获的程序的执行状态。
步骤38旨在检测程序中的错误。如果检测出程序中的错误,那么执行步骤39,如果没有则执行步骤40。
在步骤39中,程序的执行中止。在步骤41中,确定程序执行开始时的状态。这个执行开始时的状态是在步骤37中记录在数据存储器中的最后执行状态。
在步骤42中,重新生成执行开始时的状态,即执行的最近一个没有错误的函数结束时程序的执行状态。这个执行开始状态的重新生成可以重新建立执行路径的函数区间的环境。
在步骤43中,进行反向执行。从最后一个活跃行进点出发,并考虑与活跃的行进点关联的控制点捕获的状态作为执行状态,重新执行程序。
在步骤44中,在有缺陷的函数中搜索发生错误的根本原因,以便回溯有缺陷的串然后改正程序中的错误。
在步骤45中,检验调试阶段是否结束。如果调试阶段结束,那么可以整体执行程序(步骤46)。相反地,则要回到步骤34并重新执行步骤34至45。
当程序中没有错误时(步骤38),执行步骤40。在步骤40中,确定程序员是否以交互的方式要求进行函数区间的跳变。如果已经要函数区间的跳变,那么就执行步骤41和接下来的步骤。相反地,则重新执行步骤34,以继续执行程序。事实上,在本发明中,程序的设标可以自动进行,即标记自动定位于每个函数区间的开始。这个程序的设标可以是交互的,即程序员在同一个函数内部选择定位(设置)附加的标记。这些附加的标记可以是输入标记,输出标记和/或中间标记。由程序员自己选择交互或自动的设标。交互的设标使得可以细化搜索和改正错误的区间,这就使得可以减小上述的区间并因而便于检测出错误。
从上述可知,本发明的方法使得可以使用相对于已知方法很小的信息容量来进行调试,因为借助于控制点和行进点捕获然后重建的数据只是与唯一一个执行状态相对应的数据。事实上,程序的执行状态的信息容量很小。另外,这样一种重新生成的成本既不依赖于人们努力生成的程序开始时执行状态的位置,也不依赖于数据存储器4的大小。
图2a示出一种用于飞行器机载系统的运行软件的测试环境的控制单元1的一个实例。根据一种实施变体,测试环境可以在主平台上虚拟模拟,也可以建立在仿真器类型的硬件设备的基础上。
控制单元1包括(并未全部列出)处理器2,程序存储器3,数据存储器4,和输入/输出接口5。处理器2、程序存储器3、数据存储器4和输入/输出接口5通过双向通信总线6相互连接。
在图2a上,简略示出了调试阶段的运行软件的一个程序7。程序7包括一个执行路径8。执行路径8包括一组指令代码行。执行路径8被按规则和恰当的方式切割并形成函数区间。因此,在调试阶段,程序7与处理器2、程序存储器3和数据存储器4恒定连接。
程序存储器3在区域9中包括使得为程序7设置信标的指令。程序7的信标系统使得在整个执行路径8上安放行进点10。每个行进点10都与一个函数区间相关连。程序7的信标系统同样可以关于相应的行进点10设置控制点11,12,13,14和15。程序存储器3在区域21内包括执行程序7的指令。执行程序7使得可以一个接一个指令地展开(déroulement)执行路径8。程序7的执行路径的展开使得在行进点10上的通过有效。行进点的通过有序地激活控制点11,12,13,14和15。程序存储器13在区域22内包括捕获程序7的执行开始时的状态的信息。控制点11,12,13,14和15的激活使得可以有序地捕获程序7的执行开始时的状态。程序存储器3在区域23内包括存储程序7执行开始时的状态的信息。这些信息被存储在数据存储器4中。程序存储器3在区域24中包括使得可以重建这些存储的执行状态的信息的指令。在图2b上详细地示出了数据存储器4。

Claims (8)

1.一种用于处理机载系统的运行软件的程序在调试阶段所处理的信息容量的方法,其特征在于包括以下步骤:
a)通过在程序的每个函数上布置行进点,将所述运行程序的执行路径切割(32)成多个函数区间,
b)设置(33)与每个行进点相关联的控制点,
c)正常执行程序,其中进行以下操作:
存储程序在每个行进点位置处的执行状态,
存储执行状态使得删除前面存储的在所述行进点的执行状态,
当检测到错误时:
搜索与有缺陷的函数相对应的行进点,
搜索(41)程序开始执行状态,
重新生成(42)这个开始执行状态,
改正(44)这个有缺陷的函数中的错误,和
重新执行程序。
2.根据权利要求1的方法,其特征在于唯一的执行状态同时存储在数据存储器中。
3.根据权利要求1或2的方法,其特征在于在正常执行一个函数后,与这个函数相对应的行进点从非活跃状态过渡为活跃状态。
4.根据权利要求3的方法,其特征在于搜索有缺陷的函数在于搜索最近的活跃行进点。
5.根据权利要求3或4的方法,其特征在于存储行进点及其状态的列表。
6.一种模拟飞行器的机载计算机的运行的设备,其特征在于实施根据权利要求1至5中任一项的方法。
7.根据权利要求6的设备,其特征在于包括能够存储程序的执行状态的数据存储器(4)。
8.一种用于飞行器的机载系统的可加载在控制单元(1)上的运行软件的程序,包括当程序被加载在控制单元(1)上并在控制单元(1)上执行时用于执行根据权利要求1至5中任一项的方法的指令序列。
CN200880106873A 2007-09-14 2008-09-12 处理飞行器机载系统的运行软件在调试阶段期间处理的信息容量的方法和实施该方法的设备 Pending CN101802793A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0757600A FR2921171B1 (fr) 2007-09-14 2007-09-14 Procede de minimisation du volume d'informations requis pour le debogage d'un logiciel de fonctionnement d'un systeme embarque a bord d'un aeronef, et dispositif de mise en oeuvre
FR0757600 2007-09-14
PCT/FR2008/051647 WO2009047433A2 (fr) 2007-09-14 2008-09-12 Procédé de traitement du volume d'informations manipulé durant une phase de débogage d'un logiciel de fonctionnement d'un système embarqué à bord d'un aéronef, et dispositif de mise en oeuvre

Publications (1)

Publication Number Publication Date
CN101802793A true CN101802793A (zh) 2010-08-11

Family

ID=39145012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880106873A Pending CN101802793A (zh) 2007-09-14 2008-09-12 处理飞行器机载系统的运行软件在调试阶段期间处理的信息容量的方法和实施该方法的设备

Country Status (9)

Country Link
US (1) US20100299559A1 (zh)
EP (1) EP2188724A2 (zh)
JP (1) JP2010539577A (zh)
CN (1) CN101802793A (zh)
BR (1) BRPI0816978A2 (zh)
CA (1) CA2697725C (zh)
FR (1) FR2921171B1 (zh)
RU (1) RU2451990C2 (zh)
WO (1) WO2009047433A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669368A (zh) * 2017-10-17 2019-04-23 泰雷兹公司 航电程序执行错误处理方法,计算机程序及检测报警系统
CN111427327A (zh) * 2019-12-27 2020-07-17 湖北航天飞行器研究所 一种飞行器控制软件异常重启的保护方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8880668B2 (en) * 2011-02-28 2014-11-04 Verizon Patent And Licensing Inc. Method and system for integrating data from multiple sources
US8776029B2 (en) 2011-03-23 2014-07-08 Zerodee, Inc. System and method of software execution path identification
US8755612B2 (en) 2011-12-15 2014-06-17 Hewlett-Packard Development Company, L.P. Identifying truncated character strings
FR2989794B1 (fr) * 2012-04-24 2014-04-04 Thales Sa Procede et dispositif de capture du besoin pour un systeme de pilotage automatique pour aeronef
US9921859B2 (en) * 2014-12-12 2018-03-20 The Regents Of The University Of Michigan Runtime compiler environment with dynamic co-located code execution
CN106371991A (zh) * 2016-08-31 2017-02-01 重庆四联测控技术有限公司 一种程序故障的监控方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03225533A (ja) * 1990-01-31 1991-10-04 Fujitsu Ltd コピーオンライト逆実行チェックポイント方式
JPH103403A (ja) * 1996-06-18 1998-01-06 Toshiba Corp 計算機システムおよびデバッグ方法
JPH10198578A (ja) * 1998-01-29 1998-07-31 Toshiba Corp デバッグ方式およびデバッグ方法
US6748583B2 (en) * 2000-12-27 2004-06-08 International Business Machines Corporation Monitoring execution of an hierarchical visual program such as for debugging a message flow
JP2002207611A (ja) * 2001-01-11 2002-07-26 Mitsubishi Heavy Ind Ltd ソフトウェアワーキングベンチ
IL151251A0 (en) * 2002-08-14 2003-04-10 Elta Systems Ltd Parallel processing platform with synchronous system halt-resume
CA2408457A1 (en) * 2002-10-17 2004-04-17 Ibm Canada Limited-Ibm Canada Limitee Collection and detection of differences of values of expressions/variables when debugging a computer process
RU2215668C1 (ru) * 2002-11-11 2003-11-10 ОАО "ОКБ им. А.С. Яковлева" Комплекс бортового радиоэлектронного оборудования легкого многоцелевого самолета
US7573301B2 (en) * 2002-12-02 2009-08-11 Silverbrook Research Pty Ltd Temperature based filter for an on-chip system clock
FR2864655B1 (fr) * 2003-12-31 2006-03-24 Trusted Logic Procede de controle d'integrite de programmes par verification d'empreintes de traces d'execution
RU42303U1 (ru) * 2004-06-08 2004-11-27 Открытое акционерное общество "Раменское приборостроительное конструкторское бюро" Имитатор бортового радиоэлектронного оборудования
US7543278B2 (en) * 2004-10-15 2009-06-02 Microsoft Corporation System and method for making a user interface element visible
US7849450B1 (en) * 2005-01-28 2010-12-07 Intel Corporation Devices, methods and computer program products for reverse execution of a simulation
US20080155216A1 (en) * 2005-02-17 2008-06-26 Dov Shoham Protection and Recovery System for Automatic Disk Recovery
US7548085B2 (en) * 2005-07-15 2009-06-16 Tabula, Inc. Random access of user design states in a configurable IC
US8656350B2 (en) * 2007-02-06 2014-02-18 Software Ag Event-based process configuration
US20080307397A1 (en) * 2007-06-08 2008-12-11 Bill Angell Program Analysis by Partial Emulation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109669368A (zh) * 2017-10-17 2019-04-23 泰雷兹公司 航电程序执行错误处理方法,计算机程序及检测报警系统
CN111427327A (zh) * 2019-12-27 2020-07-17 湖北航天飞行器研究所 一种飞行器控制软件异常重启的保护方法

Also Published As

Publication number Publication date
EP2188724A2 (fr) 2010-05-26
RU2010114708A (ru) 2011-10-20
RU2451990C2 (ru) 2012-05-27
JP2010539577A (ja) 2010-12-16
WO2009047433A2 (fr) 2009-04-16
WO2009047433A3 (fr) 2010-03-18
US20100299559A1 (en) 2010-11-25
BRPI0816978A2 (pt) 2015-03-24
CA2697725A1 (fr) 2009-04-16
FR2921171A1 (fr) 2009-03-20
CA2697725C (fr) 2015-11-17
FR2921171B1 (fr) 2015-10-23

Similar Documents

Publication Publication Date Title
CN101802793A (zh) 处理飞行器机载系统的运行软件在调试阶段期间处理的信息容量的方法和实施该方法的设备
Kranzlmüller Event graph analysis for debugging massively parallel programs
Lucia et al. Atom-aid: Detecting and surviving atomicity violations
US20090037888A1 (en) Simulation of program execution to detect problem such as deadlock
Lantz et al. Yat: A validation framework for persistent memory software
JP5580200B2 (ja) 航空機搭載のシステムのオペレーション・ソフトウェアをデバッグする方法およびその方法を実施するためのデバイス
CN102346235A (zh) 一种面向硬件设备功能的自动测试系统及方法
CN104364771A (zh) 修改来自较小特权状态的运行时间仪表控制
CN104364768A (zh) 确定运行时间仪表控制的状态
US9697040B2 (en) Software replayer for transactional memory programs
CN113778616A (zh) 一种电力物联网终端虚拟化模拟仿真平台及仿真方法
Campagna et al. Hypervisor-based virtual hardware for fault tolerance in COTS processors targeting space applications
Slivinski Study of fault-tolerant software technology
Moser et al. Design verification of SIFT
CN105988885A (zh) 基于补偿回滚的操作系统故障自恢复方法
CN101583926B (zh) 利用缓冲器便于指令执行的方法和系统
Marra et al. A debugging approach for big data applications in pharo
Saavedra et al. GitBug-Actions: Building Reproducible Bug-Fix Benchmarks with GitHub Actions
US11995922B2 (en) Flight management system and method for reporting an intermitted error
US20220036669A1 (en) Flight management system and method for reporting an intermitted error
CN103154837A (zh) 用于自动化系统的过程冗余控制的方法
Rodrigues et al. A non-conservative software-based approach for detecting illegal CFEs caused by transient faults
Turn Hardware-software tradeoffs in reliable software development
CN101802794B (zh) 飞行器机载系统的运行软件的调试方法和实施该方法的设备
Lala et al. Reducing the probability of common-mode failure in the fault tolerant parallel processor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100811