JP2017171114A - 車両用ソフトウェア割当てシステム - Google Patents

車両用ソフトウェア割当てシステム Download PDF

Info

Publication number
JP2017171114A
JP2017171114A JP2016059610A JP2016059610A JP2017171114A JP 2017171114 A JP2017171114 A JP 2017171114A JP 2016059610 A JP2016059610 A JP 2016059610A JP 2016059610 A JP2016059610 A JP 2016059610A JP 2017171114 A JP2017171114 A JP 2017171114A
Authority
JP
Japan
Prior art keywords
software
ecu
rank value
determined
rank
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016059610A
Other languages
English (en)
Other versions
JP6443372B2 (ja
Inventor
理志 岡本
Satoshi Okamoto
理志 岡本
省吾 関沢
Shogo Sekizawa
省吾 関沢
勇太 落合
Yuta Ochiai
勇太 落合
弘祐 梶
Kosuke Kaji
弘祐 梶
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2016059610A priority Critical patent/JP6443372B2/ja
Priority to DE102017204625.2A priority patent/DE102017204625A1/de
Priority to US15/465,013 priority patent/US10509674B2/en
Priority to CN201710171548.6A priority patent/CN107226049B/zh
Publication of JP2017171114A publication Critical patent/JP2017171114A/ja
Application granted granted Critical
Publication of JP6443372B2 publication Critical patent/JP6443372B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • 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/0736Error 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 in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error 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 in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】複数のECUに対してソフトウェアを好適に配置する。
【解決手段】車両用ソフトウェア割当てシステム(10)は、車両において共通のネットワークに接続されており、ネットワークを介してソフトウェアに応じた制御を実行可能な複数のECU(210,220,230,240)と、複数のECUの各々について、動作不良が発生する確率の高さを示す第1ランク値を取得する第1取得手段(110)と、複数のECUに配置しようとする追加ソフトウェアについて、重要度の高さを示す第2ランク値を取得する第2取得手段(120)と、第2ランク値が高いソフトウェアであるほど、第1ランクの低いECUに配置されるように、複数のECUの中から追加ソフトウェアを配置するECUを決定する決定手段(130)と、決定されたECUに追加ソフトウェアを配置する配置手段(140)と備える。
【選択図】図1

Description

本発明は、車両に搭載される複数のECU(Electronic Control Unit)に対してソフトウェアを割当てる車両用ソフトウェア割当てシステムの技術分野に関する。
相互に通信可能とされた複数の電子制御ユニット(ECU)を備える車両が知られている。このような車両では、各ECUにソフトウェアを配置することで特定の機能が実現される。特許文献1では、ソフトウェアによって実現される機能を階層化し、隣接する階層の機能であれば同じECUへの配置を許可し、離間した階層の機能であれば同じECUへの配置を禁止するという技術が提案されている。特許文献2では、複数のECUで複数のソフトウェアを動作させる場合に、優先度の低いソフトウェアの動作中通知を停止させるという技術が提案されている。特許文献3では、複数のECUを備えるシステムにおいて、自データ書き換え時に他のECUから受信したバックアップデータを保存するという技術が提案されている。
特開2013−237311号公報 特開2013−143093号公報 特開2008−254484号公報
複数のECUを備えるシステムにおいては、新たにソフトウェアを配置しようとする場合、ECUの空き容量や処理負荷性能に基づいて配置先が決定されることが多い。しかしながら、ECUの空き容量や処理負荷性能を考慮するだけでは、適切なECUにソフトウェアを配置することは困難である。
具体的には、車両に搭載される複数のECUは、各々が異なる性能を有しており、更には設置されている環境(例えば、温度環境や防水環境等)も同じではないため、動作不良が発生する確率に違いがある。即ち、比較的動作不良を起こし易いECUが存在する一方で、比較的動作不良を起こし難いECUも存在する。このような状況において、ECUの空き容量や処理負荷性能だけを考慮してソフトウェアを配置すると、極めて重要な機能を実現するためのソフトウェア(例えば、走行に不可欠な基本ソフトウェア)が、動作不良を起こし易いECUに配置されてしまうことがある。この場合、車両の頑健性が大きく低下してしまうという技術的問題点が生ずる。
本発明は、上記問題点に鑑みてなされたものであり、複数のECUを備える車両においてソフトウェアを適切なECUに配置することが可能な車両用ソフトウェア割当てシステムを提供することを課題とする。
<1>
本発明の車両用ソフトウェア割当てシステムは上記課題を解決するために、車両において共通のネットワークに接続されており、該ネットワークを介して配置されるソフトウェアに応じた制御を実行可能な複数のECUと、前記複数のECUの各々について、動作不良が発生する確率が高いほど高くなる第1ランク値を取得する第1取得手段と、前記複数のECUに配置しようとする追加ソフトウェアについて、重要度が高いほど高くなる第2ランク値を取得する第2取得手段と、前記第2ランク値が高い追加ソフトウェアであるほど、前記第1ランク値の低いECUに配置されるように、前記複数のECUの中から前記追加ソフトウェアを配置するECUを決定する決定手段と、前記決定されたECUに前記追加ソフトウェアを配置する配置手段と備える。
本発明の車両用ソフトウェア割当てシステムによれば、重要度の高さを示す第2ランク値が高いソフトウェアであるほど、動作不良が発生する確率の高さを示す第1ランク値が低い(即ち、動作不良が発生し難い)ECUに配置されるため、車両の頑健性を向上させることが可能である。
<2>
本発明に係る車両用ソフトウェア割当てシステムの一態様では、前記第1ランク値は、前記車両における前記複数のECUの各々の設置位置に基づいて設定される値である。
ECUで動作不良が発生する確率は、ECUの設置されている環境(車両における設置位置)に大きく依存する。このため、ECUの設置位置を利用すれば、好適に第1ランク値を設定することができる。
<3>
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記第2ランク値は、前記追加ソフトウェアに応じて実行される制御の内容に基づいて設定される値である。
この態様によれば、追加ソフトウェアに応じて実行される制御の内容に基づいて好適に第2ランク値を設定することができる。
<4>
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記決定手段は、前記第2ランク値が高い追加ソフトウェアであるほど、前記第1ランク値の低いECU、前記追加ソフトウェアと前記複数のECUの各々が制御する被制御部との間に要求される応答性が満たされるように、前記追加ソフトウェアを配置するECUを決定する。
この態様によれば、被制御部との間で高い応答性を実現することが可能なECUに、追加ソフトウェアを配置することが可能である。
<5>
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記決定手段は、前記第2ランク値が高い追加ソフトウェアであるほど、前記第1ランク値の低いECUに配置されるように、且つ、前記追加ソフトウェアと前記複数のECUに配置済みである既存ソフトウェアとの間に要求される通信速度が満たされるように、前記追加ソフトウェアを配置するECUを決定する。
この態様によれば、既存ソフトウェとの間で高い通信速度を実現することが可能なECUに、追加ソフトウェアを配置することが可能である。
<6>
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記決定手段は、前記第2ランク値が高い追加ソフトウェアであるほど、前記第1ランク値の低いECUに配置されるように、且つ、前記追加ソフトウェアに要求される電力の供給タイミングが満たされるように、前記追加ソフトウェアを配置するECUを決定する。
この態様によれば、追加ソフトウェアに適切なタイミングで電力を供給可能なECUに、追加ソフトウェアを配置することが可能である。
<7>
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記決定されたECUに前記追加ソフトウェアを配置する容量が不足している場合に、前記決定されたECUに、前記追加ソフトウェアより前記第2ランク値が低い低ランクソフトウェアが配置されているか否かを判定する判定手段を更に備え、前記配置手段は、前記決定されたECUに前記低ランクソフトウェアが配置されている場合に、前記低ランクソフトウェアを前記決定されたECUから削除すると共に、前記低ランクソフトウェアが削除された前記決定されたECUに前記追加ソフトウェアを配置する。
この態様によれば、追加ソフトウェアを配置しようとするECUの容量が不足している場合であっても、低ランクソフトウェアの削除によって、追加ソフトウェアを配置することが可能となる。
<8>
上述した低ランクソフトウェアを削除する態様では、前記配置手段は、前記決定されたECUから削除された前記低ランクソフトウェアを、前記決定されたECUよりも前記第1ランク値の高い第2のECUに配置し直してもよい。
この場合、低ランクソフトウェアが第2のECUに配置されるため、低ランクソフトウェアの機能が損なわれてしまうことを回避できる。
<9>
本発明に係る車両用ソフトウェア割当てシステムの他の態様では、前記追加ソフトウェアは、第3のECUに配置されていたソフトウェアであって、前記第3のECUの故障により、他のECUへコピーすべきと判断されたソフトウェアである。
この態様によれば、ソフトウェアが配置されている第3のECUに故障が発生した場合でも、適切なECUに再配置することが可能である。
本発明の作用及び他の利得は次に説明する実施するための形態から明らかにされる。
第1実施形態に係る車両用ソフトウェア割当てシステムの構成を示すブロック図である。 第1実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。 ソフトランク値とECUランク値とのマッチング処理の流れを示すフローチャートである。 ソフトランク値の具体例を示す表である。 ECUランク値の具体例を示す表である。 ソフトウェアの結合条件に関するマッチング処理の流れを示すフローチャートである。 応答性条件に関するマッチング処理の一例を示す概念図である。 通信速度条件に関するマッチング処理の一例を示す概念図である。 電源タイミング条件に関するマッチング処理の一例を示す概念図である。 第2実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。 ソフトウェアの配置可能判定処理の流れを示すフローチャートである。 第3実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。
本発明の車両用ソフトウェア割当てシステムに係る実施形態を図面に基づいて説明する。
<第1実施形態>
第1実施形態に係る車両用ソフトウェア割当てシステムについて、図1から図9を参照して説明する。以下では、車両用ソフトウェア割当てシステムの構成、車両用ソフトウェア割当てシステムの全体動作、ランク値に関するマッチング処理、結合条件に関するマッチング処理、車両用ソフトウェア割当てシステムによって得られる技術的な効果について、順に説明していく。
<車両用ソフトウェア割当てシステムの構成>
まず、第1実施形態に係る車両用ソフトウェア割当てシステムの構成について、図1を参照して説明する。ここに図1は、第1実施形態に係る車両用ソフトウェア割当てシステムの構成を示すブロック図である。
図1において、第1実施形態に係る車両用ソフトウェア割当てシステム10は、自動車等の車両に搭載されるものであり、車外のサーバ600と無線通信可能に構成されている。車外のサーバ600からは、例えば新規ソフトウェア等の各種情報がダウンロード可能である。車両用ソフトウェア割当てシステム10は、統合制御ECU100と、第1ECU210と、第2ECU220と、第3ECU230と、第4ECU240と、第1アクチュエータドライバ310と、第2アクチュエータドライバ320と、第1インテリジェントセンサ410と、第2インテリジェントセンサ420と、第1アクチュエータ510と、第2アクチュエータ520とを備えて構成されている。
統合制御ECU100は、CPU(Central Processing Unit)等の演算回路を有する制御ユニットであり、第1ECU210、第2ECU220、第3ECU230、及び第4ECU240(以下では、これらをまとめて「ECU200」と称することがある)の各々の制御(状態管理を含む)を実行可能に構成されている。統合制御ECU100は、その内部に実現される論理的な又は物理的な処理ブロックとして、ECUランク値取得部110、ソフトランク値取得部120、配置先決定部130、ソフトウェア配置部140を備えている。
ECUランク値取得部110は、車両におけるECU200の設置位置に基づいて、ECU200において動作不良が発生する確率の高さを示すECUランク値を取得することが可能に構成されている。ECUランク値取得部110において取得されたECUランク値は、配置先決定部130に出力される構成となっている。なお、ECUランク値取得部110は、「第1取得手段」の一具体例であり、ECUランク値は、「第1ランク値」の一具体例である。ECUランク値については後に詳述する。
ソフトランク値取得部120は、ECU200に配置される又は配置されているソフトウェアの重要度を示すソフトランク値を取得することが可能に構成されている。ソフトランク値取得部120において取得されたソフトランク値は、配置先決定部130に出力される構成となっている。なお、ソフトランク値取得部120は、「第2取得手段」の一具体例であり、ソフトランク値は、「第2ランク値」の一具体例である。ソフトランク値については後に詳述する。
配置先決定部130は、ECU200に配置すべきソフトウェアの配置先を決定することが可能に構成されている。即ち、配置先決定部130は、第1ECU210、第2ECU220、第3ECU230、及び第4ECU240の中から、ソフトウェアを配置すべきECU200(以下、適宜「配置先ECU」と称する)を決定する。配置先ECUの具体的な決定方法については、後に詳述する。配置先ECUに関する情報は、ソフトウェア配置部140に出力される構成となっている。なお、配置先決定部130は、「決定手段」の一具体例である。
ソフトウェア配置部140は、配置先ECUにソフトウェアを配置するための書き込み処理を実行可能に構成されている。また、ソフトウェア配置部140は、ECU200に配置されているソフトウェアを削除する処理についても実行可能に構成されている。ソフトウェア配置部140は、「配置手段」の一具体例である。
第1ECU210、第2ECU220、第3ECU230、及び第4ECU240は、ゲートウェイによって互いに接続されている。また、第1ECU210、第2ECU220、第3ECU230、及び第4ECU240の各々は、ゲートウェイによって統合制御部100に接続されている。即ち、統合制御部100と各ECU200は、ゲートウェイを介して相互に通信可能に構成されている。ECU200は、その内部にソフトウェア(以下、単に「ソフト」と称することがある)が配置されることで、ソフトウェアに応じた処理を実行可能な制御ユニットである。なお、ECU200の数は2つ以上であればよく、本実施形態のように4つに限定されるものではない。
第1アクチュエータドライバ310及び第2アクチュエータドライバ320は、それぞれ第1アクチュエータ510及び第2アクチュエータ520を制御可能に構成されたドライバである。第1アクチュエータドライバ310は、第1ローカル通信を介して、第1ECU210及び第2ECU220と接続されており、これらのECU200からの指令に応じて第1アクチュエータ510の動作を制御する。一方、第2アクチュエータドライバ320は、第2ローカル通信を介して、第3ECU230及び第4ECU220と接続されており、これらのECU200からの指令に応じて第2アクチュエータ520の動作を制御する。
第1インテリジェントセンサ410及び第2インテリジェントセンサ420は、センサと、その信号処理回路とが一体化された集積回路タイプのセンサであり、車両内部又は外部における各種情報を検出することが可能に構成されている。
第1アクチュエータ510及び第2アクチュエータ520は、車両における機械的な動作を実現可能なものとして構成されている。
<車両用ソフトウェア割当てシステムの全体動作>
次に、第1実施形態に係る車両用ソフトウェア割当てシステム10の全体動作について、図2を参照して説明する。ここに図2は、第1実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。なお、図2に示される各処理は、統合制御ECU100において実行されるものである。
図2において、第1実施形態に係る車両用ソフトウェア割当てシステム10の動作時には、まずECU200へのソフトウェアの配置要求があるか否かが判定される(ステップS101)。この配置要求は、新規のソフトウェアをインストールする場合の要求だけでなく、既に配置されているソフトウェアを移動させる場合の要求を含むものである。ソフトウェアの配置要求がない場合には(ステップS101:NO)、以降の処理は省略され一連の処理が終了することになる。
ソフトウェアの配置要求があった場合には(ステップS101:YES)、メモリ容量及び処理負荷に余裕のあるECU200が存在しているか否かが判定される(ステップS102)。具体的には、新たに配置しようとするソフトウェア(以下、適宜「追加ソフトウェア」と称する)を記録するメモリ容量が残されており、且つ追加ソフトウェアを配置しても動作可能な程度に処理負荷に余裕があるECU200が存在しているか否かが判定される。統合制御ECU110は、例えば自身が管理しているECU200の管理情報に基づいて、上記判定処理を行う。メモリ容量及び処理負荷に余裕のあるECU200が存在していない場合には(ステップS102:NO)、以降の処理は省略され一連の処理が終了することになる。即ち、現時点ではソフトウェアをECU200に配置することはできないと判断され、ソフトウェアがECU200に配置されることなく一連の処理が終了する。
メモリ容量及び処理負荷に余裕のあるECU200が存在している場合には(ステップS102:YES)、ソフトウェアを配置するための条件にマッチするECU200が存在しているか否かが判定される(ステップS103)。具体的には、ECUランク値が追加ソフトウェアのソフトランク値とマッチしているECU200が存在しているか否かが判定される。このステップS103の処理については、後に詳細に説明する。追加ソフトウェアを配置するための条件にマッチするECU200が存在していない場合には(ステップS103:NO)、以降の処理は省略され一連の処理が終了することになる。即ち、現時点ではソフトウェアをECU200に配置することはできないと判断され、ソフトウェアがECU200に配置されることなく一連の処理が終了する。
追加ソフトウェアを配置するための条件にマッチするECU200が存在している場合には(ステップS103:YES)、配置先ECUを決定するための処理が実行される(ステップS104)。即ち、ステップS103で判定された追加ソフトウェアを配置するための条件にマッチするECU200の中から、実際に追加ソフトウェアを配置するECU200を決定するための処理が実行される。ステップS104では、ここまで実行されてきたマッチング処理とは異なる観点でのマッチング処理(具体的には、結合条件に基づいたマッチング処理)が更に実行される。ステップS104の処理については、後に詳細に説明する。
配置先ECUが決定されると、追加ソフトウェアを配置先ECUに配置する処理が実行される(ステップS105)。以上の処理によって、車両用ソフトウェア割当てシステム10によるソフトウェアの配置処理が終了する。
<ランク値に関するマッチング処理>
次に、図2のステップ103の処理(ランク値に関するマッチング処理)について、図3から図5を参照して詳細に説明する。ここに図3は、ソフトランク値とECUランク値とのマッチング処理の流れを示すフローチャートである。また図4は、ソフトランク値の具体例を示す表であり、図5は、ECUランク値の具体例を示す表である。
図3において、ステップS103の処理が開始されると、追加ソフトウェアのソフトランク値に関する判定が実行される(ステップS201)。ソフトランク値は、例えば以下のように決定される値である。
図4に示すように、ソフトランク値は、ソフトウェアの重要度に応じて決定される。ソフトウェアランク値は、0〜9の10段階で表される値であり、ソフトウェアの重要度が高いほど大きい値となる。なお、ここでの「重要度」とは、ソフトウェアの実行する制御の重要性を示す値であり、本実施形態ではソフトウェアが正常に動作しなくなった場合に発生し得る不都合の影響度が用いられている。
具体的には、動作不良により重大事故の可能性があるソフトウェアのソフトランク値は“9”である。動作不良により軽少事故の可能性があるソフトウェアのソフトランク値は“8”である。動作不良によりイレギュラーな事態が発生しユーザが不満を感じるソフトウェアのランク値は“7”である。動作不良により車両の走行機能が少なくとも部分的に停止しユーザが不満を感じるソフトウェアのランク値は“6”である。動作不良により車両の走行性能が低下、又は付加機能が停止してユーザが不満を感じるソフトウェアのランク値は“5”である。動作不良により便利機能の不具合が発生する、又は多数のユーザが不快に感じるソフトウェアのランク値は“4”である。動作不良により少数のユーザが不快に感じるソフトウェアのランク値は“3”である。動作不良によりごく少数のユーザが不快に感じるソフトウェアのランク値は“2”である。動作不良による影響が無視できるソフトウェアのランク値は“1”である。動作不良が全ての車両において発生しても構わない程度のソフトウェアのランク値は“0”である。
図3に戻り、ステップS201の判定では、ソフトランク値に応じて、それ以降に実行される処理が決定される。具体的には、ソフトランク値に応じたECUランク値のECU200が、メモリ容量及び処理負荷に余裕があるECU200(図2のステップ102参照)の中に存在しているか否かが検索される。なお、ECUランク値は、D〜Sの5段階で表される値であり、ECU200における動作不良の発生確率が高いほど高い値となる。ECUランク値は、高い方からD>C>B>A>Sの順であり、Dに近いほど動作不良が発生し易く、Sに近いほど動作不良が発生し難い。なお、ここでの「動作不良」とは、ECU200が正常に動作を行えない状態を意味しており、完全に動作が停止される場合だけでなく、一部の動作が行えない、或いは動作が遅れる場合等も含まれる。
図5に示すように、ECUランク値は、各ECU200の車両における配置位置(配置環境)に基づいて決定されればよい。具体的には、エンジンコンパートメント(図中では「エンコパ」と表記)の周辺に配置されるECU200のECUランク値は、衝突試験時の故障発生率が高かった場所に配置されている場合は“D”、それ以外で温度環境が105℃以上になり得る場合が“C”、その他が“B”となる。キャビンの周辺に配置されるECU200のECUランク値は、衝突試験時の故障発生率が高かった場所に配置されている場合は“D”、それ以外で温度環境が90℃以上になり得る場合が“B”、温度環境が70℃以上、90℃未満になり得る場合が“A”、その他が“S”となる。ラゲージの周辺に配置されるECU200のECUランク値は、衝突試験時の故障発生率が高かった場所に配置されている場合は“D”、それ以外で温度環境が90℃以上になり得る場合が“B”、温度環境が70℃以上、90℃未満になり得る場合が“A”、その他が“S”となる。
再び図3に戻り、ソフトランク値が0又は1である場合には、ECUランク値がD〜SのECU200が存在しているか否かが検索される(ステップS202)。ソフトランク値が2又は3である場合には、ECUランク値がC〜SのECU200が存在しているか否かが検索される(ステップS203)。ソフトランク値が4又は5である場合には、ECUランク値がB〜SのECU200が存在しているか否かが検索される(ステップS204)。ソフトランク値が6又は7である場合には、ECUランク値がA〜SのECU200が存在しているか否かが検索される(ステップS205)。ソフトランク値が8又は9である場合には、ECUランク値がSのECU200が存在しているか否かが検索される(ステップS206)。このように、配置しようとしているソフトウェアのソフトランク値が高いほど、配置先ECUとしてECUランク値が高いものが要求される。
上述したステップS202〜S206の検索処理の結果、ソフトランク値とECUランク値とがマッチしたECU200が存在していた場合には(ステップS207:YES)、条件にマッチしたECU200が存在していると判断できるため、ステップS103の判定結果はYESとなる。一方で、ソフトランク値とECUランク値とがマッチしたECU200が存在していない場合には(ステップS207:NO)、条件にマッチしたECU200が存在していないと判断できるため、ステップS103の判定結果はNOとなる。
<結合条件に関するマッチング処理>
次に、図2のステップS104の処理(結合条件に関するマッチング処理)について、図6を参照して説明する。ここに図6は、ソフトウェアの結合条件に関するマッチング処理の流れを示すフローチャートである。
図6において、ステップS104の処理が開始されると、追加ソフトウェアに結合条件があるか否かが判定される(ステップS301)。なお、ここでの「結合条件」とは、追加ソフトによって制御される車両の各部との関係や、各ECU200に既に配置されている他のソフトウェアとの関係、各ECU200の動作条件との関係で、適切な制御を行うために、追加ソフトウェアの配置位置に課される条件である。なお、追加ソフトウェアに結合条件が存在しない場合には(ステップS301:NO)、ステップS103でソフトランク値とECUランク値とがマッチしていると判定されたECUの中から配置先ECUが決定されればよい(ステップS304)。
追加ソフトウェアに結合条件が存在している場合には(ステップS301:YES)、結合条件にマッチしたECU200を選定するための結合条件マッチング処理が実行される(ステップS302)。本実施形態に係る結合条件マッチング処理では、応答性条件、通信速度条件及び電源タイミング条件に関するマッチング処理が実行される。
応答性条件に関するマッチング処理では、追加ソフトウェアと、追加ソフトウェアによって制御される部位(例えば、第1アクチュエータ310及び第2アクチュエータドライバ320、並びに第1インテリジェントセンサ410及び第2インテリジェントセンサ420等)との間に要求される応答性を満たすことができるECU200が、ステップS103でソフトランク値とECUランク値とがマッチしていると判定されたECU200の中に存在しているか否かが判定される。
通信速度条件に関するマッチング処理では、追加ソフトウェアと、各ECU200に既に配置されている他のソフトウェアとの間に要求される通信速度を満たすことができるECU200が、ステップS103でソフトランク値とECUランク値とがマッチしていると判定されたECU200の中に存在しているか否かが判定される。
電源タイミング条件に関するマッチング処理では、追加ソフトウェアに要求される電源タイミング(即ち、ソフトウェアによる処理を実行するために電力供給が要求されるタイミング)を満足させるECU200が、ステップS103でソフトランク値とECUランク値とがマッチしていると判定されたECU200の中に存在しているか否かが判定される。
各条件に関するマッチング処理が終了すると、条件にマッチすると判定されたECU200が配置先ECUとして決定される(ステップS303)。なお、条件が複数存在している場合には、その全てにマッチするECU200が配置先ECUとして決定されることが好ましい。また、条件を満足させるECU200が存在しない場合には、マッチ度合い(即ち、どの程度条件を満たしているかを示す値)が最も高いECU200が配置先ECUとして決定されればよい。
以下では、上述した各種条件に基づくマッチング処理について、図7から図9を参照して具体的に説明する。ここに図7は、応答性条件に関するマッチング処理の一例を示す概念図であり、図8は、通信速度条件に関するマッチング処理の一例を示す概念図である。また図9は、電源タイミング条件に関するマッチング処理の一例を示す概念図である。なお、以下に示す例では第1ECU210、第2ECU220、第3ECU230、及び第4ECU240の全てが、上述したステップS103の処理においてランク値がマッチしたと判定されているものとする。
図7では、第1ECU210にはソフトA及びソフトBが既に配置されており、第2ECU220にはソフトC及びソフトDが既に配置されており、第3ECU230にはソフトE及びソフトFが既に配置されており、第4ECU240にはソフトG及びソフトHが既に配置されている前提で、新たなソフトIを配置しようとする場合について考える。なお、ソフトIは、第1インテリジェントセンサ410に関する処理を実行するためのソフトウェアであり、第1インテリジェントセンサ410との間に高い応答性が要求されるものである。ここでの第1インテリジェントセンサ410は、「被制御部」の一具体例である。
この場合、ソフトIの配置先ECUが第1ECU210又は第2ECU220であれば、第1ローカル通信を介して第1インテリジェントセンサ410と通信できる。一方で、ソフトIの配置先ECUが第3ECU230又は第4ECU240であれば、第1ローカル通信だけでなくゲートウェイを介さなければ、第1インテリジェントセンサ410と通信できない。ゲートウェイを介する通信を要する場合、第1ローカル通信だけで通信できる場合と比べると応答性は低下する。
ソフトIに要求される応答性が、ローカル通信だけで通信可能な状況に相当する応答性である場合、応答性条件を満たすECU200は、第1ECU210及び第2ECU220であり、第3ECU230及び第4ECU240は応答性条件を満たさない。よって、この場合には、第1ECU210又は第2ECU220がソフトIの配置先ECUとして選択される。
図8では、図7に示した例と同様の前提で、新たなソフトJを配置しょうとする場合について考える。ここで特に、ソフトJは、第4ECUに配置されているソフトGと連携して処理を実行するソフトである。このため、ソフトJには、ソフトGと高速通信可能である(即ち、プロセス間通信が高速に行える)という条件が課される。なお、ソフトGは「既存ソフトウェア」の一具体例である。
この場合、ソフトJの配置先ECUが第4ECU240であれば、同一ECU内で通信を行うことができる。一方で、ソフトJの配置先ECUが第3ECU230であれば、第2ローカル通信を介して通信を行うことになり、ソフトJの配置先ECUが第1ECU210又は第2ECU220であれば、ゲートウェイを介して通信を行うことになる。ソフト間の通信速度は、同一ECU内に配置されている場合が最も早く、第2ローカル通信やゲートウェイを介して通信を行う場合には遅くなる。
ソフトJに要求される通信速度が、同一ECU内での通信速度に相当するものである場合、通信速度条件を満たすECU200は、第4ECU240のみであり、他の第1ECU210、第2ECU220、及び第3ECU230は通信速度条件を満たさない。よって、この場合には、第4ECU240がソフトJの配置先ECU選択される。
図9では、図7及び図8に示した例と同様の前提で、新たなソフトKを配置しょうとする場合について考える。ここで特に、ソフトKは、電源タイミングとしてACC系電源であることが要求されるものである。即ち、ソフトKは、ACCオン時に電力供給が要求されるソフトウェアである。
ここで、第1ECU210及び第4ECU240は、常時電源系の(即ち、常時電力供給が可能な)ECU200である。第2ECU220は、ACC電源系の(即ち、ACCオンの場合に電力供給が可能な)ECU200である。第2ECU230は、IG電源系の(即ち、IGオンの場合に電力供給が可能な)ECU200である。
ソフトKに要求される電源タイミングはACC電源系であるので、ACC電源系である第2ECU220は、電源タイミングに関する条件を満たすECU200である。また、常時電源系である第1ECU210及び第2ECU220についても、電源タイミングに関する条件は満たされる。一方で、IG電源系である第3ECU230は、電源タイミング条件を満たすことはできない。よって、この場合には、第1ECU210、第2ECU220又は第4ECU240がソフトKの配置先ECUとして選択される。
<実施形態の効果>
次に、第1実施形態に係る車両用ソフトウェア割当てシステム10によって得られる有益な技術的効果について説明する。
図1から図9で説明したように、第1実施形態に係る車両用ソフトウェア割当てシステム10によれば、メモリ容量及び処理負荷に関する条件だけでなく、ランク値に関するマッチング、及び結合条件に関するマッチングに基づいて、配置先ECUが決定される。このため、複数のECU200に対して、好適にソフトウェアを配置することができる。
具体的には、ランク値に関するマッチング処理を行うことで、重要度の高いソフトウェアが動作不良の発生し易いECU200に配置されてしまうことを防止できる。これにより、車両の頑健性を向上させることができる。また、結合条件に関するマッチング処理を行うことで、配置されたソフトウェアが適切な動作を行えないという状況を回避できる。
なお、第1実施形態では、追加ソフトウェアのソフトランク値と、すでにECU200に配置されている配置済ソフトウェアのソフトランク値との比較は行われない。よって、追加ソフトウェアのソフトランク値が配置済ソフトウェアのソフトランク値よりも高い場合であっても、配置済みソフトウェアが配置されているECU200よりもECUランク値の高い(動作不良が発生し易い)ECU200に追加ソフトウェアが配置され得る。このような場合であっても、新しいソフトウェアを配置可能なECU200のうち、よりECUランク値が低い(動作不良が発生し難い)ECU200に追加ソフトウェアが配置されることで、上述した技術的効果は発揮される。
<第2実施形態>
次に、第2実施形態に係る車両用ソフトウェア割当てシステムについて説明する。なお、第2実施形態は、既に説明した第1実施形態と一部の動作が異なるのみであり、システム構成や、その他の多くの部分は概ね同様である。このため、以下では第1実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略するものとする。
<車両用ソフトウェア割当てシステムの全体動作>
まず、第2実施形態に係る車両用ソフトウェア割当てシステム10の全体動作について、図10を参照して説明する。ここに図10は、第2実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。なお、図10では、図2で説明したものと同様の処理に同一の符号を付し、その詳細な説明については適宜省略するものとする。
図10において、第2実施形態に係る車両用ソフトウェア割当てシステム10の動作時には、まずECU200へのソフトウェアの配置要求があるか否かが判定される(ステップS101)。ソフトウェアの配置要求がない場合には(ステップS101:NO)、以降の処理は省略され一連の処理が終了することになる。
ソフトウェアの配置要求があった場合には(ステップS101:YES)、ソフトウェアを配置するための条件にマッチするECU200が存在しているか否かが判定される(ステップS103)。即ち、図3で説明したランク値に関するマッチング処理が実行される。なお、ソフトウェアを配置するための条件にマッチするECU200が存在していない場合には(ステップS103:NO)、以降の処理は省略され一連の処理が終了することになる。即ち、現時点ではソフトウェアをECU200に配置することはできないと判断され、ソフトウェアがECU200に配置されることなく一連の処理が終了する。
上述した動作からも分かるように、第2実施形態では、第1実施形態におけるステップS102(図2参照)が省略される。つまり、この段階では、メモリ容量及び処理負荷に余裕のあるECU200が存在しているか否かは判定されない。
追加ソフトウェアを配置するための条件にマッチするECU200が存在している場合には(ステップS103:YES)、配置先ECUを決定するための処理が実行される(ステップS104)。即ち、図6で説明した結合条件に関するマッチング処理が実行される。
配置先ECUが決定されると、配置先ECUにソフトウェアを配置可能であるか否かが判定される(ステップS401)。ステップS401の処理は、メモリ容量及び処理負荷に関する判定(即ち、ステップS102と同様の処理)を含む処理である。なお、ステップS401の具体的な処理内容については、後に詳細に説明する。
配置先ECUにソフトウェアを配置可能でないと判定された場合には(ステップS401:NO)、再びステップS104の処理が実行され、新たな配置先ECUが決定される。ただし、2回目以降のS104実行時の新たな配置先ECUの候補からは、ステップS401でソフトウェアを配置可能でないと判定されたECU200が除かれる。なお、全てのECU200についてソフトウェアを配置可能でないと判定された場合には、ステップS104以降の処理を繰り返さずに一連の処理を終了する例外的な処理が行われてもよい。
配置先ECUにソフトウェアを配置可能であると判定された場合には(ステップS401:YES)、追加ソフトウェアを配置先ECUに配置する処理が実行される(ステップS105)。以上の処理によって、車両用ソフトウェア割当てシステム10によるソフトウェアの配置処理が終了する。
<ソフトウェアの配置可能判定処理>
次に、第2実施形態に特有の処理であるステップS401の処理(ソフトウェアの配置可能判定処理)について、図11を参照して説明する。ここに図11は、ソフトウェアの配置可能判定処理の流れを示すフローチャートである。
図11において、ソフトウェアの配置可能判定処理では、配置先ECUのメモリ容量及び処理負荷について、追加ソフトウェアを配置する余裕があるか否かが判定される(ステップS501)。即ち、第1実施形態のステップS102(図2参照)と同様の処理が、配置先ECUに対してのみ実行される。なお、配置先ECUに追加ソフトウェアを配置する余裕があると判定された場合には(ステップS501:YES)、以降の処理は省略され、ステップS401の判定結果はYESとなる。配置先ECUに追加ソフトウェアを配置する余裕があれば、問題なく追加ソフトウェアを配置することができるからである。
配置先ECUに追加ソフトウェアを配置する余裕がないと判定された場合には(ステップS501:NO)、配置先ECUに追加ソフトウェアよりもソフトランク値の低い(即ち、重要度の低い)低ランクソフトウェアが存在しているか否かが判定される(ステップS502)。配置先ECUに低ランクソフトウェアが存在していない場合には(ステップS502:NO)、配置先ECUに追加ソフトウェアを配置することはできないと判断され、ステップS401の判定結果はNOとなる。
配置先ECUに低ランクソフトウェアが存在している場合には(ステップS502:YES)、配置先ECUから低ランクソフトウェアを削除することで、追加ソフトウェアが配置可能になるか否かが判定される(ステップS503)。即ち、低ランクソフトウェアの削除によって、配置先ECUのメモリ容量及び処理負荷に余裕を確保できるか否かが判定される。なお、配置先ECUに低ランクソフトウェアが複数存在している場合には、それらの全てを削除することで、追加ソフトウェアが配置可能になるか否かが判定されればよい。低ランクソフトウェアを削除しても追加ソフトウェアを配置可能にはならないと判定された場合(ステップS503:NO)、配置先ECUに追加ソフトウェアを配置することはできないと判断され、ステップS401の判定結果はNOとなる。
低ランクソフトウェアを削除すれば追加ソフトウェアを配置可能になると判定された場合(ステップS503:YES)、低ランクソフトウェアの移動先となるECU200が存在するか否かが判定される(ステップS504)。即ち、低ランクソフトウェアを再配置可能な他のECU200が存在するか否かが判定される。なお、ステップS504の処理では、低ランクソフトウェアを追加ソフトウェアとして、配置先ECUを決定する処理(即ち、図2のステップS101〜S104の処理、或いは図10のステップS101からS401の処理)を行えばよい。低ランクソフトウェアの移動先が存在しないと判定された場合(ステップS504:NO)、配置先ECUに追加ソフトウェアを配置することはできないと判断され、ステップS401の判定結果はNOとなる。
低ランクソフトウェアの移動先が存在すると判定された場合には(ステップS504:YES)、低ランクソフトウェアの移動(即ち、再配置)が実行される(ステップS505)。これにより、配置先ECUに追加ソフトウェアを配置する余裕が確保されることになるので、ステップS401の判定結果はYESとなる。
<実施形態の効果>
次に、第2実施形態に係る車両用ソフトウェア割当てシステム10によって得られる有益な技術的効果について説明する。
図10及び図11を参照して説明したように、第2実施形態に係る車両用ソフトウェア割当てシステム10によれば、配置先ECUに追加ソフトウェアを配置する余裕がない場合であっても、低ランクソフトウェアの再配置が可能であれば、それにより追加ソフトウェアを配置する余裕が確保される。よって、追加ソフトウェアをより適切なECU200に配置することが可能となる。
なお、低ランクソフトウェアは、追加ソフトウェアよりもソフトランク値が低い(即ち、重要度が低い)ソフトウェアであるため、他のECU200に再配置した場合であっても不都合は発生しない。より正確には、追加ソフトウェアを配置先ECUに配置できないことによる不都合よりも、低ランクソフトウェアを再配置したことによる不都合の方が、システム全体で見た場合の悪影響が少ない。
以上のように、第2実施形態に係る車両用ソフトウェア割当てシステム10によれば、第1実施形態と比べて、より好適にソフトウェアを配置することが可能である。
<第3実施形態>
次に、第3実施形態に係る車両用ソフトウェア割当てシステムについて説明する。なお、第3実施形態は、既に説明した第1及び第2実施形態と一部の動作が異なるのみであり、システム構成や、その他の多くの部分は概ね同様である。このため、以下では第1又は第2実施形態と異なる部分について詳細に説明し、他の重複する部分については適宜説明を省略するものとする。
<車両用ソフトウェア割当てシステムの全体動作>
第3実施形態に係る車両用ソフトウェア割当てシステム10の全体動作について、図12を参照して説明する。ここに図12は、第3実施形態に係る車両用ソフトウェア割当てシステムの動作の流れを示すフローチャートである。なお、図12に示される各処理は、統合制御ECU100において実行されるものである。
図12において、第3実施形態に係る車両用ソフトウェア割当てシステム10の動作時には、いずれかのECU200に故障が発生しているか否かが判定される(ステップS601)。なお、ここでの「故障」とは、ECU200に配置されているソフトウェアが正常に機能できなくなる程度の故障を意味している。ECU200に故障が発生していない場合(ステップS601:NO)、以降の処理は省略され、一連の処理が終了することになる。
ECU200に故障が発生すると、そのままではECU200に配置されたソフトウェアが正常に機能しない。この場合、故障したECU200に配置されていたソフトウェアを他のECU200(即ち、故障していないECU200)にコピーすれば、正常に機能させることが可能となる。第3実施形態では、このコピーすべきソフトウェアについて、ステップS602以降の処理を実行していく。なお、故障したECU200に複数のソフトウェアが存在している場合には、複数のソフトウェアの各々について、ステップS602以降の処理が実行されればよい。
ECU200に故障が発生している場合には(ステップS601:YES)、コピーすべきソフトウェア(以下、適宜「コピーソフトウェア」と称する)をコピー可能な余裕のあるECU200が存在しているか否かが判定される(ステップS602)。即ち、第1実施形態のステップS102(図2参照)と同様に、メモリ容量及び処理負荷に余裕のあるECU200が存在しているか否かが判定される。なお、コピーソフトウェアをコピー可能なECU200が存在していると判定された場合(ステップS602:YES)、その余裕のあるECU200に対してコピーソフトウェアのコピーが実施される(ステップS609)。
コピーソフトウェアをコピー可能なECU200が存在していないと判定された場合(ステップS602:NO)、コピーソフトウェアのソフトランク値が2以上であるか否かが判定される(ステップS603)。そして、コピーソフトウェアのソフトランク値が2未満であると判定された場合(ステップS603:NO)、コピーソフトウェアのコピーは実施しないと判断される(ステップS610)。即ち、ソフトランク値が極めて低いので、コピーソフトウェアをコピーしなくとも(即ち、正常に機能させなくとも)、不都合は生じないと判断される。
コピーソフトウェアのソフトランク値が2以上であると判定された場合(ステップS603:YES)、コピーソフトウェアを配置するための条件にマッチするECU200が存在しているか否かが判定される(ステップS604)。即ち、第1実施形態のステップS103の処理(図3参照)と同様にランク値に関するマッチング処理が実行される。また、ランク値に関するマッチング処理に加えて、図6で説明したような結合条件に関するマッチング処理が行われてもよい。コピーソフトウェアを配置するための条件にマッチするECU200が存在していない場合には(ステップS604:NO)、コピーソフトウェアを配置できるECU200は存在しないと判断できる。この結果、コピーソフトウェアのコピーは実施しないと判断される(ステップS610)。
コピーソフトウェアを配置するための条件にマッチするECU200が存在している場合には(ステップS604:YES)、条件にマッチするECU200のいずれかに、コピーソフトウェアよりもソフトランク値の低い低ランクソフトウェアが存在しているか否かが判定される(ステップS605)。条件にマッチするECU200に低ランクソフトウェアが存在していない場合には(ステップS605:NO)、コピーソフトウェアを配置できるECU200は存在しないと判断できる。この結果、コピーソフトウェアのコピーは実施しないと判断される(ステップS610)。
条件にマッチするECU200に低ランクソフトウェアが存在している場合には(ステップS605:YES)、条件にマッチするECU200から低ランクソフトウェアを削除することで、コピーソフトウェアが配置可能になるか否かが判定される(ステップS606)。即ち、低ランクソフトウェアの削除によって、条件にマッチするECU200のメモリ容量及び処理負荷に余裕を確保できるか否かが判定される。なお、条件にマッチするECU200に低ランクソフトウェアが複数存在している場合には、それらの全てを削除することで、コピーソフトウェアが配置可能になるか否かが判定されればよい。低ランクソフトウェアを削除してもコピーソフトウェアを配置可能にはならないと判定された場合(ステップS606:NO)、コピーソフトウェアを配置できるECU200は存在しないと判断できる。この結果、コピーソフトウェアのコピーは実施しないと判断される(ステップS610)。
低ランクソフトウェアを削除すればコピーソフトウェアを配置可能になると判定された場合(ステップS606:YES)、低ランクソフトウェアの削除にシステムのユーザが合意しているか否かが判定される(ステップS607)。この合意確認は、この時点で行われるものであってもよいし、事前に(例えば配置時に)行われたものであってもよい。低ランクソフトウェアの削除にシステムのユーザが合意していない場合(ステップS607:NO)、コピーソフトウェアを配置できるECU200は存在しないと判断できる。この結果、コピーソフトウェアのコピーは実施しないと判断される(ステップS610)。
低ランクソフトウェアの削除にシステムのユーザが合意している場合(ステップS607:YES)、低ランクソフトウェアの削除が実行される(ステップS608)。なお、削除された低ランクソフトウェアについては、第2実施形態で説明したように、他のECU200に再配置されても構わない。低ランクソフトウェアの削除が完了すると、削除後のECU200に、コピーソフトウェアのコピーが実施される(ステップS609)。
コピーソフトウェアのコピーを実施後、或いはコピーを実施しないと判断された後には、全てのコピーソフトウェア(即ち、故障したECU200に配置されていた全てのソフトウェア)について、上記ステップS602以降の処理が完了しているか否かが判定される(ステップS611)。全てのコピーソフトウェアについてステップS602以降の処理が完了していない場合(ステップS611:NO)、他の完了していないソフトウェアについて、ステップS602以降の処理が実行される。全てのコピーソフトウェアについてステップS602以降の処理が完了している場合(ステップS611:YES)、第3実施形態に係る車両用ソフトウェア割当てシステム10による一連の処理は終了する。
<実施形態の効果>
最後に、第3実施形態に係る車両用ソフトウェア割当てシステム10によって得られる有益な技術的効果について説明する。
図12を参照して説明したように、第3実施形態に係る車両用ソフトウェア割当てシステム10によれば、ECU200に故障が発生し、ソフトウェアの機能を正常に発揮できなくなった場合であっても、故障したECU200に配置されているソフトウェアを他の正常なECU200にコピーすることで、正常な機能を取り戻すことが可能である。
また、故障したECU200に配置されているソフトウェアをコピーする際には、第1実施形態及び第2実施形態と同様に、各種条件にマッチングしているECU200であるか否かが判定される。このため、不適切なECU200にソフトウェアがコピーされてしまうことを防止できる。更に、第2実施形態と同様に、低ランクソフトウェアが削除できるか否かも判定されるため、より適切なECUにソフトウェアをコピーすることが可能である。
本発明は、上述した実施形態に限られるものではなく、特許請求の範囲及び明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う車両用ソフトウェア割当てシステムもまた本発明の技術的範囲に含まれるものである。
10 車両用ソフトウェア割当てシステム
100 統合制御ECU
110 ECUランク値取得部
120 ソフトランク値取得部
130 配置先決定部
140 ソフトウェア配置部
210 第1ECU
220 第2ECU
230 第3ECU
240 第4ECU
310 第1アクチュエータドライバ
320 第2アクチュエータドライバ
410 第1インテリジェントセンサ
420 第2インテリジェントセンサ
510 第1アクチュエータ
520 第2アクチュエータ

Claims (9)

  1. 車両において共通のネットワークに接続されており、該ネットワークを介して配置されるソフトウェアに応じた制御を実行可能な複数のECUと、
    前記複数のECUの各々について、動作不良が発生する確率が高いほど高くなる第1ランク値を取得する第1取得手段と、
    前記複数のECUに配置しようとする追加ソフトウェアについて、重要度が高いほど高くなる第2ランク値を取得する第2取得手段と、
    前記第2ランク値が高い追加ソフトウェアであるほど、前記第1ランク値の低いECUに配置されるように、前記複数のECUの中から前記追加ソフトウェアを配置するECUを決定する決定手段と、
    前記決定されたECUに前記追加ソフトウェアを配置する配置手段と
    備えることを特徴とする車両用ソフトウェア割当てシステム。
  2. 前記第1ランク値は、前記車両における前記複数のECUの各々の設置位置に基づいて設定される値であることを特徴とする請求項1に記載の車両用ソフトウェア割当てシステム。
  3. 前記第2ランク値は、前記追加ソフトウェアに応じて実行される制御の内容に基づいて設定される値であることを特徴とする請求項1又は2に記載の車両用ソフトウェア割当てシステム。
  4. 前記決定手段は、前記第2ランク値が高い追加ソフトウェアであるほど、前記第1ランク値の低いECU、前記追加ソフトウェアと前記複数のECUの各々が制御する被制御部との間に要求される応答性が満たされるように、前記追加ソフトウェアを配置するECUを決定することを特徴とする請求項1から3のいずれか一項に記載の車両用ソフトウェア割当てシステム。
  5. 前記決定手段は、前記第2ランク値が高い追加ソフトウェアであるほど、前記第1ランク値の低いECUに配置されるように、且つ、前記追加ソフトウェアと前記複数のECUに配置済みである既存ソフトウェアとの間に要求される通信速度が満たされるように、前記追加ソフトウェアを配置するECUを決定することを特徴とする請求項1から4のいずれか一項に記載の車両用ソフトウェア割当てシステム。
  6. 前記決定手段は、前記第2ランク値が高い追加ソフトウェアであるほど、前記第1ランク値の低いECUに配置されるように、且つ、前記追加ソフトウェアに要求される電力の供給タイミングが満たされるように、前記追加ソフトウェアを配置するECUを決定することを特徴とする請求項1から5のいずれか一項に記載の車両用ソフトウェア割当てシステム。
  7. 前記決定されたECUに前記追加ソフトウェアを配置する容量が不足している場合に、前記決定されたECUに、前記追加ソフトウェアより前記第2ランク値が低い低ランクソフトウェアが配置されているか否かを判定する判定手段を更に備え、
    前記配置手段は、前記決定されたECUに前記低ランクソフトウェアが配置されている場合に、前記低ランクソフトウェアを前記決定されたECUから削除すると共に、前記低ランクソフトウェアが削除された前記決定されたECUに前記追加ソフトウェアを配置する
    ことを特徴とする請求項1から6のいずれか一項に記載の車両用ソフトウェア割当てシステム。
  8. 前記配置手段は、前記決定されたECUから削除された前記低ランクソフトウェアを、前記決定されたECUよりも前記第1ランク値の高い第2のECUに配置し直すことを特徴とする請求項7に記載の両用ソフトウェア割当てシステム。
  9. 前記追加ソフトウェアは、第3のECUに配置されていたソフトウェアであって、前記第3のECUの故障により、他のECUへコピーすべきと判断されたソフトウェアであることを特徴とする請求項1から8のいずれか一項に記載の車両用ソフトウェア割当てシステム。
JP2016059610A 2016-03-24 2016-03-24 車両用ソフトウェア割当てシステム Active JP6443372B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016059610A JP6443372B2 (ja) 2016-03-24 2016-03-24 車両用ソフトウェア割当てシステム
DE102017204625.2A DE102017204625A1 (de) 2016-03-24 2017-03-20 Softwarekomponentenzuweisungssystem für ein fahrzeug
US15/465,013 US10509674B2 (en) 2016-03-24 2017-03-21 Software component assigning system for vehicle
CN201710171548.6A CN107226049B (zh) 2016-03-24 2017-03-22 车辆用软件分配系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016059610A JP6443372B2 (ja) 2016-03-24 2016-03-24 車両用ソフトウェア割当てシステム

Publications (2)

Publication Number Publication Date
JP2017171114A true JP2017171114A (ja) 2017-09-28
JP6443372B2 JP6443372B2 (ja) 2018-12-26

Family

ID=59814249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016059610A Active JP6443372B2 (ja) 2016-03-24 2016-03-24 車両用ソフトウェア割当てシステム

Country Status (4)

Country Link
US (1) US10509674B2 (ja)
JP (1) JP6443372B2 (ja)
CN (1) CN107226049B (ja)
DE (1) DE102017204625A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020027637A (ja) * 2018-08-10 2020-02-20 株式会社デンソー 車両用マスタ装置、非書換え対象の電源管理方法及び非書換え対象の電源管理プログラム
CN111190610A (zh) * 2018-11-15 2020-05-22 株式会社电装 车载系统
WO2020148870A1 (ja) * 2019-01-17 2020-07-23 三菱電機株式会社 代替制御装置、代替制御方法、代替制御プログラム及びフェールオペレーショナルシステム
JP2020184120A (ja) * 2019-04-26 2020-11-12 株式会社デンソー 通信電子制御装置、管理電子制御装置、及びアプリケーションインストール方法
JP2021030974A (ja) * 2019-08-28 2021-03-01 本田技研工業株式会社 車両制御システム、及び車両制御方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112017007687T5 (de) * 2017-07-26 2020-03-05 Mitsubishi Electric Corporation Fahrsteuerungssystem und fahrassistenzverfahren
CN111258235A (zh) * 2020-01-10 2020-06-09 浙江吉利汽车研究院有限公司 一种车载功能的实现方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002221075A (ja) * 2001-01-25 2002-08-09 Denso Corp 車両統合制御におけるフェイルセーフシステム
JP2006312356A (ja) * 2005-05-06 2006-11-16 Denso Corp 車両制御システム
JP2010285001A (ja) * 2009-06-09 2010-12-24 Toyota Motor Corp 電子制御システム、機能代行方法
US20120210160A1 (en) * 2011-02-10 2012-08-16 Gm Global Technology Oeperations Llc Method of dynamic allocation on a statically allocated and embedded software architecture

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491631A (en) * 1991-12-25 1996-02-13 Honda Giken Kogyo Kabushiki Kaisha Fault diagnostic system for vehicles using identification and program codes
US7146260B2 (en) * 2001-04-24 2006-12-05 Medius, Inc. Method and apparatus for dynamic configuration of multiprocessor system
DE10215865A1 (de) * 2002-04-11 2003-11-06 Bosch Gmbh Robert Verfahren und Steuergerät zur Ermittlung der Ausfallwahrscheinlichkeit einer Kraftfahrzeugkomponente
JP4069836B2 (ja) * 2002-10-11 2008-04-02 株式会社デンソー 車両用電子制御装置,電子制御ユニット,プログラム及び記録媒体
JP4410661B2 (ja) * 2004-11-09 2010-02-03 株式会社日立製作所 分散制御システム
JP2008254484A (ja) 2007-04-02 2008-10-23 Auto Network Gijutsu Kenkyusho:Kk 車載用通信システム
US20090300430A1 (en) * 2008-06-02 2009-12-03 Orit Nissan-Messing History-based prioritizing of suspected components
JP4928532B2 (ja) * 2008-12-10 2012-05-09 本田技研工業株式会社 車両の故障診断装置
US8775886B2 (en) * 2009-03-31 2014-07-08 Toyota Jidosha Kabushiki Kaisha Architecture for a self-healing computer system
US8509963B1 (en) * 2009-07-23 2013-08-13 Rockwell Collins, Inc. Remote management of aircraft computer systems
JP5651442B2 (ja) * 2010-11-29 2015-01-14 矢崎総業株式会社 動作支援装置、電子機器、電子制御装置、及び、制御システム
US8577663B2 (en) * 2011-05-23 2013-11-05 GM Global Technology Operations LLC System and methods for fault-isolation and fault-mitigation based on network modeling
EP2546745B1 (en) * 2011-07-13 2017-11-29 Harman Becker Automotive Systems GmbH Indicating states in a telematic system
JP5899882B2 (ja) * 2011-12-08 2016-04-06 株式会社豊田中央研究所 障害診断システム及び障害診断方法
US8732112B2 (en) * 2011-12-19 2014-05-20 GM Global Technology Operations LLC Method and system for root cause analysis and quality monitoring of system-level faults
JP2013143093A (ja) 2012-01-12 2013-07-22 Toyota Motor Corp 情報処理装置、情報処理システム
JP5770649B2 (ja) * 2012-01-27 2015-08-26 日野自動車株式会社 異常検出装置、ハイブリッド自動車および異常検出方法、並びにプログラム
FR2989499B1 (fr) * 2012-04-12 2014-05-16 Airbus Operations Sas Procede, dispositifs et programme d'ordinateur d'aide au diagnostic preventif d'un systeme d'un aeronef, utilisant des graphes d'evenements redoutes
FR2989500B1 (fr) * 2012-04-12 2014-05-23 Airbus Operations Sas Procede, dispositifs et programme d'ordinateur d'aide a l'analyse de la tolerance aux pannes d'un systeme d'un aeronef, utilisant des graphes d'evenements redoutes
JP5641013B2 (ja) 2012-05-14 2014-12-17 株式会社デンソー 車両制御システム
US20140188772A1 (en) * 2012-12-27 2014-07-03 General Electric Company Computer-implemented methods and systems for detecting a change in state of a physical asset
JP6079226B2 (ja) * 2012-12-27 2017-02-15 富士通株式会社 情報処理装置、サーバ管理方法およびサーバ管理プログラム
US9142066B2 (en) * 2013-01-04 2015-09-22 Innova Electronics, Inc. Multi-stage diagnostic system and method
JP6026329B2 (ja) * 2013-03-21 2016-11-16 クラリオン株式会社 車載機器システム、携帯端末及び車載機
CN103838229B (zh) * 2014-02-28 2017-01-18 武汉理工大学 电动汽车诊断方法和诊断装置
JP6183251B2 (ja) * 2014-03-14 2017-08-23 株式会社デンソー 電子制御装置
JP6307383B2 (ja) * 2014-08-07 2018-04-04 日立オートモティブシステムズ株式会社 行動計画装置
US9544395B2 (en) * 2014-10-10 2017-01-10 At&T Intellectual Property I, L.P. Facilitating quality of service and security via functional classification of devices in networks
CN105005222B (zh) * 2015-06-12 2017-05-31 山东省科学院自动化研究所 基于大数据的新能源电动汽车整车性能提升系统及方法
CN105651291A (zh) * 2015-10-19 2016-06-08 乐卡汽车智能科技(北京)有限公司 用于交通工具的故障预警方法及系统
US10078457B2 (en) * 2016-01-13 2018-09-18 International Business Machines Corporation Managing a set of wear-leveling data using a set of bus traffic

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002221075A (ja) * 2001-01-25 2002-08-09 Denso Corp 車両統合制御におけるフェイルセーフシステム
JP2006312356A (ja) * 2005-05-06 2006-11-16 Denso Corp 車両制御システム
JP2010285001A (ja) * 2009-06-09 2010-12-24 Toyota Motor Corp 電子制御システム、機能代行方法
US20120210160A1 (en) * 2011-02-10 2012-08-16 Gm Global Technology Oeperations Llc Method of dynamic allocation on a statically allocated and embedded software architecture

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020027637A (ja) * 2018-08-10 2020-02-20 株式会社デンソー 車両用マスタ装置、非書換え対象の電源管理方法及び非書換え対象の電源管理プログラム
JP7156192B2 (ja) 2018-08-10 2022-10-19 株式会社デンソー 車両用マスタ装置、非書換え対象の電源管理方法及び非書換え対象の電源管理プログラム
CN111190610A (zh) * 2018-11-15 2020-05-22 株式会社电装 车载系统
JP2020086522A (ja) * 2018-11-15 2020-06-04 株式会社デンソー 車載システム
JP7124660B2 (ja) 2018-11-15 2022-08-24 株式会社デンソー 車載システム
WO2020148870A1 (ja) * 2019-01-17 2020-07-23 三菱電機株式会社 代替制御装置、代替制御方法、代替制御プログラム及びフェールオペレーショナルシステム
JPWO2020148870A1 (ja) * 2019-01-17 2021-03-11 三菱電機株式会社 代替制御装置、代替制御方法、代替制御プログラム及びフェールオペレーショナルシステム
JP2020184120A (ja) * 2019-04-26 2020-11-12 株式会社デンソー 通信電子制御装置、管理電子制御装置、及びアプリケーションインストール方法
JP7147677B2 (ja) 2019-04-26 2022-10-05 株式会社デンソー 通信電子制御装置、管理電子制御装置、及びアプリケーションインストール方法
JP2021030974A (ja) * 2019-08-28 2021-03-01 本田技研工業株式会社 車両制御システム、及び車両制御方法
JP7194092B2 (ja) 2019-08-28 2022-12-21 本田技研工業株式会社 車両制御システム、及び車両制御方法

Also Published As

Publication number Publication date
JP6443372B2 (ja) 2018-12-26
US20170277566A1 (en) 2017-09-28
DE102017204625A1 (de) 2017-09-28
CN107226049B (zh) 2019-08-27
US10509674B2 (en) 2019-12-17
CN107226049A (zh) 2017-10-03

Similar Documents

Publication Publication Date Title
JP6443372B2 (ja) 車両用ソフトウェア割当てシステム
JP4654750B2 (ja) 自動車用制御システム
JP7419557B2 (ja) ソフトウェアバージョンロールバックの方法、装置、およびシステム
JP2010245794A (ja) 車載のゲートウェイ装置
CN102402442B (zh) 信息处理装置、启动控制方法
JP6297232B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
CN106021149B (zh) 蓝牙低功耗设备的多个连接管理
CN107209729B (zh) 用户接口执行装置以及用户接口设计装置
CN105955842A (zh) 一种嵌入式系统的系统分区结构及其通讯设备
JP2008009983A (ja) 電子制御装置およびその初期化方法
US10545885B2 (en) Information processing device, information processing method, and computer program product
JP7211189B2 (ja) 更新処理システム及び更新処理方法
CN113678101A (zh) 信息处理装置、移动体以及信息处理方法
JP2020021506A (ja) 電子制御装置及びセッション確立プログラム
JP2008166899A (ja) 画像形成装置、制御方法、およびプログラム
US20230376298A1 (en) Update control device, update control method, and non-transitory computer readable storage medium
US20170102875A1 (en) Method and apparatus for updating a control device
JP6865707B2 (ja) 車両用制御装置
JP7344109B2 (ja) リソース割当システム、サーバ、演算装置
US11914872B2 (en) Method, computer program, electronic memory medium and device for providing a piece of data
JP2023110504A (ja) 電子制御装置
JP2023135982A (ja) ソフトウェア更新制御装置、車両、プログラム、及び方法
WO2022163315A1 (ja) 車両用装置
WO2022163318A1 (ja) 車両用装置
WO2016098147A1 (ja) 情報処理装置および起動制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180914

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181112

R151 Written notification of patent or utility model registration

Ref document number: 6443372

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151