IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングの特許一覧

特表2024-538186データ処理用のデータ処理ネットワーク
<>
  • 特表-データ処理用のデータ処理ネットワーク 図1
  • 特表-データ処理用のデータ処理ネットワーク 図2
  • 特表-データ処理用のデータ処理ネットワーク 図3
  • 特表-データ処理用のデータ処理ネットワーク 図4
  • 特表-データ処理用のデータ処理ネットワーク 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-18
(54)【発明の名称】データ処理用のデータ処理ネットワーク
(51)【国際特許分類】
   G06F 11/36 20060101AFI20241010BHJP
【FI】
G06F11/36 136
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024523210
(86)(22)【出願日】2022-09-28
(85)【翻訳文提出日】2024-06-11
(86)【国際出願番号】 EP2022076891
(87)【国際公開番号】W WO2023066624
(87)【国際公開日】2023-04-27
(31)【優先権主張番号】102021211709.0
(32)【優先日】2021-10-18
(33)【優先権主張国・地域又は機関】DE
(81)【指定国・地域】
(71)【出願人】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100161908
【弁理士】
【氏名又は名称】藤木 依子
(72)【発明者】
【氏名】ディツィオル,ラファエル
(72)【発明者】
【氏名】ペーンル,ミヒャエル
(72)【発明者】
【氏名】エゲンター,シュテファン
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042HH30
5B042JJ30
5B042MA20
5B042MC35
(57)【要約】
複数の連続するデータ処理ステップ(2)の冗長であり検証された実施のためのデータ処理ネットワーク(1)であって、データ処理ステップ(2)がそれぞれ、入力データ(3)から出力データ(4)を生成する働きをし、第1のデータ処理ステップ(2)の出力データ(3)が、少なくとも部分的に同時に、さらなるデータ処理ステップ(2)の入力データ(3)であり、各データ処理ステップ(2)の実施のために、少なくとも1つの第1のデータ処理モジュール(5)が設けられ、データ処理ネットワーク(1)が、コンパレータモジュール(7)をさらに備え、第1のデータ処理モジュール(5)が、個々のデータ処理ステップ(2)の制御パラメータ(8)をコンパレータモジュール(7)に送信するように設計されており、コンパレータモジュール(7)が、同期制御パラメータ(9)を提供するように設計されており、同期制御パラメータ(9)が、実施される少なくとも1つのデータ処理ステップ(2)に関する制御情報を含み、データ処理ネットワーク(1)が記録モジュール(29)を備え、記録モジュール(29)においてデバッグモードがアクティブ化可能であり、デバッグモードによってデバッグデータ(30)が記録され、デバッグデータ(30)が、データ処理ネットワーク(1)によるデータ処理ステップ(2)の各実行に関する情報を含む、データ処理ネットワーク(1)。
【特許請求の範囲】
【請求項1】
複数の連続するデータ処理ステップ(2)の冗長であり検証された実施のためのデータ処理ネットワーク(1)であって、前記データ処理ステップ(2)がそれぞれ、入力データ(3)から出力データ(4)を生成する働きをし、第1のデータ処理ステップ(2)の出力データ(3)が、少なくとも部分的に同時に、さらなるデータ処理ステップ(2)の入力データ(3)であり、各データ処理ステップ(2)の前記実施のために、少なくとも1つの第1のデータ処理モジュール(5)が設けられ、前記データ処理ネットワーク(1)が、コンパレータモジュール(7)をさらに備え、前記第1のデータ処理モジュール(5)が、前記個々のデータ処理ステップ(2)の制御パラメータ(8)を前記コンパレータモジュール(7)に送信するように設計されており、前記コンパレータモジュール(7)が、同期制御パラメータ(9)を提供するように設計されており、前記同期制御パラメータ(9)が、実施される少なくとも1つのデータ処理ステップ(2)に関する制御情報を含み、前記データ処理ネットワーク(1)が記録モジュール(29)を備え、前記記録モジュール(29)においてデバッグモードがアクティブ化可能であり、前記デバッグモードによってデバッグデータ(30)が記録され、前記デバッグデータ(30)が、前記データ処理ネットワーク(1)によるデータ処理ステップ(2)の各実行に関する情報を含む、データ処理ネットワーク(1)。
【請求項2】
少なくとも第1のデータ処理モジュール(5)のために第2のデータ処理モジュール(6)が存在し、前記第2のデータ処理モジュール(6)が、割り当てられた前記第1のデータ処理モジュール(5)と同じデータ処理ステップ(2)を実行し、制御パラメータ(8)を前記コンパレータモジュール(7)に送信するように設計されており、前記同期制御パラメータ(9)が、前記第1のデータ処理モジュール(5)および前記第2のデータ処理モジュール(6)によって送信された対応する制御パラメータ(8)の少なくとも1回の比較によって生成される、請求項1に記載のデータ処理ネットワーク(1)。
【請求項3】
前記記録モジュール(29)が、前記コンパレータモジュール(7)に接続され、前記コンパレータモジュール(7)において生じる制御パラメータ(8)を記録するように設計されている、請求項1または2に記載のデータ処理ネットワーク(1)。
【請求項4】
前記記録モジュール(29)が、前記デバッグモードのアクティブ化時に、前記少なくとも1つの第1のデータ処理モジュール(5)および/または前記少なくとも1つの第2のデータ処理モジュール(6)の状態(31)を記録するように設計されている、請求項1から3のいずれか一項に記載のデータ処理ネットワーク(1)。
【請求項5】
前記記録モジュール(29)が、前記デバッグモードのアクティブ化時に、前記データ処理ネットワーク(1)の各データ処理ステップ(2)の初期入力データ(3)を記録するように設計されている、請求項1から4のいずれか一項に記載のデータ処理ネットワーク(1)。
【請求項6】
前記記録モジュール(29)が、前記デバッグモードがアクティブ化されている間、各データ処理ステップ(2)の入力データの記録が永続的に行われるように設計されている、請求項1から5のいずれか一項に記載のデータ処理ネットワーク(1)。
【請求項7】
前記データ処理ステップ(2)に優先パラメータが割り当てられ、前記優先パラメータに対応して、データ処理ステップ(2)の各実行に関する情報の記録が行われる、請求項1から6のいずれか一項に記載のデータ処理ネットワーク(1)。
【請求項8】
前記デバッグモードにおいて制動モードをアクティブ化可能であり、前記制動モードによって、データ処理ステップ(2)の各実行に関する情報の完全な記録が行われることが保証され得る、請求項1から7のいずれか一項に記載のデータ処理ネットワーク(1)。
【請求項9】
第1のデータ処理モジュール(5)が第1のハードウェアコンポーネント(12)によって実現され、第2のデータ処理モジュール(6)が第2のハードウェアコンポーネント(13)によって実現され、第1のハードウェアコンポーネント(12)と第2のハードウェアコンポーネント(13)とが物理的に互いに分離されている、請求項1から8のいずれか一項に記載のデータ処理ネットワーク(1)。
【請求項10】
前記データ処理モジュール(5、6)のうちの少なくとも1つが、ASIL-Dに準拠していないハードウェアコンポーネント(12、13)を備える、請求項1から9のいずれか一項に記載のデータ処理ネットワーク(1)。
【請求項11】
前記コンパレータモジュール(7)が、第1のハードウェアコンポーネント(12)および第2のハードウェアコンポーネント(13)から物理的に分離されている第3のハードウェアコンポーネント(14)によって実現されている、請求項1から10のいずれか一項に記載のデータ処理ネットワーク(1)。
【請求項12】
前記第3のハードウェアコンポーネント(14)がASIL-Dに準拠している、請求項11に記載のデータ処理ネットワーク(1)。
【請求項13】
前記コンパレータモジュール(7)がデータメモリ(15)を備え、前記データメモリ(15)に、決定された制御パラメータ(8)が時間情報(16)と共に記憶され、したがって、前記データ処理ネットワーク(1)の前記データ処理モジュール(5、6)による前記データ処理ステップ(2)の前記処理の順序を表す論理タイムライン(17)が得られ、前記記録モジュール(29)が、前記デバッグモードにおいて、前記論理タイムライン(17)を、実施された前記データ処理ステップ(2)のフローチャート(32)と共に記録するように設計されている、請求項1から12のいずれか一項に記載のデータ処理ネットワーク(1)。
【請求項14】
請求項1から13のいずれか一項に記載のデータ処理ネットワーク(1)によってデータ処理をチェックするためのデバッグシステム(33)であって、前記データ処理ネットワーク(1)でも対応して実行される前記データ処理ステップ(2)を実施するためのデバッグデータ処理モジュール(34)と、前記データ処理ネットワーク(1)の前記記録モジュール(29)によって記録されたデバッグデータ(30)をインポートするためのインポートモジュール(35)と、前記デバッグシステム(33)によって前記データ処理を開始するための手段とを備える、デバッグシステム(33)。
【請求項15】
前記デバッグシステム(33)による前記データ処理の前記開始時に、前記少なくとも1つの第1のデータ処理モジュール(5)および/または前記少なくとも1つの第2のデータ処理モジュール(6)の初期入力データ(3)および状態(31)が、前記デバッグデータ処理モジュール(34)にインポートされる、請求項14に記載のデバッグシステム(33)。
【請求項16】
前記デバッグシステム(33)による前記データ処理中、前記デバッグシステム(33)による前記データ処理によって生成された合成入力データ(35)と、前記記録モジュール(29)によって前記デバッグモードにおいて永続的に記録された入力データ(3)とのデバッグ比較(37)が行われる、請求項14または15に記載のデバッグシステム(33)。
【発明の詳細な説明】
【背景技術】
【0001】
運転支援または自律運転用のシステムは、多くの個々のソフトウェアユニットからなり、それらは通常、データフローの観点からグラフによって表現することができる。これらのソフトウェアユニット(ランナブル、ノード、またはデータ処理コンポーネントと呼ばれることも多い)は、大量の入力データが処理され、そこから大量の出力データが生成されることによって特徴付けられる。
【0002】
上記のシステムでは、レーダまたはビデオなどのセンサからの入力データが、データ処理コンポーネントからのグラフとして処理され、グラフは、データフローを静的なビューにおいて視覚化される。
【0003】
様々なソフトウェアユニットは、一般的には複雑なデータ処理ネットワークを構成し、このデータ処理ネットワークによってセンサデータが処理されて、センサデータに基づいてアクションが実施される。そのようなアクションは、例えば、車両の自律運転の枠組での制御タスクであってもよい。データ処理ネットワークでのデータ処理は、通常、データ処理コンポーネントによって実行される複数の連続して構築されるデータ処理ステップまたはデータ処理タスクを含む。
【0004】
運転支援システムおよび(高度)自動運転(HAD)の機能安全要件の一部として、系統的および散発的なハードウェアエラーの確率が、システム機能のリスクおよび予想される損害に関連する所定の頻度を超えてはならない。新たに開発された運転支援システムは、一般的に、多数の車両において互いに並列に使用され、それに対応して装備された車両フリート全体に関連するリスクが評価され得るので、ハードウェアエラーの発生の許容確率は非常に低い。
【0005】
今日のハイエンドプロセッサと比較して、これらのセキュリティレベルを満たす一般に使用可能なマイクロコントローラの計算能力は非常に限られている。それらの最大クロック速度は約10%(300MHz対3GHz)であり、例えば、市販のマイクロプロセッサ(μP)では標準装備であり、そのパフォーマンスに大きく関与するような内部オプティマイザはない。
【0006】
これに関連して、大きな問題は、プログラムコードのエラーの発見(デバッグ)である。そのような用途において処理されるデータ量は非常に大きいため、開発目的でそのようなソフトウェアの特定の望ましくない挙動を再現するのに多大なコストがかかることが多い。このようなソフトウェアは、例えばテスト動作を実施する車両においてテスト用に実行される。その際、例えばカメラセンサによって非常に大量のデータが捕捉され、データ処理ネットワークにおいて処理される。通常のアプローチでは、これらのデータは、それぞれの誤った挙動を再現するためのテストを後で再び実施するために、同一の形式ではもはや使用可能でない。
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記のことに基づき、そのようなセキュリティレベルのための一般に使用可能なマイクロコントローラの限られた計算能力の解決に対処する、自動車用のデータ処理ネットワークを構築するための新規のアプローチが示される。
【課題を解決するための手段】
【0008】
ここでは、複数の連続するデータ処理ステップの冗長であり検証された実施のためのデータ処理ネットワークであって、データ処理ステップがそれぞれ、入力データから出力データを生成する働きをし、第1のデータ処理ステップの出力データが、少なくとも部分的に同時に、さらなるデータ処理ステップの入力データであり、各データ処理ステップの実施のために、少なくとも1つの第1のデータ処理モジュールが設けられ、データ処理ネットワークが、コンパレータモジュールをさらに備え、第1のデータ処理モジュールが、個々のデータ処理ステップの制御パラメータをコンパレータモジュールに送信するように設計されており、コンパレータモジュールが、同期制御パラメータを提供するように設計されており、同期制御パラメータが、実施される少なくとも1つのデータ処理ステップに関する制御情報を含み、データ処理ネットワークが記録モジュールを備え、記録モジュールにおいてデバッグモードがアクティブ化可能であり、デバッグモードによってデバッグデータが記録され、デバッグデータが、データ処理ネットワークによるデータ処理ステップの各実行に関する情報を含む、データ処理ネットワークが示される。
【0009】
データ処理ネットワークが、少なくとも1つの第1のデータ処理モジュールのために第2のデータ処理モジュールを備え、第2のデータ処理モジュールが、割り当てられた第1のデータ処理モジュールと同じデータ処理ステップを実行し、制御パラメータをコンパレータモジュールに送信するように設計されており、同期制御パラメータが、第1のデータ処理モジュールおよび第2のデータ処理モジュールによって送信された対応する制御パラメータの少なくとも1回の比較によって生成されると特に好ましい。
【0010】
ここに記載のデータ処理ネットワークの特長は、データ処理ステップの各実行に関する情報を含むデバッグデータを永続的に記録する記録モジュールである。これらのデバッグデータに基づいて、後で、データ処理ネットワークおよび/またはテスト環境においてそれぞれのデータ処理ステップの再生を達成することができる。
【0011】
第1のデータ処理モジュールおよび第2のデータ処理モジュールを備える記載のデータ処理ネットワークでは、対応する要件(例えば、ASIL-D準拠)が本質的に満たされないハードウェアに基づいてソフトウェアロックステップを実現することが可能にされる。これはとりわけ、データ処理に高い計算力を必要とし、そのために通常は非常に高性能のハードウェアが必要であるデータ処理ネットワークに関して好適である。
【0012】
基本的な考え方は、第1のデータ処理モジュールと第2のデータ処理モジュールとに関してそれぞれ別々のハードウェア(別々のコア)が使用され、それらが、高い計算力を有し、どちらも同じ計算を実施するというものである。コンパレータモジュールによって計算の比較が行われ、計算結果が同一である場合にのみ、この計算結果がデータ処理ネットワークでのさらなるデータ処理に利用される。同一性は、制御パラメータに基づいてデータ処理モジュールによって監視され、データ処理の制御フローを制御するために、データ処理ネットワークで同期制御パラメータが使用される。
【0013】
第1のデータ処理モジュールと第2のデータ処理モジュールとが制御パラメータを提供し、次いでそれらをコンパレータモジュールに転送するポイントは、一般的に、同期ポイントとも呼ばれる。
【0014】
上述したように、ここに記載の方法は、いわゆるソフトウェアロックステップに関する。ソフトウェアロックステップは、ハードウェアロックステップと区別され得る。ハードウェアロックステップには、非常に複雑なハードウェアが必要である。
【0015】
ここで特許請求されていないハードウェアロックステップは、一般的に、ハードウェア上で動作するソフトウェアプログラムの各計算ステップを2回実行するハードウェアが使用されるように実装される。これは、ソフトウェアプログラム自体がハードウェア上で1回のみ実行されることを意味する。オペレーティングシステムは、それぞれのソフトウェアプログラムのインスタンスを1つのみ認識する。ハードウェアは、1つのオペレーティングシステムレベルよりも下で、ソフトウェアの各ステップを2回実行する。
【0016】
これに対して、ここに記載のソフトウェアロックステップは、プログラムが二重で、すなわちオペレーティングシステムレベルで二重で実行されることを意味する。場合によっては、2つの互いに独立したオペレーティングシステム(第1のハードウェア/コアを備えた第1のデータ処理モジュール上の第1のオペレーティングシステム、および第2のハードウェア/コアを備えた第2のデータ処理モジュール上の第2のオペレーティングシステム)を動作させることもでき、それらが、それぞれのデータ処理ステップをそれぞれ(したがって二重で)実行する。
【0017】
ソフトウェアロックステップは、1つのオペレーティングシステム上で動作させることもでき、その際、場合によっては、オペレーティングシステムのレベルで、二重実行のために異なるハードウェア(2つの異なるコア)を使用するように命令が与えられる。
【0018】
ハードウェアを変更せずに複製/増殖できる2つのインスタンスが存在するとすぐに、二重実行はいわゆるソフトウェアロックステップとなる。ハードウェアロックステップは常に、追加の冗長な実行のためには追加のハードウェア(回路、トランジスタなど)も必要でなければならないことを意味し、ハードウェアは、オペレーティングシステムレベルの下に位置され、オペレーティングシステムはそれらのハードウェアが互いに別個であるとは認識できず、オペレーティングシステムの視点からは1つのハードウェアのように表される。すなわち、ハードウェアロックステップの使用により、ハードウェアロックステップなしの場合と同じ性能を達成するのに、常に少なくとも2倍の数のトランジスタが必要となる。
【0019】
記載のデータ処理ネットワークにより、または記載のデータ処理ネットワークを用いて、このために特別には開発されていないコントローラ/プロセッサ上でもロックステップアプローチが可能である。
【0020】
しかし、通常の場合は、第1のデータ処理モジュールと第2のデータ処理モジュールとは同一のソフトウェアによって実行され、それらの仕様的にも同一のハードウェア(同一のコア)が使用される。それぞれのデータ処理モジュールまたは根底にあるハードウェアが正しく機能する限り、入力データが同じであれば、両方のデータ処理モジュールにおいて生成される出力データも同じである。
【0021】
ソフトウェアロックステップが(ほぼ)リアルタイムの用途に利用される場合、多くの既知のアーキテクチャはタイムスライスグリッドに基づき、そこでは計算ステップの処理は所定のフレームを決して超えてはならない。これに関連して、いわゆるWCET(WCET=Worst Case Execution Time:最悪実行時間)が考慮されることが多い。ここで、どの計算ステップがタイムスライス内でどの順序で実行されるかが事前に決定される。計算ステップが事前に分かっているので、使用される2つのユニットは計算ステップを並列で実行することができる。多くの場合、入力データを処理して出力データを生成するための計算量の大きさには、大きなばらつきがある。一例は、見えているすべての交通標識を見つけ出すための画像分析の場合である。そのような分析を実施するためのデータ処理ステップは、例えば、視界内に2つの交通標識のみ存在する場合よりも、同時に100個の交通標識が見える場合に、はるかにより長い時間を必要とする。通常のソフトウェアロックステップアプローチでは、考えられるすべての関連ケースについて、データ処理ステップを実施するのに十分な時間が少なくとも設けられるように、WCETに基づいてタイムスライスを設計しなければならないであろう。
【0022】
これと比較すると、データ駆動型のシステムはより柔軟性があるが、そこでは実行順序は前の計算の結果および期間に依存し得る。このとき、計算ステップの順序はもはや事前には分かっていない。SWロックステップの場合、この特質は、可能な分岐ポイントが常に同期ポイントでもなければならないことを意味する。ここで、計算ユニットが並列で使用される場合、まず計算ステップの結果を常に検証しなければならず、その後、次のステップを安全に確定して実行することができるようになる。
【0023】
したがって、データ駆動型アーキテクチャでは、並列に計算するのではなく、計算ユニットを(同期なしで事前に)実行させ、得られた結果を(同じ実行順序の規定の下で)他のユニット上で再び計算して検証するほうが効率的であり得る。したがって、この場合、下位のセカンダリモジュールでの計算を規定するプライマリモジュールがある。
【0024】
今日のハードウェアロックステップ対応のマイクロコントローラは、高度自動運転に必要とされるような計算能力要件を満たしていないのと同時に、現在の高性能プロセッサは、所要のASIL-D安全性レベルを満たしていない。
【0025】
それにもかかわらず、高度自動運転のための計算システムを得るには、高速であるが確実でないプロセッサを適切に安全化する方法を見つけなければならない。このために、ここでは、ソフトウェアロックステップを使用することが提案される。
【0026】
これを試みるための最も単純な方法は、対応するマイクロプロセッサ上でソフトウェアロックステップを実現することであろう。しかし、これは、その計算能力を(少なくとも)半分にするのみでなく、2つの重大な問題も生じるであろう。すなわち、一方で、同一のハードウェアでの冗長な計算における系統的エラーを排除できず、他方で、出力データ/計算結果を比較するための必要なコンパレータも同様に確実でないハードウェアで実行され、そのため結果を十分に信頼できないであろう。
【0027】
この問題を解決するために、ここでは、互いに分離されたハードウェアを備えた少なくとも2つのモジュールと、1つの比較器ユニット(コンパレータモジュール)とに基づいてソフトウェアロックステップを実装することが提案され、比較器ユニット/コンパレータモジュールは、追加のASIL-D準拠ハードウェア上で実行される。
【0028】
さらに上で述べたアプローチでは、WCETを考慮して必要な最大計算時間を確保しなければならず、しかしこの最大計算時間は通常、例外的な場合にのみ必要とされるので、ほとんどのステップで時間が「余り」、この余った時間が、システムの処理チェーンにわたって積み重なって、許容できない遅延時間となり、ハードウェアの利用率が悪化する。したがって、事前に決定された実行順序と、WCETの使用とを伴う並列ソフトウェアロックステップでの危険性は、システム全体で所要の最大遅延時間を達成するか、または下回ることができないことである。
【0029】
さらに上で例えばプライマリモジュールと再計算用のセカンダリモジュールによって構成することができたようなデータ駆動型アーキテクチャを用いると、大幅に改良された利用率を達成することができるであろう。そのようなアーキテクチャでは、それぞれ次のデータ処理ステップがアドホックに実行され、正確なプロセスを事前に知る必要はなく、したがって高度な柔軟性が得られる。
【0030】
しかし、そのようなアーキテクチャは、とりわけここに記載の自動車用途では、以下で簡単に説明する欠点を有する:
実行順序は、プライマリモジュールによって予め定められる。従属するセカンダリモジュールは、いわば「盲目的に」再計算する。したがって、実行の順序は、できるとしても、不変数または一般的なルールに基づいてのみチェックすることができる。これにより、制御フローについても、それぞれの使用されるハードウェア個々と同じセキュリティレベルとなる。そのようなアーキテクチャでは、高いASIL-Dレベルを達成することができない。言い換えると、セカンダリモジュールを用いた再計算により、プライマリモジュールでの計算にエラーがあり得ることを後から確定することができるが、この場合、計算の結果はそれ以前に既に必要とされているので、既に手遅れである。
【0031】
計算の比較は、常に、冗長な計算ステップと、その後の結果の伝達とが終了した後に初めて行うことができる。計算のエラーが見つかるまでの時間は、原理上、倍増する。これにより、エラー遅延時間の増加が生じ、場合によっては、通常のプロセスにおいて不要な遅延時間も生じる。
【0032】
すなわち、プライマリモジュールおよびセカンダリモジュールによるロックステップの既知のアプローチは、確かにより柔軟性がありデータ駆動型の実行を可能にするが、遅延時間の増加という問題も有する。
【0033】
提示したデータ処理ネットワーク、およびそれに実装されたデータ処理方法は、高度自律運転に十分な性能を実現する。提示したデータ処理ネットワークは、時間駆動型とデータ駆動型との複合のアーキテクチャを実現する。すなわち、事前に決定された実行順序を用いるアプローチと比較して、ソフトウェアロックステップでの柔軟な実行順序が可能である。
【0034】
このために、並列に実施されるがタイムスライスに基づいていないソフトウェアロックステップアプローチが選択され、これは、計算ユニットとしての少なくとも2つのマイクロプロセッサ(第1のデータ処理モジュールおよび第2のデータ処理モジュール)と、追加の信頼できるハードウェア(コンパレータモジュール)上で動作する制御コンポーネントとにおいて実現される。安全目標規格に対応するこの制御ユニットは、これらの計算ユニット上での処理を同期し、それらの結果を比較する。
【0035】
プライマリ/セカンダリモジュールのロックステップと比較して、冗長な計算ステップが(ほぼ)同時に処理され、したがってカスケードが発生せず、それにより遅延挙動が改良される(図3を参照)。完全なデータパケットを比較器に送信する代わりに、ここに記載のデータ処理ネットワークでは、制御パラメータとしてデータ(パケット)のチェックサムのみをデータ処理モジュールからコンパレータモジュールに伝送することも可能であり、これは、場合によっては通信量を大幅に削減することができる。
【0036】
これらの最適化と、データ駆動型と時間駆動型との複合の動作とによって、ハードウェアの良好で効率的な利用が達成される。
セキュリティアーキテクチャの観点からは、記載のデータ処理ネットワークの構造は、セキュリティクリティカルなタスクの分解に対応する。これにより、個々の計算ユニットについてASIL要件が軽減され、したがって現在既存の高性能プロセッサによって、システム全体のASIL-Dレベルを既に達成することができるようになる。
【0037】
記載のデータ処理ネットワークを、ソフトウェアの実行に適用できるようにするために、以下の前提がある:
- すべてのデータおよびすべての関連の制御イベントが、タイムライン、またはそれと同等の構造、例えばイベントキューなどにマッピングされる。タイムラインは、「共通論理タイムライン」と呼ぶこともできる。
- 制御イベントによって開始される各計算ステップは、データ決定的である。すなわち、同じ開始状態では、入力データが同一であれば出力データも常に同じである。
【0038】
制御パラメータの比較が同一性チェックを含み、同期制御パラメータが第1のデータ処理モジュールと第2のデータ処理モジュールとからの制御パラメータの同一性を前提とすると特に有利である。
【0039】
また、データ処理ネットワークのさらなるデータ処理ステップによる出力データのさらなるデータ処理を制御するために、コンパレータモジュールによって提供される同期制御パラメータを使用するようにデータ処理ネットワークが設計されていると有利である。
【0040】
さらに、同期制御パラメータが、実行される少なくとも1つのデータ処理ステップに関する妥当性情報を含む妥当性パラメータであると有利である。
また、データ処理ネットワークが少なくとも1つのシーケンスモジュールを備え、シーケンスモジュールがそれぞれ、データ処理モジュールおよび/またはデータ処理ステップからの制御パラメータを並べ替えて同期し、次いでそれらを並べ替えによってコンパレータモジュールに転送するように設計されており、これにより、コンパレータモジュールが、データ処理モジュールがデータ処理ステップを実行した順序から独立して同期制御パラメータを決定することができると有利である。
【0041】
シーケンスモジュールは、とりわけ、個々のデータ処理モジュールで、とりわけ各場合に使用可能なハードウェアでデータ処理ステップが完了される順序を把握するために使用される。このようにして、さらなるデータ処理タスクを実施するためのハードウェアの可用性を判断することができる。シーケンスモジュールは、それぞれデータ処理モジュールに割り当てられ、制御パラメータを、コンパレータモジュールに、またはコンパレータモジュールが動作される(第3の)ハードウェアコンポーネントに送信する。
【0042】
好ましくはシンクロナイザが追加的に存在し、シンクロナイザは、2つのデータ処理モジュールのそれぞれ互いに属する(エラーが発生しない限り完全に対応する)制御パラメータを互いに同期し、場合によっては、コンパレータモジュールに供給される制御パラメータタプルを形成する。シンクロナイザとコンパレータモジュールとは、好ましくは、(第3の)ハードウェアコンポーネント上で動作される中央ユニットを一緒に形成する。シンクロナイザによって、データ処理ステップの実行順序の柔軟性が達成される。それぞれのデータ処理モジュールのハードウェアを利用して(このハードウェアがデータ処理ステップの実施を終了したときに)、さらなるデータ処理ステップを実施することもできる。
【0043】
第1のデータ処理モジュールと第2のデータ処理モジュールとで同じデータ処理ステップが実施されるので、正常なプロセスでは、それぞれで他方と同じ制御イベントおよびデータイベントが生成されるが、ユニットでの並列処理により、異なる順序で生成することもできる。
【0044】
ここで、中央ユニット(コンパレータモジュールおよびシンクロナイザからなる)は、すべてのデータ処理モジュールから適切なイベント(対応する制御パラメータ)が到着するまで、イベント(制御パラメータ)を一時記憶する。次いで、関連の制御パラメータを比較し、等しい場合には評価することができるか、または同期制御パラメータを出力することができる。
【0045】
好ましくは、タスク分散モジュールが追加的に存在し、タスク分散モジュールはその後、ハードウェアモジュールによる同期制御パラメータが存在するとき、それぞれのハードウェアでの個々の(次の)データ処理ステップの開始を計画および要求し、それによりハードウェアの特に優れた利用率を達成することができる。
【0046】
タスク分散モジュールは、好ましくは、ある種の刺激を個々のデータ処理モジュールに与えて、これらのデータ処理モジュールをアクティブ化する。中央ユニットまたは第3のハードウェアコンポーネントとコンパレータモジュールとの使用により、2つのデータ処理タスクの実施間の遅延時間のわずかな増加が確かに生じる。しかし、全体としては、とりわけ一般的なプライマリ/セカンダリモジュールアーキテクチャと比較したとき、遅延時間のこの増加は許容範囲内である。
【0047】
中央ユニット、またはシンクロナイザ、シーケンスモジュール、およびコンパレータモジュールが、受け取った制御パラメータ/イベントの一意の順序を確定することができない場合、エラー事象が確定され得る。用途によっては、これにより、新たに再計算が行われるか、またはデータ処理ネットワークでのデータ処理が終了する可能性がある。
【0048】
刺激は、中央ユニットによって特定の方法で検出される。制御パラメータを比較することによってコンパレータモジュールによって正しい計算結果が決定され、同期制御パラメータを計算することができたときは常に、いわば刺激が見つかり、これがさらなるデータ処理をトリガし、このデータ処理は、それぞれの第1のデータ処理モジュールおよびそれぞれの第2データ処理モジュールを用いて計算された出力データを入力データとして必要とする。さらなる計算ステップを実行するための場合によってはあり得る刺激を見つけるために、中央ユニットは、受信したすべてのデータイベント(制御パラメータ)のみでなく、前の計算ステップの終了(「End」または「DistributeSamples」)を表すイベントも評価する。さらに、時間駆動型の実行のための刺激として時間イベントを生成することができる。
【0049】
中央ユニットは、いわば、データ処理のさらに上で既述したタイムライン(共通論理タイムライン)を管理する。
それにより、正常時には、ローカルの実行順序に相違があり得るにもかかわらず、データ駆動型でも時間駆動型でもすべての計算ユニットで同じ結果のプロセスが得られる。
【0050】
記録モジュールが、コンパレータモジュールに接続され、コンパレータモジュールにおいて生じる制御パラメータを記録するように設計されていると特に好ましい。
コンパレータモジュールと、コンパレータモジュール内で生じる制御パラメータ(とりわけ同期制御パラメータ、しかし、場合によってはまたデータ処理モジュールによって送信される制御パラメータ)とが、デバッグデータを記録するための記録モジュールに関する特に優れた示唆を形成する。これらの制御パラメータを介して、記録すべきデバッグデータの基本構造を既に生成することができる。制御パラメータは、デバッグデータのための一種の基本データフレームワークを形成し、そこに、デバッグシステムのそれぞれのデータ処理ステップの後の実行(再生)のためのさらなるデータをインポートすることができる。
【0051】
コンパレータモジュールに加えて、好ましくは、データ処理ネットワークのすべてのデータ処理モジュールも、記録モジュールに接続されている。コンパレータモジュール自体は通常、実際に処理されたデータを得ず、いつどのデータがモジュールに入るかという情報のみを得る。データではなく、単なる制御パラメータ。データ処理モジュール内で実際に処理されたデータを記録するために、好ましくは、データ処理モジュールと記録モジュールとの間のデータ接続もさらに存在する。
【0052】
また、記録モジュールが、デバッグモードのアクティブ化時に、少なくとも1つの第1のデータ処理モジュールおよび/または少なくとも1つの第2のデータ処理モジュールの状態を記録するように設計されていると好ましい。
【0053】
この状態は、とりわけ、それぞれのデータ処理モジュールに割り当てられたメモリ領域の内部メモリ状態を含む。この状態は、時として、ここで記憶しなければならないかなりのデータ量を既に含むことがある。状態を記述するデータのデータ伝送量は非常に大きいので、場合によっては、そのような状態の記憶には、より長い期間が必要となり得る。このとき、既にさらなるデータ処理ステップが完了しているにもかかわらず、状態の記憶がまだ行われている可能性がある。好ましくは、記録モジュールは、これに適した技術を備えている。
【0054】
状態は通常、各データ処理モジュールによって記録されなければならない。これは通常、データ処理ネットワークの状態全体をデバッグに使用できるようにするために必要である。
【0055】
好ましくは、データ処理モジュールの(内部)状態の記録は、定期的に繰り返し行われる。デバッグシステムの動作を開始するには、開始時に状態が一度記録されれば確かに十分である。それにもかかわらず、(十分な帯域幅が使用可能である限り)動作中になおさらなる状態(いわゆるキーフレーム)を記録することも役立つ。したがって、デバッグシステムは、必ずしも記録モジュールによる記録の最初から開始される必要はなく、キーフレームごとに開始することができる。
【0056】
記録モジュールが、デバッグモードのアクティブ化時に、データ処理ネットワークの各データ処理ステップの初期入力データを記録するように設計されているとさらに好ましい。
【0057】
好ましくは、データ処理ネットワークは、データ処理ネットワークの(最終)出力データまで、センサデータのデータ処理の多数の互いに関連したデータ処理ステップを含む。このシステムでは、各データ処理ステップまたは各データ処理モジュールが入力データを有する。好ましくは、記録モジュールは、個々の繰り返し行われるデータ処理ステップごとに入力データが少なくとも1回(デバッグモジュールのアクティブ化時に)初期入力データとして記録されるように構成され、それにより、これらの入力データを用いて、データ処理ネットワーク全体の開始状態をデバッグシステムにおいて同期することができる。
【0058】
記録モジュールが、デバッグモードがアクティブ化されている間、各データ処理ステップの入力データの記録が永続的に行われるように設計されているとさらに好ましい。
データの記録に使用可能な帯域幅が許すとき、各個々のデータ処理ステップの入力データがとりわけ永続的に記録される。特に好ましくは、システム全体への悪影響を生じることなく、使用可能な帯域幅の観点から可能な場合には常に、デバッグモードがアクティブである間に入力データの記録を実施する動的モードが存在する。
【0059】
データ処理ステップに優先パラメータが割り当てられ、これらの優先パラメータに対応して、データ処理ステップの各実行に関する情報の記録が行われるとさらに好ましい。
データの記録に使用可能な帯域幅に応じて、デバッグモードにおいてデータが記録されるまで優先度しきい値を適合させることができる。使用可能な帯域幅が制限されており、デバッグシステム内でのデータ処理ネットワークの状態の合成に必要とされる必要最小限のデータのみがデバッグモードにおいて記録されるときに比べ、広い帯域幅が使用可能であるときにはより多くのデータがデバッグモードにおいて書き込まれる。
【0060】
データ処理ネットワークは、デバッグモードにおいて制動モードをアクティブ化可能であり、制動モードによって、データ処理ステップの各実行に関する情報の完全な記録が行われることが保証され得ると特に好ましい。
【0061】
通常、データ処理ネットワークの動作時、データ処理に必要なデータ処理ステップを実施するために使用可能な計算能力および帯域幅の不足が既に生じている。この理由で、記録モジュールの動作およびデバッグデータの記録を含むデバッグモードの実行は、場合によってはデータを記録するための容量を設けなければならない重要なプロセスである。これは、記載の制動モードによって達成することができる。このモードでは、データ処理ネットワークの動作は、少なくとも、必要な情報の完全な記録がデバッグモードにおいて可能である程度に調整される。
【0062】
特に好ましくは、制動モードでは、第1のレベルでのすべての入力データ(とりわけセンサデータ)がシステムに完全に記録され、システムの内部でモジュールによって生成されるデータは優先順位および使用可能な帯域幅に応じてのみ記録されることが保証され、したがって、システム限界で入力データ(とりわけセンサデータ、およびまたシステムの開始時の各モジュールの状態および入力データなどシステムの開始時のデータ)を完全に記録することができない場合にのみシステムが制動される。またデバッグシステムにおいて合成可能であろうモジュールの入力データ、および記録中に生じた状態(キーフレーム)は、好ましくは、データ処理ネットワークを特定の限度未満に減速させることなくそれが可能な場合にのみ記録される。
【0063】
第1のデータ処理モジュールが第1のハードウェアコンポーネントによって実現され、第2のデータ処理モジュールが第2のハードウェアコンポーネントによって実現され、第1のハードウェアコンポーネントと第2のハードウェアコンポーネントとが物理的に互いに分離されていると有利である。
【0064】
また、データ処理モジュールのうちの少なくとも1つが、ASIL-Dに準拠していないハードウェアコンポーネントを備えると有利である。
データ処理モジュールの両方のハードウェアコンポーネントがASIL-Dに準拠していないと特に有利である。
【0065】
また、コンパレータモジュールが、第1のハードウェアコンポーネントおよび第2のハードウェアコンポーネントから物理的に分離されている第3のハードウェアコンポーネントによって実現されていると有利である。
【0066】
これに関連して、第3のハードウェアコンポーネントがASIL-Dに準拠していると有利である。
また、コンパレータモジュールがデータメモリを備え、データメモリに、決定された制御パラメータが時間情報と共に記憶され、したがって、データ処理ネットワークのデータ処理モジュールによるデータ処理ステップの処理の順序を表す論理タイムラインが得られ、記録モジュールが、デバッグモードにおいて、この論理タイムラインを、実施されたデータ処理ステップのフローチャートと共に記録するように設計されていると有利である。
【0067】
この論理タイムライン上での記録に関しては、とりわけ制御パラメータによって形成されるデータフレームワークが役立つ。制御パラメータには、好ましくは、個々の実行の時間情報(データ処理モジュールによる個々のデータ処理ステップの実行の開始時点および終了時点)も含まれている。これらの時間情報を用いて、好ましくは、各場合に処理されるデータを含む、記録モジュールによって記録されるすべてのデータ処理ステップを論理タイムラインにマッピングすることができる。
【0068】
また、これに関連して、データ処理モジュールのハードウェアコンポーネントがコンパレータモジュールのハードウェアコンポーネントよりもかなり高性能であると有利である。コンパレータモジュールの第3のハードウェアコンポーネントとデータ処理モジュールの(第1および第2の)ハードウェアコンポーネントとの取り得る性能差は、データ処理ネットワークのそれぞれの用途に基づいて決まる。通常は、例えば、第1および第2のハードウェアコンポーネントのプロセッサクロックは、第3のハードウェアコンポーネントのプロセッサクロックの少なくとも5倍、場合によってはそれどころか10倍である。
【0069】
データ処理モジュールと中央ユニット(コンパレータモジュール、ならびに場合によってはシーケンスモジュールおよびタスク分散モジュール)との間の通信パスの負荷を軽減するために、大きいデータ量に関して、出力データとして、場合によってはそれらのチェックサム(CRC)として制御パラメータを計算することができ、これらのみが、一意のパケット識別子(別名、メタサンプル)と共に、制御パラメータとしてコンパレータモジュールに送信される。次のデータ処理ステップへの入力データとしての、データ処理ステップの出力データの実際のフローは、第1のハードウェアコンポーネントおよび第2のハードウェアコンポーネント上(および場合によってはまた、なおさらなるハードウェアコンポーネント上)で互いに独立して、または互いに並列に行うことができ、場合によっては、また中央ユニットまたはコンパレータモジュールから独立している、異なるハードウェアコンポーネント間のデータ伝送インターフェースが存在する。このとき、中央ユニットまたはコンパレータモジュールは、元のデータをチェックするのではなく、例えばそれらのチェックサムをチェックし、これは、元のコンテンツのビットごとの比較をもたらす。ここで、第1のハードウェアコンポーネントおよび第2のハードウェアコンポーネントは、元のデータパケットを比較器によって確認して配信できるようになるまで、元のデータパケットを一時的にバッファしなければならないことに留意されたい。
【0070】
コンパレータモジュールへ移送するための制御パラメータとしてのここで提案するチェックサムの計算も無視できないリソース消費となるので、出力データのデータ量によっては、出力データの直接比較を行うか、出力データのチェックサムの比較を行うかを決定することも可能である。
【0071】
制御パラメータの比較が、第1のデータ処理モジュールおよび/または第2のデータ処理モジュールでのデータ処理中に発生したエラーが許容限界を下回るかどうかに関するチェックを含むと特に有利であり、下回る場合には同期制御パラメータが生成される。これは、とりわけそのような場合、エラーが発生していても、許容限界を下回っていれば、同期制御パラメータが生成される場合があることを意味する。
【0072】
ここでは、記載したデータ処理ネットワークを動作させるための方法も述べられ、方法は、少なくとも以下のステップを含む:
a)第1のデータ処理モジュールによってデータ処理ステップを実施し、第1のデータ処理モジュールによるデータ処理ステップの実施をチェックするのに適した第1の制御パラメータを生成するステップ、
b)ステップa)とは独立して、第2のデータ処理モジュールによって同じデータ処理ステップを実施し、第2のデータ処理モジュールによるデータ処理ステップの実施をチェックするのに適した第2の制御パラメータを生成するステップ、
c)第1のデータ処理モジュールと第2のデータ処理モジュールとによって送信された対応する制御パラメータの比較をコンパレータモジュールによって実施し、この比較に基づいて、少なくとも1つの実施されたデータ処理ステップに関する制御情報を含む少なくとも1つの同期制御パラメータを提供するステップ。
【0073】
ここでは、上述したデータ処理ネットワークによってデータ処理をチェックするためのデバッグシステムであって、データ処理ネットワークでも対応して実行されるデータ処理ステップを実施するためのデバッグデータ処理モジュールと、データ処理ネットワークの記録モジュールによって記録されたデバッグデータをインポートするためのインポートモジュールと、デバッグシステムによってデータ処理を開始するための手段とを備える、デバッグシステムも述べられる。
【0074】
デバッグシステムは、さらに前に記載したデータ処理ネットワーク内で実施されるデータ処理ステップを追跡することを可能にするシステムであり、このために、好ましくは同じプログラムコードが使用され、好ましくは(場合によっては特定のレベルまでのみ)このプログラムコードの同じコンパイルが使用される。「特定のレベルまで」という制限は、下位のハードウェア関連層では、状況によっては、使用中のハードウェアでのデータ処理ステップの実行とデバッグシステムでの実行との相違が存在し得ることを意味する。その際しかし、好ましくは、デバッグシステムを用いてエラーを認識するときに、そのようなレベルでの相違が問題を引き起こさないことが(できる限り)保証される。
【0075】
とりわけ、デバッグシステムにも同様に、データ処理ステップを実施するためのデータ処理モジュールと、制御パラメータを管理するためのコンパレータモジュールとを備えた構造が存在すると好ましい。通常、デバッグシステムには、データ処理ステップを冗長に実行するための2つの並列に計算するデータ処理モジュールを備えた構造は存在しない。デバッグシステムではデータ処理ネットワークでのデータ処理ステップの実行のテストまたはチェックに重点が置かれるので、上記のような構造はデバッグシステムではとりわけ設けられない。ここでは一般的に、高度なエラー保護(高いASIL-Dレベル)は必要ない。
【0076】
デバッグシステムは、デバッグシステムによるデータ処理の開始時に、少なくとも1つの第1のデータ処理モジュールおよび/または少なくとも1つの第2のデータ処理モジュールの初期入力データおよび状態が、デバッグデータ処理モジュールにインポートされるように設計されていると特に有利である。
【0077】
好ましくは、デバッグシステムは、データ処理モジュールへのまたはデータ処理ステップのための初期入力データ、およびデータ処理モジュールの内部状態に関連するデータを状況内の開始時点に置くことができ、そこから、データ処理ネットワークが動作したのとまったく同じように動作する。このとき、開始時点後のこの後続の動作に関しては、一般的に、記録されたデータ処理ネットワークへの第1の入力データのみがまだ必要である。これらは、例えば、車両のセンサからのセンサデータであり、これらは車両の走行動作中に永続的に記録される。デバッグシステムによるデータ処理時、下流のデータ処理モジュールのために新たな入力データが次いで継続的に生成される。これは、デバッグシステムでのデータ処理モジュールまたはデータ処理ステップからの出力データの生成によって行われる。そのような出力データは、定期的に、後続のデータ処理モジュールのための入力データを形成する。デバッグシステムによって生成されるそのような入力データは、合成入力データと呼ばれる。
【0078】
デバッグシステムは、デバッグシステムによるデータ処理中、デバッグシステムによるデータ処理によって生成された合成入力データと、記録モジュールによってデバッグモードにおいて永続的に記録された入力データとのデバッグ比較が行われるように設計されていることがさらに好ましい。
【0079】
このようにして、データ処理におけるエラーの検索をさらに改良することができる。
記載のデータ処理ネットワーク、デバッグシステム、および技術的環境を、図に基づいて以下で説明する。各図は、本開示に限定されない好ましい例示的実施形態を示す。これらの図は概略的なものにすぎず、記載のデータ処理ネットワークの個々の態様をそれぞれ示す。
【図面の簡単な説明】
【0080】
図1】記載のデータ処理ネットワークを示す図である。
図2】論理タイムライン上で個々のデータ処理ステップの処理を示す図である。
図3】様々なデータ処理モジュールによる個々のデータ処理ステップの処理を示す図である。
図4】データ処理ネットワークによって実行される本明細書に記載の方法の流れ図である。
図5】記載のデバッグシステムを示す図である。
【発明を実施するための形態】
【0081】
図1は、自動車23における記載のデータ処理ネットワーク1を示す。例として、ここでは、データ処理ネットワーク1が、センサ19からのデータを処理するために使用され、そのシステムから出力データ受信機20がデータを供給されることが示されている。そのような出力データ受信機20は、例えば、自律走行動作用のシステムまたは同様のシステムであってよい。データ処理ネットワーク1は、例えばセンサデータを決定関連パラメータに変えるために使用され、決定関連パラメータは、データ処理ネットワーク1の出力データ4であってよい。
【0082】
ここでは、データ処理ネットワーク1によって、ハードウェアコンポーネントも含まれており、ハードウェアコンポーネント上で、データ処理ネットワーク1またはそのコンポーネントおよびモジュールを動作させることができる。
【0083】
データ処理ネットワーク1は、連続して構築された個々のデータ処理ステップ2を実行する。データ処理ステップ2の出力データ4は、さらなるデータ処理ステップ2の入力データ3になり得る。ここでは、各データ処理ステップ2は、できるだけ互いに独立して構成された複数のデータ処理モジュール5、6によって実現される。ここでは、第1のデータ処理モジュール5と第2のデータ処理モジュール6とがそれぞれ示されている。データ処理ステップ2を(並列で)実施する、3つ以上のデータ処理モジュールを設けることもできる。
【0084】
データ処理ネットワーク1は、なおさらなるコンポーネントも含み、それらについてはさらなる図に基づいてさらに詳細に説明する。そのようなコンポーネントには、とりわけコンパレータモジュール7、および場合によってはシンクロナイザ27も含まれ、それらはここでは概略的にのみ共に示唆されている。
【0085】
図1は記録モジュール29も示し、記録モジュール29は、データ処理モジュール5、6にそれぞれ接続されており、個々のデータ処理ステップのデバッグデータ30をそれぞれ受け取って記録する。ここで、記録モジュール29は、デバッグデータ30として、とりわけデータ処理モジュールのステータスデータ30および入力データ3、ならびにとりわけまた個々のデータ処理ステップ2の実行に関連する制御パラメータを受信する。
【0086】
図2は、記載のデータ処理ネットワーク1の別の表現を選択している。図2では、3つの矢印が上下に並べて示されており、これらの矢印は、個々のハードウェアコンポーネントを定義し、それと同時に、記載の方法の個々の方法ステップa)、b)、およびc)も表す。それと同時に、矢印は、論理タイムライン17上でのそれぞれのハードウェアコンポーネントでのプロセスの表現も提供する。上側の矢印は、第1のデータ処理モジュール5が実装されている第1のハードウェアコンポーネント12である。下側の矢印は、第2のデータ処理モジュール6が実装されている第2のハードウェアコンポーネント13である。中央の矢印は、コンパレータモジュール7が実現されている第3のハードウェアコンポーネント14である。第1のデータ処理モジュール5および第2のデータ処理モジュール6において、データ処理ネットワーク1のデータ処理ステップ2がそれぞれ実行される。データ処理ステップ2が完了すると常に、制御パラメータ8がコンパレータモジュール7に送信され、コンパレータモジュール7は次いで、制御パラメータ8の比較によって、データ処理ステップ2が正しく(すなわちエラーなく)実行されたかどうかを認識する。次いで、コンパレータモジュール7は同期制御パラメータ9を生成し、同期制御パラメータ9は、さらなるデータ処理ステップ2をトリガするために使用され、このデータ処理ステップ2は次いで、前のデータ処理ステップ2からの出力データ(ここには図示せず)をここでさらに処理する。コンパレータモジュール8および関連の構成要素は、記載のデータ処理ネットワーク1の中央ユニット24として理解することもできる。同期制御パラメータ9は、さらなるデータ処理ステップ2をトリガするための刺激25として理解することができる。
【0087】
図2には記録モジュール29も概略的に示されており、記録モジュール29は、第1のデータ処理モジュール5、第2のデータ処理モジュール6、およびコンパレータモジュール7から受信したデバッグデータ30を記録する。
【0088】
図3に、第1のデータ処理モジュール5および第2のデータ処理モジュール6によるデータ処理ステップ2の並列処理がさらにより詳細に示されている。第1のデータ処理モジュール5は第1のハードウェアコンポーネント12上で実現され、第2のデータ処理モジュール6は第2のハードウェアコンポーネント13上で実現されていることが分かる。第1のデータ処理モジュール5と第2のデータ処理モジュール6とはそれぞれ同じ入力データ3を処理し、またそれぞれ同じ出力データ4を生成するはずである。
【0089】
データ処理ステップ2またはデータ処理モジュール5、6は、データ処理のサブステップにそれぞれ関連する複数の個々のデータ処理コンポーネント18にもう一度分割することができる。したがって、ここで定義されるデータ処理ステップ2またはデータ処理モジュール5、6は、用途に応じて有意に選択または決定されたサブステップの事前グループ化に既に関連し、それらのサブステップはデータ処理コンポーネント18によって実行される。サブステップの事前グループ化は、好ましくは、データ処理ステップ2またはデータ処理モジュール5、6内でのデータ記憶が必要なく、実行のためにとりわけ入力データ以外のデータがアクセスされないように選択される。
【0090】
第1のデータ処理モジュール5と第2のデータ処理モジュール6とはそれぞれ制御パラメータ8を生成し、これらの制御パラメータ8がコンパレータモジュール7によって評価される。コンパレータモジュール7は第3のハードウェアコンポーネント14上で実現され、第3のハードウェアコンポーネント14は、第1のハードウェアコンポーネント12および第2のハードウェアコンポーネント13から独立しており、中央ユニット24を形成し、好ましくはさらに上で既述した高次の実行セキュリティ(高次のASILレベル)を提供する。好ましい変形実施形態では、各データ処理モジュール5、6の前にそれぞれ、データ処理から制御パラメータ8を取得するためのシーケンスモジュール11がさらに配置され、コンパレータモジュール7の前には、ここではさらにシンクロナイザ27が配置される。コンパレータモジュール7の後に、タスク分散モジュール22を追加的に接続することができ、タスク分散モジュール22は、さらなるデータ処理ステップ2をトリガするための同期制御パラメータ9または刺激25を出力する。シンクロナイザ27、コンパレータモジュール7、およびタスク分散モジュール22は、記載の中央ユニット24として、第3のハードウェアコンポーネント14上に一緒に実現することができる。好ましくは、記載のデータ処理ネットワーク1は、データ処理ステップ2が、それぞれ使用可能ではあるが十分に利用されていないハードウェア上で実行されるように動作される。タスク分散モジュール22は、使用可能なハードウェアへのデータ処理ステップ2のこの分散を可能にすることができる。さらに、実施されるデータ処理ステップ2の実行には、ハードウェアごとに異なる時間がかかる。シンクロナイザ27により、入力される制御パラメータ8のソートが達成され、それにより、コンパレータモジュール7は次いで、ハードウェアの利用率が高い場合でも、各場合に制御パラメータ8を互いに比較して、正しい同期制御パラメータ9を生成する。このために、制御パラメータ8は、制御パラメータタプル28としてシンクロナイザ27からコンパレータモジュール7に移送される。入力データ3および出力データ4が、それぞれ中央ユニット24またはコンパレータモジュール7を介してあるデータ処理ステップ2から次のデータ処理ステップ2に移送される必要はない。この目的のために、コンパレータモジュール7から独立して存在するデータ処理モジュール5、6またはそれぞれのハードウェアコンポーネント12、13の間に追加のデータ伝送インターフェース26が存在してもよい。このとき、好ましくは、コンパレータモジュール7を用いて、それぞれの出力データ4を生成するデータ処理ステップ2の処理にエラーのないことが両方のデータ処理モジュール5、6において確定されたときに、これらのデータ伝送インターフェース26を介して提供されるデータへのアクセスが行われる。
【0091】
図4では、記載の方法のなお別の表現が選択されており、そこでは各データ処理ステップ2ごとに方法ステップa)、b)、およびc)がそれぞれ実施される。実際のデータ処理ステップ2の実行は、常に第1のデータ処理モジュール5と第2のデータ処理モジュール6とによって互いに冗長的に行われる。次に、各場合に、コンパレータモジュール7によって、データ処理ステップ2が正しく実行されたかどうかのチェックが行われ、その後、次のデータ処理ステップ2が開始される。
【0092】
図5にデバッグシステム33が示されている。ここでも同様に、(デバッグシステム33の一部ではなく、データ処理ネットワーク1の一部であるが)記録モジュール29が示されている。デバッグシステム33には、インポートモジュール35を介してデバッグデータ30がインポートされる。デバッグシステム内に、デバッグデータ処理モジュール34が設けられる。デバッグデータ処理モジュール34は、データ処理ネットワークでも実行された同じデータ処理ステップ2を実行するように設計されている。このために、インポートモジュール35は、データ処理ステップ2のための各デバッグデータ処理モジュール34に状態31および入力データ3を導入する。デバッグシステムによるデータ処理ステップ2の実施により、さらなるデータ処理ステップ2の合成入力データ36が得られ、次いでそれらを、デバッグ比較37によって評価に供給することもできる。
図1
図2
図3
図4
図5
【手続補正書】
【提出日】2024-06-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数の連続するデータ処理ステップ(2)の冗長であり検証された実施のためのデータ処理ネットワーク(1)であって、前記データ処理ステップ(2)がそれぞれ、入力データ(3)から出力データ(4)を生成する働きをし、第1のデータ処理ステップ(2)の出力データ(3)が、少なくとも部分的に同時に、さらなるデータ処理ステップ(2)の入力データ(3)であり、各データ処理ステップ(2)の前記実施のために、少なくとも1つの第1のデータ処理モジュール(5)が設けられ、前記データ処理ネットワーク(1)が、コンパレータモジュール(7)をさらに備え、前記第1のデータ処理モジュール(5)が、前記個々のデータ処理ステップ(2)の制御パラメータ(8)を前記コンパレータモジュール(7)に送信するように設計されており、前記コンパレータモジュール(7)が、同期制御パラメータ(9)を提供するように設計されており、前記同期制御パラメータ(9)が、実施される少なくとも1つのデータ処理ステップ(2)に関する制御情報を含み、前記データ処理ネットワーク(1)が記録モジュール(29)を備え、前記記録モジュール(29)においてデバッグモードがアクティブ化可能であり、前記デバッグモードによってデバッグデータ(30)が記録され、前記デバッグデータ(30)が、前記データ処理ネットワーク(1)によるデータ処理ステップ(2)の各実行に関する情報を含む、データ処理ネットワーク(1)。
【請求項2】
少なくとも第1のデータ処理モジュール(5)のために第2のデータ処理モジュール(6)が存在し、前記第2のデータ処理モジュール(6)が、割り当てられた前記第1のデータ処理モジュール(5)と同じデータ処理ステップ(2)を実行し、制御パラメータ(8)を前記コンパレータモジュール(7)に送信するように設計されており、前記同期制御パラメータ(9)が、前記第1のデータ処理モジュール(5)および前記第2のデータ処理モジュール(6)によって送信された対応する制御パラメータ(8)の少なくとも1回の比較によって生成される、請求項1に記載のデータ処理ネットワーク(1)。
【請求項3】
前記記録モジュール(29)が、前記コンパレータモジュール(7)に接続され、前記コンパレータモジュール(7)において生じる制御パラメータ(8)を記録するように設計されている、請求項に記載のデータ処理ネットワーク(1)。
【請求項4】
前記記録モジュール(29)が、前記デバッグモードのアクティブ化時に、前記少なくとも1つの第1のデータ処理モジュール(5)および/または前記少なくとも1つの第2のデータ処理モジュール(6)の状態(31)を記録するように設計されている、請求項に記載のデータ処理ネットワーク(1)。
【請求項5】
前記記録モジュール(29)が、前記デバッグモードのアクティブ化時に、前記データ処理ネットワーク(1)の各データ処理ステップ(2)の初期入力データ(3)を記録するように設計されている、請求項に記載のデータ処理ネットワーク(1)。
【請求項6】
前記記録モジュール(29)が、前記デバッグモードがアクティブ化されている間、各データ処理ステップ(2)の入力データの記録が永続的に行われるように設計されている、請求項に記載のデータ処理ネットワーク(1)。
【請求項7】
前記データ処理ステップ(2)に優先パラメータが割り当てられ、前記優先パラメータに対応して、データ処理ステップ(2)の各実行に関する情報の記録が行われる、請求項に記載のデータ処理ネットワーク(1)。
【請求項8】
前記デバッグモードにおいて制動モードをアクティブ化可能であり、前記制動モードによって、データ処理ステップ(2)の各実行に関する情報の完全な記録が行われることが保証され得る、請求項に記載のデータ処理ネットワーク(1)。
【請求項9】
第1のデータ処理モジュール(5)が第1のハードウェアコンポーネント(12)によって実現され、第2のデータ処理モジュール(6)が第2のハードウェアコンポーネント(13)によって実現され、第1のハードウェアコンポーネント(12)と第2のハードウェアコンポーネント(13)とが物理的に互いに分離されている、請求項に記載のデータ処理ネットワーク(1)。
【請求項10】
前記データ処理モジュール(5、6)のうちの少なくとも1つが、ASIL-Dに準拠していないハードウェアコンポーネント(12、13)を備える、請求項に記載のデータ処理ネットワーク(1)。
【請求項11】
前記コンパレータモジュール(7)が、第1のハードウェアコンポーネント(12)および第2のハードウェアコンポーネント(13)から物理的に分離されている第3のハードウェアコンポーネント(14)によって実現されている、請求項に記載のデータ処理ネットワーク(1)。
【請求項12】
前記第3のハードウェアコンポーネント(14)がASIL-Dに準拠している、請求項11に記載のデータ処理ネットワーク(1)。
【請求項13】
前記コンパレータモジュール(7)がデータメモリ(15)を備え、前記データメモリ(15)に、決定された制御パラメータ(8)が時間情報(16)と共に記憶され、したがって、前記データ処理ネットワーク(1)の前記データ処理モジュール(5、6)による前記データ処理ステップ(2)の前記処理の順序を表す論理タイムライン(17)が得られ、前記記録モジュール(29)が、前記デバッグモードにおいて、前記論理タイムライン(17)を、実施された前記データ処理ステップ(2)のフローチャート(32)と共に記録するように設計されている、請求項に記載のデータ処理ネットワーク(1)。
【請求項14】
請求項1から13のいずれか一項に記載のデータ処理ネットワーク(1)によってデータ処理をチェックするためのデバッグシステム(33)であって、前記データ処理ネットワーク(1)でも対応して実行される前記データ処理ステップ(2)を実施するためのデバッグデータ処理モジュール(34)と、前記データ処理ネットワーク(1)の前記記録モジュール(29)によって記録されたデバッグデータ(30)をインポートするためのインポートモジュール(35)と、前記デバッグシステム(33)によって前記データ処理を開始するための手段とを備える、デバッグシステム(33)。
【請求項15】
前記デバッグシステム(33)による前記データ処理の前記開始時に、前記少なくとも1つの第1のデータ処理モジュール(5)および/または前記少なくとも1つの第2のデータ処理モジュール(6)の初期入力データ(3)および状態(31)が、前記デバッグデータ処理モジュール(34)にインポートされる、請求項14に記載のデバッグシステム(33)。
【請求項16】
前記デバッグシステム(33)による前記データ処理中、前記デバッグシステム(33)による前記データ処理によって生成された合成入力データ(35)と、前記記録モジュール(29)によって前記デバッグモードにおいて永続的に記録された入力データ(3)とのデバッグ比較(37)が行われる、請求項14に記載のデバッグシステム(33)。
【国際調査報告】