掌桥专利:专业的专利平台
掌桥专利
首页

AUTOSAR软件的验证方法、装置、设备及存储介质

文献发布时间:2023-06-19 19:21:53


AUTOSAR软件的验证方法、装置、设备及存储介质

技术领域

本申请涉及计算机技术领域,具体涉及一种AUTOSAR软件的验证方法、装置、设备及存储介质。

背景技术

随着汽车嵌入式软件开发流程的不断发展,越来越多的汽车零部件厂商及代工厂(Original Equipment Manufacturer,OEM)采用汽车开放系统架构(Automotive OpenSystemArchitecture,AUTOSAR)进行软件开发。为了保证车辆系统的安全性和可靠性,需要对开发的AUTOSAR软件进行测试。

AUTOSAR软件的开发过程包括应用程序的代码生成阶段。目前,通常在应用程序的代码生成阶段之后对AUTOSAR软件进行测试。但是应用程序的代码生成阶段已处于AUTOISAR软件的开发的后期阶段,因此,在应用程序的代码生成阶段之后对AUTOSAR软件进行验证,导致开发成本和纠错成本较高,降低了AUTOSAR软件的开发效率。

发明内容

本申请实施例提供了一种AUTOSAR的验证方法、装置、设备及存储介质,该方案通过基于预先构建的AUTOSAR标准对应的时间自动机模板,对AUTOSAR软件的系统架构转换成时间自动机网络,即可完成AUTOSAR软件的验证,无需将AUTOSAR软件转换为代码后对AUTOSAR软件进行验证,降低了开发成本和纠错成本,提高了AUTOSAR软件的开发效率。

第一方面,本申请实施例提供了一种AUTOSAR软件的验证方法,包括:

获取AUTOSAR软件的系统架构的架构信息;其中,所述架构信息包括所述系统架构中架构元素的信息。

根据所述架构元素的信息,从预先构建的时间自动机模板中匹配所述架构元素对应的目标时间自动机模板;其中,所述时间自动机模板是基于AUTOSAR标准构建的,所述时间自动机模板用于表征所述系统架构在时间上的行为;

根据所述架构元素的信息和所述架构元素对应的目标时间自动机模板,生成所述系统架构的时间自动机网络;

根据预先获取的验证约束信息,对所述时间自动机网络进行形式化验证。

在一种可能的实现方式中,所述架构元素包括可运行实体和任务,所述架构信息包括所述可运行实体的可运行实体信息和所述任务的任务信息;

所述根据所述架构元素的信息,从预先构建的多个时间自动机模板中匹配所述架构元素对应的目标时间自动机模板,包括:

根据所述任务的任务信息,从所述多个时间自动机模板中匹配与所述任务对应的目标时间自动机模板;

根据所述可运行实体的可运行实体信息,从所述多个时间自动机模板中匹配与所述可运行实体对应的目标时间自动机模板。

在一种可能的实现方式中,所述架构元素包括可运行实体和任务,所述架构信息包括所述可运行实体的可运行实体信息和所述任务的任务信息;

所述根据所述架构元素的信息、预先获取的运行时间信息和所述每个架构元素对应的目标时间自动机模板,生成所述系统架构的时间自动机网络,包括:

根据所述可运行实体的可运行实体信息,确定所述可运行实体的运行时间信息;

根据所述可运行实体的可运行实体信息、所述运行时间信息和所述可运行实体对应的时间自动机模板,生成所述可运行实体对应的时间自动机;

根据所述任务的任务信息和所述任务对应的时间自动机模板,生成所述任务对应的时间自动机;

根据所述可运行实体对应的时间自动机和所述任务对应的时间自动机,生成所述系统架构的时间自动机网络。

在一种可能的实现方式中,可运行实体的可运行实体信息包括所述可运行实体对应的至少一种通信模式;所述根据所述架构信息,从预先构建的多个时间自动机模板中匹配所述多个架构元素中每个架构元素对应的目标时间自动机模板,包括:

从所述多个时间自动机模板中匹配所述可运行实体在至少一种通信模式下的目标时间自动机模板;

根据所述可运行实体的可运行实体信息、所述运行时间信息和所述可运行实体对应的时间自动机模板,生成所述可运行实体对应的时间自动机,包括:

根据所述可运行实体的可运行实体信息、所述运行时间信息和所述可运行实体在所述至少一种通信模式下的目标时间自动机模板,生成所述可运行实体在所述至少一种通信模式中每种通信模式下的目标时间自动机;

将所述可运行实体在所述每种通信模式下的目标时间自动机模板进行融合,得到所述可运行实体的时间自动机。

在一种可能的实现方式中,所述获取AUTOSAR软件的系统架构的架构信息,包括:

读取所述AUTOSAR软件的开发文件;

解析所述AUTOSAR软件的开发文件,得到可运行实体的可运行实体信息和任务的任务信息。

在一种可能的实现方式中,所述可运行实体的可运行实体信息包括激活所述可运行实体的事件,所述任务的任务信息包括所述任务激活的事件;所述解析所述系统架构的架构信息,得到所述可运行实体的可运行实体信息和所述任务的任务信息,包括:

根据所述激活所述可运行实体的事件的任务和所述任务激活的事件,确定具有映射关系的可运行实体和任务;

生成可运行实体和任务的映射关系信息,以及过滤掉没有映射关系的可运行实体和任务。

在一种可能的实现方式中,所述模型验证约束信息包括所述系统架构的时间属性和所述时间属性的属性值;所述根据预先获取的验证约束信息,对所述时间自动机网络进行形式化验证,包括:

从所述多个时间自动机模板中匹配所述时间属性对应的目标时间自动机模板;

根据所述时间属性的属性值、所述架构信息和所述辅助时间自动机模板,生成所述时间属性对应的辅助时间自动机;

对所述时间自动机网络和所述辅助时间自动机进行形式化验证。

在一种可能的实现方式中,所述根据所述模型验证约束信息对所述时间自动机网络和所述辅助时间自动机进行形式化验证,包括:

根据所述时间自动机网络和所述辅助时间自动机,生成所述系统架构的验证文件;

将所述验证文件输入至形式化验证工具中进行形式化验证。

第二方面,本申请实施例提供了一种AUTOSAR软件的验证装置,包括:

获取模块,用于获取AUTOSAR软件的系统架构的架构信息;其中,所述架构信息包括所述系统架构中架构元素的信息。

匹配模块,用于根据所述架构元素的信息,从预先构建的时间自动机模板中匹配所述多种架构元素中每个架构元素对应的目标时间自动机模板;其中,所述时间自动机模板是基于AUTOSAR标准构建的,所述时间自动机模板用于表征所述系统架构在时间上的行为;

生成模块,用于根据所述架构元素的信息和所述每个架构元素对应的目标时间自动机模板,生成所述系统架构的时间自动机网络;

验证模块,用于根据预先获取的验证约束信息,对所述时间自动机网络进行形式化验证。

在一种可能的实现方式中,所述架构元素包括可运行实体和任务,所述架构元素的信息包括所述可运行实体的可运行实体信息和所述任务的任务信息;所述匹配模块,用于根据所述任务的任务信息,从所述多个时间自动机模板中匹配与所述任务对应的目标时间自动机模板;

根据所述可运行实体的可运行实体信息,从所述多个时间自动机模板中匹配与所述可运行实体对应的目标时间自动机模板。

在一种可能的实现方式中,所述架构元素包括可运行实体和任务,所述架构信息包括所述可运行实体的可运行实体信息和所述任务的任务信息;所述生成模块,用于根据所述可运行实体的可运行实体信息,确定所述可运行实体的运行时间信息;

根据所述可运行实体的可运行实体信息、所述运行时间信息和所述可运行实体对应的时间自动机模板,生成所述可运行实体对应的时间自动机;

根据所述任务的任务信息和所述任务对应的时间自动机模板,生成所述任务对应的时间自动机;

根据所述可运行实体对应的时间自动机和所述任务对应的时间自动机,生成所述系统架构的时间自动机网络。

在一种可能的实现方式中,所述可运行实体的可运行实体信息包括所述可运行实体对应的至少一种通信模式;所述匹配模块,用于从所述多个时间自动机模板中匹配所述可运行实体在至少一种通信模式下的目标时间自动机模板;

所述生成模块,用于根据所述可运行实体的可运行实体信息、所述运行时间信息和所述可运行实体在所述至少一种通信模式下的目标时间自动机模板,生成所述可运行实体在所述至少一种通信模式中每种通信模式下的目标时间自动机;

将所述可运行实体在所述每种通信模式下的目标时间自动机模板进行融合,得到所述可运行实体的时间自动机。

在一种可能的实现方式中,所述获取模块,用于读取所述AUTOSAR软件的开发文件;解析所述AUTOSAR软件的开发文件,得到可运行实体的可运行实体信息和任务的任务信息。

在一种可能的实现方式中,所述可运行实体的可运行实体信息包括激活所述可运行实体的事件,所述任务的任务信息包括所述任务激活的事件;所述获取模块,用于根据所述激活所述可运行实体的事件的任务和所述任务激活的事件,确定具有映射关系的可运行实体和任务;

生成可运行实体和任务的映射关系信息,以及过滤掉没有映射关系的可运行实体和任务。

在一种可能的实现方式中,所述模型验证约束信息包括所述系统架构的时间属性和所述时间属性的属性值;所述验证模块,用于从所述多个时间自动机模板中匹配所述时间属性对应的目标时间自动机模板;

根据所述时间属性的属性值、所述架构信息和所述辅助时间自动机模板,生成所述时间属性对应的辅助时间自动机;

对所述时间自动机网络和所述辅助时间自动机进行形式化验证。

在一种可能的实现方式中,所述验证模块,用于根据所述时间自动机网络和所述辅助时间自动机,生成所述系统架构的验证文件;

将所述验证文件输入至形式化验证工具中进行形式化验证。

第三方面,本申请实施例提供了一种计算机设备,包括处理单元和存储单元,所述存储单元中存储有可执行代码,所述处理单元执行所述可执行代码时,实现如第一方面或第一方面中任一种可能的实现方式中的方法。

第四方面,本申请实施例提供了一种计算机存储介质,包括处理器和存储器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如第一方面或第一方面中任一种可能的实现方式中的方法。

第五方面,本申请实施例提供了一种芯片,所述芯片与存储器耦合,用于执行所述存储器中存储的程序,以实现如第一方面或第一方面中任一种可能的实现方式中的方法。

本申请另一方面提供一种程序产品,计算机设备通过运行所述程序产品,以实现如第一方面或第一方面中任一种可能的实现方式中的方法。

本申请实施例提供的AUTOSAR软件的验证方法、装置、设备及存储介质,通过根据由AUTOSAR标准转换的时间自动机模板与AUTOSAR软件的系统架构的架构信息,生成AUTOSAR软件的系统架构的时间自动机网络,从而能够对AUTOSAR软件的系统架构进行了形式化描述,进而对时间自动机网络进行形式化验证。如此,即可完成AUTOSAR软件的验证,无需将AUTOSAR软件转换为代码后对AUTOSAR软件进行验证,降低了开发成本和纠错成本,提高了AUTOSAR软件的开发效率。

附图说明

通过结合附图描述本申请实施例,可以使得本申请实施例更加清楚:

图1为本申请实施例提供的一种AUTOSAR标准中系统架构的示意图;

图2为本申请实施例提供的一种AUTOSAR软件的验证系统的结构示意图;

图3为本申请实施例提供的另一种AUTOSAR软件的验证系统的结构示意图;

图4为本申请实施例提供的一种AUTOSAR软件的验证方法的流程示意图;

图5为本申请实施例提供的一种AUTOSAR软件的架构信息的提取方法的流程示意图;

图6为本申请实施例提供的一种文件选择的人机交互界面示意图;

图7为本申请实施例提供的一种系统调度模式选择的人机交互界面示意图;

图8为本申请实施例提供的一种CS模式下可运行实体对应的时间自动机模板的示意图;

图9为本申请实施例提供的一种确定可运行实体的运行时间的人机交互界面示意图;

图10为本申请实施例提供的一种CS模式下可运行实体对应的时间自动机的示意图;

图11为本申请实施例提供的一种AUTOSAR软件的验证装置的结构示意图;

图12为本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例中的技术方案进行描述。

在本申请实施例的描述中,“示例”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。

在本申请实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个电子设备是指两个或两个以上的电子设备。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其余方式另外特别强调。

以下,对本申请实施例中的部分用语进行解释说明。需要说明的是,这些解释是为了便于本领域技术人员理解,并不是对本申请所要求的保护范围构成限定。

(1)AUTOSAR标准

AUTOSAR标准为汽车电子领城的应用开发设计的一种通用的分层软件框架,并为各种功能组件设计了标准的应用程序接口(Application Programming Interface,API),使得传统的分散零部件可以快速集成到统一的系统架构中。如图1所示,在AUTOSAR标准中,汽车电子软件架构是由基础软件(Basic Software,BSW)层,运行环境(RuntimeEnvironment,RTE)和应用软件(Application Software,ASW)层构成。AUTOSAR标准通常是以文档、模型或模板的形式给出。本申请实施例中,AUTOSAR标准以模板的形式给出

应用软件层是汽车电子软件架构的最上层。应用软件层包含多个软件组件(SoftwareComponent,SWC)。软件组件是封装了部分或者全部汽车电子功能的模块。软件组件(SWC)包括了其具体的功能实现以及与对应的描述。其中,软件组件的对应的描述中记载了软件组件的属性,包括所使用的端口、端口接口、可运行实体、以及可运行实体所对应的RTE事件等,以XML(eXtensible Markup Language)文件形式提供。软件组件的功能实现是依靠可运行实体以及可运行实体时间的相互协作来实现的。一个软件组件包含一个或多个可运行实体。可运行实体是一段用于实现一个简单算法或某一特定功能的程序代码。

运行环境是汽车电子软件架构的中间层。运行环境为应用软件层的应用软件提供运行换件,如进程时间片调度、应用层模块之间以及应用层与基础软件层之间的数据交换等。运行环境将应用软件层与基础软件层剥离开来,进而使得应用软件能够重复使用。运行环境包括多个RTE事件,用于触发可运行实体。

基础软件层是汽车电子软件架构的最底层。其中,基础软件层包括微控制器抽象层(Microcontroller Abstraction Layer,MCAL),电子控制单元抽象层(ElectronicControl UnitAbstraction Layer,ECUAL),服务层(Services Layer)和复杂设备驱动(Complex Device Drivers,CDD)。基础软件层是与硬件直接相关的驱动软件,例如对存储器、通信寄存器、IO口的操作等等。ECU抽象层对控制器的基础功能和接口进行统一,比如CAN报文内容的解析、网关报文的转发、存储器读写流程的控制等等。服务层为应用软件层提供各种后台服务,比如网络管理、存储器管理、总线通信管理服务以及操作系统等。复杂设备驱动(Complex DeviceDrivers,CDD)为用户提供了一个可以自行编写特殊设备驱动软件的可能性。在这里,操作系统中包括多个任务。任务作为操作系统调度的基本单位,不仅为可运行实体提供了诸如上下文和堆栈空间等常用资源,也为可运行实体的执行提供了优先级。任务的具体执行功能由映射到任务的可运行实体确定。因此,一个或多个关联性较强的可运行实体往往被映射到一个任务中。

(2)形式化验证

形式化验证建立在严格的数学基础上,是对计算机硬件、系统软件进行数学描述开发以及验证的技术阿。它为系统工程化设计提供了一种基于数学理论的描述与验证方式,可以有效地保障系统的可信性:另一方面使用形式化方法可以帮助开发设计人员更加深入地理解系统设计,以便尽早发现系统设计缺陷。

(3)AUTOSAR软件

AUTOSAR软件是基于AUTOSAR标准开发的软件,例如车载驱动软件等。按照AUTOSAR标准,AUTOSAR软件的系统架构包括应用软件层、运行环境和基础软件层。

(4)时间自动机模板

时间自动机模板是指将一类模型在语义上等价地转换成一套时间自动机。在本申请实施例中,可以将AUTOSAR标准在语义上等价地转换成时间自动机模板,AUTOSAR标准对应的时间自动机模板定义了时间自动机的状态、状态的不变式以及迁移等,刻画了AUTOSAR标准中定义AUTOSAR架构在各种场景下与时间相关的行为。

(5)时间自动机

时间自动机是用实值变量扩展的有限自动机(即包含有限节点或位置集和有限标记边集的图)。时间自动机可以被认为是定时系统的抽象模型。这些变量模拟系统中的逻辑时钟,在系统启动时初始化为零,然后以相同的速率同步增加。时钟约束,即边缘上的守卫用于限制时间自动机的行为。当时钟值满足边沿上标记的保护时,可以采用边沿表示的转换。当进行转换时,时钟可以重置为零。在本申请实施例中,通过提取AUTOSAR软件的系统架构中与时间相关的行为的场景以及与时间相关的行为的参数,并结合时间自动机模板,生成AUTOSAR软件的系统架构对应的时间自动机。

(6)AUTOSAR工具平台

AUTOSAR工具平台(AUTOSAR Tool Platform,Artop)是AUTOSAR开发工具公共基础功能的实现。Artop是一个基础平台,为开发工具实现了公共的基础功能,这些开发工具可用于符合AUTOSAR的系统和ECU的设计和配置。这样能避免不同工具供应商在非竟争性的基础平台的重复开发,并支持同一种开发过程,为AUTOSAR开发方法各阶段提供很好的测试工具。

接下来,对本方案提供的一种AUTOSAR软件的验证系统的架构进行详细说明。

图2是本申请实施例提供的一种AUTOSAR软件的验证系统200的构架示意图。如图2所示,该AUTOSAR软件的验证系统200可以包括处理器210、网络接口220和存储器230。其中,处理器210、网络接口220和存储器230之间可以通过总线或其他方式连接。本申请实施例中,处理器301(或称为中央处理器(Central Processing Unit,CPU))是AUTOSAR软件的验证系统的计算核心及控制核心。在一个例子中,处理器210可以根据存储器230中存储的AUTOSAR软件的开发文件提取AUTOSAR软件的系统架构的架构信息,并将系统架构的架构信息转换为语义对等的时间自动机网络,进而对时间自动机网络进行形式化验证,从而确定系统架构是否满足用户需求等。网络接口220可以包括标准的有线接口,无线接口(如WI-FI,移动通信接口等),受处理器210的控制用于收发AUTOSAR软件的验证系统与其他设备通信的信息。存储器230(memory)是AUTOSAR软件的验证系统的记忆模块,用于存放程序和数据,例如存放AUTOSAR软件的开发文件等。可以理解的是,此次的存储器230可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选地还可以是至少一个位于远离前述处理器210的存储装置。

在一些实施例中,存储器230包括时间自动机模板库2301和文件库2302。其中,时间自动机模板库2301存储了预先构建的多个时间自动机模板。文件库2302存储了AUTOSAR软件的开发文件。处理器210可以包括架构信息提取模块2101,系统架构转换模块2102和验证模块2103。其中,架构信息提取模块2101可以读取文件库2302中存储的AUTOSAR软件的开发文件,并根据信息提取规则对AUTOSAR软件的开发文件进行解析,从而得到AUTOSAR软件的系统架构的架构信息。系统架构转换模块2102可以根据系统架构的架构信息,将系统架构转换为时间自动机网络。验证模块2103可以包括形式化验证工具以及辅助时间自动机构建模块。形式化验证工具能够对时间自动机网络进行形式化验证,从而得到系统架构的验证结果。在进行形式化验证过程中,辅助时间自动机构建模块还可以构建辅助自动机模板,从而完成对时间自动机网络的验证。

在一些实施例中,本申请实施例提供的AUTOSAR软件的验证系统可以是计算机设备。该计算机设备可以是平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)等。本申请实施例对该计算机设备的具体类型不作特殊限制。

图3是本申请实施例提供的另一种AUTOSAR软件的验证系统300的架构示意图。如图3所示,本申请实施例提供的AUTOSAR软件的验证系统300可以包括时间自动机模板库301,系统架构转换工具302,系统架构验证模块303。时间自动机模板库301存储有多个时间自动机模板和辅助时间自动机模板。系统架构转换工具302包括解析工具,解析工具可以对AUTOSAR软件的开发文件中SWC层的文件和BSW层的文件进行解析,从而得到AUTOSAR软件的系统架构的架构信息,也就是SWC层的信息和BSW层的信息。其中,架构信息包括可运行实体的信息(Runnable)、每个可运行实体的运行环境(RTE),调度可运行实体的任务(Task),任务的调度器(Scheduler)信息和对可运行实体进行超时监控的计时器(Timer)信息。基于时间自动机模板、架构信息和可运行实体的运行时间,能够将系统架构转换为时间自动机网络。系统架构验证模块303可以包括形式化验证工具,从而根据验证约束信息对时间自动机网络进行验证,得到系统架构的验证结果。在验证过程中,在验证约束信息满足构建辅助时间自动机条件的情况下,系统架构验证模块303还可以根据辅助时间自动机模板构建辅助时间自动机,从而完成对系统架构的验证。

以上是对本申请实施例提供的AUTOSAR软件的验证系统的说明。本申请实施例提供的AUTOSAR软件的验证系统能够实现AUTOSAR软件的验证方法。接下来,对本申请实施例提供的AUTOSAR软件的验证方法进行说明。

图4是本申请提供的一种AUTOSAR软件的验证方法的流程示意图。如图4所示,本申请实施例提供的AUTOSAR软件的验证方法可以包括S401至S404。

S401,获取AUTOSAR软件的系统架构的架构信息,其中,架构信息包括系统架构中架构元素的信息。

AUTOSAR软件在开发之前,开发人员需要设计AUTOSAR软件的功能需求。根据AUTOSAR软件的功能需求和AUTOSAR标准,设计AUTOSAR软件的系统架构,从而生成AUTOSAR软件的系统架构。在这里,AUTOSAR软件的系统架构可以以文件的形式给出。例如,.arxml格式的文件。可以将AUTOSAR软件的系统架构对应的文件存储在存储器中。

在本申请实施例中,可以从存储器中读取系统架构对应的文件,从而解析系统架构对应的文件。在这里,可以使用AUTOAR软件的模型解析工具来解析AUTOSAR软件的系统架构对应的文件。例如,可以使用Artop解析AUTOSAR软件的系统架构对应的文件,从而得到系统架构的架构信息,架构信息包括系统架构中架构元素的信息。其中,系统架构的文件可以包括系统架构中BSW层对应的文件和SWC层对应的文件。系统架构包括多种架构元素,如任务和可运行实体,每种架构元素均有多个。任务为BSW层的架构元素,BSW层的文件记载了BSW层的信息,也即BSW层的文件记载了任务的任务信息。可运行实体为SWC层的架构元素,SWC层的文件记载了SWC层的信息,也即SWC层的文件记载了可运行实体的可运行实体信息。

在一些实施例中,可以读取到系统架构中BSW层对应的文件和SWC层对应的文件。接着对BSW层对应的文件和SWC层对应的文件进行解析,从而得到系统架构中BSW层的信息和系统架构中SWC层的信息。在这里,为了保证对系统架构的验证的准确性,可以将BSW层对应的文件和SWC对应的文件解析为语言格式统一的文件。然后,分别对BSW层对应的文件和SWC层对应的文件进行解析,可以得到架构元素的信息。

BSW层的信息包括OS的信息。其中,OS的信息可以包括OS中每个任务的任务信息,例如,任务的属性信息、任务所在的内核分区名字、任务和RTE层事件的对应关系等信息。SWC层的信息包括可运行实体的可运行实体信息,例如,可运行实体的通信模式、可运行实体的名字、可运行实体所在的组件的名字、激活可运行实体的事件以及激活可运行实体的任务等信息。接下来对分别对任务信息和可运行实体信息进行详细说明。

首先,对任务信息进行详细说明。OS的信息中包括任务的多个任务信息以及任务的每个任务信息对应的属性。例如,任务A的任务信息包括A,其中,A的属性为名字。任务的任务信息可以包括第一任务信息和第二任务信息。其中,第一任务信息是指从BSW层对应的文件中解析得到的信息。第二任务信息是指根据第一任务信息确定得到的信息。第一任务信息包括任务的属性信息、任务所在的内核分区名字、任务和RTE层事件的对应关系,其中,任务的属性信息可以包括任务的名字、任务的优先级、任务的最大激活次数和任务的可抢占性。

在一些实施例中,第一任务信息还可以包括任务的计时器信息和计数器信息。其中,计时器信息包括任务运行开始计时的时间、任务的周期时间。计数器信息包括任务的计时器一个周期的时钟记号数以及任务的计时器一个时钟记号数,任务的计时器的一个时钟记号数标识以秒为单位的时间量。根据任务的计时器信息和技术器信息可以确定任务是周期性任务。

在本申请实施例中,在第一任务信息包括计时器信息和计数器信息的情况下,确定第二任务信息可以为表示周期性任务的信息;在第一任务信息不包括计时器信息和计数器信息的情况下,确定第二任务信息可以为表示任务为非周期性任务的信息。

其次,对可运行实体信息进行详细说明。可运行实体的可运行实体信息包括第一可运行实体信息和第二可运行实体信息。其中,第一可运行实体信息是指从SWC层对应的文件中解析得到的信息。第二可运行实体信息是指根据第一可运行实体信息确定的信息。第一可运行实体信息包括可运行实体的属性信息,如可运行实体的名字、可运行实体所在组件的名字、激活可运行实体的事件等其他信息。第二可运行实体信息包括激活可运行实体的事件的任务和可运行实体的通信模式等信息。

在一些实施例中,如图5所示,S401可以包括S501至S504。

S501,从AUTOSAR软件的开发文件中获取BSW层的文件和SWC层的文件。

本申请实施例中,可以从存储器中读取BSW层的文件和SWC层的文件。例如,如图6所示,AUTOSAR转换工具能够对AUTOSAR软件的开发文件进行解析。其中,人机交互界面60可以显示文件选择控件61和解析控件62。用户对文件选择控件61进行操作,人机交互界面60可以显示AUTOSAR软件的开发文件中各个层的文件。用户从AUTOSAR软件的开发文件选择BSW层的文件和SWC层的文件,从可以从存储器中读取BSW层的文件和SWC层的文件。用户对解析控件62进行操作后,AUTOSAR转换工具即可对文件进行解析。

S502,分别对BSW层的文件和SWC层的文件解析,得到任务的第一任务信息和可运行实体的第一可运行实体信息。

在本申请实施例中,BSW层文件中记载的每个任务信息的属性可以是字符串。在这里,可以遍历BSW层的文件中每个信息对应的字符串,匹配得到第一任务信息。例如,第一任务信息中任务的属性信息的字符串为“taskMap”。任务的属性信息中任务的名字对应的字符串为“name”、任务的优先级的字符串为“priority”、任务的最大激活次数的字符串为“taskActivation”以及任务的可抢占性的字符串为“preemptable”。

SWC层的文件中记载的与可运行实体有关的信息均对应有各自的唯一标识。可以通过遍历SWC层的文件中每个信息对应的字符串,匹配得到第一可运行实体信息。

在一些实施例中,可运行实体是任务的的最小调度单元,因此,任务和可运行实体之间具有映射关系。例如,可以分别对BSW层的文件和SWC层的文件进行解析,得到任务的第一任务信息和可运行实体的第一可运行实体信息。接着,根据任务的任务信息和可运行实体的可运行实体信息,确定具有映射关系的任务和可运行实体,并将没有映射关系的任务和可运行实体分别对应的第一任务信息和第一可运行实体信息过滤掉。又例如,为了降低计算资源和存储空间的占用率,可以先对BSW层的文件进行解析,得到任务的第一任务信息。接着,根据任务的任务信息,对SWC层的文件进行解析,得到可运行实体的第一可运行实体信息。

在这里,可以根据第一任务信息中任务和RTE层的事件的映射关系、第一可运行实体信息中激活可运行实体的事件,确定具有映射关系的任务和可运行实体,进而确定与任务有映射关系的可运行实体的第一可运行实体信息。可以理解的是,可运行实体与任务的映射关系是在确定具有映射关系的任务和可运行实体的情况下生成的。

在一些实施例中,为了提高AUTOSAR软件的验证效率,每个任务均可以设置有唯一标识。例如,可以通过对每个任务进行编号,从而使得每个任务均对应任务编号,该任务编号为任务的唯一标识。每个可运行实体还可以设置有编号。其中,可运行实体的编号是指该可运行实体在与该可运行实体具有映射关系的任务下的编号。例如,任务K与可运行实体A、可运行实体B和可运行实体的C具有映射关系,可运行实体A、可运行实体B和可运行实体的C在任务K下的编号可以分别为1、2、3。如此,仅需要根据任务的任务编号和可运行实体的编号就可以建立任务与可运行实体之间的对应关系,减少存储空间的占用。

在一些实施例中,在对系统架构的架构信息进行提取之前,用户还可以通过人机交互界面输入AUTOSAR软件的系统的调度模式。作为一个示例,如图7所示,人机交互界面70可以显示文件选择控件71、解析控件72和系统调度模式的选择控件,其中,系统调度模式的选择控件包括抢占模式的控件731和非抢占模式的控件732。用户根据对AUTOSAR软件的验证需求,选择系统调度模式的选择控件,从而获取系统调度模式。例如,用户需要验证AUTOSAR软件在系统为抢占模式的情况下,AUTOSAR软件与用户需求之间的差别,则可以对控件731操作。

在这里,在用户需要验证AUTOSAR软件在系统为抢占模式的情况下,AUTOSAR软件与用户需求之间的差别的情况下,可以获取AUTOSAR软件的系统在抢占模式下的架构信息。在用户需要验证AUTOSAR软件在系统为非抢占模式的情况下,AUTOSAR软件与用户需求之间的差别的情况下,可以获取AUTOSAR软件的系统在非抢占模式下的架构信息。

在一种可能的实现方式中,S502可以包括:遍历BSW层的文件中每个任务的可抢占性的标识,进而确定任务的调度模式。提取调度模式与预先获取的系统调度模式相同的任务的第一任务信息。例如,任务A、任务B、任务C和任务D的调度模式为抢占模式,任务E、任务F和任务G的调度模式为非抢占模式,预先获取的系统调度模式为抢占模式,则提取任务A、任务B、任务C和任务D的第一任务信息。

S503,根据任务的第一任务信息确定任务的第二任务信息,以及根据可运行实体的第一可运行实体信息确定可运行实体的第二可运行实体信息。

在本申请实施例中,可以检测任务的第一任务信息中是否包括计时器信息和计数器信息,得到第一任务信息的检测结果。第一任务信息的检测结果为“是”,生成用于表示任务为周期性任务的第二任务信息。第一任务信息的检测结果为“否”,生成用于表示任务为非周期性任务的第二任务信息。

在本申请实施例中,可以根据第一可运行实体信息中的可运行实体所在的组件的名字确定可运行实体的通信模式。其中,根据可运行实体所在的组件的名字,从SWC层的文件中确定该组件的相关信息,例如,可运行实体的操作数据、该组件对应的连接器(Connecter)、该连接器上的接口等信息,进而确定可运行实体的通信模式。在这里,可运行实体之间的通信模式有多种,例如,客户端-服务器(Client–Server,CS)模式、发送者-接收者(Sender-Receiver,SR)模式、外部触发(external-trigger)模式以及内部触发(internal-trigger)模式等。

如此,通过细粒度地获取系统架构的架构信息,提高了对系统架构的时间行为建模和验证的准确性。

S402,根据架构元素的信息,从预先构建的多个时间自动机模板中匹配所述多个架构元素中每个架构元素对应的目标时间自动机模板。

时间自动机模板包括任务的时间自动机模板和可运行实体的时间自动机模板。可运行实体的时间自动机模板包括不同的通信模式对应的时间自动机模板,且同一种通信模式的时间自动机模板包括不同种类的时间自动机模板。其中,可以根据任务的任务信息,从预先构建的多个时间自动机模板中匹配得到任务对应的目标时间自动机模板。根据可运行实体的可运行实体信息,从预先构建的多个时间自动机模板中匹配得到可运行实体对应的目标时间自动机模板。下面对匹配任务对应的目标时间自动机模板和匹配可运行实体对应的目标时间自动机模板进行说明。

在本申请实施例中,可以根据任务的任务信息中任务的可抢占性和周期性,匹配任务对应的目标时间自动机模板。例如,任务的可抢占性为抢占模式、周期性为非周期,则匹配抢占模式且非周期的时间自动机模板。又例如,任务的可抢占性为非抢占模式,周期性为非周期,则匹配非抢占模式且非周期的时间自动机模板。

在本申请实施例中,可以根据可运行实体的可运行实体信息,从多个预先构建的可运行实体的时间自动机模板中匹配可运行实体对应的目标时间自动机模板。例如,根据可运行实体信息中可运行实体的通信模式匹配可运行实体对应的目标时间自动机模板。由于同一种通信模式下的时间自动机模板还可以包括不同种类的时间自动机模板,因此,在匹配可运行实体对应的时间自动机模板的过程中,可以根据可运行实体的可运行实体信息,判断可运行实体是否有队列、是否并发、是否调用超时等信息,从同一通信模式下的多种时间自动机模板中匹配得到可运行实体对应的目标时间自动机模板。具体地,通信模式为CS模式的可运行实体匹配目标时间自动机模板时,可以判断可运行实体是否是并发调用、是否是同步调用、是否存在调用超时,是否存在客户端调用后会激活其他事件以及是否是内部调用等调用模式信息。通信模式为SR模式的可运行实体匹配目标时间自动机模板时,可以判断可运行实体是否有等待点、可运行实体是接收者还是发送者、作为接收者的可运行实体是否会激活其它事件、是否是显示调用、是否有队列等信息。

在这里,在CS模式下,可运行实体的调用模式不同,则匹配的时间自动机模板也不同。例如,可运行实体1、可运行实体2和可运行实体3的通信模式均为CS模式。可运行实体1的调用模式可以是并发调用、非同步调用、存在调用超时、存在客户端调用后会激活其他事件以及外部调用;可运行实体2的调用模式可以是非并发调用、同步调用、存在调用超时、存在客户端调用后会激活其他事件以及外部调用;可运行实体3的调用模式可以是非并发调用、非同步调用、存在调用超时、存在客户端调用后会激活其他事件以及内部调用。那么可运行实体1、可运行实体2和可运行实体3匹配的目标时间自动机模板是不同的。

同理,在SR模式下,可运行实体的可运行实体信息不同,则匹配的时间自动机模板也不同。例如,可运行实体1、可运行实体2和可运行实体3的通信模式均为SR模式。其中,可运行实体1为发送端、有等待点、显式调用以及有队列;可运行实体2为接收端、无等待点、隐式调用以及有队列;可运行实体3为接收端、有等待点、隐式调用以及无队列。可运行实体1、可运行实体2和可运行实体3匹配的目标时间自动机模板是不同的。

在这里,每个可运行实体的时间自动机模板均包括运行环境和调度模式。通信模式为CS模式对应的时间自动机模板还包括超时监控。

例如,如图8所示,通信模式为CS模式的可运行实体的对应的目标时间自动机模板。其中,当作为客户端的可运行实体接收到运行信号时,作为客户端的可运行实体计入运行状态。在这里,运行信号包括任务的任务编号和作为客户端的可运行实体的可运行实体编号,即“运行[任务编号][可运行实体编号]?”。当作为客户端的可运行实体在运行状态接收到停止信号时,任务编号对应的任务以及作为客户端的可运行实体进入抢占状态。在这里,停止信号包括任务的任务编号和作为客户端的可运行实体的可运行实体编号,即“停止[任务编号][可运行实体编号]?”。当作为客户端的可运行实体在抢占状态下接收到运行信号时,作为客户端的可运行实体返回到运行状态,即“运行[任务编号][可运行实体编号]?”。由于多个可运行实体均可以作为客户端,因此对每个作为可运行实体的客户端可以采用数字进行标记,也即客户编号。在作为客户端的可运行实体处于运行状态,且作为客户端的可运行实体调用作为服务器的可运行实体的情况下,作为客户端的可运行实体向调度器发送调用信号。其中,调用信号包括作为客户端的可运行实体的客户编号,即“调用[客户编号]!”。调度器向运行环境发送调用信号,并迁移到等待位置等待响应信号。响应信号可以是“结果返回[客户编号]?”,还可以是“超时[客户编号]?”。在作为客户端的可运行实体接收到响应信号后,向调度器发送通知信号,以通知调度器确定了作为服务器的可运行实体的信息,任务编号对应的任务可以继续执行。其中,通知信号包括任务的任务编号,即“继续[任务编号]”。

S403,根据所述架构信息和所述每个架构元素对应的目标时间自动机模板,生成所述系统架构的时间自动机网络。

本申请实施例中,可以将架构信息中架构元素的信息填写至每个架构元素对应的目标时间自动机模板中,生成每个架构元素对应的时间自动机,从而生成系统架构的时间自动机网络。在这里,时间自动机模板中包括待填写信息和待填写信息的属性。针对每个架构元素,可以匹配与待填写信息的属性相同属性对应的信息,并将该信息填写至待填写信息处。

具体地,可以根据架构信息中任务的任务信息和任务对应的目标时间自动机模板,构建任务的时间自动机。其中,构建任务的时间自动机所需的任务信息可以包括任务的唯一标识、任务的名字、任务的优先级、任务的最大激活次数、任务所在的内核分区名字,任务激活的事件等信息。在这里,在任务为周期性任务的情况下,构建任务的时间自动机所需的任务信息还可以包括计时器信息和技术器信息,也即任务运行开始计时的时间,任务的周期时间,任务的计时器一个周期的时钟记号数以及任务的计时器一个时钟记号数和任务的计时器的一个时钟记号数标识以秒为单位的时间量。

可以根据架构信息中可运行实体的可运行实体信息以及预先确定的可运行实体的运行时间信息和可运行实体对应的目标时间自动机模板,构建可运行实体的时间自动机。其中,构建可运行实体的时间自动机所需的可运行实体信息可以包括可运行实体的名字,可运行实体所在组件的名字、可运行实体的运行时间、激活可运行实体的时间、激活可运行实体的事件的任务。

可运行实体的运行时间信息可以是预先配置的。可以根据可运行实体的第一可运行实体信息确定可运行实体的运行时间。例如,确定可运行实体的第一可运行实体信息后,可以通过人机交互界面显示每个可运行实体的名字等信息。用户可以通过人机交互界面输入可运行实体的运行时间。其中,可运行实体的运行时间是一个时间范围,该时间范围中的最小值为包括可运行实体的最好执行时间,该时间范围内的最大值为可运行实体的最坏执行时间。

如图9所示,可以在确定可运行实体的可运行实体信息后,在人机交互界面90显示可运行实体的名字以及AUTOSAR标准中对每个可运行实体的约束要求。每个可运行实体的均对应有最坏用户根据对AUTOSAR软件的验证需求,输入每个可运行实体的可运行时间。例如,可运行实体包括可运行实体A-UC0204,可运行实体B-UC0204,可运行实体C-UC0203,可运行实体D-UC0203,可运行实体E-UC0203和可运行实体F-UC0204。其中,可运行实体A-UC0204,可运行实体D-UC0203和可运行实体F-UC0204均没有约束要求,可运行实体B-UC0204的约束要求为最坏执行时间不小于0,可运行实体C-UC0203的约束要求为最坏执行时间不小于0,可运行实体E-UC0203的约束要求最坏执行时间不小于0。用户根据AUTOSAR软件的验证需求,在每个可运行实体对应的控件处填写最好执行时间和最坏执行时间。

除此之外,不同通信模式的可运行实体在构建可运行实体的时间自动机所需的可运行实体信息是不同的。例如,通信模式为CS模式的可运行实体,在构建可运行实体的时间自动机过程中所需的可运行实体信息还可以包括可运行实体调用队列的长度和调用超时时间等信息。再例如,通信模式为SR模式的可运行实体,在构建可运行实体的时间自动机过程中所需的可运行实体信息还可以包括可运行实体调用队列的长度、接收者等待点的超时时间和发送者等待点的超时时间等信息。

例如,通信模式为CS模式的可运行实体位于唯一标识为9的任务上,并作为客户端与作为服务端的可运行实体通信。作为客户端的可运行实体在唯一标识为9的任务上的位置是0。因为可以有多个作为客户端的可运行实体调用同一个作为服务器的可运行实体,所以每个作为客户端的可运行实体的调用都用一个数字标记。这里,作为客户端的可运行实体的编号为1,也即客户编号为1的可运行实体调用作为服务器的可运行实体。具体地,如图10所示,将如图8所示的可运行实体的时间自动机模板实例化后,得到可运行实体的时间自动机。

当作为客户端的可运行实体接收到运行信号时,作为客户端的可运行实体计入运行状态。在这里,运行信号包括任务的任务编号“9”和作为客户端的可运行实体的可运行实体编号“0”,即运行信号为“运行[9][0]?”。当作为客户端的可运行实体在运行状态接收到停止信号时,任务以及作为客户端的可运行实体进入抢占状态。其中,停止信号为“停止[9][0]?”。当作为客户端的可运行实体在抢占状态下接收到运行信号时,作为客户端的可运行实体返回到运行状态。在作为客户端的可运行实体处于运行状态,且作为客户端的可运行实体调用作为服务器的可运行实体的情况下,作为客户端的可运行实体向调度器发送调用信号。其中,调用信号为“调用[1]!”。调度器向运行环境发送调用信号,并迁移到等待位置等待响应信号。响应信号可以是“结果返回[1]?”,还可以是“超时[1]?”。在作为客户端的可运行实体接收到响应信号后,向调度器发送通知信号,以通知调度器确定了作为服务器的可运行实体的信息,任务编号对应的任务可以继续执行。其中,通知信号为继续[9]。

如此,通过根据系统架构的细粒度的架构信息构建时间自动机,能够精准地描述系统架构的行为,保证验证结果的精准度。

S404,根据预先获取的验证约束信息,对所述时间自动机网络进行形式化验证。

验证约束信息是指用户的验证需求。例如,AUTOSAR软件系统的系统性质。其中,AUTOSAR软件系统的系统性质包括时间属性,如延迟时间、死锁、可调度性和事件触发时间。在这里,用户可以通过人机交互界面输入用户的验证约束信息。例如,在形式化验证开始之前,可以通过人机交互界面显示时间属性,用户根据验证需求,通过人机交互界面选择时间属性。根据用户选择的时间属性,对时间自动机网络进行形式化验证。

在一些实施例中,验证约束信息包括时间属性,如,时间属性可以是死锁,时间属性还可以是可调度性。

在另一些实施例中,验证约束信息可以包括时间属性和时间属性值。其中,时间属性可以是延迟时间,时间属性还可以是事件触发时间。时间属性为延迟时间,则时间属性值是延迟时间对应的时间值。时间属性是事件触发时间,则时间属性值是事件触发时间的时间值。在验证约束信息中的时间属性为延迟时间或事件触发时间的情况下,根据时间属性从预先构建的多个时间自动机模板中匹配该时间属性对应的辅助时间自动机模板。匹配到时间属性对应的辅助时间自动机模板后,根据时间属性信息和辅助时间自动机模板,生成该时间属性的辅助时间自动机。根据辅助时间自动机和时间自动机网络生成系统架构的验证文件。将系统架构的验证文件输入至形式化验证工具中进行形式化验证。

本申请实施例提供的AUTOSAR软件的验证方法,通过根据由AUTOSAR标准转换的时间自动机模板与AUTOSAR软件的系统架构的架构信息,生成AUTOSAR软件的系统架构的时间自动机网络,从而能够对AUTOSAR软件的系统架构进行了形式化描述,进而对时间自动机网络进行形式化验证。如此,即可完成AUTOSAR软件的验证,无需将AUTOSAR软件转换为代码后对AUTOSAR软件进行验证,降低了开发成本和纠错成本,提高了AUTOSAR软件的开发效率。

以上是对本申请实施例提供的AUTOASAR软件的验证方法的说明。接着,对本申请实施例提供的AUTOSAR软件的验证装置进行说明。

图11是本申请实施例提供的一种AUTOSAR软件的验证装置1100的结构示意图。如图11所示,本申请实施例提供的AUTOSAR软件的验证装置1100可以包括:获取模块1101,匹配模块1102,生成模块1103和验证模块1104。

获取模块1101,用于获取AUTOSAR软件的系统架构的架构信息;其中,所述架构信息包括所述系统架构中架构元素的信息。

匹配模块1102,用于根据所述架构元素的信息,从预先构建的时间自动机模板中匹配所述架构元素对应的目标时间自动机模板;其中,所述时间自动机模板是基于AUTOSAR标准构建的,所述时间自动机模板用于表征所述系统架构在时间上的行为;

生成模块1103,用于根据所述架构元素的信息和所述架构元素对应的目标时间自动机模板,生成所述系统架构的时间自动机网络;

验证模块1104,用于根据预先获取的验证约束信息,对所述时间自动机网络进行形式化验证。

在一种可能的实现方式中,所述架构元素包括可运行实体和任务,所述架构元素的信息包括所述可运行实体的可运行实体信息和所述任务的任务信息;所述匹配模块1102,用于根据所述任务的任务信息,从所述多个时间自动机模板中匹配与所述任务对应的目标时间自动机模板;

根据所述可运行实体的可运行实体信息,从所述多个时间自动机模板中匹配与所述可运行实体对应的目标时间自动机模板。

在一种可能的实现方式中,所述架构元素包括可运行实体和任务,所述架构元素的信息包括所述可运行实体的可运行实体信息和所述任务的任务信息;所述生成模块1103,用于根据所述可运行实体的可运行实体信息,确定所述可运行实体的运行时间信息;

根据所述可运行实体的可运行实体信息、所述运行时间信息和所述可运行实体对应的时间自动机模板,生成所述可运行实体对应的时间自动机;

根据所述任务的任务信息和所述任务对应的时间自动机模板,生成所述任务对应的时间自动机;

根据所述可运行实体对应的时间自动机和所述任务对应的时间自动机,生成所述系统架构的时间自动机网络。

在一种可能的实现方式中,所述可运行实体的可运行实体信息包括所述可运行实体对应的至少一种通信模式;所述匹配模块,用于从所述多个时间自动机模板中匹配所述可运行实体在至少一种通信模式下的目标时间自动机模板;

所述生成模块,用于根据所述可运行实体的可运行实体信息、所述运行时间信息和所述可运行实体在所述至少一种通信模式下的目标时间自动机模板,生成所述可运行实体在所述至少一种通信模式中每种通信模式下的目标时间自动机;

将所述可运行实体在所述每种通信模式下的目标时间自动机模板进行融合,得到所述可运行实体的时间自动机。

在一种可能的实现方式中,所述获取模块1101,用于读取所述AUTOSAR软件的开发文件;解析所述AUTOSAR软件的开发文件,得到可运行实体的可运行实体信息和任务的任务信息。

在一种可能的实现方式中,所述可运行实体的可运行实体信息包括激活所述可运行实体的事件,所述任务的任务信息包括所述任务激活的事件;所述获取模块1101,用于根据所述激活所述可运行实体的事件的任务和所述任务激活的事件,确定具有映射关系的可运行实体和任务;

生成可运行实体和任务的映射关系信息,以及过滤掉没有映射关系的可运行实体和任务。

在一种可能的实现方式中,所述模型验证约束信息包括所述系统架构的时间属性和所述时间属性的属性值;所述验证模块1104,用于从所述多个时间自动机模板中匹配所述时间属性对应的目标时间自动机模板;

根据所述时间属性的属性值、所述架构信息和所述辅助时间自动机模板,生成所述时间属性对应的辅助时间自动机;

对所述时间自动机网络和所述辅助时间自动机进行形式化验证。

在一种可能的实现方式中,所述验证模块1104,用于根据所述时间自动机网络和所述辅助时间自动机,生成所述系统架构的验证文件;

将所述验证文件输入至形式化验证工具中进行形式化验证。

需要说明的是,本申请实施例提供的AUTOSAR软件的验证装置,能够实现图3的AUTOSAR软件的验证方法对应的实施例中的各个过程,为避免重复,这里不再赘述。

本申请实施例提供的AUTOSAR软件的验证装置,通过根据由AUTOSAR标准转换的时间自动机模板与AUTOSAR软件的系统架构的架构信息,生成AUTOSAR软件的系统架构的时间自动机网络,从而能够对AUTOSAR软件的系统架构进行了形式化描述,进而对时间自动机网络进行形式化验证。如此,即可完成AUTOSAR软件的验证,无需将AUTOSAR软件转换为代码后对AUTOSAR软件进行验证,降低了开发成本和纠错成本,提高了AUTOSAR软件的开发效率。

图12是本申请实施例提供的一种计算机设备1200的结构示意图。如图12所示,本申请实施例提供的计算机设备可用于实现上述方法实施例中描述的AUTOSAR软件的验证方法。

计算机设备1200可以包括处理器1201以及存储有计算机程序指令的存储器1202。

具体地,上述处理器1201可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

存储器1202可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1202可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器1202可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1202可在综合网关容灾设备的内部或外部。在特定实施例中,存储器1202是非易失性固态存储器。

存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请中的方法所描述的操作。

处理器1201通过读取并执行存储器1202中存储的计算机程序指令,以实现上述实施例中的任意一种AUTOSAR软件的验证方法。

在一个示例中,电子设备还可包括通信接口1203和总线1210。其中,如图12所示,处理器1201、存储器1202、通信接口1203通过总线1210连接并完成相互间的通信。

通信接口1203,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。

总线1210包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1210可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

另外,结合上述实施例,本申请实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种信号处理方法。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。

本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

技术分类

06120115884652