(57)【特許請求の範囲】
【請求項１】
制御装置（１）のバス通信に影響を及ぼす方法であって、
当該バス通信には、バスハードウェアに依存しない少なくとも１つの第１通信層（２）と、バスハードウェアに依存する少なくとも１つの第２通信層（３）とが含まれており、
前記第１通信層（２）は、少なくとも１つの第１の情報（４）を第１プロトコルデータユニット（５）内に符号化して前記第２通信層（３）に伝送し、
前記第２通信層（３）は、前記バスを介して送信するため、前記第１プロトコルデータユニット（５）から、または当該第１プロトコルデータユニット（５）から導出した別のプロトコルデータユニット（６）から、バスハードウェアに依存するバス情報（７）を形成する、制御装置（１）のバス通信に影響を及ぼす方法において、
前記第１通信層（２）と前記第２通信層（３）との間かまたは前記第２通信層（３）内に実現される少なくとも１つの送信影響層（８）により、
前記第１プロトコルデータユニット（５）に影響を及ぼし、および／または、当該第１プロトコルデータユニット（５）から導出される少なくとも１つの別のプロトコルデータユニット（６）に影響を及ぼし、
影響が及ぼされた前記第１プロトコルデータユニット（５ｂ）および／または影響が及ぼされた前記別のプロトコルデータユニット（６ｂ）を前記第２通信層（３）の別の処理に使用できるようにする、
ことを特徴とする方法。
【請求項２】
請求項１に記載の方法において、
前記送信影響層（８）により、
前記第１プロトコルデータユニット（５）および／または当該記第１プロトコルデータユニット（５）から導出される少なくとも１つの前記別のプロトコルデータユニット（６）を復号化する（１０）ことにより、前記第１プロトコルデータユニット（５）に影響を及ぼし、および／または、前記別のプロトコルデータユニット（６）に影響を及ぼし、
復号化して得られかつ影響を及ぼすべき情報に影響を及ぼし（１１）、
当該影響が及ぼされた情報を再度、影響が及ぼされた第１プロトコルデータユニット（５ｂ）に符号化し（１２）、および／または、影響が及ぼされた別のプロトコルデータユニット（６ｂ）に符号化する（１２）、
ことを特徴とする方法。
【請求項３】
制御装置（１）のバス通信に影響を及ぼす方法であって、
当該バス通信には、バスハードウェアに依存しない少なくとも１つの第１通信層（２）と、バスハードウェアに依存する少なくとも１つの第２通信層（３）とが含まれており、
前記第１通信層（２）は、前記第２通信層（３）から第１プロトコルデータユニット（５）を受け取って、前記第１プロトコルデータユニット（５）から第１の情報（４）を復号化し、
前記第２通信層（３）は少なくとも、バスを介して受信したバスハードウェアに依存するバス情報（７）から、前記第１プロトコルデータユニット（５）を形成するか、または前記第１プロトコルデータユニット（５）を導出可能な別のプロトコルデータユニット（６）を形成する、制御装置（１）のバス通信に影響を及ぼす方法において、
前記第１通信層（２）と前記第２通信層（３）との間かまたは前記第２通信層（３）内に実現される少なくとも１つの受信影響層（９）により、
前記別のプロトコルデータユニット（６）に影響を及ぼし、または、当該別のプロトコルデータユニット（６）から導出される前記第１プロトコルデータユニット（５）に影響を及ぼし、
得られかつ影響が及ぼされた前記第１プロトコルデータユニット（５ｂ）および／または影響が及ぼされた前記別のプロトコルデータユニット（６ｂ）を前記第２通信層（３）の別の処理に使用できるようにする、
ことを特徴とする方法。
【請求項４】
請求項３に記載の方法において、
前記受信影響層（９）により、
前記別のプロトコルデータユニット（６）および／または当該別のプロトコルデータユニット（６）から導出される前記第１プロトコルデータユニット（５）を復号化する（１０）ことにより、前記別のプロトコルデータユニット（６）に影響を及ぼし、および／または、前記第１プロトコルデータユニット（５）に影響を及ぼし、
復号化して得られかつ影響を及ぼすべき情報に影響を及ぼし（１１）、
影響が及ぼされた前記情報を再度、影響が及ぼされた前記第１プロトコルデータユニット（５ｂ）に符号化し（１２）、および／または、影響が及ぼされた前記別のプロトコルデータユニット（６ｂ）に符号化する（１２）、
ことを特徴とする方法。
【請求項５】
請求項１から４までのいずれか１項に記載の方法において、
前記第１プロトコルデータユニット（５）から、複数のプロトコル層（１９，２０）に対する複数のプロトコルデータユニットを形成し、または、
複数のプロトコル層（１９，２０）の複数のプロトコルデータユニットから前記第１プロトコルデータユニット（５）を形成し、
複数のプロトコル層（１９，２０）間で、複数の送信影響層（８）または受信影響層（９）により、複数のプロトコルデータユニットに複数の影響を及ぼす、
ことを特徴とする方法。
【請求項６】
請求項１から５までのいずれか１項に記載の方法において、
前記第２通信層（３）にプロトコル層（１９，２０）としてハードウェア抽象化層およびドライバ層が実現されている、
ことを特徴とする方法。
【請求項７】
請求項６に記載の方法において、
少なくとも、前記送信影響層（８）、または、前記受信影響層（９）、または前記送信影響層（８）および前記受信影響層（９）の両方が、前記ハードウェア抽象化層と前記ハードウェアドライバ層（２０）との間で前記第２通信層（３）に実現されている、
ことを特徴とする方法。
【請求項８】
請求項１から７までのいずれか１項に記載の方法において、
AUTOSAR（Automotive Open System Architecture）に準拠して前記第１通信層（２）を実現する、
ことを特徴とする方法。
【請求項９】
請求項１から８までのいずれか１項に記載の方法において、
制御装置（１）上に実装されるソフトウェアによって前記方法を実行する、
ことを特徴とする方法。
【請求項１０】
請求項１から８までのいずれか１項に記載の方法において、
エミュレーションされた制御装置（１）上に実装されるソフトウェアを用いて前記方法を実行し、
前記制御装置（１）は、ハードウェア・イン・ザ・ループシミュレータ（２３）上でリアルタイムにエミュレーションされる、
ことを特徴とする方法。
【請求項１１】
請求項１から８までのいずれか１項に記載の方法において、
ターゲット計算機（３）上に実装されるソフトウェアを用いて前記方法を実行する、
ことを特徴とする方法。
【請求項１２】
請求項１１に記載の方法において、
前記ターゲット計算機（３）は、リアルタイム機能のないターゲット計算機（２５）である、
ことを特徴とする方法。
【請求項１３】
請求項１から１２までのいずれか１項に記載の方法において、
前記第１通信層（２）、前記第２通信層（３）、前記送信影響層（８）または前記受信影響層（９）のうちの少なくとも１つの層は、相異なる計算ユニット上に構成される、
ことを特徴とする方法。
【請求項１４】
請求項１３に記載の方法において、
前記第１通信層（２）、前記第２通信層（３）、前記送信影響層（８）または前記受信影響層（９）のうちの少なくとも１つの層は、相異なるプロセッサ上または１つのプロセッサの異なるコア上に実現される、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置のバス通信に影響を及ぼす方法に関しており、このバス通信には、バスハードウェアに依存しない少なくとも１つの第１通信層と、バスハードウェアに依存する少なくとも１つの第２通信層とが含まれている。
【背景技術】
【０００２】
制御装置のバス通信に影響を及ぼす方法は、バスを介して別の通信相手に接続されているかまたは接続しようとする制御装置をテストすべき場合に使用され、殊にこの制御装置の通信特性それ自体がテストの対象となる場合に使用されることが多い。したがって制御装置のバス通信に影響を及ぼす方法は、制御装置のテストに使用され、またエラー時における制御装置特性を検査するために使用されることが多い。このような方法は、例えば、いわゆるrestbusシミュレーションの枠内で公知であり、このrestbusシミュレーションでは、ハードウェアおよびソフトウェア的にシミュレーションされる通信環境において実際の制御装置が使用されてその挙動がテストされる。しかしながらのこのような方法は、仮想の制御装置のrestbusシミュレーションの枠内でも公知である。
【０００３】
上記の第１および第２通信層は別の副通信層を含むことができる。ここで「通信層」という語は実質的に、この語がネットワークプロトコルまたはバスプロトコルに対して一般的な理解にしたがって使用されているのと同じ意味であると理解されたい。各通信層は一般的に、隣接する１つの通信層から情報を受け取り、隣接する別の１つの通信層に処理して転送するための機能を有する。バスハードウェアに依存しない第１通信層と、バスハードウェアに依存する第２通信層とへの上記の分類について、このことが具体的に意味するのは、第１通信層が、少なくとも１つの情報を第１プロトコルデータユニットに符号化して第２通信層に伝送すること、および／または、第１通信層が第２通信層から第１プロトコルデータユニットを受け取って、第１プロトコルデータユニットから上記の情報を復号化することである。上記の情報は、バスハードウェアに依存しない第１通信層において一般的にアプリケーションに関連するデータであり、このデータは、例えば、上記の制御装置によって記録されてバスを介して別のバス加入者に送信される測定値か、またはこの制御装置によって計算される量である。この際にバスが具体的にどのようなバスであるかは、対象としている方法では、従来技術においても本発明による方法においても重要ではなく、この方法は、任意のデータバスと共に使用可能である。例えば、この産業分野における実施においてしばしば使用されるバス標準の例は、ＣＡＮ，ＬＩＮまたはFlexRayである。上記の情報はいずれにせよ送信方向に、すなわち第１通信層から第２通信層に向かって符号化され、すなわち例えば所定の管理情報の分だけ拡張されてバスに近い層に転送される。すなわちここでは第２通信層に転送されるのである。送信および符号化方向において、上記の情報は、上記のプロトコルデータユニットにパックされる。受信または復号化方向において、パックされたこの情報は、すなわち第１プロトコルデータユニットは、管理情報に相応して開け放されて最終的に上記の情報そのものが得られるのである。第１通信層が受信も送信も共にできる場合、符号化の機能も復号化の機能も共に実装される。したがって第１通信層は、ハードウェアには依存しないのである。それは、第１通信層では、具体的なバスハードウェアには依存しないサービスだけが実装されているからである。すなわち、バスハードウェアに依存しない層に実現されるサービスは、バスシステムには依存しないか、またはバスシステムに依存するが具体的なバスハードウェアに依存しないのである。したがってバスに依存しない第１通信層は、通信ハードウェア抽象化層の上位に位置するのである。この場合、AUTOSTAR標準にしたがって実現される制御装置の例については、バスハードウェアに依存しない第１通信層には、アプリケーション層、ランタイム環境（ＲＴＥ Runtime Environment）および（例えばＣＡＮトランスポートプロトコルまたはFlexRayトランスポートプロトコルのようなバスシステムに依存する部分も含めた）通信サービスが含まれているが、例えばＣＡＮインタフェースまたはFlexRayインタフェースのようなバスハードウェアに依存するドライバ層は含まれていないのである。
【０００４】
上記のバスハードウェアに依存する第２通信層にも、送信方向（すなわちバスに向かう方向）へのデータ伝送、または受信方向（すなわち第１通信層の方向）へのデータ伝送、または双方向へのデータ伝送を実現する機能が含まれている。このことが意味するのは、第２通信層は、上記のバスを介する伝送のため、第１プロトコルデータユニットからバスハードウェアに依存するバス情報を形成し、または第１プロトコルデータユニットから導出される別のプロトコルデータユニットから、バスハードウェアに依存するバス情報を形成し（送信方向）、および／または、第２通信層は少なくとも、バスハードウェアに依存するバス情報から、第１プロトコルデータユニットを形成するか、または、第１プロコトルデータユニットを導出可能な別のプロトコルデータユニットを形成する（受信方向）ことである。これによれば、第１プロトコルデータユニットの他に、第１プロトコルデータユニットから導出されるかまたは第１プロトコルデータが導出可能な別のプロトコルデータユニットも得ることができる。このことは単に、第２通信層が複数の副通信層またはプロトコル層を含み得るという状況を考慮しているだけであり、ここではこれらの複数の副通信層の各副通信層により、それぞれ対応するプロトコルデータユニットが形成される。このことは、第１プロトコルデータユニットに関連して説明したとおりである。一般的に送信方向にはそれぞれの別のプロトコルデータユニットに別の管理情報が付け加えられ、また受信方向には副通信層またはプロトコル層において別のプロトコルデータユニットが抽出され、これは最終的に第１プロトコルデータユニットが得られまで続けられ、最終的にはこの第１プロトコルユニットからは第１通信層において上記の情報が得られる。
【０００５】
制御装置および制御装置のバス通信をテストする際の関心は、このテストを可能な限りに現実に則して実行して、可能な限りに情報の多いテスト結果を得ることにある。制御装置では、あらゆる点から見て後に使用される量産形制御装置に相応する制御装置をまさに使用することによってこれらの条件を満たすことができる。ここでこの量産形制御装置は、量産形のハードウェアも量産形のソフトウェアも共に有する。
【０００６】
実際の制御装置をテストする際、他方の通信相手は、restbusシミュレーションの枠内ではハードウェア・イン・ザ・ループシミュレータ（ＨＩＬシミュレータ）上で模倣されることが多く、ここで通信相手全体をシミュレーションする必要はなく、これらの他方の通信相手の一部は、実際のものとすることも可能である。いずれにせよ設けられているこのrestbusシミュレーションの場合、シミュレーションされるrestbus部分では比較的簡単にエラーを形成することができるが、実際に設けられている制御装置間にエラーを簡単に差し挟むことはできない。実際の制御装置間の通信にも影響を及ぼしたい場合、これはエラーゲートウェイによって実現されることが多い。エラーゲートウェイでは、エラーなしに動作する通常のバスの他に第２の「エラーバス」が提供され、このエラーバスは、エラーの場合に実際の２つの制御装置間で効力を発揮する。この場合にエラーゲートウェイは、上記の通常のバスとエラーバスとの間を仲介する。このエラーゲートウェイは、テストすべきエラー時に、エラーが入れるべきプロトコルデータユニットが得られるまで、影響を及ぼすべきデータを受信して復号化し、これに引き続き、影響が及ぼされたメッセージを再び符号化し、エラーバスを介して別の制御装置に供給するのである。容易にわかるのは、エラーゲートウェイを介して制御装置のバス通信に影響を及ぼすことが極めて煩雑なことである。さらに実際の制御装置を用いたrestbusシミュレーションにおいてつねに前提とされるのは、この制御装置もその量産バージョン段階にあるかまたは少なくともハードウェア実現（いわゆる量産先行）段階にあることであり、このため、早い時点における制御装置のバス通信のテストは実質的にできなくなってしまうのである。これに加えて、ＨＩＬシミュレータ上でシミュレーションされる制御装置のrestbusモデルには、後に実際の制御装置で使用されるコードは実装されていないため、影響が及ぼされてテストされるバス通信は、後に実際に実現されるバス通信には相応しないのである。
【０００７】
まさにこの点でいわゆる仮想制御装置がテストに投入される。restbusシミュレーションの制御装置モデルとは異なり、仮想制御装置のコードにはすでに、後に制御装置ハードウェア上で使用しようとしている量産形制御装置コードの複数のコンポーネントが含まれている。すなわち、仮想制御装置とは、シミュレーションのシナリオにおいて真の制御装置をエミュレーションするソフトウェアのことである。この仮想制御装置には、例えばアプリケーションソフトウェアの複数のコンポーネントと、ランタイム環境と、量産形制御装置コードとしての基本ソフトウェアの複数の部分とが含まれている。
【０００８】
仮想制御装置モデルは、例えば、オフラインシミュレーションにおいて標準のＰＣ上でまたはリアルタイムシミュレータ上でテストされる。ここでは、通信特性のような現実に則した作用をシミュレーションにおいて調べる。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の課題は、制御装置のバス通信の可能な限りに現実に則したテストを可能にする、制御装置のバス通信に影響を及ぼす方法を提供することである。
【課題を解決するための手段】
【００１０】
上記の課題は、本発明の請求項１により、制御装置のバス通信に影響を及ぼす方法であって、このバス通信には、バスハードウェアに依存しない少なくとも１つの第１通信層と、バスハードウェアに依存する少なくとも１つの第２通信層とが含まれており、第１通信層は、少なくとも１つの情報を第１プロトコルデータユニット内に符号化して第２通信層に伝送し、および／または、第１通信層は、第２通信層から第１プロトコルデータユニットを受け取って、第１プロトコルデータユニットから第１の情報を復号化し、第２通信層は、バスを介して伝送するため、第１プロトコルデータユニットから、または第１プロトコルデータユニットから導出した別のプロトコルデータユニットから、バスハードウェアに依存するバス情報を形成し、および／または第２通信層は少なくとも、バスハードウェアに依存するバス情報から、第１プロトコルデータユニットを形成するか、または第１プロトコルデータユニットを導出可能な別のプロトコルデータユニットを形成する、制御装置のバス通信に影響を及ぼす方法において、第１通信層と第２通信層との間かまたは第２通信層内に実現される少なくとも１つの送信影響層により、プロトコルデータユニットに影響を及ぼし、および／または、第１プロトコルデータユニットから導出される少なくとも１つの別のプロトコルデータユニットに影響を及ぼし、影響が及ぼされた第１プロトコルデータユニットおよび／または影響が及ぼされた別のプロトコルデータユニットを第２通信層の別の処理に使用できるようにし、および／または、第１通信層と第２通信層との間かまたは第２通信層内に実現される少なくとも１つの受信影響層により、別のプロトコルデータユニットに影響を及ぼし、および／または別のプロトコルデータユニットから導出される第１プロトコルデータユニットに影響を及ぼし、得られかつ影響が及ぼされて第１プロトコルデータユニットおよび／または影響が及ぼされた別のプロトコルデータユニットを第２通信層の別の処理に使用できるようにすることによって解決される。
【図面の簡単な説明】
【００１１】
【図１】従来技術にしたがい、制御装置のバス通信の機能の仕方を概略的に示す図である。
【図２】第２通信層内における送信影響層および受信影響層を示す図である。
【図３】バスハードウェアに依存しない第１通信層と、バスハードウェアに依存する第２通信層との間にある送信影響層および受信影響層を示す図である。
【図４】送信影響層および受信影響層の構造を略示する図である。
【図５】送信影響層および受信影響層の考えられ得る機能の仕方を詳細に示す図である。
【図６】副通信層として複数のプロトコル層を有する、バスハードウェアに依存する第２通信層を示す図である。
【図７】複数の送信影響層および受信影響層を有するバスハードウェア依存の第２通信層を示す図である。
【図８】量産形制御装置を用いた影響方法を現場において使用する様子を示す図である。
【図９】restbusシミュレーションを有する制御装置において、影響を及ぼす方法を使用する様子を示す図である。
【図１０】リアルタイム機能のないＰＣにおいて「オフライン」で、影響を及ぼす方法を使用する様子を示す図である。
【発明を実施するための形態】
【００１２】
本発明による方法の重要な様相は、バスハードウェアに依存しない第１通信層の外部に送信影響層（送信方向）および／または受信影響層（受信方向）が設けられており、この層により、実質的にプロトコルスタックの任意の深さにおいて、送信すべきデータまたは受信されるデータに影響を及ぼすことができるようにすることである。いずれにせよ影響層が、バスハードウェアに依存しない第１通信層の外部に設けられていることにより、影響層によってエラーを差し挟んだ際にも、第１通信層のベースにある制御装置のコードを変更なしにテストすることができる。ハードウェアに依存しない第１通信層のコードは、影響層による本発明のエラーの差し挟みに対してまったく変更する必要はなく、したがってこのコードを新たに生成する必要もない。バスハードウェアに依存しない第１通信層には、実際の応用において一般的にアプリケーション層と、リアルタイム環境を実現するための層と、バスハードウェアに依存しない所定の通信サービスを含む副通信層とが含まれているため、本発明による方法により、バス通信に影響を及ぼす際には殊に、変更されずかつバスハードウェアに依存しない通信サービスもテストされる。このことは、従来技術から公知の方法に比べて大きな利点である。
【００１３】
本発明による方法において重要でないのは、送信影響層および／または受信影響層が、バスハードウェアに依存しない第１通信層と、バースハードウェアに依存する第２通信層との間に、すなわち実質的に第１通信層および第２通信層の外部に実現されるか否か、または受信影響層および／または送信影響層が第２通信層の構成部分として実現されるか否かである。適用事例に応じておよびバス通信に影響を及ぼす所望の位置に応じて、第１通信層と第２通信層との間にも第２通信層内にも共に１つまたは２つのバス通信層を実現することが望ましいこともあり得る。
【００１４】
この方法の有利な実施形態では、送信影響層により、第１プロトコルデータユニットおよび／または第１プロトコルデータユニットから導出される少なくとも１つの別のプロトコルデータユニットに影響を及ぼし、ここでこれは、第１プロトコルデータユニットおよび／または別のプロトコルデータユニットを復号化し、復号化して得られかつ影響を及ぼすべき情報に影響を及ぼし、影響を及ぼされたこの情報を再び、影響を及ぼされた第１プロトコルデータユニットおよび／または影響を及ぼされた別のプロトコルに符号化することによって行われる。殊に第２通信層が（プロトコル層とも称される）複数の副通信層を含む場合、第２通信層には、第１プロトコルデータユニットから導出される別のプロトコルデータユニットが発生し、これらの別のプロトコルデータユニットは、バスに近い副通信層に向かってそれぞれ付加的かつプロトコルに依存する情報を備えている。
【００１５】
上述した有利な実施例に相応して、この影響方法の別の有利な実施例は、受信影響層により、別のプロトコルデータユニットおよび／または別のプロトコルデータユニットから導出される第１プロトコルデータユニットに影響が及ぼされるという特徴を有し、ここでこれは、別のプロトコルデータユニットおよび／または第１プロトコルデータユニットを復号化し、復号化して得られかつ影響を及ぼすべき情報に影響を及ぼし、影響を及ぼされたこの情報を再び、上記の影響を及ぼされた第１プロトコルデータユニットに符号化し、および／または、影響を及ぼされた別のプロトコルデータユニットに符号化することによって行われる。送信影響層においてすでに説明したのと同様に第１プロトコルデータユニットまたは別のプロトコルデータユニットは、影響を及ぼすべきデータが「むき出し」になり、したがって影響を及ぼすことができるようになるまでアンパックされ、これに続いて上記の影響を及ぼされたデータは、符号化によって再度「パッキング」されてバス通信のデータストリームに再度供給される。実行すべき操作ないしはエラー差し挟みは、例えば、プロトコルデータユニットの伝送を中断および／または遅延すること、受信確認を中断または遅延すること、生データ、更新ビット、チェックサム、カウンタおよびシグナル／データに影響を及ぼすことなどに関係する。
【００１６】
上ですでに示したように、影響を及ぼす上記の方法の別の有利な実施形態では、第１プロトコルデータユニットから、複数のプロトコル層に対して複数のプロトコルデータユニットを形成し、および／または、複数のプロトコル層において複数のプロトコルデータユニットから第１プロトコルデータユニットを導出する。ここで複数のプロトコル層間において、複数の送信および受信影響層は、複数のプロトコルデータユニットに複数の影響を及ぼす。これが第２通信層内で行われる場合、上記の複数のプロトコル層は実質的に第２通信層内の複数の副通信層である。第２通信層内の複数のプロトコル層の例、すなわち第２通信層内の複数の副通信層の例は、ハードウェア抽象化層およびハードウェアドライバ層であり、送信影響層および／または受信影響層は、例えば、ハードウェア抽象化層とハードウェアドライバ層との間に実現される。付加的な影響層をさらに実現するかまたは択一的に実現することが可能である。
【００１７】
制御装置のバス通信に影響を及ぼす本発明による方法は、既存の標準と関連して自由に使用可能である。有利な適用事例は、バスハードウェアに依存しない第１通信層をAUTOSAR（Automotive Open System Architecture）に準拠して実現することであり、ここでこのAUTOSARは、アプリケーションと、ベースにあるハードウェアとの間を分離できるように設計されている。
【００１８】
本発明による方法の利点は、この方法により、上記の利点を保ったままで実質的に任意のテストシナリオを実現できることである。この方法は、例えば、制御装置上に、殊に量産形制御装置上に実装されるソフトウェアを用いて問題なく実行可能である。このようにソフトウェア的に実現する場合、ハードウェアに依存しない第１通信層をベースにしたコードには手を付けないままにすることができ、上記の量産形制御装置は、第１通信層と第２通信層との間および／または第２通信層内に送信影響層および／または受信影響層を設けなればならないという範囲だけで実現すればよい。殊に第１通信層内に設けられる通信サービスは、送信影響層および／または受信影響層に依存せずにテストされる。
【００１９】
しかしながら、影響を及ぼす本発明の方法を実行するために量産形制御装置は必要ない。有利な適用事例において、影響を及ぼす本発明の方法は、エミュレーションされた制御装置上に実現されるソフトウェアによって実行され、殊にハードウェア・イン・ザ・ループ・シミュレータを用いてリアルタイムにエミュレーションされる制御装置上に実現されるソフトウェアによって実行される。ここで殊に強調すべきであるのは、バスハードウェアに依存しない第１通信層のベースにあるコードは、このコードが後に最終的なターゲットハードウェアで使用されるのと同様に、エミュレーションされる制御装置上で使用され、また実質的にこの制御装置において、上記の実現される影響層から切り離されてテストされることである。
【００２０】
本発明による方法は簡単に、完全に「オフライン」で実行することも可能であり、すなわち、殊にリアルタイム機能のないターゲット計算機上に実現されるソフトウェアによって実行することができる。ここでも第１通信層のコードは容易に、そこに含まれる通信サービスと共に、これが最終的なハードウェアで使用されると同様に使用することができる。
【００２１】
本発明による方法の別の有利な実施形態の特徴は、第１通信層および／または第２通信層および／または送信影響層および／または受信影響層は、相異なる計算ユニット上に構成され、殊に相異なるプロセッサ上または１つのプロセッサの相異なるコア上に構成されることである。
【００２２】
制御装置のバス通信に影響を及ぼす本発明による方法を構成して発展させるため、個別には多くの選択肢がある。これについては請求項１に従属する請求項も、図面に関連して行われる有利な実施例の以下の説明も共に参照されたい。
【実施例】
【００２３】
図１〜１０には、制御装置１のバス通信に影響を及ぼす方法の種々異なる様相が示されており、実際の制御装置１は、図８および９だけに明示的に示されており、図１０にはシミュレーションされた制御装置１が示されている。
【００２４】
図１には従来技術から公知のバス通信の構造が略示されており、この構造には、バスハードウェアに依存しない第１通信層２と、バスハードウェアに依存する第２通信層３とが含まれている。バスハードウェアに依存しない第１通信層２は、第１プロトコルデータユニット５内に情報４をコーディングして、第１プロトコルデータユニット５をバスハードウェアに依存する第２通信層３に伝送する。これとは逆に「受信器側」において第１通信層２は、第２通信層３から第１プロトコルデータユニット５を受け取り、第１プロトコルデータユニット５から情報４を元のように復号化する。情報４は一般的にアプリケーション固有情報であり、例えば、圧力または温度などのプロセス変数、制御装置に含まれるまたはこの制御装置に接続されているアクチュエータ用の操作量、または単に表示すべき情報であることもある。この情報４は一般的にバスハードウェアには依存しない。
【００２５】
送信方向には、上記のバスを介する後の伝送のため、第２通信層３により、第１プロトコルデータユニット５から、または第１プロトコルデータユニット５から導出される別のプロトコルデータユニット６から、バスハードウェアに依存するバス情報７が形成される。受信方向においてこのことが意味するのは、第２通信層３により、バスハードウェアに依存するバス情報７から、第１プロトコルデータユニット５が形成されること、または、第１プロトコルデータユニット５を導出することの可能な別のプロトコルデータユニット６が形成されることである。第１通信層２および第２通信層３は、別の複数の副通信層に分割することができ、すなわち、第１通信層２および第２通信層３それ自体は、複数のプロトコル層を含むことができるのである。送信方向には、すなわち第１通信層３から第２通信層３を経由してバス情報７に向かって、情報４は、プロトコルスタックを通過する際に一層多くの個数のプロトコル情報が被せられる。受信方向には、すなわちバス情報７から第２通信層３を経由して第１通信層２に向かって、バス情報７は、上記のプロトコルスタックを逆に通過する際にはプロトコル情報が取り除かれ続け、最終的には情報４だけ残る。
【００２６】
図２には、制御装置１のバス通信に影響を及ぼす本発明による方法の動作の仕方が示されている。第２通信層３には、送信影響層８が実現されており、この送信影響層は、第１プロトコルデータユニット５および／または第１プロトコルデータユニット５から導出される別のプロトコルデータユニット６に影響を及ぼし、影響が及ぼされた第１プロトコルデータユニット５ｂおよび／または影響が及ぼされた別のプロトコルデータユニット６ｂが第２通信層３のさらなる処理のために得られる。送信影響層８はここでは、例えば、意図的にエラーを差し挟むため、したがってバス通信をテストするために使用される。ここで注目すべきであるのは、バスハードウェアに依存しない第１通信層２が、バス通信に影響を及ぼす本発明の方法により、変更されるかまたは適合される必要がないことであり、殊にハードウェアに依存しない第１通信層２に含まれるすべてのプロトコル層を使用することができ、殊にここに位置する複数の通信サービスも、これらが実質的に量産形制御装置において使用されるのと同様に使用することができるのである。
【００２７】
さらに図２からわかるのは、第２通信層３内には受信影響層９も実現されていることであり、この受信影響層は、別のプロトコルデータユニット６、または、別のプロトコルデータユニット６から導出される第１プロトコルデータユニット５に影響を及ぼし、これによって得られかつ影響が及ぼされた第１プロトコルデータユニット５ｂおよび／または影響が及ぼされた別のプロトコルデータユニット６ｂが、第２通信層３のさらなる処理のために得られるのである（受信方向）。
【００２８】
当然のことながら、送信影響層８ないしは受信影響層９により、すべてのプロトコルデータユニットに影響を及ぼさせる必要はなく、必要な場合にはこれらの影響層の迂回してプロトコルデータユニットを案内することも可能であるが、このことについてはここでは詳しく説明しない。
【００２９】
図３にも制御装置のバス通信に影響を及ぼす本発明の方法が記載されており、ここでは図２に示した実施例とは異なり、送信影響層８も受信影響９も共に第１通信層２と第２通信層３との間に実現されている。各バス影響層８，９の結果はそれぞれ、相応に影響が及ぼされることにより、第１プロトコルデータユニット５から、ないしは第１プロトコルデータユニット５から導出した別のプロトコルデータユニット６から、影響を及ぼされた第１プロトコルデータユニット５ｂないしは影響を及ぼされた別のプロトコルデータユニット６ｂが形成されることである。送信方向には、上記の影響を及ぼされた第１プロトコルデータユニット５ｂないしは影響を及ぼされた別のプロトコルデータユニット６ｂは、第２通信層３に対して、第１プロトコルデータユニット５ないしはここから導出された別のプロトコルデータユニット６と同様に作用し、これは第２通信層３には区別できない。
【００３０】
図４にはバス通信に影響を及ぼす際の一層詳細な経過が示されており、一方は送信路および送信バス影響層８について示したものであり（左）、他方は受信影響層９を用いた受信路について示したものである（右）。送信影響層８は、第１プロトコルデータユニット５ないしは第１プロトコルデータユニット５から導出される別のプロトコルデータユニット６に影響を及ぼし、ここでこれは、第１プロトコルデータユニット５ないしは別のプロトコルデータユニット６を復号化し１０、復号化して得られかつ影響を及ぼすべき情報に影響を及ぼし１１，影響が及ぼされたこの情報を再び、影響を及ぼされた第１プロトコルデータユニット５ｂにないしは影響を及ぼされた別のプロトコルデータユニット６ｂに符号化する１２ことによって行われる。これに則して上記の影響の及ぼしは受信方向にも行われ、受信影響層９は、別のプロトコルデータユニット６ないしはこの別のプロトコルデータユニット６から導出される第１プロトコルデータユニット５に影響を及ぼし、ここでこれは、別のプロトコルデータユニット６ないしは第１プロトコルデータユニット５を復号化し１０、復号化して得られかつ影響を及ぼすべき情報に影響を及ぼし１１、この影響を及ぼされた情報を再び、影響を及ぼされた第１プロトコルデータユニット５ｂに、ないしは影響を及ぼされたプロトコルデータユニット６ｂに符号化する１２ことによって行われる。当然のことながら、送信路および受信路について説明した復号化１０、影響の及ぼし１１および符号化１２のステップは、これらに同じ参照符号が付されているとしても互いに異なることができ、また当然のことながら、送信路だけにおいて影響の及ぼしを行うかまたは受信路だけにおいて影響の及ぼしを行うことも可能である。上で述べたように、プロトコルデータユニットは、選択的には影響層を迂回して案内されることも可能である。
【００３１】
図５は、上で図４に基づいて説明した送信影響層８および受信影響層９の動作の仕方を説明している。図５には極めてコンパクトに示されているのは、影響を及ぼすべき情報が、プロトコルの種々異なる深さに存在し得ること、および、プロトコルスタックのどの深さにおいて影響が及ぼされるかに依存して復号化１０の及ぶ範囲が極めて異なり得ることである。図５に示した実施例において例示的に示されているのは、復号化１０が、ネットワークプロトコル層１３までか、インタラクションプロトコル層１４までか、または信号レベル１５までのいずれかまで達していることであり、この場合に影響の及ぼし１１は、各プロトコル層で行われる。逆に符号化１２は再びすべてのプロトコル層を通る必要があり、すなわち信号レベル１５から、インタラクションプロトコル層１４を経由して、ネットワークプロトコル層１３まで行く必要がある。相応することが、送信影響層８にも受信影響層９にもそれぞれ当てはまる。しかしながらネットワークプロトコル層１３だけで影響を及ぼそうとする場合、プロトコル層１４および１５において復号化１０を行う必要はなく、ネットワークプロトコル層１３の符号化１０には直接、影響の及ぼし１１と、これに続く、ネットワークプロトコル層１３における符号化１２とが続く。この場合に各プロトコル層には、各プロトコル層に固有でありかつ影響の及ぼし１１の対象となり得るプロトコルデータユニットがある。
【００３２】
図６に基づき、影響を与えるべきバス通信のベースにあるプロトコルスタックの一般的な構造を示す。この実施例においてソフトウェアアーキテクチャは、AUTOSAR標準に準拠するモジュラおよびオープン構造に依拠している。バスハードウェアに依存しない第１通信層２には、アプリケーション層１６と、ランタイム環境（Run Time Enviroment）１７と、バスハードウェアに依存しない通信サービス１８とが含まれている。これに対し、バスハードウェアに依存しない通信層３には、ハードウェア抽象化層１９およびドライバプロトコル層２０が含まれている。第２通信層３内では副通信層１９および２０の前に、組み合わせ形の送信および受信影響層８，９が配置されている。送信および受信影響層８，９は、バスハードウェアに依存しない第１通信層２の変更または備え付けを必要としないため、制御装置のバス通信に影響を及ぼす図示の方法により、制御装置通信のシミュレーションおよびテストの際には制御装置に固有の通信コードを使用することができるようになる。ここでこのコードは、図示の実施例において、通信サービスを有するプロトコル層１８に含まれている。図１ないし３にも示したように、ハードウェアに依存するバス情報７は、バスハードウェアに依存する第２通信層３により、通信方向に応じて送信または受信される。
【００３３】
図７の実施例は、図６の実施例と類似しており、その違いは、第１送受信影響層８，９の他に、ここでは別の第２送受信影響層８，９も設けられていることである。すなわち、プロトコル層１９と２０との間に第２送受信影響層８，９が設けられており、プロトコル層１９は同様にハードウェア抽象化層であり、プロトコル層２０はハードウェアドライバ層である。
【００３４】
図８には、制御装置１のバス通信に影響を及ぼす上記の方法が、量産形制御装置１上で実行される適用事例が示されており、量産形制御装置１は、バス２１を介して、バス２１に接続されている別の制御装置および周辺装置に接続されている。ここではこれらのうち、別の１つの制御装置２２だけが示されている。制御装置１にはバス通信を実現するため、バスハードウェアに依存しない第１通信層およびバスハードウェアに依存する第２通信層が実現されており、さらにバス通信に影響を及ぼすため、２つの通信層間に送信および受信影響層も実現されている。この送信および受信影響層は、所期のようにエラーを差し挟み、これによってこの送信および受信影響層は、制御装置１のテストおよびネットワーク全体のテストに使用される。
【００３５】
図９には、バス通信に影響を及ぼす方法が量産形制御装置１上に実現された適用事例が示されており、ここでは制御装置１は、ハードウェア・イン・ザ・ループ・シミュレータ２３に接続されており、このシミュレータは、相応するバスインタフェースを有しており、またこのシミュレータでは、restbusシミュレーションの枠内において、このバスネットワークの別の関与者２４ａ，２４ｂがシミュレーションされる。場合によっては、量産形制御装置１と、ハードウェア・イン・ザ・ループ・シミュレータ２３によってシミュレーションされる制御装置とに加えて、別の量産形制御装置をバスに接続することできるが、ここでは詳しく示していない。
【００３６】
（ここでは詳しく示していない）別の適用事例では、上記のバス通信に影響を及ぼす方法が実現されている制御装置も、リアルタイム機能を備えたハードウェアによってシミュレーションされる。すなわち上記の方法は、仮想の制御装置上でリアルタイムに動作させられるのである。ここでも重要であるのは、最後に挙げた適用事例において制御装置ハードウェアは設けられていないが、後に量産形制御装置上で使用されるように、バスハードウェアに依存しない第１通信層を使用し、これにより、殊に、バスハードウェアに依存しない第１通信層の構成部分である通信サービスも正確に検査およびテストできるようにすることである。
【００３７】
最後の図１０には「オフライン」の適用事例が示されており、ここでは、バス通信に影響を及ぼす上で説明した方法は、リアルタイム機能を備えていないＰＣ２５上で動作する。ここでも、上記の方法を実行する制御装置１が、この通信の別の関与者に至るバス接続部２１と同様にシミュレーションされる。ここではこれらの関与者のうち、仮想の制御装置２４だけが示されている。
【符号の説明】
【００３８】
１  制御装置、  ２  第１通信層、  ３  第２通信層、  ４  情報、  ５  第１プロトコルデータユニット、  ６  別のプロトコルデータユニット、  ７  バス情報、  ８  送信影響層、  ９  受信影響層、  １０  復号化のステップ、  １１  影響を及ぼすステップ、  １２  符号化のステップ、  １３  ネットワークプロトコル層、  １４  インタラクションプロトコル層、  １５  信号レベル、  １６  アプリケーション層、  １７  ランタイム環境、  １８  通信サービス、  １９  ハードウェア抽象化層、  ２０  ドライバプロトコル層、  ２１  バス、  ２２  制御装置、  ２３  ハードウェア・イン・ザ・ループ・シミュレータ、  ２４ａ，２４ｂ  別の関与者  ２５  ＰＣ
【図１】
0005661860.tif 000002
【図２】
0005661860.tif 000003
【図３】
0005661860.tif 000004
【図４】
0005661860.tif 000005
【図５】
0005661860.tif 000006
【図６】
0005661860.tif 000007
【図７】
0005661860.tif 000008
【図８】
0005661860.tif 000009
【図９】
0005661860.tif 000010
【図１０】
0005661860.tif 000011