(57)【要約】  この出願は、国際調査報告が作成されていないため、国際公開公報に要約書が記載されていません。【特許請求の範囲】
【請求項１】
機能アーキテクチャパターンであって、
安全性に関する再利用可能な汎用センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａ、安全性に関する再利用可能な汎用コンポーネントソフトウェアモジュールＳＷ‐Ｃ、実行時環境モジュールｄＲＴＥ、オペレーティングシステムモジュールＯＳ、第１のボードサポートパッケージＢＳＰ、および第１のマイクロコンピュータｕＣと、
前記センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａ、前記コンポーネントソフトウェアモジュールＳＷ‐Ｃ、前記実行時環境モジュールｄＲＴＥ、前記オペレーティングシステムモジュールＯＳ、前記第１のボードサポートパッケージＢＳＰ、および前記第１のマイクロコンピュータｕＣから論理的に分離された安全性に関する特定用途向けソフトウェアモジュールＳＧ、第２のボードサポートパッケージＢＳＰ、および第２のマイクロコンピュータｕＣとを備え、
前記センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａ、前記コンポーネントソフトウェアモジュールＳＷ‐Ｃ、および前記実行時環境モジュールｄＲＴＥは、ＱＭ標準に準拠して開発され、
前記オペレーティングシステムモジュールＯＳ、前記第１のボードサポートパッケージＢＳＰおよび前記第２のボードサポートパッケージＢＳＰの双方、ならびに複数の前記安全性に関する特定用途向けソフトウェアモジュールＳＧは、前記センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａ、前記コンポーネントソフトウェアモジュールＳＷ‐Ｃ、および前記安全性に関する特定用途向けソフトウェアＳＧの間で論理的に分割するように、ＳＩＬ標準に準拠して開発される機能アーキテクチャパターン。
【請求項２】
前記センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記コンポーネントソフトウェアモジュールＳＷ‐Ｃは、前記安全性に関する特定用途向けソフトウェアＳＧからの別個の書き込みコード、書き込みメモリ、および書き込みデータのうちの少なくとも１つを有するように、前記安全性に関する特定用途向けソフトウェアＳＧと別個の論理ユニットを備える、請求項１に記載の機能アーキテクチャパターン。
【請求項３】
前記センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａ、前記コンポーネントソフトウェアモジュールＳＷ‐Ｃ、複数の前記実行時環境モジュールｄＲＴＥ、前記オペレーティングシステムモジュールＯＳ、前記第１のボードサポートパッケージＢＳＰおよび前記第２のボードサポートパッケージＢＳＰの双方、および複数の前記安全性に関する特定用途向けソフトウェアモジュールＳＧは、前記オペレーティングシステムモジュールＯＳ、前記第１のボードサポートパッケージＢＳＰおよび前記第２のボードサポートパッケージＢＳＰの双方、および複数の前記安全性に関する特定用途向けソフトウェアモジュールＳＧは、前記センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａ、前記コンポーネントソフトウェアモジュールＳＷ‐Ｃ、および複数の前記実行時環境モジュールｄＲＴＥにより破損することなく同一のメモリコードおよびメモリ空間内、ならびに同一のマイクロコンピュータｕＣ上に存在する、請求項１に記載の機能アーキテクチャパターン。
【請求項４】
前記安全性に関する特定用途向けソフトウェアモジュールＳＧは、ＭＣＰ５６６８ＥＧを有するマイクロコンピュータｕＣの別個のコア（ｅ２００ｚ０）上で起動し、前記コンポーネントソフトウェアモジュールＳＷ‐Ｃは、前記実行時環境モジュールｄＲＴＥにより自身とのみ通信する、請求項１に記載の機能アーキテクチャパターン。
【請求項５】
前記センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａは、前記第１のボードサポートパッケージＢＳＰと前記コンポーネントソフトウェアモジュールＳＷ‐Ｃとの間で接続される、請求項１に記載の機能アーキテクチャパターン。
【請求項６】
前記センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａ、前記コンポーネントソフトウェアモジュールＳＷ‐Ｃ、および前記実行時環境モジュールｄＲＴＥは、スーパーバイザモードで動作する、請求項１に記載の機能アーキテクチャパターン。
【請求項７】
ユーザモードおよびスーパーバイザモードの双方の特徴、ｅ２００ｚ６およびｅ２００ｚ０のコアの双方、ＥＣＣを有する双方のＳＲＡＭユニット、およびＭＭＵがサポートされる、請求項１に記載の機能アーキテクチャパターン。
【請求項８】
ユーザモードおよびスーパーバイザモードの双方、ｅ２００ｚ６およびｅ２００ｚ０のコアの双方、８０ＫＢのＳＲＡＭ、５１２ＫＢのＳＲＡＭ、および複数のＢＳＰモジュールと統合されたＭＣＰ５６６８ＥＧにおけるＭＭＵは、アーキテクチャ的にサポートされる、請求項１に記載の機能アーキテクチャパターン。
【請求項９】
前記オペレーティングシステムモジュールＯＳは、ＲＴＯＳによって供給され、前記オペレーティングシステムモジュールＯＳおよびボードサポートパッケージＢＳＰは、スーパーバイザモードでインタラプトし、前記センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａは、スーパーバイザモードで操作され、ＢＳＰアクセスを有する唯一のソフトウェアコンポーネントであり、前記センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａは、共有メモリに対する読み取り能力および書き込み能力を有する、請求項１に記載の機能アーキテクチャパターン。
【請求項１０】
前記コンポーネントソフトウェアモジュールＳＷ‐Ｃがユーザモードで操作されるとき、ボードサポートパッケージＢＳＰは、前記コンポーネントソフトウェアモジュールＳＷ‐Ｃによりアクセス可能ではなく、前記コンポーネントソフトウェアモジュールＳＷ‐Ｃは、共有メモリを読み取りおよび書き込みすることができず、前記安全性に関する特定用途向けソフトウェアモジュールＳＧは、スーパーバイザモードで操作され、ＢＳＰにアクセス可能であり、共有メモリを読み取ることができる、請求項１に記載の機能アーキテクチャパターン。
【請求項１１】
前記安全性に関する特定用途向けソフトウェアモジュールＳＧは、質問‐回答アルゴリズムにより前記安全性に関する再利用可能な汎用センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記コンポーネントソフトウェアモジュールＳＷ‐Ｃの論理ユニットの正しい作動を判断することができる、請求項１に記載の機能アーキテクチャパターン。
【請求項１２】
機能アーキテクチャパターンであって、
安全性に関する再利用可能な汎用ソフトウェアモジュールＳＷ、オペレーティングシステムモジュールＯＳ、第１のボードサポートパッケージＢＳＰ、および第１のマイクロコンピュータｕＣと、
前記安全性に関する再利用可能な汎用ソフトウェアモジュールＳＷ、前記オペレーティングシステムモジュールＯＳ、前記第１のボードサポートパッケージＢＳＰ、および前記第１のマイクロコンピュータｕＣから論理的に分離された安全性に関する特定用途向けソフトウェアモジュールＳＧ、第２のボードサポートパッケージＢＳＰ、および第２のマイクロコンピュータｕＣとを備え、
前記安全性に関する再利用可能な汎用ソフトウェアモジュールＳＷは、ＱＭ標準に準拠して開発され、
前記オペレーティングシステムモジュールＯＳ、前記第１のボードサポートパッケージＢＳＰおよび前記第２のボードサポートパッケージＢＳＰの双方、ならびに複数の前記安全性に関する特定用途向けソフトウェアモジュールＳＧは、前記安全性に関する再利用可能な汎用ソフトウェアモジュールＳＷと前記安全性に関する特定用途向けソフトウェアＳＧとの間の３つのレベルで論理的に分割するように、ＳＩＬ標準に準拠して開発される機能アーキテクチャパターン。
【請求項１３】
前記安全性に関する特定用途向けソフトウェアモジュールＳＧの入力および出力は、前記安全性に関する特定用途向けソフトウェアモジュールＳＧの論理ユニットによりモニタリングされ、安全性目標の充足を診断する、請求項１２記載の機能アーキテクチャパターン。
【請求項１４】
前記安全性に関する特定用途向けソフトウェアモジュールＳＧは、診断された安全性目標の充足について、前記安全性に関する再利用可能な汎用ソフトウェアモジュールＳＷの中間結果を使用することができる、請求項１２に記載の機能アーキテクチャパターン。
【請求項１５】
前記安全性に関する特定用途向けソフトウェアモジュールＳＧは、ＳＷ論理ユニットの正しい動作を判断することができる質問‐回答アルゴリズムを有する、請求項１２に記載の機能アーキテクチャパターン。
【請求項１６】
ソフトウェアを分解するための処理であって、
第１の論理ユニットに関連する第１のソフトウェアモジュールＳＷを提供する段階と、
第２の論理ユニットに関連する第２のソフトウェアモジュールＳＧを提供する段階と、
品質管理ＱＭレベルに基づいて第１の安全性目標を実装するように、前記第１のソフトウェアモジュールＳＷに命令する段階と、
安全度水準ＳＩＬに基づいて第２の安全性目標を実装するように、前記第２のソフトウェアモジュールＳＧに命令する段階とを備え、
前記第２のソフトウェアモジュールＳＧは、前記第２の論理ユニットの少なくとも１つの入力および少なくとも１つの出力を用いて、前記第２の安全性目標が満たされているかを判断し、
前記第２のソフトウェアモジュールＳＧは、前記第１のソフトウェアモジュールＳＷの結果を用いて、前記第１の安全性目標が完成したかを判断し、
前記第２のソフトウェアモジュールＳＧは、少なくとも１つのアルゴリズムを用いて、前記第１の論理ユニットの動作ステータスを検証する処理。
【請求項１７】
前記第１の論理ユニットに関連する安全性に関する再利用可能な汎用コンポーネントソフトウェアモジュールである第３のソフトウェアモジュールＳＷ‐Ｃを提供する段階と、
品質管理ＱＭレベルに基づいて第１の安全性目標を実装するように、前記第１のソフトウェアモジュールＳＷおよび前記第３のソフトウェアモジュールＳＷ‐Ｃに命令する段階と、
安全度水準ＳＩＬに基づいて第２の安全性目標を実装するように、前記第２のソフトウェアモジュールＳＧに命令する段階とを更に備え、
前記第１のソフトウェアモジュールＳＷは、安全性に関する再利用可能な汎用センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａを備え、
前記第２のソフトウェアモジュールＳＧは、前記第２の論理ユニットの少なくとも１つの入力および少なくとも１つの出力を用いて、前記第２の安全性目標が満たされているかを判断し、
前記第２のソフトウェアモジュールＳＧは、前記第１のソフトウェアモジュールＳＷおよび前記第３のソフトウェアモジュールＳＷ‐Ｃの結果を用いて、前記第１の安全性目標が完成したかを判断し、
前記第２のソフトウェアモジュールＳＧは、少なくとも１つのアルゴリズムを用いて、前記第１の論理ユニットの動作ステータスを検証する、請求項１６に記載のソフトウェアを分解するための処理。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］  本出願は、米国法典第３５巻特許法第１１９条（ｅ）に基づき、２０１２年４月９日出願の米国特許仮出願第６１／６２１，６５６号及び２０１２年６月２２日出願の米国特許仮出願第６１／６６３，２８２号の利益を主張し、参照によりその全体が本明細書に組み込まれる。
【０００２】
本発明は、ソフトウェアを分解する処理において使用する機能アーキテクチャパターンに関する。より詳細には、本発明は安全ソフトウェアを分解する処理において使用する機能アーキテクチャパターンに関する。
【背景技術】
【０００３】
現在、政府および産業界は、様々な業界、例えば自動車産業に機能安全性標準を課している。通常、これらの機能安全性標準は、標準的機能アーキテクチャパターンを利用する安全ソフトウェアにより実現される。残念ながら、これらの機能安全性標準、ソフトウェア、およびアーキテクチャパターンは非常に厳格であり、相手先商標製造会社（ＯＥＭ）またはインテグレータに、システム全体に対する相当な付加的費用を被ることなく安全性に関するシステムの機能性を維持またはアップグレードするのに十分な柔軟性を与えていない。
【０００４】
具体的には、機能安全性標準は、時間のかかる設計および認証された妥当性評価を必要とするが、関連する非安全性に関するアプリケーションとの統合が存在しない。従って、安全ソフトウェアおよび標準的機能アーキテクチャパターンは専用であるため、高価なハードウェアおよびソフトウェアの設計を必要とする。非安全性に関するアプリケーションに対してアップグレードを必要とする場合、安全アプリケーションおよび関連する非安全性に関するアプリケーションの双方を再認証しなければならず、それによりエンティティの機能的システムに費用および損失を付加することになる。
【０００５】
求められるのは、関連する非安全性に関するアプリケーションがメンテナンスおよびアップグレードを必要とする場合に安全性に関するアプリケーションを再認証しなくてもよいように、安全性に関するアプリケーションを関連する非安全性に関するアプリケーションから分離することである。それにより、エンティティの多くの時間および人件費を省く。
【発明の概要】
【０００６】
ソフトウェアを分解するための処理は、第１の論理ユニットに関連する第１のソフトウェアモジュールを提供する段階と、第２の論理ユニットに関連する第２のソフトウェアモジュールを提供する段階と、品質管理レベルに基づいて第１の安全性目標を実装するように、第１のソフトウェアモジュールに命令する段階と、安全度水準に基づいて第２の安全性目標を実装するように、第２のソフトウェアモジュールに命令する段階とを含み、第２のソフトウェアモジュールは、第２の論理ユニットの少なくとも１つの入力および少なくとも１つの出力を用いて、第２の安全性目標が満たされているかを判断する。従って、第２のソフトウェアモジュールは、第１のソフトウェアモジュールの結果を用いて第１の安全性目標が完成したかどうかを判断し、第２のソフトウェアモジュールは少なくとも１つのアルゴリズムを用いて第１の論理ユニットの動作ステータスを検証する。
【０００７】
本発明の更なる目的および利点は、明細書の一部をなし、同一の参照符号がいくつかの図のうち対応する一部を指定する添付の図面を参照すれば、以下の説明および添付の特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【０００８】
【図１】本発明に従う第１の機能アーキテクチャのブロック図である。
【図２】本発明に従うＭＰＣ５６６８ＥＧプロセッサのブロック図である。
【図３Ａ】図２のＭＰＣ５６６８ＥＧプロセッサのｅ２００ｚ６コアのユーザレベルレジスタおよびスーパーバイザレベルレジスタの一覧である。
【図３Ｂ】図２のＭＰＣ５６６８ＥＧプロセッサのｅ２００ｚ６コアのユーザレベルレジスタおよびスーパーバイザレベルレジスタの一覧である。
【図３Ｃ】図２のＭＰＣ５６６８ＥＧプロセッサのｅ２００ｚ６コアのユーザレベルレジスタおよびスーパーバイザレベルレジスタの一覧である。
【図４】本発明に従う実効アドレスから実アドレスへの変換の流れ図である。
【図５】本発明に従う仮想アドレスおよびＴＬＢエントリの比較処理図である。
【図６】本発明に従うアクセス許可図のＭＭＵ付与である。
【図７】本発明に従うＴＬＢエントリビットフィールドの一覧である。
【図８】本発明に従う第２の機能アーキテクチャのブロック図である。
【図９】本発明に従うｅ２００ｚ０コア上のＳＧ用メモリアドレスのアーキテクチャ構造である。
【発明を実施するための形態】
【０００９】
明示的にそうでない旨を指定する場合を除き、本発明は、様々な代替的方向および段階の順序を想定し得ることを理解されたい。また、添付の図面に例示され、以下の明細書において記載される具体的なデバイスおよび処理は、添付の特許請求の範囲において定義される発明の概念の例示的な実施形態に過ぎないことを理解されたい。従って、開示される実施形態に関する具体的な寸法、方向、または他の物理的特性は、特許請求の範囲が明示的に別途記載しない限り、限定するものとみなされるものではない。
表１は、本開示全体で用いられる略語のうちいくつかを列挙する。
表１：略語
ＢＳＰ：ボードサポートパッケージ
ＲＡＭ：ランダムアクセスメモリ
ＥＣＣ：エラー訂正コード  ＲＴＯＳ：リアルタイムオペレーティングシステム
ｉｎｅｔ：インターネットソース
ＳＧ：安全性目標  ＭＭＵ：メモリ管理ユニット
ＳＰＳ：シェアポイントサイト  ＭＳＲ：マシンステータスレジスタ
ＳＷ‐Ｃ：ソフトウェアコンポーネント
ＰＤＦ：ポータブルドキュメントフォーマット
ＳＷ‐Ｓ／Ａ：ソフトウェアセンサ／アクチュエータコンポーネント
ＰＩＤ：処理識別子
ＴＬＢ：変換索引バッファ
ＱＭ：品質管理
ｕＣ：マイクロコントローラ
【００１０】
明らかになる本発明の利点のいくつかは、以下の通りである。設計および妥当性評価は、安全度水準（ＳＩＬ）として知られる標準に準拠する機能安全性に関するアプリケーションの小さい部分についてのみ要求される。機能安全性に関するアプリケーションの主要部分の設計および妥当性評価は、品質管理（ＱＭ）レベルに準拠して実現される。非安全性に関するアプリケーション（ＱＭレベルに準拠する設計および妥当性評価）は、安全性に関するアプリケーションに統合されている。全てのアプリケーション（安全性に関する、または関しない）の設計は、汎用ハードウェア／ソフトウェアを使用して実現される。従って、機能安全性に関するアプリケーションの主要部分は、再認証することなくアップグレードされる。
【００１１】
図１は、以下の原理を用いる本発明に従う第１のパターン（機能アーキテクチャ）を例示する。ＳＷモジュールおよびＳＧモジュールを分離する破線の縦線により示すように、ＳＩＬ分解を使用して安全性に関する再利用可能な汎用ソフトウェア（ＳＷモジュールと呼ばれる）と安全性に関する特定用途向けソフトウェア（ＳＧモジュールと呼ばれる）との間で分割し、ＳＷモジュールおよびＳＧモジュールは、独自の別個の論理ユニット（ｕＣ）を有する。従って、ＳＷがＳＧに干渉（コードを書き込み、メモリに書き込み、および／またはデータを書き込む等）する可能性がないことが保証されている。
【００１２】
また、ＳＷは、ＱＭレベルに準拠する汎用機能的方法で安全性目標を実装する。それにより、ＳＧは、３つのレベルでＳＩＬレベルに準拠して、特定用途向けの方法で安全性目標を実装する。
【００１３】
安全性に関する機能のモニタリングについては、ＳＧは、安全性目標がなおも満たされているかどうかを診断するべく、論理ユニットの入力および出力を使用する。安全性に関するアプリケーションのモニタリングについては、ＳＧは、安全性目標がみたされているかを診断するべく、ＳＷの中間結果を用いる。汎用アプリケーションのモニタリングについては、ＳＧは、質問‐回答アルゴリズムを使用してＳＷ論理ユニットが正しく作動しているかを確認する。
【００１４】
これらの結果を得るべく、ハードウェアであるｕＣ（論理ユニット）モジュール、ＳＩＬレベルに準拠して開発されるＯＳ（オペレーティングシステム）モジュール、やはりＳＩＬレベルに準拠して開発されるＢＳＰ（ボードサポートパッケージ）モジュール、ＱＭレベルに準拠して開発されるＳＷ（ソフトウェア）モジュール、およびＳＩＬレベルに準拠して開発されるＳＧモジュールのような論理エンティティが存在する。
【００１５】
図２は、図１および８にそれぞれ例示される双方の好ましい実施形態において実装される、グローバルメモリマネージャコントローラＭＰＣ５６６８ＥＧの具体的事項を例示する。スーパーバイザモード／ユーザモードにおいて、ｅ２００ｚ６コア（図２の上位部分のマスターボックスを参照）は、以下の２つのレベルのプログラミング環境を定義する。  １）ベースのユーザレベルの命令セット、レジスタ、データタイプ、メモリ規則、ならびにアプリケーションプログラマが目にするメモリおよびプログラミングのモデルを定義するユーザレベル、および２）オペレーティングシステムが典型的に必要とするスーパーバイザレベルのリソース、すなわちメモリ管理モデル、スーパーバイザレベルレジスタ、および例外モデルを定義するスーパーバイザレベル。しかし、当業者は、ＭＰＣ５６６８ＥＧデバイスの本明細書において説明される要素および機能性を有する異なるグローバルメモリマネージャコントローラをその代わりに使用し得ることを理解する。
【００１６】
図３Ａ、図３Ｂ、および図３Ｃは、ＭＰＣ５６６８ＥＧコントローラのためのｅ２００ｚ６コアレジスタセットを示し、これは、スーパーバイザモードにおいてアクセス可能なレジスタおよびユーザモードにおいてアクセス可能なレジスタを表示する。ＭＰＣ５６６８ＥＧコントローラのｅ２００ｚ６コアのＭＳＲレジスタは、「０」がプロセッサはスーパーバイザモードにあることを示す「問題状態」（ＰＲ）のビットを含み、任意の命令を実行することができ、任意のリソース（例えば、汎用ＧＰＲ、スーパーバイザ目的のＳＰＲ、マシンステータスＭＳＲレジスタ）にアクセスし得る。一方、「１」ビットは、特権命令を実行することができず、いずれの特権リソースへのアクセスも許可されないプロセッサがユーザモードにあることを示す。
【００１７】
図２のＭＰＣ５６６８ＥＧプロセッサの「マスタ」ブロックに示すＭＭＵは、本発明において安全性に関するソフトウェアと他のＱＭソフトウェアとの間の明確な分離を実現するべく使用される。この分離を実現するべく、ＭＰＣ５６６８ＥＧプロセッサの要件に影響するいくつかのアーキテクチャの選択がなされた。ＭＰＣ５６６８ＥＧプロセッサは、スーパーバイザ／ユーザモード、ＭＭＵ、デュアルＲＡＭ、およびデュアルコア（ｅ２００ｚ６およびｅ２００ｚ０）を使用し、ＭＰＣ５６６８ＥＧは、４１ビットの暫定的仮想アドレス（図４を参照）を使用して３２ビットの実アドレスに変換される３２ビットの実効アドレスをＭＭＵに提供し、ＭＭＵは、ｅ２００ｚ０コアではなくｅ２００ｚ６コアにのみ利用可能であり得、ＰＩＤ（処理識別子）は、各実効アドレス（命令またはデータ）に関連し、ｅ２００ｚ６コアは、１つのＰＩＤレジスタ（ＰＩＤＯと呼ばれる）を実装し、ＰＩＤＯに対するいくつかの値は以下に定義される。
【００１８】
更に、変換はＴＬＢエントリに基づいて行われ、具体的には、ＰＩＤＯにおけるＰＩＤ値が、他の基準の全てが満たされているＴＬＢエントリと一致する場合（図６を参照）、そのエントリは変換に使用される。変換一致に成功した場合、許可ビットを確認する。複数のＴＬＢエントリのヒットはプログラミングエラーとみなされ（図５を参照）、これが起きると、ＴＬＢは無効なアドレスを生成し、ＴＬＢエントリは破損することがある（例外は報告されない）。
【００１９】
ＭＭＵ構成については、ＴＬＢエントリは、初期化時に定義する必要がある。ＴＬＢエントリの例を図７の一覧に示す。また、ＭＰＣ５６６８ＥＧは、２つのＳＲＡＭユニット、すなわちボード上の８０ＫＢを有する一方のユニットおよびボード上の５１２ＫＢを有する第２のユニットを有し、両方のユニットはＥＣＣにより提供される。双方のＳＲＡＭユニットが使用され、ＥＣＣは、ｅ２００ｚ６コアおよびｅ２００ｚ０コアと共にサポートされることが好ましい。
【００２０】
第２パターンのアーキテクチャ概要は、図８において示され、以下の原理を用いる本発明に従った機能アーキテクチャとして例示される。ＳＷ‐Ｓ／Ａ（センサ／アクチュエータ）、ＳＷ‐Ｃ（コンポーネント）、およびｄＲＴＥ（ダナ（Ｄａｎａ）実行時間環境）モジュールをＳＧから分離する破線の縦線により示すように、ＳＷ‐Ｓ／Ａ、ＳＷ‐Ｃ、およびｄＲＴＥモジュールは、ＱＭ標準に準拠して開発されたものとみなされる。ＯＳ、双方のＢＳＰ、およびＳＧモジュールは、ＳＩＬ標準に準拠して開発されたものとみなされる。従って、図１の第１の機能アーキテクチャパターンにおけるように、ＳＩＬ分解を使用して安全性に関する再利用可能な汎用ソフトウェアＳＷ‐Ｓ／Ａと、ＳＷ‐Ｃと、安全性に関する特定用途向けソフトウェアＳＧとの間で分割し、これらのＳＷおよびＳＧは、独自の別個の論理ユニットを有する。従って、ＳＷは、ＳＧに干渉（コードを書き込み、メモリに書き込み、および／またはデータを書き込む等）する可能性がないことが保証される。
【００２１】
第２のパターンアーキテクチャにより、Ｓ／Ａ、ＳＷ‐Ｃ、およびｄＲＴＥモジュールがＯＳ、双方のＢＳＰ、およびＳＧモジュールを破損し得ることなく、ＳＷ‐Ｓ／Ａ、ＳＷ‐Ｃ、およびｄＲＴＥモジュール、ならびにＯＳ、双方のＢＳＰ、およびＳＧモジュールが、同一のメモリ空間（コードおよびデータ空間）内および同一のｕＣ上に存在することが可能になる。
【００２２】
第２のパターンについては、ＳＧは、ＭＣＰ５６６８ＥＧの別個の（ｅ２００ｚ０）コア上で起動し、ＳＷ‐Ｃは、ｄＲＴＥにより自身と通信するのみである。更に、ＳＷ‐Ｓ／Ａは、左のＢＳＰとＳＷ‐Ｃとの間で接続する。Ｓ／Ａ、ＳＷ‐Ｃ、およびｄＲＴＥはスーパーバイザモードで起動するが（以下で更に詳細に述べる）、Ｓ／Ａ、ＳＷ‐Ｃ、およびｄＲＴＥは図８において別個に示される。
【００２３】
第２のパターンのシステム要件は、ｅ２００ｚ６およびｅ２００ｚ０のコア双方がサポートされ、双方のＳＲＡＭユニットがＥＣＣサポートに与えられ、ＭＭＵ特徴がサポートされる、ユーザモードおよびスーパーバイザモードの双方の特徴をサポートすることである。また、アーキテクチャサポートは、ユーザモードおよびスーパーバイザモードの双方、ｅ２００ｚ６およびｅ２００ｚ０のコア双方、ＥＣＣを有する８０ＫＢのＳＲＡＭおよび５１２ＫＢのＳＲＡＭの双方に与えられる。第２のパターンのＭＣＰ５６６８ＥＧにおけるＭＭＵは、アクティア（フランスの自動車企業）のＢＳＰモジュールと統合されている。
【００２４】
図９は、メモリアドレス空間の観点から第２のパターンを例示し、以下の項目を定義する。ＢＳＰはドライバコード／メモリであり、ＯＳはＲＴＯＳにより供給され、ＳＧはセーフティクリティカルなコード／メモリであり、ＳＷ‐Ｓ／Ａはセンサおよびアクチュエータのソフトウェアコンポーネントコード／メモリであり、ＳＷ‐Ｃモジュールはアプリケーションソフトウェアコンポーネントである。
【００２５】
ＯＳはスーパーバイザモードで起動をインタラプトし、ＢＳＰはスーパーバイザモードで起動をインタラプトし、ＳＷ‐Ｓ／Ａはスーパーバイザモードで起動し、ＳＷ‐Ｓ／Ａは、ＢＳＰにアクセスし得る唯一のソフトウェアコンポーネントである。また、ＳＷ‐Ｓ／Ａは共有メモリを読み取り、およびこれに書き込み得る。
【００２６】
ＳＷ‐Ｃは、ユーザモードで起動するが、ＢＳＰにアクセスできず、共有メモリを読み取り、およびこれに書き込むことができない。ＳＧは、スーパーバイザモードで起動し、ＢＳＰにアクセスすることができ、共有メモリを読み取ることができる。
【００２７】
図９の第２のアーキテクチャ概念は、メモリアドレス空間の観点からのものであり、異なるモジュールについて、様々なメモリアドレス空間へのアクセス権を有する。図９の左側下方に示すように、権利は、ＳＲ：スーパーバイザ読み取り、ＳＷ：スーパーバイザ書き込み、ＳＸ：スーパーバイザ実行、ＵＲ：ユーザ読み取り、ＵＷ：ユーザ書き込み、ＵＸ：ユーザ実行として定義される。図９における種々のモジュールのためのこれらのアクセス権は、以下の通りである。
【００２８】
次のメモリアドレス空間は、ＳＲ、ＳＸ（通常のフォント方向で示す）‐下位ＢＳＰ、およびＯＳを有する。次のメモリアドレス空間は、ＳＲ、ＳＸ（イタリック体のフォント方向で示す）‐下位ＢＳＰ、およびＳＷ‐Ｓ／Ａを有する。次のメモリアドレス空間は、ＵＲ、ＵＸ（ボールドフォントで示す）‐下位ＳＷ‐Ｃを有する。次のメモリアドレス空間は、ＳＲ、ＳＷ（通常のフォント方向で示す）‐上位ＢＳＰ、共有、ＯＳ、および双方のハードウェアレジスタを有する。次のメモリアドレス空間は、ＳＲ、ＳＷ（イタリック体のフォント方向で示す）‐上位ＢＳＰ、ＳＷ‐Ｓ／Ａ、共有、および双方のハードウェアレジスタを有する。次のメモリアドレス空間は、ＵＲ、ＵＷ（ボールドフォント方向で示す）‐上位ＳＷ‐Ｃ、および共有を有する。ＳＧは、ＭＭＵを有さないｅ２００ｚ０コア上のメモリアドレス空間全体に対する権利を有する（メモリアドレス空間の右の破線ボックスに示す）。
【００２９】
図９のメモリアドレス空間は、静的構成として構成され、リンカ出力に基づく。これは、領域、権利、および対応するサイズを定義する柔軟性をユーザに提供する。
【００３０】
ミスがＭＭＵにより検出されると、ＢＳＰは、コントローラがリセットすることを確実にするように、ＢＳＰのみがＭＭＵを構成する。ＯＳは、ＳＷ‐Ｓ／ＡおよびＳＷ‐Ｃ用のユーザモードおよびスーパーバイザモードを構成し、ＯＳは、対応するＰＩＤを設定する。
【００３１】
基本的安全性戦略プランは、１）ＡＳＩＬ（ＩＳＯ２６２６２）分解原理を使用して安全性に関する再利用可能な汎用ソフトウェア（一方でダナｄＦＬＡＭＥソフトウェアのＱＭ処理に従う）と安全性に関する特定用途向けソフトウェア（具体的には、特定用途の安全性目標を実装するが、ｄＦＬＡＭＥにおけるＳＩＬ処理に従う）との間の分割を行う。２）安全性に関する再利用可能な汎用ソフトウェアを、ＳＷ‐ＣモジュールおよびＳＷ‐Ｓ／Ａモジュールにマッピングする。３）安全性に関する特定用途向けソフトウェアをＳＧモジュールにマッピングする。４）ＳＷ‐ＣおよびＳＷ‐Ｓ／Ａは、ＳＧコード空間およびメモリ空間を破損できない。５）ＥＣＣは、全てのエンティティ、コード空間およびメモリ空間の双方に使用する。６）ＳＷ‐ＣおよびＳＷ‐Ｓ／Ａは、ｅ２００ｚ６コア上で起動する。７）ＳＧは、ｅ２００ｚ０コア上で起動する。８）ＳＷ‐ＣおよびＳＷ‐Ｓ／Ａは、５１２ＫＢのＳＲＡＭユニットを使用する。９）ＳＧは、８０ＫＢのＳＲＡＭユニットを使用する。１０）双方のコアは、互いに周期的にモニタリングし合う。１１）ＢＳＰは、ＳＩＬに準拠して開発される。双方のコアのモニタリングは、「コントローラモニタリング」（例えばガソリンエンジンおよびディーゼルエンジンのエンジン管理システムのためのＥ‐ガスモニタリングコンセプト）としても知られる。
【００３２】
このタイプのモニタリングは、質問‐回答アルゴリズムにより機能（アプリケーション）に依存しない。
【００３３】
従って、ＳＧは、特定アプリケーション向けの方法で安全性目標を実装し、１）出力は、入力に直接に相関し、安全な動作について確認され、２）安全な動作についてＳＷ‐ＣおよびＳＷ‐Ｓ／Ａにおける中間結果を確認する機能モニタリングの２つのレベルが定義される。
【００３４】
ＣＡＮについて生じる安全性に関するデータ（例えばエンジン速度）は、ＳＷ‐Ｓ／ＡおよびＳＧの双方に利用可能でなければならない。ＣＡＮのコールバックは、ＳＩＬ、および具体的にはＳＧに対するルーティングセーフティに関するデータに準拠して開発される。
【００３５】
ＢＳＰは、ＳＷ‐Ｓ／ＡおよびＳＧの双方からの呼び出しをサポートすることができる。
【００３６】
従って、本発明の利点は、ＳＩＬに準拠する機能安全性に関するアプリケーションの小さい部分のみについて、設計および妥当性評価が必要とされるということである。機能安全性に関するアプリケーションの主要部分は、ＱＭレベルに準拠して実現され、非安全性に関するアプリケーションは、安全性に関するアプリケーションに統合される。全てのアプリケーションの設計（安全性に関する、または関しない）は、汎用ハードウェア／ソフトウェアにより実現される。従って、機能安全性に関するアプリケーションの主要部分は、再認証することなくアップグレードされる。それにより、エンティティの多くの時間および人件費を省く。
【００３７】
特許の法令に従い、好ましい実施形態を表すと考えられるものにおいて、本発明を説明した。しかしながら、本発明は、その趣旨または範囲を逸脱することなく、具体的に例示および説明されたもの以外において実施し得ることに留意されたい。
【図１】
2015518605.tif 000002
【図２】
2015518605.tif 000003
【図３Ａ】
2015518605.tif 000004
【図３Ｂ】
2015518605.tif 000005
【図３Ｃ】
2015518605.tif 000006
【図４】
2015518605.tif 000007
【図５】
2015518605.tif 000008
【図６】
2015518605.tif 000009
【図７】
2015518605.tif 000010
【図８】
2015518605.tif 000011
【図９】
2015518605.tif 000012
【手続補正書】
【提出日】平成26年12月1日(2014.12.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃと、
自動車の特定の安全性ソフトウェアモジュールＳＧとを備える自動車セーフティシステムであって、
前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃは、自動車ＱＭ標準に準拠して開発され、第１の自動車マイクロコンピュータｕＣ１に実装され、
前記自動車の特定の安全性ソフトウェアモジュールＳＧは、自動車ＳＩＬ標準に準拠して開発され、第２の自動車マイクロコンピュータｕＣ２に実装され、前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃから論理的に分離される、自動車セーフティシステム。
【請求項２】
自動車実行時環境モジュールｄＲＴＥ、自動車オペレーティングシステムモジュールＯＳ、および第１の自動車ボードサポートパッケージＢＳＰ１と、
第２の自動車ボードサポートパッケージＢＳＰ２および自動車オペレーティングシステムモジュールＯＳとを更に備え、
前記自動車実行時環境モジュールｄＲＴＥは、前記自動車ＱＭ標準に準拠して開発され、
第１の自動車ボードサポートパッケージＢＳＰ１および第２の自動車ボードサポートパッケージＢＳＰ２の双方、ならびに前記自動車オペレーティングシステムモジュールＯＳは、前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃから論理的に分離されるように、自動車ＳＩＬ標準に準拠して開発される、請求項１に記載の自動車セーフティシステム。
【請求項３】
前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃは、前記自動車の特定の安全性ソフトウェアモジュールＳＧと別個の書き込みコード、書き込みメモリ、および書き込みデータのうちの少なくとも１つを有するように前記自動車の特定の安全性ソフトウェアモジュールＳＧと別個の論理ユニットを備える、請求項１または２に記載の自動車セーフティシステム。
【請求項４】
前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃ、自動車実行時環境モジュールｄＲＴＥ、自動車オペレーティングシステムモジュールＯＳ、第１の自動車ボードサポートパッケージＢＳＰ１および第２の自動車ボードサポートパッケージＢＳＰ２の双方、ならびに前記自動車の特定の安全性ソフトウェアモジュールＳＧは、自動車オペレーティングシステムモジュールＯＳ、第１の自動車ボードサポートパッケージＢＳＰ１および第２の自動車ボードサポートパッケージＢＳＰ２の双方、ならびに前記自動車の特定の安全性ソフトウェアモジュールＳＧが、前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃ、ならびに前記自動車実行時環境モジュールｄＲＴＥにより破損されることなく同一のメモリコードおよびメモリ空間内、ならびに同一の自動車マイクロコンピュータｕＣ１上に存在する、請求項１から３のいずれか１項に記載の自動車セーフティシステム。
【請求項５】
前記自動車の特定の安全性ソフトウェアモジュールＳＧは、ＭＣＰ５６６８ＥＧを有する自動車マイクロコンピュータｕＣ２の別個のコア（ｅ２００ｚ０）上で起動し、前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃは、実行時環境モジュールｄＲＴＥにより自身とのみ通信する、請求項１から４のいずれか１項に記載の自動車セーフティシステム。
【請求項６】
前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａは、第１のＢＳＰ１により前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃに接続される、請求項１から５のいずれか１項に記載の自動車セーフティシステム。
【請求項７】
前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃ、ならびに自動車実行時環境モジュールｄＲＴＥは、スーパーバイザモードで動作する、請求項１から６のいずれか１項に記載の自動車セーフティシステム。
【請求項８】
ユーザモード特徴およびスーパーバイザモード特徴の双方、ｅ２００ｚ６およびｅ２００ｚ０の２つのコア、ＥＣＣを含む２つのＳＲＡＭユニット、ならびにＭＭＵは、サポートされる、請求項１から７のいずれか１項に記載の自動車セーフティシステム。
【請求項９】
ユーザモードおよびスーパーバイザモードの双方、ｅ２００ｚ６およびｅ２００ｚ０の２つのコア、８０ＫＢのＳＲＡＭ、５１２ＫＢのＳＲＡＭ、ならびに第１の自動車ボードサポートパッケージＢＳＰ１および第２の自動車ボードサポートパッケージＢＰＳ２と統合されたＭＣＰ５６６８ＥＧにおけるＭＭＵは、アーキテクチャ的にサポートされる、請求項１から８のいずれか１項に記載の自動車セーフティシステム。
【請求項１０】
自動車オペレーティングシステムモジュールＯＳは、ＲＴＯＳにより供給され、ＯＳおよびＢＳＰは、スーパーバイザモードでインタラプトし、前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａは、スーパーバイザモードで操作され、ＢＳＰアクセスを有する唯一のソフトウェアコンポーネントであり、前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａは、共有メモリに対する読み取りおよび書き込み能力を有する、請求項１から９のいずれか１項に記載の自動車セーフティシステム。
【請求項１１】
前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃがユーザモードで操作されると、ＢＳＰは、前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃによりアクセス可能ではなく、前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃは、共有メモリを読み取りおよび書き込みすることができず、前記自動車の特定の安全性ソフトウェアモジュールＳＧは、スーパーバイザモードで操作され、ＢＳＰにアクセス可能であり、共有メモリを読み取ることができる、請求項１から１０のいずれか１項に記載の自動車セーフティシステム。
【請求項１２】
前記自動車の特定の安全性ソフトウェアモジュールＳＧは、質問‐回答アルゴリズムにより前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃの論理ユニットの正しい作動を判断することができる、請求項１から１１のいずれか１項に記載の自動車セーフティシステム。
【請求項１３】
自動車ソフトウェアを分離するための方法であって、
自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃを提供する段階と、
自動車の特定の安全性ソフトウェアモジュールＳＧを提供する段階とを備える方法であって、
第１の自動車マイクロコンピュータｕＣ１に実装される自動車品質管理ＱＭ標準に準拠して、前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃを開発する段階と、
第２の自動車マイクロコンピュータｕＣ２に実装される自動車ＳＩＬ標準に準拠して、前記自動車の特定の安全性ソフトウェアモジュールＳＧを開発し、それにより前記自動車の特定の安全性ソフトウェアモジュールＳＧを、前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃから物理的及び論理的に分離する段階とを備える方法。
【請求項１４】
前記自動車品質管理ＱＭ標準に基づいて前記第１の自動車マイクロコンピュータｕＣ１に第１の安全性目標を実装するように、前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃに命令する段階と、
自動車安全度水準ＳＩＬに基づいて前記第２の自動車マイクロコンピュータｕＣ２に第２の安全性目標を実装するように、前記自動車の特定の安全性ソフトウェアモジュールＳＧに命令する段階とを更に備え、
前記自動車の特定の安全性ソフトウェアモジュールＳＧは、前記第２の自動車マイクロコンピュータｕＣ２の少なくとも１つの入力および少なくとも１つの出力を用いて、前記第２の安全性目標が満たされているかを判断し、前記自動車の特定の安全性ソフトウェアモジュールＳＧは、前記自動車センサ／アクチュエータソフトウェアモジュールＳＷ‐Ｓ／Ａおよび前記自動車コンポーネントソフトウェアモジュールＳＷ‐Ｃの結果を用いて、前記第１の安全性目標が完成したかどうかを判断し、前記自動車の特定の安全性ソフトウェアモジュールＳＧは、少なくとも１つのアルゴリズムを用いて、前記第１の自動車マイクロコンピュータｕＣ１の動作ステータスを検証する、請求項１３に記載の自動車ソフトウェアを分離するための方法。