车辆的控制装置及控制方法、记录有控制程序的记录介质与流程

文档序号:30509687发布日期:2022-06-25 01:31阅读:71来源:国知局
车辆的控制装置及控制方法、记录有控制程序的记录介质与流程

1.本公开涉及车辆的控制装置、车辆的控制方法以及记录有控制程序的记录介质。


背景技术:

2.正在进行将车辆的ecu的功能作为软件集成为1个控制装置那样的开发。例如,在日本专利第5236367号公报中公开了一项在虚拟机(vm)间共享程序模块来进行vm的启动时间缩短、存储器节约的技术。
3.这里,在由1个控制装置执行具有车辆的ecu的功能的多个软件的情况下,可通过构成多个vm(virtual machine:虚拟机)来实现。该情况下,由于在ecu的启动时验证构成vm所需的软件的可靠性,所以若vm的数量增加,则可靠性的验证所花费的时间与vm的数量成比例地增加,导致直到全部vm启动完为止的时间增加。


技术实现要素:

4.本公开的目的在于,提供通过沿用(re-using)由多个vm共享的软件的验证的结果来缩短多个vm的软件的验证所花费的时间的车辆的控制装置、车辆的控制方法以及记录有控制程序的记录介质。
5.第1方式涉及一种车辆的控制装置,具备:存储部,存储对被搭载于车辆的设备进行控制的多个vm(virtual machine)的软件亦即vm软件以及由2个以上的上述vm共享的共通软件;和验证部,在验证各上述vm的软件时,根据预先对于上述vm赋予的指标来沿用在其他的上述vm的软件的验证中获得的上述共通软件的验证结果。
6.在第1方式的车辆的控制装置中,存储部中存储有对被搭载于车辆的设备进行控制的多个vm的软件亦即vm软件以及由2个以上的上述vm共享的共通软件。在该车辆的控制装置中,当通过验证部验证各上述vm的软件时,根据预先对于上述vm赋予的指标来沿用在其他的上述vm的软件的验中获得的上述共通软件的验证结果。由此,能够将多个vm的软件的验证所花费的时间缩短不重复进行共通软件的验证的量。即,通过沿用由多个vm共享的软件的验证的结果,能够缩短多个vm的软件的验证所花费的时间。
7.第2方式的车辆的控制装置是在第1方式的车辆的控制装置的基础上完成的,还具备在验证各上述vm的软件时根据预先对于上述vm赋予的指标来决定是否沿用在其他的上述vm的软件的验证中获得的上述共通软件的验证结果的沿用判断部,当决定为沿用在其他的上述vm的软件的验证中获得的上述共通软件的验证结果的情况下,上述验证部沿用在其他的上述vm的软件的验证中获得的上述共通软件的验证结果并验证上述vm的软件,当决定为不沿用在其他的上述vm的软件的验证中获得的上述共通软件的验证结果的情况下,上述验证部验证上述vm的vm软件以及上述共通软件。由此,当决定为沿用在其他的上述vm的软件的验证中获得的上述共通软件的验证结果的情况下,由于不重复进行共通软件的验证,所以能够缩短多个vm的软件的验证所花费的时间。
8.第3方式的车辆的控制装置是在第1方式或者第2方式的车辆的控制装置的基础上
完成的,上述验证部验证上述vm的软件的可靠性。由此,能够缩短多个vm的软件的可靠性的验证所花费的时间。其中,验证可靠性是指验证未被篡改的情况。
9.第4方式的车辆的控制装置是在第1方式~第3方式中的任一方式的车辆的控制装置的基础上完成的,在启动上述多个vm的软件时,上述验证部验证各上述vm的软件。由此,能够缩短启动多个vm的软件所花费的时间。其中,启动vm的软件是指从存储部读出vm的vm软件以及共通软件并展开。
10.第5方式的车辆的控制装置是在第1方式~第4方式中的任一方式的车辆的控制装置的基础上完成的,上述指标是与上述vm所控制的设备的功能安全相关的功能安全指标或者与上述vm的软件的安全相关的安全指标。由此,能够兼顾vm所控制的设备的功能安全或者vm的软件的安全与多个vm的软件的验证所花费的时间的缩短。
11.第6方式涉及一种车辆的控制方法,其中,具备下述的验证步骤:包括存储对被搭载于车辆的设备进行控制的多个vm(virtual machine)的软件亦即vm软件以及由2个以上的上述vm共享的共通软件的存储部的计算机在验证各上述vm的软件时,根据预先对于上述vm赋予的指标来沿用在其他的上述vm的软件的验证中获得的上述共通软件的验证结果。
12.第6方式的车辆的控制方法在通过验证步骤验证各上述vm的软件时,根据预先对于上述vm赋予的指标来沿用在其他的上述vm的软件的验证中获得的上述共通软件的验证结果。由此,能够将多个vm的软件的验证所花费的时间缩短不重复进行共通软件的验证的量。即,通过沿用由多个vm共享的软件的验证的结果,能够缩短多个vm的软件的验证所花费的时间。
13.第7方式是一种非暂时性记录介质,记录有使包括存储部的计算机执行包括下述验证步骤的控制程序,上述存储部存储对被搭载于车辆的设备进行控制的多个vm(virtual machine)的软件亦即vm软件以及由2个以上的上述vm共享的共通软件,上述验证步骤是指在验证各上述vm的软件时根据预先对于上述vm赋予的指标来沿用在其他的上述vm的软件的验证中获得的上述共通软件的验证结果。
14.第7方式的记录有控制程序的非暂时性记录介质在通过验证步骤验证各上述vm的软件时,根据预先对于上述vm赋予的指标来沿用在其他的上述vm的软件的验证中获得的上述共通软件的验证结果。由此,能够将多个vm的软件的验证所花费的时间缩短不重复进行共通软件的验证的量。即,通过沿用由多个vm共享的软件的验证的结果,能够缩短多个vm的软件的验证所花费的时间。
15.根据本公开,通过沿用由多个vm共享的软件的验证的结果,能够缩短多个vm的软件的验证所花费的时间。
附图说明
16.基于下图来详细描述本公开的实施例,其中:
17.图1是表示第1实施方式所涉及的车辆的硬件结构的框图。
18.图2是表示第1实施方式的车辆的功能结构的例子的框图。
19.图3是表示第1实施方式中的启动处理的流程的流程图。
20.图4是表示第1实施方式中的启动处理的流程的流程图(图3的具体例)。
21.图5是表示第2实施方式的车辆的功能结构的例子的框图。
22.图6是表示第3实施方式的车辆的功能结构的例子的框图。
23.图7是表示第4实施方式的车辆的功能结构的例子的框图。
24.图8是表示第5实施方式的车辆的功能结构的例子的框图。
25.图9是表示第5实施方式中的启动处理的流程的流程图。
26.图10是表示第5实施方式的其他例子中的启动处理的流程的流程图。
27.图11是表示实施方式的其他例子中的车辆的功能结构的例子的框图。
28.图12是表示实施方式的其他例子中的启动处理的流程的流程图。
具体实施方式
29.[第1实施方式]
[0030]
图1是表示第1实施方式所涉及的车辆12的控制系统的框图。
[0031]
(构成)
[0032]
如图1所示,第1实施方式所涉及的车辆12构成为包括作为车辆的控制装置(以下,简称为“控制装置”)10的ecu(electronic control unit)20和与ecu20连接的车载设备组16。车载设备组16是设置于车辆12的传感器类,包括安装于车身各部、发动机各部的传感器。另外,车载设备组16是设置于车辆12的驱动用的装置类,包括安装于车身各部、发动机各部的马达、阀、促动器。
[0033]
ecu20构成为包括cpu(central processing unit)20a、rom(read only memory)20b、ram(random access memory)20c、通信i/f(inter face)20d以及输入输出i/f(inter face)20e、储存器20f以及安全模块20g。cpu20a、rom20b、ram20c、通信i/f20d、输入输出i/f20e、储存器20f以及安全模块20g经由总线20h连接为相互能够通信。其中,cpu20a是处理器的一个例子。
[0034]
cpu20a是中央运算处理单元,执行各种程序、控制各部。即,cpu20a从rom20b读出程序,将ram20c作为工作区域来执行程序。在本实施方式中,可以具备多个cpu20a本身(所谓的多处理器),也可以在cpu20a具有多个核(所谓的多核)。
[0035]
rom20b存储各种程序以及各种数据。在本实施方式的rom20b存储有控制程序200。控制程序200是用于进行后述的启动处理的程序。另外,在rom20b存储有由多个vm共享的共通软件组210。
[0036]
ram20c作为工作区域来暂时存储程序或者数据。
[0037]
通信i/f20d是用于与设置于车辆12的其他装置连接的接口。该接口可使用can(controller area network)、以太网(注册商标)等涉及的通信标准。
[0038]
输入输出i/f20e是用于与搭载于车辆12的车载设备组16进行通信的接口。
[0039]
在储存器20f存储有vm启动顺序列表220。vm启动顺序列表220是规定了启动各vm的情况下的各vm的启动顺序的列表。在vm启动顺序列表220中还对于各vm赋予了预先决定的指标。作为指标,例如可使用对于vm要求的系统安全性要求等级。这里,系统安全性要求等级是根据因ecu的误动作、故障等引起的问题的种类与产生概率的组合对该vm要求的安全性的等级。在车辆的情况下,安全性的等级在iso26262中对于车辆的电子控制系统定义为asil(automotive safety intergrity level:汽车安全完整性等级)。具体而言,对存在因产生系统异常而对人体造成危害、带来物品损害等可能性的vm赋予系统安全性要求等级“高”。另一方面,对不要求系统安全性的vm、即不存在因产生系统异常而对人体造成危害、带来物品损害等可能性的vm赋予系统安全性要求等级“低”。对除此以外的vm赋予系统安全性要求等级“中”。
[0040]
另外,在储存器20f存储有2个以上的用于构成vm的每一个的vm软件组230。2个以上的vm软件组230例如包括用于构成后述的多媒体vm的多媒体vm软件组230a、用于构成后述的车身控制vm的车身控制vm软件组230b、以及用于构成后述的自动驾驶控制vm的自动驾驶控制vm软件组230c。此外,vm软件组230还包括与用途对应的vm软件组230。
[0041]
储存器20f可由rom、硬盘或者各种闪存设备(ssd(solid state drive)、emmc(embedded multi media card)、sd(secure digital)等)实现。
[0042]
安全模块20g用于通过硬件来验证软件的可靠性,例如是tpm(trusted platform module)或者hsm(hardware security module)。安全模块20g例如进行使用了所保管的秘钥和加密或者解密加速器的加密或者解密、进行哈希值等的运算来验证软件的可靠性。
[0043]
图2是表示ecu20的功能结构的例子的框图。各功能结构通过cpu20a读出存储于rom20b的控制程序200并执行该控制程序200来实现。
[0044]
如图2所示,ecu20具有2个以上的vm110、和vm构成部300。vm110例如包括多媒体vm110a、车身控制vm110b以及自动驾驶控制vm110c。
[0045]
此外,在ecu20中实现的vm110并不受限于此,可以还包括与用途对应的vm110。
[0046]
vm构成部300具有虚拟地构成各vm110的功能。该vm构成部300通过所谓的超管程序(hypervisor)的功能来实现,在启动时,从储存器20f读出vm启动顺序列表220,根据在vm启动顺序列表220中规定的启动顺序来读出vm软件组230以及共通软件组210,将vm110启动。具体而言,vm构成部300将vm的软件组230以及共通软件组210在ram20c展开而使vm110启动。
[0047]
vm构成部300还包括启动vm判断部310、沿用判断部320、验证部330以及启动部340。
[0048]
启动vm判断部310根据在vm启动顺序列表220中规定的启动顺序来判断要启动的vm110,并且取得该vm110的系统安全性要求等级。
[0049]
在验证各vm110的vm软件组230时,沿用判断部320根据预先对于该vm110赋予的系统安全性要求等级来决定是否沿用在其他vm110的vm软件组230的验证中获得的共通软件组210的验证结果。具体而言,在该vm110的系统安全性要求等级为“高”的情况下,沿用判断部320决定为不沿用共通软件组210的验证结果。例如,由于对车身控制vm110b赋予了系统安全性要求等级“高”,所以针对车身控制vm110b决定为不沿用共通软件组210的验证结果。
[0050]
在该vm110的系统安全性要求等级为“中”的情况下,沿用判断部320决定为沿用在其他vm110的vm软件组230的验证中获得的共通软件组210的验证结果。例如,由于对自动驾驶控制vm110c赋予了系统安全性要求等级“中”,所以针对自动驾驶控制vm110c决定为沿用共通软件组210的验证结果。
[0051]
在该vm的系统安全性要求等级为“低”的情况下,沿用判断部320决定为不进行该vm110的vm软件组230的验证。例如,由于对多媒体vm110a赋予了系统安全性要求等级“低”,所以决定为不进行多媒体vm软件组230a的验证。
[0052]
在启动多个vm110时,验证部330验证各vm110的vm软件组230的可靠性。此时,当决
定为不沿用在其他vm110的vm软件组230的验证中获得的共通软件组210的验证结果的情况下,验证部330验证该vm110的vm软件组230的可靠性而不沿用在其他vm110的vm软件组230的验证中获得的共通软件组210的验证结果。例如,在决定为不沿用共通软件组210的验证结果的情况下,验证部330使用安全模块20g来验证该vm110的vm软件组230以及共通软件组210的可靠性。
[0053]
在决定为沿用共通软件组210的验证结果的情况下,验证部330使用安全模块20g来验证该vm110的vm软件组230的可靠性,而省略共通软件组210的验证。
[0054]
在决定为不进行vm软件组230的验证的情况下,验证部330省略该vm110的vm软件组230以及共通软件组210的验证。
[0055]
针对各vm110,在该vm110的vm软件组230以及共通软件组210的可靠性的验证成功的情况下,启动部340将该vm110的vm软件组230以及共通软件组210在ram20c展开而启动该vm110。
[0056]
(控制的流程)
[0057]
利用图3的流程图对在本实施方式中ecu10所执行的启动处理的流程的例子进行说明。
[0058]
在图3的步骤s100中,cpu20a启动作为软件的超管程序。
[0059]
在步骤s101中,启动vm判断部310根据在vm启动顺序列表220中规定的启动顺序来判断要启动的vm110,并且取得该vm110的系统安全性要求等级。
[0060]
在步骤s102中,启动vm判断部310对是否存在未启动的vm110进行判定。当判断出在上述步骤s101中要启动的vm110的情况下,进入至步骤s103。另一方面,当未判断出在上述步骤s101中要启动的vm110的情况下,结束启动处理。
[0061]
在步骤s103中,沿用判断部320对要启动的vm110的系统安全性要求等级为“高”、“中”以及“低”中的哪一个进行判定。在要启动的vm110的系统安全性要求等级为“高”的情况下,进入至步骤s105。在要启动的vm110的系统安全性要求等级为“中”的情况下,进入至步骤s104。在要启动的vm110的系统安全性要求等级为“低”的情况下,进入至步骤s109。
[0062]
在步骤s104中,沿用判断部320判定在其他vm110的验证中对于共通软件组210是否验证完毕。当在其他vm110的验证中对于共通软件组210验证完毕的情况下,沿用判断部320判断为沿用关于共通软件组210的验证结果,进入至步骤s107。当在其他vm110的验证中对于共通软件组210未验证的情况下,进入至步骤s105。
[0063]
在步骤s105中,验证部330使用安全模块20g来验证共通软件组210的可靠性。
[0064]
在步骤s106中,验证部330对上述步骤s105的验证结果是否是可靠(authentic)这一验证结果进行判定。在上述步骤s105的验证结果是不可靠这一验证结果的情况下,进入至步骤s110,cpu20a输出启动错误,结束启动处理。另一方面,在上述步骤s105的验证结果是可靠这一验证结果的情况下,进入至步骤s107。
[0065]
在步骤s107中,验证部330使用安全模块20g来验证该vm110的vm软件组230的可靠性(authenticity)。
[0066]
在步骤s108中,验证部330对上述步骤s107的验证结果是否是可靠这一验证结果进行判定。在上述步骤s107的验证结果是不可靠这一验证结果的情况下,进入至步骤s110。另一方面,在上述步骤s107的验证结果是可靠这一验证结果的情况下,进入至步骤s109。
[0067]
在步骤s109中,启动部340将要启动的vm110的vm软件组230以及共通软件组210在ram20c展开而启动该vm110,并返回至上述步骤s101。
[0068]
利用图4的流程图对ecu10所执行的启动处理的流程的具体例进行说明。这里,以在vm启动顺序列表220中规定为依次启动多媒体vm110a、车身控制vm110b、自动驾驶控制vm110c的情况为例来进行说明。
[0069]
在步骤s101a~步骤s109a中,将多媒体vm110a作为要启动的vm110,与上述图3的步骤s101~步骤s109同样地进行处理。此时,由于多媒体vm110a的系统安全性要求等级为“低”,所以在步骤s103a中,判定为要启动的多媒体vm110a的系统安全性要求等级为“低”,针对多媒体vm软件组230a以及共通软件组210中的任一个均不进行可靠性的验证,进入至步骤s109a。
[0070]
然后,在步骤s101b~步骤s109b中,将车身控制vm110b作为要启动的vm110,与上述图3的步骤s101~步骤s109同样地进行处理。此时,由于车身控制vm110b的系统安全性要求等级为“高”,所以在步骤s103b中判定为要启动的车身控制vm110b的系统安全性要求等级为“高”,在步骤s105b、步骤s107b中,对车身控制vm软件组230b以及共通软件组210双方进行可靠性的验证。
[0071]
然后,在步骤s101c~步骤s109c中,将自动驾驶控制vm110c作为要启动的vm110,与上述图3的步骤s101~步骤s109同样地进行处理。此时,由于自动驾驶控制vm110c的系统安全性要求等级为“中”,所以在步骤s103c中判定为要启动的自动驾驶控制vm110c的系统安全性要求等级为“中”。另外,在步骤s104c中,判定为在车身控制vm110b的验证中验证完毕共通软件组210,进入至步骤s107。然后,在步骤s107c中,对自动驾驶控制vm软件组230c进行可靠性的验证。
[0072]
(第1实施方式的总结)
[0073]
在本实施方式的控制装置10中,通过沿用由多个vm共享的共通软件组的验证的结果,能够缩短多个vm的软件组的验证所花费的时间。
[0074]
另外,在本实施方式的控制装置10中,能够兼顾vm所控制的设备的功能安全与多个vm的软件的验证所花费的时间的缩短。
[0075]
另外,在本实施方式的控制装置10中,为了ecu的故障时安全性保证,在ecu启动时,验证为在vm的软件组中不存在篡改。认为在ecu启动时进行的共通软件组的验证已在特定条件下验证完毕,实现启动时间的缩短,并且共通软件组的验证根据对vm要求的安全性的等级来决定是否进行再次验证,实现本系统的安全性保证。
[0076]
另外,关于系统安全性要求等级高的vm,存在因产生系统异常而对人体造成危害、带来物品的损害等可能性,ecu20在vm启动前使用安全模块对构成该vm的vm软件组230以及共通软件组210是否未因某些重要因素而被篡改进行验证。另一方面,针对不要求系统安全性的vm、即不存在因系统异常而对人体造成危害、带来物品的损害等可能性的vm,由于该软件的可靠性验证并不是必须的,所以为了vm启动时间的缩短而不进行软件组的可靠性验证。
[0077]
[第2实施方式]
[0078]
在第1实施方式中,在ecu20设置有rom20b。与此相对,在第2实施方式中,在ecu20不设置rom20b的点上与第1实施方式不同。以下,对与第1实施方式的不同点进行说明。此
外,对相同的结构标注相同的附图标记并省略说明。
[0079]
如图5所示,本实施方式的ecu20构成为包括cpu20a、ram20c、通信i/f20d以及输入输出i/f20e、储存器20f以及安全模块20g。
[0080]
在储存器20f存储有控制程序200以及共通软件组210。
[0081]
在本实施方式中,也能够获得与第1实施方式同样的作用效果。
[0082]
[第3实施方式]
[0083]
在第1实施方式中,在ecu20设置有储存器20f。与此相对,在第3实施方式中,在ecu20不设置储存器20f的点上与第1实施方式不同。以下,对与第1实施方式的不同点进行说明。此外,对相同的结构标注相同的附图标记并省略说明。
[0084]
如图6所示,本实施方式的ecu20构成为包括cpu20a、rom20b、ram20c、通信i/f20d、输入输出i/f20e以及安全模块20g。
[0085]
在rom20b存储有vm启动顺序列表220以及2个以上vm软件组230。
[0086]
在本实施方式中,也能够获得与第1实施方式同样的作用效果。
[0087]
[第4实施方式]
[0088]
相对于第1实施方式,在第4实施方式中,设置eeprom(electrically erasable programmable read-only memory)420b来代替rom20b这一点与第1实施方式不同。以下,对与第1实施方式的不同点进行说明。此外,对相同的结构标注相同的附图标记并省略说明。
[0089]
如图7所示,本实施方式的ecu20构成为包括cpu20a、eeprom420b、ram20c、通信i/f20d、输入输出i/f20e、储存器20f以及安全模块20g。
[0090]
在eeprom20b存储有控制程序200以及共通软件组210。
[0091]
在本实施方式中,也能够获得与第1实施方式同样的作用效果。
[0092]
[第5实施方式]
[0093]
相对于第1实施方式,在第5实施方式中,在ecu20除了安全模块20g之外还设置有安全模块20i的点上不同。以下,对与第1实施方式的不同点进行说明。此外,对相同的结构标注相同的附图标记并省略说明。
[0094]
(构成)
[0095]
如图8所示,本实施方式的ecu20构成为包括cpu20a、rom20b、ram20c、通信i/f20d、输入输出i/f20e、储存器20f、安全模块20g以及安全模块20i。
[0096]
在启动多个vm的软件时,验证部330使用安全模块20g以及安全模块20i并行进行各vm的软件的可靠性的验证。
[0097]
(控制的流程)
[0098]
在本实施方式中,利用图9的流程图对ecu10所执行的启动处理的流程的例子进行说明。此外,对与上述实施方式相同的处理标注相同的附图标记并省略说明。
[0099]
在图9的步骤s100中,cpu20a启动作为软件的超管程序。
[0100]
在步骤s101中,启动vm判断部310根据在vm启动顺序列表220中规定的启动顺序来判断要启动的vm110,并且取得该vm110的系统安全性要求等级。这里,对2个要启动的vm110进行判断。
[0101]
在步骤s102中,启动vm判断部310对是否存在未启动的vm110进行判定。当判断出在上述步骤s101中要启动的vm110的情况下,进入至步骤s500。另一方面,当未判断出在上
述步骤s101要启动的vm110的情况下,结束启动处理。
[0102]
在步骤s500中,cpu20a并行执行要启动的2个vm110的启动处理。该步骤s500使用安全模块20g以及安全模块20i对于要启动的2个vm110并行进行与上述图3的步骤s103~步骤s110同样的处理。然后,返回至步骤s101。
[0103]
在本实施方式中,也能够获得与第1实施方式同样的作用效果。
[0104]
另外,能够使vm110的启动并行化,能够在确保安全性的状态下实现vm的启动时间的缩短。
[0105]
[备注]
[0106]
此外,在上述第5实施方式中,以使vm110的启动并行化的情况为例进行了说明,但并不限定于此。也可以使软件组的可靠性的验证并行化。利用图10的流程图对这种情况下的ecu10所执行的启动处理的流程的例子进行说明。此外,对与上述实施方式相同的处理标注相同的附图标记并省略说明。
[0107]
在图10的步骤s104中,沿用判断部320对在其他vm110的验证中是否验证完毕共通软件组210进行判定。当在其他vm110的验证中验证完毕共通软件组210的情况下,沿用判断部320判断为沿用与共通软件组210有关的验证结果,进入至步骤s107。当在其他vm110的验证中未验证共通软件组210的情况下,进入至步骤s600。
[0108]
在步骤s600中,验证部330并行进行使用了安全模块20g的vm软件组230的可靠性的验证与使用了安全模块20i的共通软件组210的可靠性的验证。
[0109]
在步骤s601中,验证部330对上述步骤s107或者s600的验证结果是否是可靠这一验证结果进行判定。在上述步骤s107或者s600的验证结果是不可靠这一验证结果的情况下,进入至步骤s110。另一方面,在上述步骤s107或者s600的验证结果是可靠这一验证结果的情况下,进入至步骤s109。
[0110]
另外,在上述实施方式中,将系统安全性要求等级设为“高”、“中”、“低”这3个等级,但也可以配合ecu的特性或安全性要件等而将系统安全性要求等级进一步细分。在iso26262中,asil是由a~d这4个等级与对象外构成的5个等级。可以根据是该5个等级中的哪一个来决定是否沿用共通软件组210的验证结果。
[0111]
另外,在上述实施方式中,以在启动安全性要求等级最高的vm时进行vm软件组230与共通软件组210双方的可靠性的验证的情况为例进行了说明,但并不限定于此。在将安全性要求等级细分时,可以将vm软件组230与共通软件组210双方的可靠性的验证进行至前2个等级为止。
[0112]
另外,在上述实施方式中,举出了共通软件组210为1个,但根据要启动的vm的内容,还考虑存在多个共通软件组210。该情况下,如图11所示,rom20b存储有共通软件组210ab以及共通软件组210cd。例如,在多媒体vm110a与车身控制vm110b共享共通软件组210ab,在自动驾驶控制vm110c与其他vm110共享共通软件组210cd。该情况下,在vm启动顺序列表220中,关于各vm110需要还规定与该vm110有关的共通软件组210的信息。另外,vm构成部300需要对在哪个系统安全性要求等级的vm启动时对哪个共通软件组210进行了可靠性验证进行存储。
[0113]
另外,在上述实施方式中,以进行共通软件组210的可靠性的验证、然后进行vm软件组230的可靠性的验证的情况为例进行了说明,但并不限定于此。也可以更换共通软件组
210的可靠性的验证与vm软件组230的可靠性的验证的顺序。此时,如图12所示,在步骤s103中,沿用判断部320对要启动的vm110的系统安全性要求等级是“高”、“中”以及“低”中的哪一个进行判定。在要启动的vm110的系统安全性要求等级为“中”或者“高”的情况下,进入至步骤s107。在要启动的vm110的系统安全性要求等级为“低”的情况下,进入至步骤s109。
[0114]
在步骤s107中,验证部330使用安全模块20g来验证该vm110的vm软件组230的可靠性。
[0115]
在步骤s108中,验证部330对上述步骤s107的验证结果是否是可靠这一验证结果进行判定。在上述步骤s107的验证结果是不可靠这一验证结果的情况下,进入至步骤s110。另一方面,在上述步骤s107的验证结果是可靠这一验证结果的情况下,进入至步骤s104。
[0116]
在步骤s104中,沿用判断部320对在其他vm110的验证是否验证完毕共通软件组210进行判定。当在其他vm110的验证中验证完毕共通软件组210的情况下,沿用判断部320判断为沿用与共通软件组210相关的验证结果,进入至步骤s109。当在其他vm110的验证中未验证共通软件组210的情况下,进入至步骤s105。
[0117]
在步骤s105中,验证部330使用安全模块20g来验证共通软件组210的可靠性。
[0118]
在步骤s106中,验证部330对上述步骤s105的验证结果是否是可靠这一验证结果进行判定。在上述步骤s105的验证结果是不可靠这一验证结果的情况下,进入至步骤s110,cpu20a输出启动错误,结束启动处理。另一方面,在上述步骤s105的验证结果是可靠这一验证结果的情况下,进入至步骤s109。
[0119]
另外,在上述实施方式中,以使用安全性要求等级作为对于各vm110赋予的指标的情况为例进行了说明,但并不限定于此。例如,作为对于各vm110赋予的指标,也可以赋予该vm110的软件的安全等级。该情况下,在软件的安全等级高的情况下,判断为沿用在其他vm110的验证中获得的共通软件组210的可靠性的验证结果,另一方面,在软件的安全等级低的情况下,验证该vm110的vm软件组230以及共通软件组210的可靠性,而不沿用在其他vm110的验证中获得的共通软件组210的可靠性的验证结果。
[0120]
另外,在上述实施方式中,以验证各vm110的vm软件组230以及共通软件组210的可靠性的情况为例进行了说明,但并不限定于此。例如,也可以验证各vm110的vm软件组230以及共通软件组210的发行方的妥当性。
[0121]
另外,在上述实施方式中,以基于vm启动顺序列表220将vm110逐渐启动的情况为例进行了说明,但并不限定于此。也可以在控制程序200内使vm110的启动顺序固定。该情况下,不需要启动处理内的要启动的vm110的判定。或者,启动vm判断部310可以扫描储存器20f或者rom20b内的vm软件组230来决定vm110的启动顺序,而不使用vm启动顺序列表220。
[0122]
另外,在上述实施方式中,cpu20a读出并执行软件(程序)的处理可以由cpu以外的各种处理器执行。作为该情况的处理器,可例示fpga(field-programmable gate array)等在制造后能够变更电路结构的具有pld(programmable logic device)以及asic(application specific integrated circuit)等为了执行特定的处理而设计为专用的电路结构的处理器亦即专用电路等。另外,各处理可以由这些各种处理器中的1个执行,也可以由同种类或者不同种类的2个以上处理器的组合(例如,多个fpga以及cpu与fpga的组合等)执行。另外,这些各种处理器的硬件的构造更具体是组合了半导体元件等电路元件的电路。
[0123]
另外,在上述实施方式中,以程序被预先存储(安装)于计算机可读取的非暂时性记录介质的方式进行了说明。例如,在ecu20中,控制程序200被预先存储于rom20b。然而,并不局限于此,各程序也可以存储于hdd(hard disk drive)以及ssd等储存器。另外,各程序可以通过被记录于cd-rom(compact disc read only memory)、dvd-rom(digital versatile disc read only memory)以及usb(universal serial bus)存储器等非暂时性记录介质的方式来提供。另外,也可以是各程序经由网络从外部装置下载的方式。
[0124]
上述实施方式中说明的处理的流程也是一个例子,可以在不脱离主旨的范围内删除不需要的步骤、追加新的步骤、更换处理顺序。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1