(57)【要約】【課題】適応センサシステムと適応エンジン制御ユニットシステムとの間の非互換性を除去するためのシステムおよび方法を提供する。【解決手段】方法は、適応センサシステムおよび適応エンジン制御ユニットシステムのうちの１つまたは複数に対する更新を検出することを含む。方法は、更新によってもたらされる適応センサシステムと適応エンジン制御ユニットシステムとの間の非互換性を識別することを含む。方法は、第１の互換性モジュールおよび第２の互換性モジュールのうちの１つまたは複数に対する１つまたは複数の修正を決定することを含む場合がある。修正は、非互換性を除去するように構成される。方法は、非互換性が除去されるように、第１の互換性モジュールおよび第２の互換性モジュールのうちの１つまたは複数を修正することを含む。【選択図】図２Ａ
2017145822.tif 000002
【特許請求の範囲】
【請求項１】
センサシステムとエンジン制御ユニットシステムとの間の非互換性を除去するシステムであって、
前記システムは、前記エンジン制御ユニットシステムに通信可能に結合されたセンサシステムを含み、
前記センサシステムは、センサおよびセンサモジュールに通信可能に結合された第１の互換性モジュールを含み、
前記センサは、物理環境の属性を測定するように構成されたハードウェアを含み、
前記センサモジュールは、自動車のプロセッサによって実行されることに応答して、センサによって測定された物理環境の測定値を記述するセンサデータを記録し、前記エンジン制御ユニットシステムにセンサデータを供給する処理をセンサに行わせる命令を含み、
前記エンジン制御ユニットシステムは、エンジン制御ユニットおよびエンジン制御ユニットモジュールに通信可能に結合された第２の互換性モジュールを含み、
前記エンジン制御ユニットは、自動車の性能を管理するように構成されたハードウェアを含み、
前記エンジン制御ユニットモジュールは、プロセッサによって実行されることに応答して、センサデータに応答して自動車の性能を修正するべきかどうかを判定する処理をエンジン制御ユニットに行わせる命令を含み、
前記第１の互換性モジュールは、センサおよびセンサモジュールの第１の動作を制御するセンサ性能パラメータの第１のセットを記憶する第１のデータ構造を含み、第１のセットに含まれるセンサ性能パラメータを修正すると、センサおよびセンサモジュールのうちの１つまたは複数の第１の動作が修正されるように構成され、
第２の互換性モジュールは、エンジン制御ユニットおよびエンジン制御ユニットモジュールの第２の動作を制御するエンジン制御ユニット性能パラメータの第２のセットを記憶する第２のデータ構造を含み、第２のセットに含まれるエンジン制御ユニット性能パラメータを修正すると、エンジン制御ユニットおよびエンジン制御ユニットモジュールのうちの１つまたは複数の第２の動作が修正されるように構成され、
第１の互換性モジュールおよび第２の互換性モジュールのうちの１つまたは複数は、スーパーバイザモジュールをさらに含み、当該スーパーバイザモジュールは、プロセッサによって実行されると、
（１）センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの１つまたは複数に対する更新を検出する検出ステップと、
（２）更新によってもたらされたセンサシステムとエンジン制御ユニットシステムとの間の非互換性を識別する識別ステップと、
（３）第１の互換性モジュールに含まれる第１のセットおよび第２の互換性モジュールに含まれる第２のセットのうちの１つまたは複数に対する１つまたは複数の修正を、当該修正が前記非互換性を除去するように決定する決定ステップと、
（４）前記非互換性を除去するために、第１の互換性モジュールに含まれる第１のセットおよび第２の互換性モジュールに含まれる第２のセットのうちの１つまたは複数を修正する修正ステップと、
を含む処理を、プロセッサに実行させる命令を含む、
システム。
【請求項２】
前記非互換性がセンサシステムとエンジン制御ユニットシステムとの間のスケジューリングの非互換性であり、
前記決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの１つまたは複数用のスケジューリングパラメータを調整して、非互換性を除去することを含む、
請求項１に記載のシステム。
【請求項３】
前記非互換性がセンサシステムとエンジン制御ユニットシステムとの間の周期の非互換性であり、
前記決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの１つまたは複数用の周期パラメータを調整して、非互換性を除去することを含む、
請求項１または２に記載のシステム。
【請求項４】
前記非互換性がセンサシステムとエンジン制御ユニットシステムとの間の仕様の非互換性であり、
前記決定された修正が、センサおよびエンジン制御ユニットのうちの１つまたは複数用の前の仕様の使用を調整して、非互換性を除去することを含む、
請求項１から３のいずれか１項に記載のシステム。
【請求項５】
前記更新が、センサ、センサモジュール、エンジン制御ユニット、またはエンジン制御ユニットモジュールのいずれかを、新しいセンサ、センサモジュール、エンジン制御ユニット、またはエンジン制御ユニットモジュールのいずれかに交換することをふくみ、
請求項１から４のいずれか１項に記載のシステム。
【請求項６】
前記プロセッサが前記エンジン制御ユニットの構成要素である、
請求項１から５のいずれか１項に記載のシステム。
【請求項７】
自動車に含まれるセンサシステムとエンジン制御ユニットシステムとの間の非互換性を除去する方法であって、
前記センサシステムは、センサおよびセンサモジュールに通信可能に結合された第１の互換性モジュールを含み、
前記エンジン制御ユニットシステムは、エンジン制御ユニットおよびエンジン制御ユニットモジュールに通信可能に結合された第２の互換性モジュールを含み、
前記第１の互換性モジュールは、センサおよびセンサモジュールの第１の動作を制御するセンサ性能パラメータの第１のセットを記憶する第１のデータ構造を含み、第１のセットに含まれるセンサ性能パラメータを修正すると、センサおよびセンサモジュールのうちの１つまたは複数の第１の動作が修正されるように構成され、
第２の互換性モジュールは、エンジン制御ユニットおよびエンジン制御ユニットモジュールの第２の動作を制御するエンジン制御ユニット性能パラメータの第２のセットを記憶する第２のデータ構造を含み、第２のセットに含まれるエンジン制御ユニット性能パラメータを修正すると、エンジン制御ユニットおよびエンジン制御ユニットモジュールのうちの１つまたは複数の第２の動作が修正されるように構成され、
前記方法は、
（１）センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの１つまたは複数に対する更新を検出するステップと、
（２）更新によってもたらされたセンサシステムとエンジン制御ユニットシステムとの間の非互換性を識別するステップと、
（３）プロセッサにより、第１の互換性モジュールの第１のデータ構造内に記憶される第１のセットおよび第２の互換性モジュールの第２のデータ構造内に記憶される第２のセットのうちの１つまたは複数に対する１つまたは複数の修正を、当該修正が前記非互換性を除去するように決定するステップと、
（４）前記非互換性を除去するために、第１の互換性モジュールに含まれる第１のセットおよび第２の互換性モジュールに含まれる第２のセットのうちの１つまたは複数を修正するステップと、
を含む、方法。
【請求項８】
請求項７に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項９】
通信可能に構成された複数のデバイスを含む自動車システムであって、
前記複数のデバイスはいずれも、ハードウェア要素と、当該ハードウェア要素上で実行されるソフトウェア要素とを含み、
前記複数のデバイスの少なくともいずれかは、さらに、前記ハードウェア要素上で実行される互換性モジュールを含み、
前記互換性モジュールは、
他のデバイスとの間でやりとりされるデータの形式を変換する変換モジュールと、
前記複数のデバイスのハードウェア要素またはソフトウェア要素の更新を検出する検出モジュールと、
前記更新によってもたらされた非互換性を識別する識別モジュールと、
前記非互換性を除去するように、前記変換モジュールの動作を決定する決定モジュールと、
を含む、自動車システム。
【請求項１０】
前記変換モジュールは、他のデバイスから受信しホストデバイスによって処理されるデータの形式を変換する、
請求項９に記載の自動車システム。
【請求項１１】
前記非互換性はデバイス間のスケジューリングの非互換性であり、前記変換モジュールはスケジューリングパラメータを変更して非互換性を除去するモジュールであるか、
前記非互換性はデバイス間の周期の非互換性であり、前記変換モジュールはレート変換を実行するモジュールであるか、または、
前記非互換性はデバイス間の仕様の非互換性であり、前記変換モジュールは前記データの仕様を変更するモジュールである、
請求項９または１０に記載の自動車システム。
【請求項１２】
前記複数のデバイスは、１つまたは複数のセンサコンポーネントと、１つまたは複数のＥＣＵコンポーネントとを含み、
前記ＥＣＵコンポーネントは、前記１つまたは複数のセンサコンポーネントから送信されるデータに基づいて処理を実行し、
前記ＥＣＵコンポーネントに前記互換性モジュールが設けられ、当該互換性モジュールの前記変換モジュールは、前記センサコンポーネントから送信されるデータの形式を変換する、
請求項９から１１のいずれか１項に記載の自動車システム。
【請求項１３】
通信可能に構成された複数のデバイスを含む自動車システムの制御方法であって、
前記複数のデバイスはいずれも、ハードウェア要素と、当該ハードウェア要素上で実行されるソフトウェア要素とを含み、
前記複数のデバイスの少なくともいずれかは、さらに、前記ハードウェア要素上で実行される互換性モジュールを含み、
前記複数のデバイスのハードウェア要素またはソフトウェア要素の更新を検出する検出ステップと、
前記更新によってもたらされた非互換性を識別する識別ステップと、
前記非互換性を除去するように、前記互換性モジュールの動作を決定する決定ステップと、
前記決定ステップにおける決定に従って、他のデバイスとの間でやりとりされるデータ
の形式を変換することによって、前記非互換性を除去する変換ステップと、
を含む、自動車システムの制御方法。
【請求項１４】
請求項１３に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、自動車システムのアップグレードをサポートする互換性モジュールに関する。たとえば、互換性モジュールは、適応センサシステムや適応エンジン制御ユニットシステムに対するアップグレードの後の、適応センサシステムと適応エンジン制御ユニットシステムとの間の非互換性を除去することができる。
【背景技術】
【０００２】
自動車システムにおいてソフトウェアおよびハードウェアを頻繁にアップグレードすることが必要になりつつあり、様々なコンテキストにおいて例を見つけることができる。例えば、構成部品が潜在的なセキュリティリスクを有する場合や、より高い精度のセンサが必要にとされる場合や、新しい安全技法が統合されることが期待される場合などである。自動車会社は、自社の自動車システムをアップグレードする課題に迅速に対応するように苦労している。
【０００３】
自動車システムにおける構成部品のアップグレードは、複数の構成部品がアップグレードによる影響を受ける可能性があるので、劇的な設計変更につながったり、さらにはシステム全体の再設計にもつながったりする場合がある。その結果、コストの増大や製品化までの時間増加が生じてしまう。
【発明の概要】
【０００４】
自動車は多くの構成部品を含む場合がある。各構成部品は、互換性モジュール（compatibility module）を含む場合がある。互換性モジュールは、アップグレードされた構成部品とアップグレードされていない構成部品との間の互換性を保ちながら、システムアップグレードを実施することができるモジュールである。
【０００５】
互換性モジュールは、ハードウェアとその上で動作するソフトウェアとの間に存在することが好ましい。互換性モジュールは、ソフトウェアコンポーネント同士の間に存在してもよい。
【０００６】
互換性モジュールは、アップグレードされた構成部品を識別し、アップグレードされた構成部品からもたらされる非互換性を分類することが好ましい。
【０００７】
互換性モジュールは、互換性機能（compatibility function）を選択および適用して、アップグレードされた構成部品とアップグレードされていない構成部品との間のギャップを埋めることが好ましい。これらの互換性機能は、これらの構成部品をシームレスな方法で協働させるために開発されている。互換性機能は、実行時間（execution time）、周期（period）、暗号化アルゴリズム（encryption algorithm）、インターフェース（interface）などの変更を管理するように構成されてもよい。互換性モジュールは、非互換性の
カテゴリに対応して、互換性機能を選択することが好ましい。たとえば、周期調整機能は、２つの構成部品用の周期の間の非互換性に適用することができる。
【０００８】
たとえば、センサと、センサを管理するエンジン制御ユニットとを含む簡単な自動車システムを考える。システムをアップグレードしてセンサを新しいセンサと交換し、新しいセンサは前のセンサよりも速い周期（またはレート）で動作すると仮定する。エンジン制御ユニットは、遅い周期で動作していた前のセンサと協調して動作するように構成されている。エンジン制御ユニットは互換性モジュールを含み、この互換性モジュールは、非互換性を識別し、速い周期で動作するようにエンジン制御ユニットの動作を修正し、それに
より非互換性を訂正する。互換性モジュール自体は、エンジン制御ユニットの周期を制御する周期パラメータを記憶する。互換性モジュールは、速い周期、および、結果としてセンサとセンサを管理するエンジン制御ユニットとの間の非互換性の除去をもたらす周期パラメータを記憶するように、それ自体を修正する。もしも互換性モジュールがなかった場合には、エンジン制御ユニットを、新しいセンサとの互換性がある新しいエンジン制御ユニットと交換する必要があり、それにより、アップグレードのためのコストおよび実装時間が増大したはずである。
【０００９】
したがって、互換性モジュールに自動車システムのアップグレード可能な構成要素を含めることは、頻繁なハードウェアおよびソフトウェアのアップグレードの問題に対する、コスト効率が高く柔軟な解決策である。この手法は、たとえば、少数の構成部品のアップグレードによって引き起こされるシステムレベルの変更を回避することができるので、コスト効率が高い。この手法は、たとえば、増分方式のアップグレードを可能にする、すなわち、すべての関連構成部品を同時にアップグレードする必要がないので、柔軟である。
【００１０】
次に、例示的な実施形態を記載する。
【００１１】
１つまたは複数のプロセッサのシステムは、動作中にシステムにアクション（action）を実行させる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有するおかけで、特定の動作またはアクションを実行するように構成することができる。１つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると装置にアクションを実行させる命令を含むおかけで、特定の動作またはアクションを実行するように構成することができる。
【００１２】
１つの一般態様は、センサシステムとエンジン制御ユニットシステムとの間の非互換性を除去するシステムである。システムは、エンジン制御ユニットシステムに通信可能に結合されたセンサシステムを含む自動車を含む。
センサシステムは、センサおよびセンサモジュールに通信可能に結合された第１の互換性モジュールを含む。センサは、物理環境（physical environment）の属性（attribute
）を測定するように構成されたハードウェアを含む。センサモジュールは、自動車のプロセッサによって実行されることに応答して、センサによって測定された物理環境の測定値を記述するセンサデータを記録し、エンジン制御ユニットシステムにセンサデータを供給する処理をセンサに行わせる命令を含む。
エンジン制御ユニットシステムは、エンジン制御ユニットおよびエンジン制御ユニットモジュールに通信可能に結合された第２の互換性モジュールを含む。エンジン制御ユニットは、自動車の性能を管理するように構成されたハードウェアを含み、エンジン制御ユニットモジュールは、プロセッサによって実行されることに応答して、センサデータに応答して自動車の性能を修正するべきかどうかを判定する処理をエンジン制御ユニットに行わせる命令を含む。
第１の互換性モジュールは、センサおよびセンサモジュールの第１の動作を制御するセンサ性能パラメータの第１のセットを記憶する第１のデータ構造を含み、第１のセットに含まれるセンサ性能パラメータを修正すると、センサおよびセンサモジュールのうちの１つまたは複数の第１の動作が修正されるように構成される。
第２の互換性モジュールは、エンジン制御ユニットおよびエンジン制御ユニットモジュールの第２の動作を制御するエンジン制御ユニット性能パラメータの第２のセットを記憶する第２のデータ構造を含み、第２のセットに含まれるエンジン制御ユニット性能パラメータを修正すると、エンジン制御ユニットおよびエンジン制御ユニットモジュールのうちの１つまたは複数の第２の動作が修正されるように構成される。
第１の互換性モジュールおよび第２の互換性モジュールのうちの１つまたは複数は、スーパーバイザモジュールをさらに含む。スーパーバイザモジュールは、プロセッサによっ
て実行されると、
（１）センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの１つまたは複数に対する更新を検出する検出ステップと、
（２）更新によってもたらされたセンサシステムとエンジン制御ユニットシステムとの間の非互換性を識別する識別ステップと、
（３）第１の互換性モジュールに含まれる第１のセットおよび第２の互換性モジュールに含まれる第２のセットのうちの１つまたは複数に対する１つまたは複数の修正を、当該修正が前記非互換性を除去するように決定する決定ステップと、
（４）前記非互換性を除去するために、第１の互換性モジュールに含まれる第１のセットおよび第２の互換性モジュールに含まれる第２のセットのうちの１つまたは複数を修正する修正ステップと、
を含む処理を、プロセッサに実行させる命令を含む。
本態様の他の実施形態は、対応するコンピュータシステム、装置、および、１つまたは複数のコンピュータストレージデバイスに記録され、各々が方法のアクションを実行するように構成されたコンピュータプログラムを含む。
【００１３】
実装形態は、以下の特徴のうちの１つまたは複数を含む場合がある。非互換性がセンサシステムとエンジン制御ユニットシステムとの間のスケジューリングの非互換性であり、決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの１つまたは複数用のスケジューリングパラメータを調整して、非互換性を除去することを含む、システム。
非互換性がセンサシステムとエンジン制御ユニットシステムとの間の周期の非互換性であり、決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの１つまたは複数用の周期パラメータを調整して、非互換性を除去することを含む、システム。
非互換性がセンサシステムとエンジン制御ユニットシステムとの間の仕様の非互換性であり、決定された修正が、センサおよびエンジン制御ユニットのうちの１つまたは複数用の前の仕様の使用を調整して、非互換性を除去することを含む、システム。
更新が、センサをアンインストールすることと、センサを新しいセンサと交換することとを含む、システム。
更新が、センサモジュールをアンインストールすることと、センサモジュールを新しいセンサモジュールと交換することとを含む、システム。
更新が、エンジン制御ユニットをアンインストールすることと、エンジン制御ユニットを新しいエンジン制御ユニットと交換することとを含む、システム。
更新が、エンジン制御ユニットモジュールをアンインストールすることと、エンジン制御ユニットモジュールを新しいエンジン制御ユニットモジュールと交換することとを含む、システム。
プロセッサがエンジン制御ユニットの構成要素である、システム。
【００１４】
１つの一般態様は、自動車に含まれるセンサシステムとエンジン制御ユニットシステムとの間の非互換性を除去する方法を含む。センサシステムは、センサおよびセンサモジュールに通信可能に結合された第１の互換性モジュールを含む。エンジン制御ユニットシステムは、エンジン制御ユニットおよびエンジン制御ユニットモジュールに通信可能に結合された第２の互換性モジュールを含む。第１の互換性モジュールは、センサおよびセンサモジュールの第１の動作を制御するセンサ性能パラメータの第１のセットを記憶する第１のデータ構造を含み、第１のセットに含まれるセンサ性能パラメータを修正すると、センサおよびセンサモジュールのうちの１つまたは複数の第１の動作が修正されるように構成される。第２の互換性モジュールは、エンジン制御ユニットおよびエンジン制御ユニットモジュールの第２の動作を制御するエンジン制御ユニット性能パラメータの第２のセットを記憶する第２のデータ構造を含み、第２のセットに含まれるエンジン制御ユニット性能
パラメータを修正すると、エンジン制御ユニットおよびエンジン制御ユニットモジュールのうちの１つまたは複数の第２の動作が修正されるように構成される。本態様に係る方法は、
（１）センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの１つまたは複数に対する更新を検出するステップと、
（２）更新によってもたらされたセンサシステムとエンジン制御ユニットシステムとの間の非互換性を識別するステップと、
（３）プロセッサにより、第１の互換性モジュールの第１のデータ構造内に記憶される第１のセットおよび第２の互換性モジュールの第２のデータ構造内に記憶される第２のセットのうちの１つまたは複数に対する１つまたは複数の修正を、当該修正が前記非互換性を除去するように決定するステップと、
（４）前記非互換性を除去するために、第１の互換性モジュールに含まれる第１のセットおよび第２の互換性モジュールに含まれる第２のセットのうちの１つまたは複数を修正するステップと、
を含む。本態様の他の実施形態は、対応するコンピュータシステム、装置、および、１つまたは複数のコンピュータストレージデバイスに記録され、各々が方法のアクションを実行するように構成されたコンピュータプログラムを含む。
【００１５】
実装形態は、以下の特徴のうちの１つまたは複数を含む場合がある。
非互換性がセンサシステムとエンジン制御ユニットシステムとの間のスケジューリングの非互換性であり、決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの１つまたは複数用のスケジューリングパラメータを調整して、非互換性を除去することを含む、方法。
非互換性がセンサシステムとエンジン制御ユニットシステムとの間の周期の非互換性であり、決定された修正が、センサ、センサモジュール、エンジン制御ユニット、およびエンジン制御ユニットモジュールのうちの１つまたは複数用の周期パラメータを調整して、非互換性を除去することを含む、方法。
非互換性がセンサシステムとエンジン制御ユニットシステムとの間の仕様の非互換性であり、決定された修正が、センサおよびエンジン制御ユニットのうちの１つまたは複数用の前の仕様の使用を調整して、非互換性を除去することを含む、方法。
更新が、センサをアンインストールすることと、センサを新しいセンサと交換することとを含む、方法。
更新が、センサモジュールをアンインストールすることと、センサモジュールを新しいセンサモジュールと交換することとを含む、方法。
更新が、エンジン制御ユニットをアンインストールすることと、エンジン制御ユニットを新しいエンジン制御ユニットと交換することとを含む、方法。
更新が、エンジン制御ユニットモジュールをアンインストールすることと、エンジン制御ユニットモジュールを新しいエンジン制御ユニットモジュールと交換することとを含む、方法。
プロセッサがエンジン制御ユニットの構成要素である、方法。
自動車が自律的な車両である、方法。
記載される技法の実装形態は、ハードウェア、方法もしくはプロセス、またはコンピュータアクセス可能媒体上のコンピュータソフトウェアを含む場合がある。
【００１６】
１つの一般態様は、コンピュータコードを含む非一時的メモリを含み、コンピュータコードは、プロセッサによって実行されると、センサシステムおよびエンジン制御ユニットシステムのうちの１つまたは複数に対する更新を検出することであって、センサシステムが、センサおよびセンサモジュールに通信可能に結合された第１の互換性モジュールを含み、エンジン制御ユニットシステムが、エンジン制御ユニットおよびエンジン制御ユニットモジュールに通信可能に結合された第２の互換性モジュールを含む、検出することと、
更新によってもたらされたセンサシステムとエンジン制御ユニットシステムとの間の非互換性を識別することと、第１の互換性モジュールの第１のデータ構造内に記憶される第１のセットおよび第２の互換性モジュールの第２のデータ構造内に記憶される第２のセットのうちの１つまたは複数に対する１つまたは複数の修正を決定することであって、修正が非互換性を除去するように構成され、第１のセットに含まれるセンサ性能パラメータを修正すると、センサおよびセンサモジュールのうちの１つまたは複数の第１の動作が修正されるように、第１のセットがセンサおよびセンサモジュールの第１の動作を制御する１つまたは複数のセンサ性能パラメータを含み、第２のセットに含まれるエンジン制御ユニット性能パラメータを修正すると、エンジン制御ユニットおよびエンジン制御ユニットモジュールのうちの１つまたは複数の第２の動作が修正されるように、第２のセットがエンジン制御ユニットおよびエンジン制御ユニットモジュールの第２の動作を制御する１つまたは複数のエンジン制御ユニット性能パラメータを含む、決定することと、第１の互換性モジュールに含まれる第１のセットおよび第２の互換性モジュールに含まれる第２のセットのうちの１つまたは複数を修正することであって、修正が非互換性を除去する、修正することとを含むステップをプロセッサに実行させる。本態様の他の実施形態は、対応するコンピュータシステム、装置、および、１つまたは複数のコンピュータストレージデバイスに記録され、各々が方法のアクションを実行するように構成されたコンピュータプログラムを含む。
【００１７】
さらに他の態様は、通信可能に構成された複数のデバイスを含む自動車システムである。前記複数のデバイスはいずれも、ハードウェア要素と、当該ハードウェア要素上で実行されるソフトウェア要素とを含む。前記複数のデバイスの少なくともいずれかは、前記ハードウェア要素上で実行される互換性モジュールを含む。前記互換性モジュールは、他のデバイスとの間でやりとりされるデータの形式を変換する変換モジュールと、前記複数のデバイスのハードウェア要素またはソフトウェア要素の更新を検出する検出モジュールと、前記更新によってもたらされた非互換性を識別する識別モジュールと、前記非互換性を除去するように、前記変換モジュールの動作を決定する決定モジュールと、を含む。
【００１８】
変換モジュールは、他のデバイスから送信されて、ホストデバイス（この変換モジュールを有するデバイス）によって処理されるデータの形式を変換するものであってよい。この場合、互換性モジュールは、他のデバイスからデータを受信するデバイスのみに設けられていてもよい。あるいは、変換モジュールは、ホストデバイスから他のデバイスに送信されるデータの形式を変換するものであってもよい。この場合、互換性モジュールは、他のデバイスに対してデータを送信するデバイスのみに設けられていてもよい。
【００１９】
前記非互換性はデバイス間のスケジューリングの非互換性であり、前記変換モジュールはスケジューリングパラメータを変更して非互換性を除去するモジュールであってよい。前記非互換性はデバイス間の周期の非互換性であり、前記変換モジュールはレート変換を実行するモジュールであってもよい。前記非互換性はデバイス間の仕様の非互換性であり、前記変換モジュールは前記データの仕様を変更するモジュールであってもよい。
【００２０】
各デバイスのハードウェア要素およびソフトウェア要素は、その動作設定を記述した特性プロパティを有するように構成し、システム内の各デバイスの互換性モジュールは、システム内の各デバイスの特性プロパティを参照可能に構成されることができる。互換性モジュールは、特性プロパティを参照することで、デバイスの更新および非互換性を検出することができる。
【００２１】
前記複数のデバイスは、１つまたは複数のセンサコンポーネントと、１つまたは複数のＥＣＵコンポーネントとを含んでもよい。この場合、前記ＥＣＵコンポーネントは、前記１つまたは複数のセンサコンポーネントから送信されるデータに基づいて処理を実行し、
前記ＥＣＵコンポーネントに前記互換性モジュールが設けられ、当該互換性モジュールの前記変換モジュールは、前記ＥＣＵコンポーネントから送信されるデータの形式を変換するように構成してもよい。もっとも、ＥＣＵコンポーネントは他のＥＣＵコンポーネントから送信されるデータにも基づいて処理を実行するように構成されてもよい。また、センサコンポーネントに互換性モジュールを設けて、センサコンポーネントから送信されるデータの形式を変換して非互換性を除去するように構成してもよい。
【図面の簡単な説明】
【００２２】
本開示は、添付図面の図において限定ではなく例として示され、添付図面では、同様の構成要素を参照するために同様の参照番号が使用される。
【００２３】
【図１Ａ】従来技術のシステムを示すブロック図である。
【００２４】
【図１Ｂ】適応環境理解システム用の動作環境を示すブロック図である。
【００２５】
【図１Ｃ】適応システムを実装するための動作環境を示すブロック図である。
【００２６】
【図２Ａ】自動車の１組の適応システムを実装するための例示的なシステムを示すブロック図である。
【００２７】
【図２Ｂ】自動車の適応システムの例示的な実施形態を示すブロック図である。
【図２Ｃ】非互換性モジュールの例示的なアーキテクチャを示す図である。
【００２８】
【図３Ａ】適応システムの構成部品をアップグレードするための方法についての例示的なフローチャートを示すブロック図である。
【図３Ｂ】適応システムの構成部品をアップグレードするための方法についての例示的なフローチャートを示すブロック図である。
【００２９】
【図４Ａ】その中の１組の適応システムがアップグレードされようとしているシステムの例示的な実施形態を示すブロック図である。
【００３０】
【図４Ｂ】図４Ａのシステムの構成部品に対するアップグレードを記述する表である。
【００３１】
【図４Ｃ】図４Ａおよび図４Ｂに記述されたアップグレードからもたらされる１組の非互換性を訂正する互換性モジュールに対する修正を記述する表である。
【発明を実施するための形態】
【００３２】
将来の自動車システムは、ハードウェアおよびソフトウェアの構成部品に対する高コスト効率かつ柔軟なアップグレードを必要とする場合がある。自動車の買換えサイクルは通常長いが、技術はそれより速いペースで発展していることがその理由である。たとえば、ハッカーは短期間でソフトウェアおよびハードウェアの欠陥を見つけることができるので、新しい車を買うことを待つ代わりに、安全上の懸念から即座にアップグレードすることが必要とされる。別の例では、はるかに高い解像度のセンサがはるかに低い価格で市場に出ている場合があるので、人々は、新しい車両を買う代わりに古いセンサを交換することに前向きである。しかしながら、現在の自動車システム内の構成部品をアップグレードすることは効率的でなく、しばしばシステムの再設計にもつながる。これは、（１）アップグレードされた構成部品と自動車システムの残りの構成部品と間の非互換性、および（２）自動車システムの設計複雑度の増大、すなわち、アップグレードされた構成部品は交換した前の構成部品よりも複雑になる可能性があることに起因する。
【００３３】
自動車構成部品の間の非互換性は、２つのカテゴリに分けられる。１番目のカテゴリは、実行時間の変更や実行周期の変更などの、タイミング特性の変更である。
【００３４】
実行時間の変更は、ソフトウェアとハードウェアの両方のアップグレードからもたらされる場合がある。たとえば、ソフトウェアのアップグレードによってソフトウェア内の新機能が追加され、ソフトウェアによって操作されるハードウェアの実行時間を修正するようにアップグレードされる場合がある。また、ハードウェアのアップグレードは、既存のエンジン制御ユニット（「ＥＣＵ」）をより高速なＥＣＵに交換することを含む場合がある。
【００３５】
実行周期の変更は、ソフトウェアとハードウェアの両方のアップグレードからもたらされる場合がある。たとえば、センサに対するソフトウェアのアップグレードは、ソフトウェアによって操作されるセンサ用のサンプリングレートが向上するようにセンサの周期を増大させる場合がある。また、ハードウェアのアップグレードは、より短い実行周期を有し、より高いサンプリングレートで動作可能でありより正確な新しいセンサをインストールすることを含む場合がある。
【００３６】
タイミング特性における変更は、それらを慎重に扱わない場合、破局的なタイミング障害につながる場合がある。
【００３７】
２番目のカテゴリは、ソフトウェアに関連する仕様変更である。たとえば、１つのソフトウェアについての仕様がアップグレードして、暗号化アルゴリズムを変更したり、メッセージフォーマットを変更したりする場合がある。そのような変更により、自動車の構成部品の間の非互換性がもたらされる場合がある。この非互換性は、アップグレードされた構成部品と元の構成部品との間の不整合の結果として生じうる。たとえば、センサ用のソフトウェアは、センサデータを記録するときにより多くのビットを使用するようにアップグレードされ、したがって、他の構成部品がセンサデータを読取ることができなくなる場合がある。
【００３８】
図１Ａは、例示的な従来技術の自動車１３３を示すブロック図である。自動車１３３の描写された構成部品は、第１のセンサ１９１、第１のＥＣＵ１９５、第２のセンサ１９２、第２のＥＣＵ１９６、第３のＥＣＵ１９７などの従来の構成要素の１つまたは複数を含む環境理解システム（environment perception system）を形成する。第１のセンサ１９
１は、第１のＥＣＵ１９５および第２のＥＣＵ１９６に通信可能に結合することができる。第２のセンサ１９２は、第２のＥＣＵ１９６および第３のＥＣＵ１９７に通信可能に結合することができる。第１のセンサ１９１は、センサソフトウェア１６０を含む場合がある。センサソフトウェア１６０は、第１のセンサ１９１がその機能を実現することを可能にするように構成された、コードおよびルーチンを含む場合がある。第２のＥＣＵ１９６は、ＥＣＵソフトウェア１６４を含む場合がある。ＥＣＵソフトウェア１６４は、ＥＣＵが第１のセンサ１９１および第２のセンサ１９２との動作においてその機能を実現することを可能にするように構成された、コードおよびルーチンを含む場合がある。
【００３９】
ユーザが、より良い障害物検出のために第１のセンサ１９１をアップグレードすることを希望し、第１のセンサ１９１を周期がより短い高解像度センサ（図示せず）と交換すると仮定する。この変更によって、新しい障害物検出アルゴリズムを含むようにＥＣＵソフトウェア１６４を更新して、第２のＥＣＵ１９６が新しいセンサと互換性があるようにする必要が生じるとさらに仮定する。第１のセンサ１９１およびＥＣＵソフトウェア１６４は、第２のセンサ１９２および第１のＥＣＵ１９５などの他の構成部品と通信可能に結合されるので、これらの他の構成部品も、この１つのセンサのアップグレードに適応するよ
うにアップグレードされる必要があり得る。たとえば、新しいセンサはより短い周期を有し、第１のＥＣＵ１９５は新しいセンサから以前よりも多くのセンサデータを受信するので、第１のＥＣＵ１９５または第１のＥＣＵ１９５上で動作するソフトウェア（図示せず）に対して何らかの調整が行われなければならない。新しいセンサに適応するためにアップグレードされたソフトウェアを有する第２のＥＣＵ１９６に接続された第２のセンサ１９２に対して同じ問題が発生する。その上、第２のセンサ１９２が非互換性問題のためのいくつかの変更を行う場合、第３のＥＣＵ１９７は、第２のセンサ１９２ともはや互換性がない場合があり、これは第３のＥＣＵ１９７も更新される必要があることを意味する。結局、適応環境理解システム１００内のすべての構成部品が変更される必要がある。したがって、環境理解システムの構成部品におけるわずかな変更により、環境理解システム全体にわたって大きな変更がもたらされる場合がある。
【００４０】
図１Ｂは、適応環境理解システム１００（本明細書では「システム１００」）を実装するためのシステム１００を示すブロック図である。適応環境理解システム１００は、自動車１２３の構成要素であり得る。
【００４１】
図１Ｂは、１組の自動車構成部品１０１、１０２、１０５、１０６、１０７の例示的な使用事例を描写する。これらの自動車構成部品は、各々が互換性モジュール１９９を含み、それにより、下記でより詳細に記載されるようにシステム１００が適応することが可能になるように構成されている。図１Ｂにおいて描写された例示的な使用事例では、第１のセンサ１０１および第２のＥＣＵ１０６の障害物モジュール１８４は、アップグレードの一部として新しい構成部品と交換される場合がある。（第１のセンサ１０１を交換する新しいセンサを含む）システム１００の各構成部品１０２、１０５、１０６、１０７は、それ自体の互換性モジュール１９９を含む。互換性モジュール１９９は、（新しいセンサおよびその第１のセンサモジュール、ならびに新しい障害物モジュールを含む）システム１００の自動車構成部品１０２、１１１、１０５、１８２、１０６、１０７、１８６の間の非互換性の存在を識別し、第１のセンサ１０１および障害物モジュール１８４の他にさらなる構成部品を交換する必要なしに非互換性を除去するための対策を講じることができる。以下でより詳細に互換性モジュール１９９を記載する。
【００４２】
システム１００は、第１のセンサ１０１、第２のセンサ１０２、第１のＥＣＵ１０５、第２のＥＣＵ１０６、第３のＥＣＵ１０７などの自動車構成部品のうちの１つまたは複数を含む。これらの構成部品の各々は、互換性モジュール１９９Ａ、１９９Ｂ、１９９Ｃ、１９９Ｄ、１９９Ｅを含み、互換性モジュール１９９Ａ、１９９Ｂ、１９９Ｃ、１９９Ｄ、１９９Ｅの機能に従って動作するように構成される。したがって、第１のセンサ１０１は、第１の互換性モジュール１９９Ａを含み、第１の互換性モジュール１９９Ａの機能に従って動作するように修正されるので、従来公知のセンサとは異なる。同様に、第２のセンサ１０２、第１のＥＣＵ１０５、第２のＥＣＵ１０６、および第３のＥＣＵ１０７も、各々互換性モジュール１９９Ｂ、１９９Ｃ、１９９Ｄ、１９９Ｅを含み、互換性モジュール１９９Ｂ、１９９Ｃ、１９９Ｄ、１９９Ｅの機能に従って動作するように設計および構成されるので、従来公知の自動車構成部品とは異なる。
【００４３】
第１のセンサ１０１は、第１のＥＣＵ１０５および第２のＥＣＵ１０６に通信可能に結合することができる。第２のセンサ１０２は、第２のＥＣＵ１０６および第３のＥＣＵ１０７に通信可能に結合することができる。
【００４４】
第１のセンサ１０１は、第１のセンサ１０１および第１のセンサモジュール１１０に通信可能に結合された第１の互換性モジュール１９９Ａを含む。
【００４５】
第１のセンサ１０１は、物理環境の属性を測定するように構成されたハードウェアを含
む。たとえば、第１のセンサは、自動車１２３に近接する物理環境の画像を取り込むカメラである。
【００４６】
第１のセンサモジュール１１０は、自動車のプロセッサによって実行されることに応答して、第１のセンサ１０１によって測定された物理環境の測定値を記述するセンサデータを記録し、第１のＥＣＵ１０５または第２のＥＣＵ１０６にセンサデータを供給することを第１のセンサ１０１に行わせるコードおよびルーチンを含む。プロセッサは、第１のセンサ１０１、第１のＥＣＵ１０５、第２のＥＣＵ１０６、または自動車１２３に含まれる何らかの車載型コンピュータの構成要素である。
【００４７】
第２のセンサ１０２は、第２のセンサ１０２および第２のセンサモジュール１１１に通信可能に結合された第２の互換性モジュール１９９Ｂを含む。
【００４８】
第２のセンサ１０２および第２のセンサモジュール１１１は、それぞれ第１のセンサ１０１および第１のセンサモジュール１１０と同様の機能を含むので、それらの説明はここでは繰り返さない。
【００４９】
第２のセンサ１０２は、車道上の障害物を検出したり車道の形状を特定したりすることが可能なセンサデータを供給するように構成された、センサまたはセンサの組合せである。たとえば、第２のセンサ１０２は、ＬＩＤＡＲカメラ、または第２のＥＣＵ１０６もしくは第３のＥＣＵ１０７がその機能を実現するために必要なセンサデータを供給する他の何らかの自動車センサであり得る。
【００５０】
第１のＥＣＵ１０５は、第１のＥＣＵ１０５および位置特定モジュール１８２に通信可能に結合された第３の互換性モジュール１９９Ｃを含む。
【００５１】
第１のＥＣＵ１０５は、それが受信するセンサデータに少なくとも部分的に基づいて、自動車１２３の性能または動作を管理するように構成された、プロセッサベースのコンピュータデバイスを含んでもよい。
【００５２】
たとえば、第１のＥＣＵ１０５は、自動車１２３のエンジン上の１組のアクチュエータを制御して、最適または実質的に最適なエンジン性能を保証するために必要なハードウェアや通信的な結合を含む場合がある。第１のＥＣＵ１０５は、（第１のセンサ１０１などの）１つまたは複数のセンサからセンサデータを受信し、１つまたは複数の多次元性能マップ（multidimensional performance maps）または参照テーブル（lookup tables）を使用してセンサデータを解釈し、次いで、それに応じてエンジンアクチュエータを調整して、最適または実質的に最適なエンジン性能を実現することができる。
【００５３】
第１のＥＣＵ１０５は、１つまたは複数の他のＥＣＵと協働して、自動車１２３のエンジン性能を制御することができる。たとえば、第１のＥＣＵ１０５は、第２のＥＣＵ１０６および第３のＥＣＵ１０７と協働して、自動車１２３のエンジン性能を制御することができる。
【００５４】
いくつかの実施形態では、自動車１２３は、ＥＣＵ１０５、１０６、１０７のうちの１つまたは複数によって制御される複数のエンジンを含む。
【００５５】
第１のＥＣＵ１０５は、エンジン制御ユニットモジュール（図示せず）を含んでもよい。エンジン制御ユニットモジュールはプログラム（命令）を含み、当該プログラムは、プロセッサによって実行されると、センサデータに応答して自動車の性能を修正するべきかどうかを第１のＥＣＵ１０５に判定させる。プロセッサは第１のＥＣＵ１０５の構成要素
であってよい。第１のＥＣＵ１０５は、上記プログラムやその他のデータを非一時的に格納する非一時的メモリを含む。
【００５６】
図１Ｂに描写されたように、第１のＥＣＵ１０５は位置特定モジュール１８２を含む。位置特定モジュール１８２は、プロセッサによって実行されることに応答して、第１のセンサ１０１から受信されたセンサデータの位置特定をプロセッサに実現させるコードおよびルーチンを含む。たとえば、センサデータが分析されて、センサデータのどの部分が自動車１２３の現在位置に関係するかが特定される。
【００５７】
第２のＥＣＵ１０６は、第２のＥＣＵ１０６および障害物モジュール１８４に通信可能に結合された第４の互換性モジュール１９９Ｄを含む場合がある。第３のＥＣＵ１０７は、第３のＥＣＵ１０７および道路形状モジュール１８６に通信可能に結合された第５の互換性モジュール１９９Ｅを含む。第２のＥＣＵ１０６および第３のＥＣＵ１０７は、第１のＥＣＵ１０５と同様の機能を含むので、それらの説明はここでは繰り返さない。
【００５８】
障害物モジュール（obstacle module）１８４は、プロセッサによって実行されること
に応答して、第２のＥＣＵ１０６に対して、第１のセンサ１０１および第２のセンサ１０２から受信されたセンサデータを分析して、自動車１２３の物理環境内の１つまたは複数の障害物を識別させる処理を実行させるコードおよびルーチンを含む。
【００５９】
道路形状モジュール（road shape module）１８６は、プロセッサによって実行される
ことに応答して、第３のＥＣＵ１０７に対して、第２のセンサ１０２から受信されたセンサデータを分析して、自動車１２３の物理環境内の道路の形状を識別させる処理を実行させるコードおよびルーチンを含む。
【００６０】
図１Ｂでは、第１のセンサ１０１および障害物モジュール１８４を更新する必要があると仮定する。たとえば、第１のセンサ１０１を、新しいハードウェア（すなわち、異なるセンサ）と交換する必要があり、障害物モジュール１８４のコードおよびルーチンを、新しいコードおよびルーチンに交換する（あるいは、既存のコードおよびルーチンを修正する、すなわちパッチをあてる）必要があると仮定する。図１Ａを参照して説明されたように、そのような更新は、通常、システムの構成要素間の多数の非互換性をもたらす場合がある。システム１００に存在するすべての非互換性を除去するに、システム１００の全ての構成要素を交換しなければならない事態も想定される。しかしながら、図１Ｂでは、システム１００の各構成要素は、（個別に呼ばれるか、または総称して「互換性モジュール１９９」と呼ばれる）互換性モジュール１９９Ａ、１９９Ｂ、１９９Ｃ、１９９Ｄ、１９９Ｅを含むので、このような全体的な交換は不要となる。
【００６１】
いくつかの実施形態では、互換性モジュール１９９は、システム１００に存在する任意の非互換性を除去するように互換性モジュール１９９自体が修正されるように構成される。これにより、システムに存在するすべての非互換性を除去するために、さらなる構成部品の交換を不要にできる。
【００６２】
いくつかの実施形態では、互換性モジュール１９９は、ハードウェア（たとえば、非一時的データ構造）と、コードおよびルーチン（たとえば、スーパーバイザモジュール、ならびにいくつかの実施形態における他のモジュール）との組合せを含む場合がある。
【００６３】
いくつかの実施形態では、互換性モジュール１９９は、ハードウェア（たとえば、第１のセンサ１０１）、ならびにハードウェアと関連付けられたコードおよびルーチン（たとえば、第１のセンサモジュール１１０）の動作を制御する１組（１セット）の性能パラメータを記憶する非一時的データ構造を含む。パラメータ、およびデータ構造内のパラメー
タの記憶は、セットに含まれる性能パラメータを修正するとハードウェアまたはコードおよびルーチンの動作が修正されるように構成される。非一時的データ構造は、図２Ｂを参照して下記に記載されるメモリ２２７を含む。
【００６４】
いくつかの実施形態では、互換性モジュール１９９は、スーパーバイザモジュール（たとえば、図２Ｂの構成要素２０８を参照）を含む。スーパーバイザモジュールは、プロセッサによって実行されると、
（１）タイミング特性の変更をもたらすシステム１００の構成要素のうちの１つまたは複数に対する更新を検出する検出ステップ、
（２）更新によってもたらされた非互換性を識別する識別ステップ、
（３）性能パラメータのうちの１つまたは複数に対する１つまたは複数の修正であって非互換性を除去するように構成される修正を決定する決定ステップ、および、
（４）そのデータ構造が非互換性を除去ように構成された１つまたは複数の新しい性能パラメータを記憶するように、互換性モジュールを修正する修正ステップ、
をプロセッサに実行させる、コードおよびルーチンを含む。
【００６５】
検出ステップ（システム１００の構成要素のうちの１つまたは複数に対する更新を検出するステップ）は、システム１００における新しい構成要素の存在を識別するステップを含む場合がある。
たとえば、第１のセンサ１０１を交換するために新しいセンサがシステム１００にインストールされた場合、第３の互換性モジュール１９９Ｃは、第１のセンサ１０１を呼び出し、新しいセンサの応答を受信し、それにより、第３の互換性モジュール１９９Ｃが、システム１００にインストールされた新しいセンサの存在を識別可能になる。
【００６６】
いくつかの実施形態では、互換性モジュール１９９は、システム１００の各構成要素のリストおよびシステム１００内の各構成要素の一意の識別子を含む識別データ構造を記憶することができる。新しい構成要素が追加された場合、識別データ構造はそれに応じて更新されることが望ましい。この識別データ構造は、システム１００における新しい構成要素の存在を識別するために使用されてもよい。この識別データ構造は、システム１００の構成要素の性能パラメータのうちの１つまたは複数を列挙してもよい。この識別データ構造は、システム１００の構成要素が新しい構成要素と交換されたときの性能パラメータ内の変更を記述してもよい。図４Ｂおよび図４Ｃは、識別データ構造の一例またはそのようなデータ構造の一部である表を示す。
【００６７】
識別ステップ（更新によってもたらされた非互換性を識別するステップ）は、
システム１００に追加された新しい構成要素からの出力信号を分析するステップと、
新しい構成要素とシステム１００の他の構成要素のうちの１つまたは複数との間の非互換性をもたらす、タイミング特性の変更またはソフトウェアに関連する仕様変更を出力信号が示すか否かを判断するステップと
を含んでもよい。
たとえば、新しいセンサが、交換前の第１のセンサ１０１の周期よりも短い周期（すなわち、高いか速い周期レート）を有する高解像度センサであるとする。この場合、交換によって、第１のＥＣＵ１０５がより多くのセンサデータを受信する結果になり、それにより第１のＥＣＵ１０５と新しいセンサとの間の非互換性がもたらされる。第３の互換性モジュール１９９Ｃは、この非互換性を識別することができる。
【００６８】
たとえば、第３の互換性モジュール１９９Ｃは、第１の互換性モジュール１９９Ａを照会して新しいセンサ用の周期パラメータを識別し、その周期パラメータが第１のＥＣＵ１０５用の現在の周期パラメータと互換性がないことを識別することができる。下記で説明されるように、第３の互換性モジュール１９９Ｃは、次いで、新しいセンサと互換性があ
るように第１のＥＣＵ１０５用の周期パラメータを更新するように構成される。
【００６９】
性能パラメータのうちの１つまたは複数に対する１つまたは複数の修正を決定する決定ステップは、識別された非互換性を除去するように構成された１つまたは複数の新しい性能パラメータを計算するステップを含んでもよい。互換性モジュール１９９の各々は、非互換性の存在を識別することに応答して、それらの関連するハードウェア構成部品の各々に対してこのステップを実行することができる。次いで、このようにして計算された修正が、データ構造に記憶された性能パラメータに適用される。
【００７０】
ソフトウェアに関連する仕様変更の識別を含むいくつかの実施形態では、性能パラメータのうちの１つまたは複数に対する１つまたは複数の修正を決定する決定ステップは、識別された非互換性を除去するように構成された１つまたは複数の新しい性能パラメータを計算するステップを含んでもよい。互換性モジュール１９９の各々は、非互換性の存在を識別することに応答して、それらの関連するハードウェア構成部品の各々に対してこのステップを実行することができる。
【００７１】
いくつかの実施形態では、スーパーバイザモジュールは、プロセッサによって実行されると、ソフトウェアに関連する仕様変更をもたらすシステム１００の構成要素のうちの１つまたは複数に対する更新を検出する検出ステップ、更新によってもたらされた非互換性を識別する識別ステップ、および、ハードウェア（たとえば、第１のセンサ１０１または第１のＥＣＵ１０５）がその機能をハードウェアに実現させるソフトウェア（たとえば、第１のセンサモジュール１１０または位置特定モジュール１８２）の前のバージョンを使用して動作するように、互換性モジュールを修正する修正ステップのうちの１つまたは複数をプロセッサに実行させる、コードおよびルーチンを含む。
【００７２】
互換性モジュール１９９は、図２Ａ、図２Ｂ、図２Ｃ、図３Ａ、図３Ｂ、図４Ａ、図４Ｂ、および図４Ｃを参照して下記でより詳細に記載される。
【００７３】
第１のセンサ１０１または第２のセンサ１０２は、カメラ、ＬＩＤＡＲセンサ、レーザー高度計、ナビゲーションセンサ（たとえば、全地球測位システム（ＧＰＳ）センサ）、赤外線検出器、動き検出器、サーモスタット、聴音機、一酸化炭素センサ、二酸化炭素センサ、酸素センサ、空気流量センサ、エンジン冷却剤温度センサ、スロットル位置センサ、クランクシャフト位置センサ、自動車エンジンセンサ、バルブタイマ、空燃比メータ、盲点メータ、カーブ感触器、欠陥検出器、ホール効果センサ、分技管絶対圧力センサ、駐車センサ、レーダーガン、速度計、速度センサ、タイヤ圧監視センサ、トルクセンサ、トランスミッション液温度センサ、タービン速度センサ（ＴＳＳ）、可変磁気抵抗センサ、車両速度センサ（ＶＳＳ）、水分センサ、ホイール速度センサ、および任意の他のタイプの自動車センサのうちの１つまたは複数を含んでもよい。
【００７４】
次に図１Ｃを参照すると、適応システム１４０を実装するための例示的な動作環境（operating environment）１２２を示すブロック図が描写される。
【００７５】
動作環境１２２は、自動車１２３およびサーバ１５０を含む。いくつかの実施形態では、動作環境１２２のこれらのエンティティは、デバイスとネットワーク１０８との間、またはデバイスと他のデバイスとの間の有線接続またはワイヤレス接続（たとえば、ミリメートル波通信、専用短距離通信（ＤＳＲＣ）、ワイヤレスフィデリティ（Ｗｉ−Ｆｉ）、セルラー（たとえば、３Ｇ、４Ｇ、ＬＴＥなど）、Ｂｌｕｅｔｏｏｔｈ（登録商標）など）を介して、ネットワーク１０８を介して通信可能に結合することができる。
【００７６】
ネットワーク１０８は、従来のタイプの有線またはワイヤレスであり得るし、星形構成
、トークンリング構成、または他の構成を含む、多数の様々な構成を有する場合がある。さらに、ネットワーク１０８は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）（たとえば、インターネット）、または、複数のデバイスがそれを介して通信することができる他の相互接続データパスを含む場合がある。いくつかの実装形態では、ネットワーク１０８はピアツーピアネットワークであり得る。ネットワーク１０８はまた、様々な異なる通信プロトコルでデータを送るための電気通信ネットワークの部分に結合される場合があるか、またはそれらを含む場合がある。いくつかの実装形態では、ネットワーク１０８は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メールなどを介して、データを送受信するためのＢｌｕｅｔｏｏｔｈ（登録商標）通信ネットワークまたはセルラー通信ネットワークを含む。ネットワーク１０８は、システム１００のエンティティ間のセルラー通信をサポートする機能またはハードウェアを含む場合もある。
【００７７】
自動車１２３は図１Ｂを参照して上述されたので、その説明はここでは繰り返さない。
【００７８】
自動車１２３は、適応システム１４０を含む場合がある。適応システム１４０は、互換性モジュール１９９を含み、互換性モジュール１９９の機能に従って動作するように構成された自動車１２３の構成部品を含む。たとえば、適応システム１４０は、互換性モジュール１９９を含み、互換性モジュール１９９の機能に従って動作するように構成されたセンサまたはＥＣＵを含む。第１のセンサ１０１、第２のセンサ１０２、第１のＥＣＵ１０５、第２のＥＣＵ１０６、および第３のＥＣＵ１０７は、適応システム１４０の例である。
【００７９】
適応システム１４０は、ソフトウェア構成部品１３０、互換性モジュール１９９、およびハードウェア構成部品１３２を含む。
【００８０】
ハードウェア構成部品１３２は、適応システム１４０のハードウェア機能を実現するハードウェアを含む。たとえば、図１Ｂでは、第１のセンサ１０１は、第１のセンサ１０１のハードウェア機能を実現したカメラハードウェアを含んでもよい。
【００８１】
ソフトウェア構成部品１３０は、適応システム１４０のソフトウェア機能を実現するコードおよびルーチンを含む。たとえば、図１Ｂでは、第１のセンサモジュール１１０は、第１のセンサ１０１のソフトウェア機能を実現したコードおよびルーチンを含んでもよい。
【００８２】
いくつかの実施形態では、ソフトウェア構成部品１３０は、ハードウェア構成部品１３２に関連付けられた任意のソフトウェアを含む。たとえば、ソフトウェア構成部品１３０は、ハードウェア構成部品１３２に関連付けられたセキュリティアルゴリズム、またはハードウェア構成部品１３２に関連付けられたメッセージングプロトコルであり得る。たとえば、ソフトウェア構成部品１３０は、ＥＣＵまたはセンサがハッキングされないように防止するセキュリティアルゴリズムであり得る。別の例では、ソフトウェア構成部品１３０は、メッセージが構成部品間でどのように送信されるかを制御するメッセージングプロトコルであり得る。他の例も考えられる。
【００８３】
互換性モジュール１９９は図１Ｂを参照して上述されたので、その説明はここでは繰り返さない。
【００８４】
いくつかの実施形態では、適応システム１４０のアーキテクチャは、互換性モジュール１９９がソフトウェア構成部品１３０とハードウェア構成部品１３２との間のレイヤであ
るように構成される。
【００８５】
アップグレード構成部品１３９は、適応システム１４０にインストールされるべき新しい構成部品を含む。アップグレード構成部品１３９は、ハードウェア構成部品（たとえば、新しいセンサ）またはソフトウェア構成部品（たとえば、新しいセンサモジュール）を含む場合がある。アップグレード構成部品１３９は、ソフトウェア構成部品１３０またはハードウェア構成部品１３２を交換することができる。
【００８６】
サーバ１５０は、メモリおよびプロセッサを含むコンピューティングデバイス、たとえば、サーバ、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、モバイル電話、ＰＤＡ、モバイル電子メールデバイス、携帯型ゲームプレーヤ、携帯型音楽プレーヤ、１つもしくは複数のプロセッサがその中に組み込まれるか、もしくはそれに結合されるテレビジョン、またはネットワーク１０８にアクセスすることが可能な他の電子デバイスを含む場合がある。
【００８７】
サーバ１５０は、ハードウェアサーバを含む場合がある。サーバ１５０は、サーバソフトウェアを記憶するメモリ、およびサーバソフトウェアを実行するためのプロセッサを含む場合がある。
【００８８】
サーバ１５０は、更新データ１４２を記憶することができる。更新データ１４２は、適応システム１４０にインストールされるべき、新しいソフトウェア構成部品または既存のソフトウェア構成部品１３０用のパッチであってもよい。このように、更新データ１４２は、アップグレード構成部品１３９の一タイプである。
【００８９】
サーバ１５０は、ネットワーク１０８を介して適応システム１４０に更新データ１４２を供給することができる。
【００９０】
いくつかの実装形態では、互換性モジュール１９９は、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）または特定用途向け集積回路（「ＡＳＩＣ」）を含むハードウェアを使用して実装される場合がある。いくつかの他の実装形態では、互換性モジュール１９９は、ハードウェアとソフトウェアの組合せを使用して実装される場合がある。互換性モジュール１９９は、デバイス（たとえば、サーバもしくは他のデバイス）の組合せ、またはデバイスのうちの１つに記憶される場合がある。
【００９１】
次に図２Ａを参照すると、１組の適応システムを実装するための例示的なシステム２００を示すブロック図が描写される。
【００９２】
システム２００は、第１の適応センサシステム１７０、第２の適応センサシステム１７２、第１の適応ＥＣＵシステム１７４、および第２の適応ＥＣＵシステム１７６を含む。システム２００の構成要素は、バス１２０を介して互いに通信可能に結合される。
【００９３】
システムはプロセッサ２２５を含む。プロセッサ２２５は、算術論理ユニット、マイクロプロセッサ、汎用コントローラ、または、計算を実行する他の何らかのプロセッサアレイを含む。いくつかの実装形態では、プロセッサ２２５は、ディスプレイデバイスに電子表示信号を供給することができる。プロセッサ２２５は、データ信号を処理し、複合命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、または命令セットの組合せを実装するアーキテクチャを含む、様々なコンピューティングアーキテクチャを含む場合がある。プロセッサ２２５は、グラフィカル処理ユニットを含む場合がある。図２Ａは単一のプロセッサ２２５を含むが、複数のプロセッサ２２５が含まれる場合がある。他のプロセッサ、オペレーティングシステム、
センサ、ディスプレイ、および物理構成が考えられ得る。
【００９４】
いくつかの実施形態では、プロセッサ２２５は、プロセッサベースのコンピューティングデバイスの構成要素であり得る。プロセッサベースのコンピューティングデバイスには、ラップトップ、タブレットコンピュータ、パーソナルコンピュータ、セットトップボックス、ハードウェアサーバ、ＥＣＵ、車載型コンピュータなどが含まれ得る。
【００９５】
第１の適応センサシステム１７０は、第１のセンサモジュール１１０、第１の互換性モジュール１９９Ａ、および第１のセンサ１０１のうちの１つまたは複数を含む。第１の適応センサシステム１７０のこれらの構成要素は図１Ｂおよび図１Ｃを参照して上述されたので、これらの説明はここでは繰り返さない。第１のセンサ１０１は、バス１２０に通信可能に結合される。第１の互換性モジュール１９９Ａは、プロセッサ２２５に通信可能に結合される。第１の適応センサシステム１７０は、物理環境を記述するセンサデータを記録し、センサデータをＥＣＵに供給するように構成される場合がある。
【００９６】
第２の適応センサシステム１７２は、第２のセンサモジュール１１１、第２の互換性モジュール１９９Ｂ、および第２のセンサ１０２のうちの１つまたは複数を含む。第２の適応センサシステム１７２のこれらの構成要素は図１Ｂおよび図１Ｃを参照して上述されたので、これらの説明はここでは繰り返さない。第２のセンサ１０２は、バス１２０に通信可能に結合される。第２の互換性モジュール１９９Ｂは、プロセッサ２２５に通信可能に結合される。第２の適応センサシステム１７２は、物理環境を記述するセンサデータを記録し、センサデータをＥＣＵに供給するように構成される場合がある。
【００９７】
第１の適応ＥＣＵシステム１７４は、第１のＥＣＵモジュール２１０、第２のＥＣＵモジュール２１２、第３の互換性モジュール１９９Ｃ、および第１のＥＣＵ１０５のうちの１つまたは複数を含む場合がある。第３の互換性モジュール１９９Ｃおよび第１のＥＣＵ１０５は図１Ｂおよび図１Ｃを参照して上述されたので、これらの説明はここでは繰り返さない。
【００９８】
第１のＥＣＵモジュール２１０は、プロセッサ２２５によって実行されると第１のＥＣＵ１０５に対して以下の処理を行わせる命令を含む。すなわち、当該命令が実行されると、自動車１２３の性能を修正するべきかどうかを、第１のセンサ１０１および第２のセンサ１０２のうちの１つまたは複数から受信されたセンサデータに基づいて判定させる処理を第１のＥＣＵ１０５に対して行わせる。
【００９９】
第１のＥＣＵモジュール２１０は、図１Ｂを参照して上述された位置特定モジュール１８２、障害物モジュール、または道路形状モジュール１８６のうちの１つまたは複数を含む。
【０１００】
第２のＥＣＵモジュール２１２は、第１のＥＣＵモジュール２１０と同様の機能を実現するように構成されたコードおよびルーチンを含む場合があるので、その説明はここでは繰り返さない。
【０１０１】
第１のＥＣＵ１０５は、バス１２０に通信可能に結合される。第３の互換性モジュール１９９Ｃは、プロセッサ２２５に通信可能に結合される。
【０１０２】
第２の適応ＥＣＵシステム１７６は、以下の第３のＥＣＵモジュール２１４、第４の互換性モジュール１９９Ｄ、および第２のＥＣＵ１０６のうちの１つまたは複数を含む。第２の適応ＥＣＵシステム１７６のこれらの構成要素は図１Ｂ、図１Ｃ、および図２Ａを参照して上述されたので、これらの説明はここでは繰り返さない。第２のＥＣＵ１０６は、
バス１２０に通信可能に結合される。第４の互換性モジュール１９９Ｄは、プロセッサ２２５に通信可能に結合される。
【０１０３】
各互換性モジュール１９９は、システム２００内の全てのデバイスのハードウェア構成部品とソフトウェア構成部品との間に存在することができる。たとえば、第１の適応センサシステム１７０のアーキテクチャは、第１の互換性モジュール１９９Ａが第１のセンサモジュール１１０と第１のセンサ１０１との間のレイヤであるように構成される。１組の構成部品が更新されると、デバイスのうちの１つまたは複数は、タイミングに関連する非互換性、またはソフトウェアに関連する仕様変更の非互換性に起因して、互いに互換性がなくなる場合がある。システム２００の各構成部品を交換する必要がある代わりに、影響を受けるデバイス用の互換性モジュール１９９を更新することができる。システム２００内の全てのデバイスが互換性モジュールを有することが好ましいが、デバイスが更新の影響を受けない場合には、そのデバイスは互換性モジュールを有していなくてもよい。
【０１０４】
いくつかの実施形態では、互換性モジュール１９９は、プロセッサ２２５によってアクセス可能な指定されたポートを含んでもよい。プロセッサ２２５は、ポートを介して互換性モジュール１９９を実行して、システム２００における１つまたは複数の非互換性を除去することができる。
【０１０５】
互換性モジュール１９９によって提供される構成部品アップグレードサポートは、多数の利益をもたらす。たとえば、システム２００の設計アーキテクチャを保持しながら、アップグレードを実施することができる。言い換えれば、システムにおけるすべての非互換性を除去するために、いくつかの実施形態では、影響を受ける互換性モジュール１９９しか更新される必要がないので、システム２００の設計アーキテクチャは、更新前と更新後を比較すると、元の設計から変更されずに残る。
【０１０６】
次に図２Ｂを参照すると、自動車１２３の適応システム１４０の例示的な実施形態を示すブロック図が描写される。いくつかの実装形態では、適応システム１４０は、図３Ａおよび図３Ｂを参照して下記に記載される方法３００の１つまたは複数のブロックを実施するようにプログラムまたは構成された、電子デバイスを含む場合がある。いくつかの実装形態では、適応システム１４０は、適応システム１４０を参照して上述された、または図３Ａおよび図３Ｂを参照して下記に記載される方法３００を参照して下記に記載される機能のうちのいくつかまたはすべてを実現するように構成された、専用コンピューティングデバイスを含む場合がある。
【０１０７】
適応システム１４０は、互換性モジュール１９９、プロセッサ２２５、メモリ２２７、通信ユニット２４５、ソフトウェア構成部品１３０、ハードウェア構成部品１３２、およびアップグレード構成部品１３９などの構成要素のうちの１つまたは複数を含む場合がある。適応システム１４０の構成部品は、バス２２０によって通信可能に結合される。いくつかの実施形態では、適応システム１４０の構成部品間の通信にバス２２０が必要でないように、適応システム１４０の構成部品は同じハードウェアに限られる。いくつかの実施形態では、バス２２０以外の通信構造または通信方法が実装される場合がある。
【０１０８】
プロセッサ２２５は、信号線２３４を介してバス２２０に通信可能に結合される。通信ユニット２４５は、信号線２３８を介してバス２２０に通信可能に結合される。ソフトウェア構成部品１３０は、信号線２３９を介してバス２２０に通信可能に結合される。ハードウェア構成部品１３２は、信号線２４０を介してバス２２０に通信可能に結合される。アップグレード構成部品１３９は、信号線２４２を介してバス２２０に通信可能に結合される。メモリ２２７は、信号線２３６を介してバス２２０に通信可能に結合される。
【０１０９】
プロセッサ２２５、ソフトウェア構成部品１３０、ハードウェア構成部品１３２、およびアップグレード構成部品１３９は図１Ｂ、図１Ｃ、および図２Ａを参照して上述されたので、これらの説明はここでは繰り返さない。
【０１１０】
メモリ２２７は、プロセッサ２２５によってアクセスおよび実行され得る命令またはデータを記憶する有形記憶媒体である。命令またはデータは、本明細書に記載される技法を実行するためのコードを含む場合がある。メモリ２２７は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、または他の何らかのメモリデバイスを含む場合がある。いくつかの実装形態では、メモリ２２７はまた、不揮発性メモリまたは同様の永続的なストレージデバイス、および、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、またはより永続的に情報を記憶するための他の何らかのマスストレージデバイスを含む媒体を含む。
【０１１１】
メモリ２２７は、更新データ１４２を含む。更新データ１４２は図１Ｃを参照して上述されたので、その説明はここでは繰り返さない。
【０１１２】
いくつかの実施形態では、メモリ２２７は、ソフトウェア構成部品１３０の１つまたは複数の前のバージョンを記憶することができる。ソフトウェアに関連する仕様変更によってもたらされた非互換性を除去するために、互換性モジュール１９９によりソフトウェア構成部品１３０の前のバージョンが再インストールされる場合がある。
【０１１３】
いくつかの実施形態では、メモリ２２７は、以下の通信モジュール２０２、識別モジュール２０４、分類モジュール２０６、スーパーバイザモジュール２０８、性能パラメータデータ２８０のうちの１つまたは複数を記憶する。
【０１１４】
通信ユニット２４５は、ネットワーク１０８にデータを送信し、ネットワーク１０８からデータを受信するハードウェアを含む場合がある。いくつかの実装形態では、通信ユニット２４５は、ネットワーク１０８または別の通信チャネルへの直接物理接続用のポートを含む。たとえば、通信ユニット２４５は、ネットワーク１０８との有線通信用のＵＳＢ、ＳＤ、ＣＡＴ−５、または同様のポートを含む。いくつかの実装形態では、通信ユニット２４５は、ネットワーク１０８とデータを交換するためのワイヤレストランシーバ、または、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、Ｂｌｕｅｔｏｏｔｈ（登録商標）、もしくは別の適切なワイヤレス通信方法を含む１つもしくは複数のワイヤレス通信方法を使用する他の通信チャネルを含む。
【０１１５】
いくつかの実装形態では、通信ユニット２４５は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール、または別の適切なタイプの電子通信を介して、セルラー通信ネットワーク上でデータを送受信するためのセルラー通信トランシーバを含む。いくつかの実装形態では、通信ユニット２４５は、有線ポートおよびワイヤレストランシーバを含む。通信ユニット２４５はまた、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ、およびＳＭＴＰなどを含む標準ネットワークプロトコルを使用して、ファイルまたはメディアオブジェクトを配信するための、ネットワーク１０８への他の従来の接続を提供する。
【０１１６】
いくつかの実装形態では、適応システム１４０は、以下の通信モジュール２０２、識別モジュール２０４、分類モジュール２０６、スーパーバイザモジュール２０８、および性能パラメータデータ２８０のうちの１つまたは複数を含む。
【０１１７】
通信モジュール２０２は、信号線２２２を介してバス２２０に通信可能に結合される。識別モジュール２０４は、信号線２２４を介してバス２２０に通信可能に結合される。分類モジュール２０６は、信号線２２６を介してバス２２０に通信可能に結合される。スーパーバイザモジュール２０８は、信号線２２８を介してバス２２０に通信可能に結合される。性能パラメータデータ２８０は、信号線２２９を介してバス２２０に通信可能に結合される。
【０１１８】
通信モジュール２０２は、互換性モジュール１９９、プロセッサ２２５、ソフトウェア構成部品１３０、ハードウェア構成部品１３２、アップグレード構成部品１３９、および他の適応システム１４０の互換性モジュール１９９などの構成要素のうちの１つまたは複数の間の通信を扱うように構成された、コードおよびルーチンを含む場合がある。いくつかの実装形態では、通信モジュール２０２は、上記で列挙された構成要素間の通信を扱うための下記に記載される機能を実現するために、プロセッサ２２５によって実行可能な１組の命令を含むことができる。いくつかの実装形態では、通信モジュール２０２は、適応システム１４０のメモリ２２７に記憶することができ、プロセッサ２２５によってアクセス可能かつ実行可能であり得る。
【０１１９】
通信モジュール２０２は、通信ユニット２４５を介してネットワーク１０８との間でデータを送受信する。たとえば、通信モジュール２０２は、通信ユニット２４５を介して、ネットワーク１０８から更新データ１４２を受信する。
【０１２０】
いくつかの実施形態では、通信モジュール２０２は、適応システム１４０の構成部品からデータを受信し、メモリ２２７にデータを記憶する。
【０１２１】
いくつかの実装形態では、通信モジュール２０２は、メモリ２２７に記憶された性能パラメータデータ２８０を修正する。
【０１２２】
識別モジュール２０４は、ソフトウェア構成部品１３０またはハードウェア構成部品１３２のうちの１つの削除、およびアップグレード構成部品１３９のインストールによってもたらされた非互換性を識別するように構成された、コードおよびルーチンを含む。
【０１２３】
分類モジュール２０６は、タイミング特性の変更またはソフトウェアに関連する仕様変更として非互換性を分類するように構成された、コードおよびルーチンを含む。
【０１２４】
スーパーバイザモジュール２０８は、互換性モジュール１９９を修正して非互換性を除去するように構成された、コードおよびルーチンを含む。スーパーバイザモジュール２０８は、たとえば、上述した検出ステップ、識別ステップ、決定ステップ、および修正ステップを実行して、システム２００内の非互換性の検出及び除去を行う。スーパーバイザモジュール２０８は、非互換性に関する問題が実際に解決されたか否かを決定する機能、および解決されていない場合に対処する機能を有してもよい。スーパーバイザモジュール２０８は、問題が残存している場合に、詳細な検査を行うようにユーザ（管理者）に対して警告を発するようにしてもよい。
【０１２５】
分類がタイミング特性に関連する変更である場合、スーパーバイザモジュール２０８は、性能パラメータデータ２８０に記憶された性能パラメータのうちの１つまたは複数に対する１つまたは複数の修正を決定することができる。修正は、非互換性を除去するように構成される。スーパーバイザモジュール２０８は、非互換性を除去するように決定された修正を記憶するように、性能パラメータデータ２８０を修正することができる。
【０１２６】
タイミング特性に関連する変更は、２つのタイプ、すなわち、周期の変更および実行時間の変更を含む場合がある。
【０１２７】
周期（period）の変更の場合、スーパーバイザモジュール２０８は、構成部品間の非互換性が除去されるように、性能パラメータデータ２８０に含まれるパラメータを修正する。たとえば、センサがより高い周期を有する新しいセンサと交換されると仮定する。この例では、影響を受ける構成部品はＥＣＵであり、ＥＣＵの互換性モジュール１９９に含まれるスーパーバイザモジュール２０８は、前のセンサに対する新しいセンサ用の周期の増分を計算し、非互換性を除去するように構成された量によってＥＣＵの周期パラメータを修正する。たとえば、ＥＣＵ用の周期は、前のセンサに対する新しいセンサ用の周期の増分と同じ量もしくは実質的に同じ量だけ、またはＥＣＵを新しいセンサと互換性があるようにするために必要な最小量だけ増大させることができる。
【０１２８】
実行時間（execution time）の変更の場合、スーパーバイザモジュール２０８は、構成部品間の非互換性が除去されるように、性能パラメータデータ２８０に含まれるパラメータを修正する。たとえば、ＥＣＵモジュールが増大した実行時間を有する新しいＥＣＵモジュールと交換され、それにより、ＥＣＵモジュールに関連付けられたＥＣＵによって管理されるセンサとの非互換性がもたらされると仮定する。センサに含まれる互換性モジュール１９９の識別モジュール２０４は、非互換性を識別することができる。センサに含まれる互換性モジュール１９９用の性能パラメータデータ２８０は、スケジューリングポリシーを含む場合がある。
【０１２９】
いくつかの実施形態では、スケジューリングポリシーは、たとえば、プロセスが始まるときを示す１つまたは複数のスケジューリングパラメータ、および各プロセスが始まった後どれだけ長く動作するかを示す１つまたは複数の実行時間パラメータを含む場合がある。
【０１３０】
センサに含まれる互換性モジュール１９９のスーパーバイザモジュール２０８は、前のＥＣＵモジュールに対する新しいＥＣＵモジュール用の実行時間の増大量を計算し、非互換性を除去するように構成された量によって、センサ用のスケジューリングポリシーに含まれる実行時間パラメータを修正することができる。たとえば、実行時間は、前のＥＣＵモジュールに対する新しいＥＣＵモジュール用の実行時間の増分と同じ量もしくは実質的に同じ量だけ、またはセンサを新しいＥＣＵモジュールと互換性があるようにするために必要な最小量だけ増大させることができる。
【０１３１】
スーパーバイザモジュール２０８はまた、１つまたは複数のスケジューリングパラメータを並べ替えまたは削除して、非互換性を除去することができる。
【０１３２】
性能パラメータデータ２８０は、ソフトウェア構成部品１３０、ハードウェア構成部品１３２、またはアップグレード構成部品１３９のうちの１つまたは複数用の１つまたは複数の周期パラメータを含む。周期パラメータは、ソフトウェア構成部品１３０、ハードウェア構成部品１３２、またはアップグレード構成部品１３９の実行周期を規定するパラメータである。
【０１３３】
性能パラメータデータ２８０は、ソフトウェア構成部品１３０、ハードウェア構成部品１３２、またはアップグレード構成部品１３９のうちの１つまたは複数用の１つまたは複数のスケジューリングポリシーを含む。スケジューリングポリシーはスケジューリングパラメータを含み、スケジューリングパラメータは、ソフトウェア構成部品１３０、ハードウェア構成部品１３２、またはアップグレード構成部品１３９がプロセスを開始するタイミングを表すパラメータである。
【０１３４】
性能パラメータデータ２８０は、ソフトウェア構成部品１３０、ハードウェア構成部品１３２、またはアップグレード構成部品１３９のうちの１つまたは複数用の１つまたは複数の実行時間パラメータを含む。実行時間パラメータは、ソフトウェア構成部品１３０、ハードウェア構成部品１３２、またはアップグレード構成部品１３９がプロセスを開始した後にどの程度の時間動作するかを表すパラメータである。
【０１３５】
メモリ２２７は、複数のバージョンのソフトウェア構成部品１３０を含んでもよく、性能パラメータデータ２８０は、プロセッサ２２５によって実行されたときにどのバージョンのソフトウェア構成部品１３０がハードウェア構成部品１３２の性能を制御するかを構成するデータを含んでもよい。メモリ２２７はまた、様々な暗号化アルゴリズム、暗号化キー、メッセージングプロトコルなどを記憶することができる。
【０１３６】
図２Ｃは、例示的な互換性モジュール１９９のアーキテクチャを示す図である。互換性モジュール１９９は、互換性レイヤー１９９とも称される。互換性レイヤー１９９は、ハードウェア１３２とソフトウェア１３０の間に配置される。複数のソフトウェア１３０を一つのハードウェア１３２に割り当てて実行することができるので、その場合には一つの互換性レイヤー１９９の中に、それぞれのソフトウェアに対応させて複数のサブレイヤーが設けられる。
【０１３７】
互換性モジュール１９９による処理の第一は、他の構成部品からの互換性問題を検出（識別）し分類することである。このステップは、識別モジュール２０４および分類モジュール２０６によって実行される。図では３種類の非互換性の要因（すなわち、実行時間の変化、実行周期の変化、およびソフトウェア仕様の変更）のみが明示的に示されているが、その他の要因についても同様に対応可能である。互換性レイヤーは、非互換性の種別に応じて適切な解決策を採用する。例えば、互換性モジュール１９９は、変換（translation）モジュール２５０のうちの適切なコンポーネントを選択し、そのコンポーネントの性
能パラメータ２８０を変更する。変換モジュール２５０は性能パラメータ２８０に従って動作し、非互換性を除去する。
【０１３８】
各構成部品の実行時間、実行周期、ソフトウェア仕様に関する情報は、特性プロパティ（characteristic property）として、それぞれの構成部品内に格納される。より一般に
は、特性プロパティは構成部品の動作の要件や性能を記述するものである。互換性モジュール１９９は、システム内の構成部品の特性プロパティを参照可能に構成される。互換性モジュール１９９は、少なくともホストデバイス（当該互換性モジュールが搭載されるデバイス）の特性プロパティと、ホストプロパティとデータをやりとりする他のデバイスの特性プロパティとを取得し、これらの特性プロパティに基づいてホストデバイスと他のデバイスの間の非互換性を検出することができる。
【０１３９】
互換性を保つための処理は、非互換な要因を、対応する要請要素が処理可能な形式（form）に変換（translate）することによって行われる。変換モジュール２５０が、この変
換機能を提供する。変換モジュール２５０は、スケジュール調整コンポーネント２５１、周期／レート変換コンポーネント２５２、仕様変換コンポーネント２５３、およびその他の変換コンポーネント２５４を備える。
【０１４０】
周期／レート変換コンポーネント２５２は、周期の変化に起因する非互換性に対処する。ソフトウェア部品１３０の周期が短縮された場合、変更前の構成部品はこの新しいソフトウェア部品と変更前のレート（すなわち、長い周期＝遅いレート）でやりとりする必要がある。この場合には、Slow-to-Fast変換ブロックが必要であり、互換性モジュール１９９は、レート変換ブロックの性能パラメータ２８０を変更して、ソフトウェア部品が他の
構成部品からの最新で正しい情報を利用できるようにする。同時に更新された部品からの通信である場合には、変換ブロックは不要である。この場合には、互換性モジュール１９９はレート変換ブロックの性能パラメータを、情報の形式を保つ(keep)ようにする。レート変換ブロックの性能パラメータ２８０は、実行周期の増減量に基づいて決定される。
【０１４１】
仕様変換コンポーネント２５３は、仕様の変更に起因する非互換性に、上記と同様に対処する。新しい仕様を用いる構成部品からのメッセージについては、互換性モジュール１９９は新しい仕様を用いる。一方、古い仕様を用いる構成部品からのメッセージについては、互換性モジュール１９９は、新しい仕様をそのまま用いるか新しい仕様を古い仕様に変換する。仕様変換コンポーネント２５３の性能パラメータ２８０は、このように動作するように変更され、これにより仕様の非互換性が除去される。
【０１４２】
スケジュール調整コンポーネント２５１は、実行時間の変更に起因する非互換性に対処する。ソフトウェア部品１３０の実行時間が増加または減少した場合、それまでのスケジューリングポリシーをそのまま用いると予期しない結果が生じうる。したがって、実行時間の増加または減少の量に従って、スケジューリングを調整する必要がある。スケジュール調整コンポーネント２５１は、この増減量に従ってスケジューリングに関するパラメータを決定する。スケジュール調整コンポーネント２５１の性能パラメータ２８０は、決定後の値に変更され、これによりスケジュールの非互換性が除去される。
【０１４３】
上記の性能パラらメータ変更処理は、更新プロセスの間に行われる。パラメータはサーバ１５０のような外部のコンピュータによって決定することができる。
【０１４４】
スーパーバイザモジュール２０８は、互換性の問題が実際に解消したか否かを判断する。何らかの異常な振る舞いがスーパーバイザモジュール２０８によって検出された場合には、互換性モジュール１９９は互換性に関する問題がまだ解消されずに残っているとみなし、ユーザに警告を発して詳細な調査を行うように勧める。
【０１４５】
図３Ａおよび図３Ｂは、適応システム１４０の構成部品をアップグレードするための方法３００についての例示的なフローチャートを示すブロック図である。
【０１４６】
ステップ３０４において、アップグレードされた構成部品によって影響を受ける構成部品が識別される。影響を受ける構成部品は、アップグレードのせいで別の構成部品との非互換性を有するハードウェア構成部品またはソフトウェア構成部品を含む場合がある。
【０１４７】
非互換性が実行時間の非互換性であるかどうかに関して、判定３０５が行われる。非互換性が実行時間の非互換性である場合、方法３００はステップ３０６に進む。ステップ３０６において、スケジューリングパラメータまたは実行時間パラメータのうちの１つまたは複数を調整することができる。方法３００はステップ３１２に進む。
【０１４８】
ステップ３０５において、実行時間の非互換性が判定されなかった場合、方法３００はステップ３０７に進む。
【０１４９】
ステップ３０７において、非互換性が周期の非互換性であるかどうかに関して、判定が行われる。非互換性が周期の非互換性である場合、方法３００はステップ３０８に進む。ステップ３０８において、周期パラメータを調整することができる。方法３００はステップ３１２に進む。
【０１５０】
ステップ３０７において、周期の非互換性が判定されなかった場合、方法３００はステップ３０９に進む。
【０１５１】
ステップ３０９において、非互換性が仕様に関連する非互換性であるかどうかに関して、判定が行われる。非互換性が仕様に関連する非互換性である場合、方法３００はステップ３１０に進む。ステップ３１０において、プロセッサがソフトウェアモジュールの前のバージョンを実行することに基づいてハードウェア構成部品が動作するように、互換性モジュールを更新することができる。方法３００はステップ３１２に進む。
【０１５２】
ステップ３０９において、仕様に関連する非互換性が判定されなかった場合、方法３００はステップ３１１に進む。ステップ３１１において、影響を受ける構成部品用の互換性モジュールに対して変更が行われないことの決定が行われる。
【０１５３】
次に図３Ｂを参照すると、ステップ３１２において、互換性モジュールに対する修正が有効であるかどうかに関して、判定が行われる。非互換性が除去された場合、修正は有効である。修正が有効ではない場合、方法３００はステップ３１３に進み、自動車１２３のドライバに警告が与えられる。修正が有効である場合、方法３００はステップ３１４に進み、互換性モジュールは新しい更新を監視する。
【０１５４】
図４Ａは、その中の１組の適応システムがアップグレードされようとしているシステム４００の例示的な実施形態を示すブロック図である。システム４００に含まれる構成要素は図２Ａを参照して上述されたので、それらの説明はここでは繰り返さない。
【０１５５】
第１の互換性モジュール１９９Ａは、信号線４２０を介して第１のＥＣＵモジュール２１０に通信可能に結合される。第１の互換性モジュール１９９Ａは、信号線４３０を介して第２のＥＣＵモジュール２１２に通信可能に結合される。第２の互換性モジュール１９９Ｂは、信号線４４０を介して第１のＥＣＵモジュール２１０に通信可能に結合される。第２の互換性モジュール１９９Ｂは、信号線４５０を介して第４の互換性モジュール１９９Ｄに通信可能に結合される。
【０１５６】
図４Ａは、第１のセンサ１０１、第１のセンサモジュール１１０、および第１のＥＣＵモジュール２１０がアップグレードされようとしている例示的な使用事例を描写する。図４Ａは、第１のセンサ１０１が新しいセンサと交換され、第１のセンサモジュール１１０が新しいセンサモジュールと交換され、第１のＥＣＵモジュール２１０が新しいＥＣＵモジュールと交換される場合の使用事例を示している。
【０１５７】
図４Ｂは、図４Ａのシステム４００の構成部品に対するアップグレードを記述する表４１０である。新しいセンサ１０１は、交換前の第１のセンサ１０１に比べて短くなったサンプリング周期（高サンプリングレート）を有し、これは、１秒当たりより多くのデータが収集され得ることを意味する。同時に、新しいセンサモジュール１１０および新しいＥＣＵモジュール２１０のアクティブ化周期は、増大したデータを処理するために短くなる。新しいセンサモジュール１１０および新しいＥＣＵモジュール２１０はまた、新しい暗号化アルゴリズムを使用してセキュリティを高めるものとする。
【０１５８】
この場合、新しいセンサ１０１および新しいセンサモジュール１１０が一緒に更新されるので、第１の互換性モジュール１９９Ａは、これらの構成部品間の非互換性を識別しない。したがって、第３の互換性モジュール１９９Ｃのみが、図４Ｃを参照して下記に記載されるように更新される。
【０１５９】
図４Ｃは、図４Ａおよび図４Ｂに記述されたアップグレードからもたらされる１組の非互換性を訂正する、第３の互換性モジュール１９９Ｃに対する修正を記述する表４１５である。
【０１６０】
新しいセンサ１０１は交換前の第１のセンサ１０１よりも速い。一方、第２のＥＣＵモジュール２１２は変更されない。第３の互換性モジュール１９９Ｃは、新しいセンサ１０１（または第１のセンサシステム１７０）と第２のＥＣＵモジュール２１２の間に実行周期に関する非互換性があり、これらの構成部品の間にfast-to-slowの変換ブロックが必要であることを検出する。より具体的には、新しい第１のセンサ１０１から第２のＥＣＵモジュール２１２の通信は、fast-to-slow変換を行う必要があると判断する。結果として、第３の互換性モジュール１９９Ｃは、レートを増大させるように第２のＥＣＵモジュール２１２用の性能パラメータを修正する。あるいは、第１の互換性モジュールが１９９Ａが、レートを減少させるように第１のセンサ１０１の性能パラメータを修正してもよい。
【０１６１】
新しいＥＣＵモジュール２１０は交換前の第１のＥＣＵモジュール２１０よりも速く、第３の互換性モジュール１９９Ｃは、第２のセンサ１０２（または第２のセンサシステム１７２）と新しい第１のＥＣＵモジュール２１０の間に実行周期に関する非互換性があり、これらの構成部品の間にslow-to-fastの変換ブロックであることを検出する。より具体的には、第２のセンサ１０２から新しい第１のＥＣＵモジュール２１０への通信は、slow-to-fast変換を行う必要があると判断する。したがって、第３の互換性モジュール１９９Ｃは、レート減少させるように第１のＥＣＵモジュール２１０用の性能パラメータを修正する。
【０１６２】
新しいセンサモジュール１１０と第２のＥＣＵモジュール２１２との間、ならびに第２のセンサモジュール１１１と第１のＥＣＵモジュール２１０との間では、アルゴリズムの不整合も発生する。第３の互換性モジュール１９９Ｃは、新しいセンサモジュール１１０から第２のＥＣＵモジュール２１２への通信は新しい暗号化アルゴリズムから古い暗号化アルゴリズムに変換し、第２のセンサモジュール１１１から新しい第１のＥＣＵモジュール−２１０への通信は古い暗号化アルゴリズムから新しい第１のＥＣＵモジュールに変換する必要があることを検出する。新しいセンサモジュール１１０および第１のＥＣＵモジュール２１０は、両方とも新しい暗号化アルゴリズムを使用し、第３の互換性モジュール１９９Ｃのレイヤは、第２のＥＣＵモジュール２１２に古い暗号化アルゴリズムを使用し、第１のＥＣＵモジュール２１０に新しい暗号化アルゴリズムを使用する。したがって、第３の互換性モジュール１９９Ｃは、第１のＥＣＵモジュール２１０および第２のＥＣＵモジュール２１２の性能パラメータを変更して、暗号化アルゴリズムを変換するようにする。
【０１６３】
互換性モジュール１９９の性能パラメータの変更によって非互換性の問題を解消できない場合には、互換性モジュール１９９自体を更新することが望ましい。例えば、互換性モジュール１９９が、新しいアルゴリズムに対応していなかったり、要求されるレート変換が実現できなったりする場合がある。このような場合には、互換性モジュール１９９を更新して非互換性に対処すればよい。
【０１６４】
いくつかの実施形態では、本明細書において記載されたエンジン制御ユニットは、エンジン制御、車体制御、またはトランスミッション制御を実現する機能を含む場合がある。たとえば、エンジン制御ユニットは、自動車のトランスミッションの機能を制御することができる。同様に、いくつかの実施形態では、本明細書で使用するエンジン制御に対する言及は、エンジン制御、車体制御、およびトランスミッション制御を含む。たとえば、エンジン制御は、自動車のトランスミッションの機能の制御を含む場合がある。
【０１６５】
以上の説明では、説明の目的で、本明細書を完全に理解するために、多数の具体的な詳細が明記されている。しかしながら、本開示はこれらの具体的な詳細なしに実践され得ることは、当業者には明らかである。場合によっては、説明を不明瞭にすることを回避する
ために、構造およびデバイスがブロック図の形で示される。たとえば、本実装形態は、主にユーザインターフェースおよび特定のハードウェアを参照して、上記で記載することができる。しかしながら、本実装形態は、データおよびコマンドを受信することができる任意のタイプのコンピューティングデバイス、ならびにサービスを提供する任意の周辺デバイスに適用することができる。
【０１６６】
本明細書における「いくつかの実装形態」または「いくつかの事例」に対する参照は、その実装形態または事例とともに記載される特定の特徴、構造、または特性が説明の少なくとも１つの実装形態に含まれ得ることを意味する。本明細書における様々な場所での「いくつかの実装形態では」というフレーズの出現は、必ずしもすべてが同じ実装形態を参照しているとは限らない。
【０１６７】
以下に続く詳細説明のいくつかの部分は、コンピュータメモリ内のデータビット上の演算のアルゴリズムおよびシンボル表現の観点から提示される。これらのアルゴリズム的な記述および表現は、データ処理技術分野の当業者により、他の当業者に自分の仕事の本質を最も効果的に伝達するために使用される手段である。本明細書において、かつ一般的に、アルゴリズムは、望ましい結果に導く自己矛盾のない一連のステップであると考えられる。ステップは、物理量の物理的操作を必要とするステップである。必ずしもそうであるとは限らないが、通常、これらの量は、記憶、転送、合成、比較、および他の方法で操作することが可能な電気信号または磁気信号の形態をとる。主に共通使用の理由で、これらの信号をビット、値、素子、シンボル、文字、用語、番号などとして参照することは、時には好都合であると証明されている。
【０１６８】
しかしながら、これらおよび同様の用語のすべてが、適切な物理量に関連付けられ、これらの量に適用される便利なラベルにすぎないことは留意されるべきである。以下の説明から明白であると別段に明記されていない限り、説明全体にわたって、「処理」または「計算」または「算出」または「決定」または「表示」などを含む用語を利用する説明は、コンピュータシステムのレジスタおよびメモリ内の物理（電子）量として表されるデータを操作し、コンピュータシステムのメモリもしくはレジスタ、または他のそのような情報を記憶、送信、もしくは表示するデバイス内の物理量と同様に表される他のデータに変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションおよびプロセスを参照する。
【０１６９】
本明細書の本実装形態はまた、本明細書において動作を実行するための装置に関係することもできる。この装置は、必要な目的のために特別に構築される場合があるか、またはコンピュータに記憶されたコンピュータプログラムによって、選択的にアクティブ化または再構成される汎用コンピュータを含む場合がある。そのようなコンピュータプログラムは、限定はしないが、各々がコンピュータシステムバスに結合される、フロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、および磁気ディスクを含む任意のタイプのディスク、読取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カードもしくは光カード、不揮発性メモリを有するＵＳＢキーを含むフラッシュメモリ、または電子命令を記憶するのに適した任意のタイプの媒体を含む、コンピュータ可読記憶媒体に記憶される場合がある。
【０１７０】
本明細書は、いくつかの全体的にハードウェアの実装形態、いくつかの全体的にソフトウェアの実装形態、またはハードウェアとソフトウェアの両方の構成要素を含んでいるいくつかの実装形態の形態をとることができる。いくつかの好ましい実装形態では、本明細書は、限定はしないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む、ソフトウェアに実装される。
【０１７１】
さらに、説明は、コンピュータまたは任意の命令実行システムが使用するか、またはそれとともに使用されるプログラムコードを提供する、コンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。この説明の目的で、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、命令実行装置、または命令実行デバイスが使用するか、またはそれとともに使用されるプログラムを、内蔵、記憶、通信、伝播、または転送することができる任意の装置であり得る。
【０１７２】
プログラムコードを記憶または実行するのに適したデータ処理システムは、システムバスを介してメモリ素子に直接的または間接的に結合された少なくとも１つのプロセッサを含む。メモリ素子は、プログラムコードの実際の実行中に利用されるローカルメモリ、バルクストレージ、および、実行中にバルクストレージからコードが取り出されねばならない回数を低減するために少なくともいくつかのプログラムコードの一時的ストレージを提供するキャッシュメモリを含むことができる。
【０１７３】
（限定はしないが、キーボード、ディスプレイ、ポインティングデバイスなどを含む）入力／出力デバイスまたはＩ／Ｏデバイスは、直接または介在するＩ／Ｏコントローラを介して、システムに結合することができる。
【０１７４】
ネットワークアダプタは、データ処理システムが、介在する専用ネットワークまたは公共ネットワークを介して、他のデータ処理システムまたはリモートプリンタまたはストレージデバイスに結合されるようになることを可能にするために、システムに結合される場合もある。モデム、ケーブルモデム、およびイーサネット（登録商標）カードは、現在利用可能なタイプのネットワークアダプタのうちのほんの一部である。
【０１７５】
最後に、本明細書に提示されたアルゴリズムおよびディスプレイは、任意の特定のコンピュータまたは他の装置に本質的に関係しない。様々な汎用システムは、本明細書における教示によるプログラムとともに使用される場合があるか、または必要な方法ステップを実施するためにより特化した装置を構築することが好都合であると証明する場合がある。様々なこれらのシステムに必要な構造は、下記の説明から明らかになる。加えて、本明細書は、いかなる特定のプログラミング言語も参照して記載されていない。本明細書に記載された明細書の教示を実装するために、様々なプログラミング言語を使用できることが諒解されよう。
【０１７６】
本明細書の実装形態の上記の説明は、例示および説明の目的で提示されている。本明細書を開示されたそのままの形態に徹底または限定するものではない。上記の教示に照らして、多くの修正形態または変形形態が可能である。本開示の範囲は、この詳細説明によって限定されず、むしろ本出願の特許請求の範囲によって限定されるものである。当業者によって理解されるように、本明細書は、その趣旨または本質的な特性から逸脱することなく、他の固有の形態で具現化される場合がある。同様に、モジュール、ルーチン、特徴、属性、方法、および他の態様の特定の命名および分割は、必須または重要ではなく、本明細書またはその特徴を実装するメカニズムは、様々な名称、分割、またはフォーマットを有する場合がある。さらに、当業者には明らかなように、本開示のモジュール、ルーチン、特徴、属性、方法、および他の態様は、ソフトウェア、ハードウェア、ファームウェア、またはその３つの任意の組合せとして実装することができる。また、その例がモジュールである本明細書の構成部品がソフトウェアとして実装される場合はいつでも、構成部品は、スタンドアロンプログラムとして、より大きいプログラムの一部として、複数の別々のプログラムとして、静的もしくは動的にリンクされたライブラリとして、カーネルのロード可能なモジュールとして、デバイスドライバとして、または、コンピュータプログラミングの当業者に現在知られているか、もしくは将来知られるすべておよび任意の他の方
法で、実装することができる。加えて、本開示は、任意の固有のプログラミング言語における、または任意の固有のオペレーティングシステムもしくは動作環境のための実装に少しも限定されない。したがって、本開示は、以下の特許請求の範囲で明記される本明細書の範囲を限定するものではなく、例示するものである。
【符号の説明】
【０１７７】
１００  適応環境理解システム
１９９  互換性モジュール
２００  システム
２０２  通信モジュール
２０４  識別モジュール
２０６  分類モジュール
２０８  スーパーバイザモジュール
【図１Ａ】
2017145822.tif 000003
【図１Ｂ】
2017145822.tif 000004
【図１Ｃ】
2017145822.tif 000005
【図２Ａ】
2017145822.tif 000006
【図２Ｂ】
2017145822.tif 000007
【図２Ｃ】
2017145822.tif 000008
【図３Ａ】
2017145822.tif 000009
【図３Ｂ】
2017145822.tif 000010
【図４Ａ】
2017145822.tif 000011
【図４Ｂ】
2017145822.tif 000012
【図４Ｃ】
2017145822.tif 000013