(57)【要約】【課題】中継装置の中継に遅延が生じ易い状況を作り出すことができるシミュレーション装置、シミュレーション方法、及びコンピュータプログラムを提供し、中継装置による中継の遅延を確実に防止することができる中継装置の製造方法を提供する。【解決手段】異なる通信バスの間で優先度を含んだ複数のメッセージを順次中継する中継装置における挙動のシミュレートを行うシミュレーション装置１は、中継装置が中継すべき複数のメッセージ及び前記送信権の調停に係る情報を記憶してある記憶部１２と、前記複数のメッセージの中から最低の優先度を含むメッセージを選択し、その後、優先度が高い順にメッセージを順次選択する選択部と、選択部が選択したメッセージに含まれる優先度及び記憶部１２が記憶してある送信権の調停に係る情報に基づいて、中継装置が通信バスに前記メッセージを送出することができるか否かを判定する送出判定部とを備える。【選択図】図１
2015089042.tif 000002
【特許請求の範囲】
【請求項１】
異なる通信バスの間で優先度を含んだ複数のメッセージを順次中継する中継装置が、各メッセージを受信後、送出されるべき通信バスに対応する送信メールボックスに前記メッセージ夫々を割り当て、割り当てられたメッセージに含まれる前記優先度に基づいて送信権の調停を行った後、前記メッセージ夫々を送出されるべき通信バスに送出するときの前記中継装置における挙動のシミュレートを行うシミュレーション装置において、
前記中継装置が中継すべき前記優先度を含む複数のメッセージ及び前記送信権の調停に係る情報を記憶してある記憶部と、
該記憶部が記憶してある複数のメッセージの中から最低の優先度を含むメッセージを送信メールボックスに割り当てるべく選択し、その後、前記送信メールボックスに割り当てるべく優先度が高い順にメッセージを順次選択する選択部と、
該選択部が選択したメッセージに含まれる優先度及び前記記憶部が記憶してある送信権の調停に係る情報に基づいて、前記中継装置が前記送信メールボックスに対応する通信バスに前記メッセージを送出することができるか否かを判定する送出判定部と
を備え、
前記選択部は、前記送出判定部がメッセージを送出することができると判定した後、該メッセージの次に選択されるべきメッセージを選択するようにしてあること
を特徴とするシミュレーション装置。
【請求項２】
前記記憶部は、前記複数のメッセージ夫々が送出されるべき通信バスに送出されたときに該通信バスを占有する占有時間に係る情報を、前記複数のメッセージ夫々に対応付けて記憶してあり、
前記選択部がメッセージを選択してから前記送出判定部が該メッセージを送出することができると判定するまでの時間を、前記選択部がメッセージを選択する都度算出する時間算出部と、
前記選択部により選択されたメッセージに係る前記占有時間及び該メッセージが選択されたときに前記時間算出部が算出した時間の和を、該時間算出部が時間を算出する都度積算する積算部と
を備えることを特徴とする請求項１に記載のシミュレーション装置。
【請求項３】
前記送信権の調停に係る情報は、前記送信メールボックスに対応する通信バスに接続された一又は複数の通信装置が送出すべき優先度を含む複数の送出メッセージと、該複数の送出メッセージ夫々が前記通信バスに送出されたときに該通信バスを占有する占有時間に係る情報とを含み、
前記選択部が選択したメッセージと、前記一又は複数の通信装置が各送出すべき送出メッセージとに含まれる優先度夫々を比較する比較部を備え、
前記送出判定部は、前記比較部の比較結果が、前記選択部に選択されたメッセージに含まれる優先度が一番高いか否かを判定することで、前記メッセージを送出することができるか否かを判定するようにしてあり、
前記比較部は、前記選択部に選択されたメッセージに含まれる優先度が、前記送出判定部により一番高くはないと判定されたとき、前記送出判定部により前記優先度が一番高いと判定されるまで、比較対象を変えて優先度の比較を繰り返すようにしてあり、
前記時間算出部は、前記送出判定部が前記選択部により選択されたメッセージに含まれる優先度が一番高くはないと判定したときの前記比較部の比較結果における、最も優先度が高い送出メッセージに対応する前記送信権の調停に係る情報に含まれる占有時間に係る情報に基づいて時間を算出するようにしてあること
を特徴とする請求項２に記載のシミュレーション装置。
【請求項４】
前記記憶部は、前記複数の送出メッセージ夫々が前記通信バスに送出されるべき送出周期に係る情報を記憶してあり、
該送出周期に係る情報に基づいて、前記シミュレートが開始された後、前記複数の送出メッセージ夫々について前記通信バスに送出されるべきか否かを判定する送出周期判定部を備え、
前記比較部は、前記送出周期判定部により前記通信バスに送出されるべきと判定された送出メッセージを前記比較対象とするようにしてあること
を特徴とする請求項３に記載のシミュレーション装置。
【請求項５】
前記記憶部は、前記複数のメッセージ夫々が前記中継装置に受信されるべき周期に係る情報を記憶してあり、
該周期に係る情報に基づいて、前記シミュレートが開始された後、前記複数のメッセージ夫々について前記中継装置に受信されるべきか否かを判定する周期判定部を備え、
前記選択部は、前記周期判定部により前記中継装置に受信されるべきと判定されたメッセージの中から前記メッセージを選択するようにしてあること
を特徴とする請求項２から４までの何れか一つに記載のシミュレーション装置。
【請求項６】
前記積算部は予め設定された初期値から積算するようにしてあること
を特徴とする請求項２から５までの何れか一つに記載のシミュレーション装置。
【請求項７】
前記記憶部は、前記複数のメッセージ夫々が前記中継装置に受信されてから送出されるべき通信バスに送出され終えるまでの許容時間を、前記複数のメッセージ夫々に対応付けて記憶してあり、
前記選択部により選択されたメッセージにおける、前記中継装置に受信されてから送出されるべき通信バスに送出され終えるまでの所要時間を、前記メッセージが選択された直後に前記積算部が積算した積算時間とし、前記所要時間が前記メッセージに対応する許容時間よりも短いか否かを判定する許容時間判定部を備え、
前記許容時間判定部は、前記記憶部が記憶してある複数のメッセージ全てについて判定するようにしてあること
を特徴とする請求項２から６までの何れか一つに記載のシミュレーション装置。
【請求項８】
前記シミュレートの対象となる中継装置は、メッセージを送出すべき通信バスに複数の送信メールボックスを備え、
前記許容時間判定部によって前記所要時間が対応する許容時間よりも長いと判定されたメッセージが複数ある場合、該メッセージ夫々を対応付けて前記記憶部に記憶するようにしてあり、
前記選択部は、前記送信メールボックスが対応する通信バスに同じく対応する他の送信メールボックスに割り当てるべく、前記記憶部に記憶された複数の前記メッセージの中から最低の優先度を含むメッセージを選択し、その後、前記他の送信メールボックスに割り当てるべく優先度が高い順に前記メッセージを順次選択するようにしてあること
を特徴とする請求項７に記載のシミュレーション装置。
【請求項９】
前記選択部によって選択された最低の優先度を含むメッセージにおける前記所要時間が、対応する許容時間よりも長いと前記許容時間判定部にて判定された場合、前記メッセージは、前記許容時間判定部によって前記所要時間が対応する許容時間よりも長いと判定された他のメッセージとは別に、割当不可メッセージとして前記記憶部に記憶され、
前記選択部は、前記他のメッセージの中からメッセージを選択するようにしてあること
を特徴とする請求項８に記載のシミュレーション装置。
【請求項１０】
前記記憶部は、前記通信バスに対応する送信メールボックスの数の上限値を記憶してあり、
前記許容時間判定部によって、前記記憶部に記憶された前記割当不可メッセージを除く複数のメッセージ全てにおける各所要時間が、各対応する許容時間よりも短いと判定された場合、前記選択部が割り当てるべき送信メールボックスの数が前記上限値以下であるか否かを判定するようにしてあること
を特徴とする請求項９に記載のシミュレーション装置。
【請求項１１】
前記記憶部に記憶された割当不可メッセージを除く複数のメッセージ全てにおける所要時間夫々が、各対応する許容時間よりも短いと前記許容時間判定部にて判定された場合、前記記憶部に記憶された前記割当不可メッセージの数を計数する計数部を備え、
該計数部が計数した数が、前記送信メールボックスの数の上限値よりも少ない場合、前記許容時間夫々を同じ倍率で変更した時間に更新し、前記シミュレートを再度行い、その後、前記計数部が計数した数が前記送信メールボックスの数の上限値と一致するまで、前記許容時間の更新を行い、前記シミュレートを繰り返すこと
を特徴とする請求項１０に記載のシミュレーション装置。
【請求項１２】
異なる通信バスの間で優先度を含んだ複数のメッセージを順次中継する中継装置が、各メッセージを受信後、送出されるべき通信バスに対応する送信メールボックスに前記メッセージ夫々を割り当て、割り当てられたメッセージに含まれる前記優先度に基づいて送信権の調停を行った後、前記メッセージ夫々を送出されるべき通信バスに送出するときの前記中継装置における挙動のシミュレートを行うシミュレーション方法において、
前記中継装置が中継すべき前記優先度を含む複数のメッセージ及び前記送信権の調停に係る情報を予め記憶しておき、
記憶してある複数のメッセージの中から最低の優先度を含むメッセージを送信メールボックスに割り当てるべく選択する第１選択ステップと、
該第１選択ステップの後、前記送信メールボックスに割り当てるべく優先度が高い順からメッセージを順次選択する第２選択ステップと、
前記第１選択ステップ又は第２選択ステップにて選択されたメッセージに含まれる優先度及び記憶してある送信権の調停に係る情報に基づいて、前記中継装置が前記送信メールボックスに対応する通信バスに前記メッセージを送出することができるか否かを判定する判定ステップと
を含み、
前記第２選択ステップは、前記判定ステップがメッセージを送出することができると判定した後、該メッセージの次に選択されるべきメッセージを選択するようにしてあること
を特徴とするシミュレーション方法。
【請求項１３】
異なる通信バスの間で優先度を含んだ複数のメッセージを順次中継する中継装置が、各メッセージを受信後、送出されるべき通信バスに対応する送信メールボックスに前記メッセージ夫々を割り当て、割り当てられたメッセージに含まれる前記優先度に基づいて送信権の調停を行った後、前記メッセージ夫々を送出されるべき通信バスに送出するときの前記中継装置における挙動のシミュレートをコンピュータに行わせるコンピュータプログラムにおいて、
コンピュータに、記憶された前記中継装置が中継すべき前記優先度を含む複数のメッセージの中から、最低の優先度を含むメッセージを送信メールボックスに割り当てさせるべく選択させる第１選択ステップと、
コンピュータに、前記第１選択ステップを実行させた後、前記送信メールボックスに割り当てさせるべく優先度が高い順からメッセージを順次選択させる第２選択ステップと、
コンピュータに、前記第１選択ステップ又は第２選択ステップにて選択させたメッセージに含まれる優先度及び記憶された送信権の調停に係る情報に基づいて、前記中継装置が前記送信メールボックスに対応する通信バスに前記メッセージを送出することができるか否かを判定させる判定ステップと
を含み、
前記第２選択ステップは、コンピュータが前記判定ステップでメッセージを送出することができると判定した後、コンピュータに前記メッセージの次に選択されるべきメッセージを選択させるようにしてあること
を特徴とするコンピュータプログラム。
【請求項１４】
接続されるべき通信バスに優先度を含む複数のメッセージを送出するときに該メッセージ夫々を割り当てるべき複数の送信メールボックスを備え、異なるバスの間で優先度を含む所定のメッセージ群におけるメッセージを順次中継する中継装置を、請求項８から１１までの何れか一つに記載のシミュレーション装置におけるシミュレートに基づいて製造する中継装置の製造方法であって、
前記シミュレーション装置に、前記中継装置の挙動をシミュレートさせる工程と、
前記許容時間判定部の判定結果に基づいて、前記中継装置が備える複数の送信メールボックス夫々に割り当てるべき前記メッセージ群におけるメッセージを決定する工程と
を含むことを特徴とする中継装置の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる通信バス間に優先度を含んだメッセージを順次中継する中継装置の挙動に係るシミュレートを行うシミュレーション装置、シミュレーション方法、コンピュータプログラム、及び中継装置の製造方法に関する。
【背景技術】
【０００２】
従来、車両制御の分野では、車内に配される機器夫々を制御する多数のＥＣＵ（Electronic Control Unit）を通信バスで接続し、相互にメッセージを送受信させて、多様な処理を行なう構成が一般的となっている。１つの通信バスに接続されるＥＣＵの数に制限があること、又はＥＣＵの役割によって通信速度が異なることから、ＥＣＵを複数の群に分け、群毎に１つの通信バスに接続し、異なる通信バス間を中継装置（ゲートウェイ）で接続する構成が採用されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−６５１７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に中継装置は、接続される通信バス毎に送信メールボックスを備え、受信したメッセージを通信バスに送出するとき、送信メールボックスに当該メッセージを割り当てる。接続している通信バスが例えばＣＡＮ（Control Area Network）プロトコルによって通信が行われる場合、中継装置は、当該通信バスに接続しているＥＣＵと送信権の調停（アービトレーション）を行う。具体的には、中継装置は、送信メールボックスに割り当てられたメッセージに含まれる優先度に基づいて行う。
【０００５】
また、一般に各送信メールボックスは、一のメッセージのみ割り当てることができ、同じ通信バスに送出されるべき複数のメッセージが中継装置に受信されている場合は、優先度に基づいてメッセージが送信メールボックスに順次割り当てられる。中継装置は、送信メールボックスに先に割り当てられたメッセージの優先度が低かった場合、送信権の取得に時間を要し、その後受信された当該送信メールボックスに割り当てられるべき優先度の高いメッセージの送出に時間を要する。この場合、通信に必要以上の遅延が生じ、車両制御に悪影響を及ぼす虞がある。
【０００６】
中継装置のメッセージの中継に起因する車両制御への悪影響を事前に防ぐべく、中継装置の設計の段階で、当該中継装置の中継に遅延が生じ易い状況を再現した中継装置の挙動をシミュレートすることによって、当該挙動の解析を行う必要性が生じている。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、その目的は、中継装置の中継に遅延が生じ易い状況を作り出すことができるシミュレーション装置、シミュレーション方法、及びコンピュータプログラムを提供することにある。また、他の目的は、中継装置による中継の遅延を確実に防止することができる中継装置の製造方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係るシミュレーション装置は、異なる通信バスの間で優先度を含んだ複数のメッセージを順次中継する中継装置が、各メッセージを受信後、送出されるべき通信バスに対応する送信メールボックスに前記メッセージ夫々を割り当て、割り当てられたメッセージに含まれる前記優先度に基づいて送信権の調停を行った後、前記メッセージ夫々を送出されるべき通信バスに送出するときの前記中継装置における挙動のシミュレートを行うシミュレーション装置において、前記中継装置が中継すべき前記優先度を含む複数のメッセージ及び前記送信権の調停に係る情報を記憶してある記憶部と、該記憶部が記憶してある複数のメッセージの中から最低の優先度を含むメッセージを送信メールボックスに割り当てるべく選択し、その後、前記送信メールボックスに割り当てるべく優先度が高い順にメッセージを順次選択する選択部と、該選択部が選択したメッセージに含まれる優先度及び前記記憶部が記憶してある送信権の調停に係る情報に基づいて、前記中継装置が前記送信メールボックスに対応する通信バスに前記メッセージを送出することができるか否かを判定する送出判定部とを備え、前記選択部は、前記送出判定部がメッセージを送出することができると判定した後、該メッセージの次に選択されるべきメッセージを選択するようにしてあることを特徴とする。
【０００９】
本発明にあっては、記憶部は、中継装置が中継すべき優先度を含む複数のメッセージと、送信権の調停に係る情報とを記憶してある。選択部は、記憶部が記憶してある複数のメッセージの中から最低の優先度を含むメッセージを送信メールボックスに割り当てるべく選択する。その後選択部は、当該送信メールボックスに割り当てるべく優先度が高い順からメッセージを順次選択する。送出判定部は、選択部が選択したメッセージに含まれる優先度と、記憶部が記憶してある送信権の調停に係る情報とに基づいて、中継装置が送信メールボックスに対応する通信バスに当該メッセージを送出することができるか否かを判定する。また、選択部は、送出判定部がメッセージを送出することができると判定した後、当該メッセージの次に選択されるべきメッセージを選択する。従って、選択部によって最低の優先度を含むメッセージが送信メールボックスに割り当てられた状況を作ることができるため、中継装置の中継に遅延が生じ易い状況をシミュレートすることができる。
【００１０】
本発明に係るシミュレーション装置は、前記記憶部は、前記複数のメッセージ夫々が送出されるべき通信バスに送出されたときに該通信バスを占有する占有時間に係る情報を、前記複数のメッセージ夫々に対応付けて記憶してあり、前記選択部がメッセージを選択してから前記送出判定部が該メッセージを送出することができると判定するまでの時間を、前記選択部がメッセージを選択する都度算出する時間算出部と、前記選択部により選択されたメッセージに係る前記占有時間及び該メッセージが選択されたときに前記時間算出部が算出した時間の和を、該時間算出部が時間を算出する都度積算する積算部とを備えることを特徴とする。
【００１１】
本発明にあっては、記憶部は、複数のメッセージ夫々が送出されるべき通信バスに送出されたときに当該通信バスを占有する占有時間に係る情報を、当該複数のメッセージ夫々に対応付けて記憶してある。時間算出部は、選択部がメッセージを選択してから送出判定部が当該メッセージを送出することができると判定するまでの時間を、選択部がメッセージを選択する都度算出する。積算部は、選択部により選択されたメッセージに係る占有時間と、当該メッセージが選択されたときに時間算出部が算出した時間の和を、当該時間算出部が時間を算出する都度積算する。従って、時間算出部は、各メッセージがアービトレーションによって通信バスに送出可能となるまでに要する時間を算出することができる。積算部は、時間算出部が算出した時間及び占有時間の和を積算することで、各メッセージが中継装置に受信されてから通信バスに送出され終えるまでの時間を算出することができる。そのため、例えば、中継装置に受信されたメッセージが通信バスに送出され終えるまでの時間を観測することができ、選択部によって作られた中継装置の中継に遅延が生じ易い状況における中継装置の挙動を事前に解析することができる。
【００１２】
本発明に係るシミュレーション装置は、前記送信権の調停に係る情報は、前記送信メールボックスに対応する通信バスに接続された一又は複数の通信装置が送出すべき優先度を含む複数の送出メッセージと、該複数の送出メッセージ夫々が前記通信バスに送出されたときに該通信バスを占有する占有時間に係る情報とを含み、前記選択部が選択したメッセージと、前記一又は複数の通信装置が各送出すべき送出メッセージとに含まれる優先度夫々を比較する比較部を備え、前記送出判定部は、前記比較部の比較結果が、前記選択部に選択されたメッセージに含まれる優先度が一番高いか否かを判定することで、前記メッセージを送出することができるか否かを判定するようにしてあり、前記比較部は、前記選択部に選択されたメッセージに含まれる優先度が、前記送出判定部により一番高くはないと判定されたとき、前記送出判定部により前記優先度が一番高いと判定されるまで、比較対象を変えて優先度の比較を繰り返すようにしてあり、前記時間算出部は、前記送出判定部が前記選択部により選択されたメッセージに含まれる優先度が一番高くはないと判定したときの前記比較部の比較結果における、最も優先度が高い送出メッセージに対応する前記送信権の調停に係る情報に含まれる占有時間に係る情報に基づいて時間を算出するようにしてあることを特徴とする。
【００１３】
本発明にあっては、送信権の調停に係る情報は、送信メールボックスに対応する通信バスに接続された一又は複数の通信装置が送出すべき優先度を含む複数の送出メッセージを含む。また、当該送信権の調停に係る情報は、当該複数の送出メッセージ夫々が通信バスに送出されたときに当該通信バスを占有する占有時間に係る情報を含む。比較部は、選択部が選択したメッセージと、一又は複数の通信装置が各送出すべき送出メッセージとに含まれる優先度夫々を比較する。送出判定部は、比較部の比較結果が、選択部が選択したメッセージに含まれる優先度が一番高いか否かを判定することで、当該メッセージが送出可能か否かを判定する。また、比較部は、選択部に含まれる優先度が送出判定部により一番高くはないと判定されたとき、送出判定部により優先度が一番高いと判定されるまで、比較対象を変えて優先度の比較を繰り返す。時間算出部は、送出判定部が選択部により選択されたメッセージに含まれ優先度が一番高くはないと判定したときの比較部の比較結果における、最も優先度が高い送出メッセージに対応する送信権の調停に係る情報に含まれる占有時間に係る情報に基づいて時間を算出する。従って、送信メールボックスに割り当てられたメッセージがアービトレーションによって通信バスに送出可能となるまでに要する時間を、通信バスに接続している一又は複数の通信装置が送出すべき送出メッセージを用いて算出することができるため、例えば、当該送出メッセージの順番を設定することで、より中継装置の中継に遅延が生じ易い状況を作り出すことができる。
【００１４】
本発明に係るシミュレーション装置は、前記記憶部は、前記複数の送出メッセージ夫々が前記通信バスに送出されるべき送出周期に係る情報を記憶してあり、該送出周期に係る情報に基づいて、前記シミュレートが開始された後、前記複数の送出メッセージ夫々について前記通信バスに送出されるべきか否かを判定する送出周期判定部を備え、前記比較部は、前記送出周期判定部により前記通信バスに送出されるべきと判定された送出メッセージを前記比較対象とするようにしてあることを特徴とする。
【００１５】
本発明にあっては、記憶部は、記憶してある複数の送出メッセージ夫々が通信バスに送出されるべき送出周期に係る情報を記憶してある。送出周期判定部は、当該送出周期に係る情報に基づいて、シミュレートが開始された後、複数の送出メッセージ夫々について通信バスに送出されるべきか否かを判定する。比較部は、送出周期判定部により通信バスに送出されるべきと判定された送出メッセージを比較対象とする。従って、通信バスに接続している一又は複数の通信装置が送出すべき送出メッセージが周期的に送出される場合をシミュレートすることができる。
【００１６】
本発明に係るシミュレーション装置は、前記記憶部は、前記複数のメッセージ夫々が前記中継装置に受信されるべき周期に係る情報を記憶してあり、該周期に係る情報に基づいて、前記シミュレートが開始された後、前記複数のメッセージ夫々について前記中継装置に受信されるべきか否かを判定する周期判定部を備え、前記選択部は、前記周期判定部により前記中継装置に受信されるべきと判定されたメッセージの中から前記メッセージを選択するようにしてあることを特徴とする。
【００１７】
本発明にあっては、記憶部は、記憶してある複数のメッセージ夫々が中継装置に受信されるべき周期に係る情報を記憶してある。周期判定部は、周期に係る情報に基づいて、シミュレートが開始された後、複数のメッセージ夫々について中継装置に受信されるべきか否かを判定する。選択部は、周期判定部により中継装置に受信されるべきと判定されたメッセージの中からメッセージを選択する。従って、中継装置が中継すべきメッセージが、周期的に受信される場合をシミュレートすることができる。
【００１８】
本発明に係るシミュレーション装置は、前記積算部は予め設定された初期値から積算するようにしてあることを特徴とする。
【００１９】
本発明にあっては、積算部は予め設定された初期値から積算する。従って、初期値の設定程度を調整することによって、中継装置の中継に遅延がより生じ易い状況を作り出すことができる。
【００２０】
本発明に係るシミュレーション装置は、前記記憶部は、前記複数のメッセージ夫々が前記中継装置に受信されてから送出されるべき通信バスに送出され終えるまでの許容時間を、前記複数のメッセージ夫々に対応付けて記憶してあり、前記選択部により選択されたメッセージにおける、前記中継装置に受信されてから送出されるべき通信バスに送出され終えるまでの所要時間を、前記メッセージが選択された直後に前記積算部が積算した積算時間とし、前記所要時間が前記メッセージに対応する許容時間よりも短いか否かを判定する許容時間判定部を備え、前記許容時間判定部は、前記記憶部が記憶してある複数のメッセージ全てについて判定するようにしてあることを特徴とする。
【００２１】
本発明にあっては、記憶部は、複数のメッセージ夫々が中継装置に受信されてから送出されるべき通信バスに送出され終えるまでの許容時間を、当該複数のメッセージ夫々に対応付けて記憶してある。許容時間判定部は、選択部により選択されたメッセージにおける、中継装置に受信されてから送出されるべき通信バスに送出され終えるまでの所要時間を、当該メッセージが選択された直後に積算部が積算した積算時間とする。許容時間判定部は、当該所要時間が当該メッセージに対応する許容時間よりも短いか否かを判定する。また、許容時間判定部は、記憶部が記憶してある複数のメッセージ全てについて判定する。従って、中継装置の中継に遅延が生じ易い状況であっても、許容時間を満たすか否かをシミュレートすることができ、事前に中継装置の性能評価を行うことができる。
【００２２】
本発明に係るシミュレーション装置は、前記シミュレートの対象となる中継装置は、メッセージを送出すべき通信バスに複数の送信メールボックスを備え、前記許容時間判定部によって前記所要時間が対応する許容時間よりも長いと判定されたメッセージが複数ある場合、該メッセージ夫々を対応付けて前記記憶部に記憶するようにしてあり、前記選択部は、前記送信メールボックスが対応する通信バスに同じく対応する他の送信メールボックスに割り当てるべく、前記記憶部に記憶された複数の前記メッセージの中から最低の優先度を含むメッセージを選択し、その後、前記他の送信メールボックスに割り当てるべく優先度が高い順に前記メッセージを順次選択するようにしてあることを特徴とする。
【００２３】
本発明にあっては、シミュレートの対象となる中継装置は、メッセージを送出すべき通信バスに複数の送信メールボックスを備える。シミュレーション装置は、許容時間判定部によって所要時間が対応する許容時間よりも長いと判定されたメッセージが複数ある場合、当該メッセージ夫々を対応付けて記憶部に記憶するようにしてある。選択部は、上述の送信メールボックスが対応する通信バスに同じく対応する他の送信メールボックスに割り当てるべく、記憶部に記憶された複数の当該メッセージの中から最低の優先度を含むメッセージを選択する。その後、選択部は、当該他の送信メールボックスに割り当てるべく優先度が高い順に割当不可メッセージを順次選択する。従って、許容時間よりも長いと判定された、即ち中継に遅延が生じるメッセージを、新たな送信メールボックスに割り当てることができる。そのため、許容時間がより長いと判定されるメッセージの存在がなくなるまで処理が継続されることで、例えば、中継装置が最小限必要とする送信メールボックスの数を知ることができる。
【００２４】
本発明に係るシミュレーション装置は、前記選択部によって選択された最低の優先度を含むメッセージにおける前記所要時間が、対応する許容時間よりも長いと前記許容時間判定部にて判定された場合、前記メッセージは、前記許容時間判定部によって前記所要時間が対応する許容時間よりも長いと判定された他のメッセージとは別に、割当不可メッセージとして前記記憶部に記憶され、前記選択部は、前記他のメッセージの中からメッセージを選択するようにしてあることを特徴とする。
【００２５】
本発明にあっては、選択部によって選択された最低の優先度を含むメッセージにおける中継装置に受信されてから通信バスに送出されるまでの所要時間が、対応する許容時間よりも長いと許容時間判定部にて判定された場合、当該メッセージは記憶部に記憶される。そのとき、当該メッセージは、割当不可メッセージとして、許容時間判定部によって所要時間が対応する許容時間よりも長いと判定された他のメッセージとは別に記憶される。選択部は他のメッセージの中からメッセージを選択する。最低優先度を含むメッセージは、初めに送信メールボックスに割り当てられるべく選択されるため、他のメッセージの影響を受けないため、新たな送信メールボックスに割り当てたとしても許容時間よりも長いと判定される可能性が高い。従って、中継装置に受信されてから通信バスに送出されるまでの所要時間が許容時間よりも長くなる可能性が高いメッセージを除外して、処理を行うことができる。
【００２６】
本発明に係るシミュレーション装置は、前記記憶部は、前記通信バスに対応する送信メールボックスの数の上限値を記憶してあり、前記許容時間判定部によって、前記記憶部に記憶された前記割当不可メッセージを除く複数のメッセージ全てにおける各所要時間が、各対応する許容時間よりも短いと判定された場合、前記選択部が割り当てるべき送信メールボックスの数が前記上限値以下であるか否かを判定するようにしてあることを特徴とする。
【００２７】
本発明にあっては、記憶部は通信バスに対応する送信メールボックスの数の上限値を記憶してある。シミュレーション装置は、許容時間判定部によって、記憶部に記憶された割当不可メッセージを除く複数のメッセージ全てにおける各所要時間が、各対応する許容時間よりも短いと判定された場合、選択部が割り当てるべき送信メールボックスの数が当該上限値以下であるか否かを判定する。従って、予め中継装置の送信メールボックスの数が決まっている場合、当該送信メールボックスの数の上限値を設定することで、当該中継装置において中継すべきメッセージが許容時間を満たして中継をすることができるか否かを知ることができる。
【００２８】
本発明に係るシミュレーション装置は、前記記憶部に記憶された割当不可メッセージを除く複数のメッセージ全てにおける所要時間夫々が、各対応する許容時間よりも短いと前記許容時間判定部にて判定された場合、前記記憶部に記憶された前記割当不可メッセージの数を計数する計数部を備え、該計数部が計数した数が、前記送信メールボックスの数の上限値よりも少ない場合、前記許容時間夫々を同じ倍率で変更した時間に更新し、前記シミュレートを再度行い、その後、前記計数部が計数した数が前記送信メールボックスの数の上限値と一致するまで、前記許容時間の更新を行い、前記シミュレートを繰り返すことを特徴とする。
【００２９】
本発明にあっては、計数部は、記憶部に記憶された割当不可メッセージを除く複数のメッセージ全てにおける所要時間夫々が、各対応する許容時間よりも短いと許容時間判定部にて判定された場合、記憶部に記憶された割当不可メッセージの数を計数する。シミュレーション装置は、計数部が計数した数が、送信メールボックスの数の上限値よりも少ない場合、許容時間夫々を同じ倍率で変更した時間に更新し、シミュレートを再度行う。その後、シミュレーション装置は、計数部が計数した数が送信メールボックスの数の上限値と一致するまで、許容時間の更新を行い、シミュレートを繰り返す。従って、予め設定された許容時間を満たし、かつ中継装置の送信メールボックスに空きがある場合、割当不可メッセージ夫々を一の送信メールボックスに割り当てることができ、中継装置の送信メールボックスを最大限活用することができる。
【００３０】
本発明に係るシミュレーション方法は、異なる通信バスの間で優先度を含んだ複数のメッセージを順次中継する中継装置が、各メッセージを受信後、送出されるべき通信バスに対応する送信メールボックスに前記メッセージ夫々を割り当て、割り当てられたメッセージに含まれる前記優先度に基づいて送信権の調停を行った後、前記メッセージ夫々を送出されるべき通信バスに送出するときの前記中継装置における挙動のシミュレートを行うシミュレーション方法において、前記中継装置が中継すべき前記優先度を含む複数のメッセージ及び前記送信権の調停に係る情報を予め記憶しておき、記憶してある複数のメッセージの中から最低の優先度を含むメッセージを送信メールボックスに割り当てるべく選択する第１選択ステップと、該第１選択ステップの後、前記送信メールボックスに割り当てるべく優先度が高い順からメッセージを順次選択する第２選択ステップと、前記第１選択ステップ又は第２選択ステップにて選択されたメッセージに含まれる優先度及び記憶してある送信権の調停に係る情報に基づいて、前記中継装置が前記送信メールボックスに対応する通信バスに前記メッセージを送出することができるか否かを判定する判定ステップとを含み、前記第２選択ステップは、前記判定ステップがメッセージを送出することができると判定した後、該メッセージの次に選択されるべきメッセージを選択するようにしてあることを特徴とする。
【００３１】
本発明にあっては、中継装置が中継すべき優先度を含む複数のメッセージ及び送信権の調停に係る情報を記憶しておく。第１選択ステップは、記憶してある複数のメッセージの中から最低の優先度を含むメッセージを送信メールボックスに割り当てるべく選択する。第２選択ステップは、第１選択ステップの後、送信メールボックスに割り当てるべく優先度が高い順からメッセージを順次選択する。判定ステップは、第１選択ステップ又は第２選択ステップにて選択されたメッセージに含まれる優先度及び記憶してある送信権の調停に係る情報に基づいて、中継装置がメッセージを送信メールボックスに対応する通信バスに送出することができるか否かを判定する。また、第２選択ステップは、判定ステップがメッセージを送出することができると判定した後、当該メッセージの次に選択されるべきメッセージを選択する。第１選択ステップによって最低の優先度を含む一のメッセージが送信メールボックスに割り当てられた状況を作ることができるため、中継装置の中継に遅延が生じ易い状況をシミュレートすることができる。
【００３２】
本発明に係るコンピュータプログラムは、異なる通信バスの間で優先度を含んだ複数のメッセージを順次中継する中継装置が、各メッセージを受信後、送出されるべき通信バスに対応する送信メールボックスに前記メッセージ夫々を割り当て、割り当てられたメッセージに含まれる前記優先度に基づいて送信権の調停を行った後、前記メッセージ夫々を送出されるべき通信バスに送出するときの前記中継装置における挙動のシミュレートをコンピュータに行わせるコンピュータプログラムにおいて、コンピュータに、記憶された前記中継装置が中継すべき前記優先度を含む複数のメッセージの中から、最低の優先度を含むメッセージを送信メールボックスに割り当てさせるべく選択させる第１選択ステップと、コンピュータに、前記第１選択ステップを実行させた後、前記送信メールボックスに割り当てさせるべく優先度が高い順からメッセージを順次選択させる第２選択ステップと、コンピュータに、前記第１選択ステップ又は第２選択ステップにて選択させたメッセージに含まれる優先度及び記憶された送信権の調停に係る情報に基づいて、前記中継装置が前記送信メールボックスに対応する通信バスに前記メッセージを送出することができるか否かを判定させる判定ステップとを含み、前記第２選択ステップは、コンピュータが前記判定ステップでメッセージを送出することができると判定した後、コンピュータに前記メッセージの次に選択されるべきメッセージを選択させるようにしてあることを特徴とする。
【００３３】
本発明にあっては、第１選択ステップは、コンピュータに、記憶された中継装置が中継すべき優先度を含む複数のメッセージの中から、最低の優先度を含むメッセージを選択させる。第２選択ステップは、コンピュータに、第１選択ステップを実行させた後、優先度が高い順からメッセージを順次選択させる。判定ステップは、コンピュータに、第１選択ステップ又は第２選択ステップにて選択させたメッセージに含まれる優先度及び記憶された送信権の調停に係る情報に基づいて、中継装置が一のメッセージを送信メールボックスに対応する通信バスに送出することができる否かを判定させる。第１選択ステップによって、コンピュータに最低の優先度を含むメッセージが送信メールボックスに割り当てられた状況を作り出させることができるため、コンピュータは、中継装置の中継に遅延が生じ易い状況をシミュレートすることができる。
【００３４】
本発明に係る中継装置の製造方法は、接続されるべき通信バスに優先度を含む複数のメッセージを送出するときに該メッセージ夫々を割り当てるべき複数の送信メールボックスを備え、異なるバスの間で優先度を含む所定のメッセージ群におけるメッセージを順次中継する中継装置を、上述の何れか一つに記載のシミュレーション装置におけるシミュレートに基づいて製造する中継装置の製造方法であって、前記シミュレーション装置に、前記中継装置の挙動をシミュレートさせる工程と、前記許容時間判定部の判定結果に基づいて、前記中継装置が備える複数の送信メールボックス夫々に割り当てるべき前記メッセージ群におけるメッセージを決定する工程とを含むことを特徴とする。
【００３５】
本発明にあっては、上述のシミュレーション装置に中継装置の挙動をシミュレートさせる工程を含む。また、当該シミュレーション装置が備える許容時間判定部の判定結果に基づいて、中継装置が備える複数の送信メールボックス夫々に割り当てるべきメッセージ群にメッセージを決定する工程を含む。従って、中継装置に割り当てるべきメッセージ群を用いてシミュレーション装置によって事前にシミュレートを行い、許容時間以内に中継可能となるように複数の送信メールボックス夫々に割り当てるメッセージを決定することができる。そのため、中継装置による中継の遅延を確実に防止することができる。
【発明の効果】
【００３６】
本発明によれば、中継装置の中継に遅延が生じ易い状況でシミュレートすることができ、また、当該シミュレートによって中継装置による中継の遅延を確実に防止することができる。
【図面の簡単な説明】
【００３７】
【図１】本実施の形態におけるシミュレーション装置の構成を示すブロック図である。
【図２】メッセージテーブルの具体例を示す説明図である。
【図３】シミュレートの対象となる中継装置の構成を示すブロック図である。
【図４】シミュレーション装置がシミュレートを行うときの処理手順を示すフローチャートである。
【図５】メッセージ割当処理のサブルーチンを示すフローチャートである。
【図６】メッセージ割当処理のサブルーチンを示すフローチャートである。
【図７】アービトレーション処理のサブルーチンを示すフローチャートである。
【図８】遅延時間算出処理のサブルーチンを示すフローチャートである。
【発明を実施するための形態】
【００３８】
以下、本発明をその実施の形態を示す図面に基づいて詳述する。
【００３９】
（本実施の形態）
図１は、本実施の形態におけるシミュレーション装置１の構成を示すブロック図である。シミュレーション装置１は、パーソナルコンピュータ等の計算機が用いられ、車両に搭載される中継装置の挙動をシミュレートする。中継装置の挙動とは、車両に搭載される複数の通信バスに接続する複数の通信装置（ＥＣＵ）夫々がＣＡＮプロトコルに従って送受信される優先度を含む複数のメッセージを順次中継するときの挙動である。
【００４０】
シミュレーション装置１は、制御部１１を備える。制御部１１は、例えば一又は複数のＣＰＵ（Central Processing Unit）、マルチコアＣＰＵ等により構成される。また、シミュレーション装置１は、バスを介して制御部１１に接続されている、記憶部１２、一時記憶部１３、入出力部１４、読取部１５、及び計時部１６を備える。制御部１１は、後述の記憶部１２に記憶されているシミュレーションプログラム１２ａを読み出して実行することにより各部を制御する。
【００４１】
記憶部１２は、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）等の不揮発性メモリにより構成される。記憶部１２には、シミュレーションプログラム１２ａが記憶されている。シミュレーションプログラム１２ａは、シミュレーション装置１が備える各部を制御し、中継装置の挙動をシミュレートするためのプログラムである。また、記憶部１２には、メッセージテーブル１２ｂが記憶されている。メッセージテーブル１２ｂは、シミュレーション装置１によってシミュレートされる中継装置がネットワークを構成する通信バスに送出すべきメッセージ、及び当該通信バスに送出されるべき他のメッセージを含んだテーブル形式のデータを有しており、詳細は後述する。更に、記憶部１２には、シミュレートに用いられるシミュレーション条件が記憶されている。
【００４２】
一時記憶部１３は、ＳＲＡＭ（Static RAM）、ＤＲＡＭ（Dynamic RAM）等のメモリにより構成される。一時記憶部１３は、制御部１１がシミュレーションプログラム１２ａによる処理を行うことによって生ずる各種データを一時記憶する。
【００４３】
入出力部１４には、外部からキーボード、ディスプレイ等の入出力装置が接続され、入出力装置からの入力信号を制御部１１に出力し、制御部１１からの出力信号を入出力装置に出力する。
【００４４】
読取部１５は、ＣＤ−ＲＯＭ、ＤＶＤ、ブルーレイディスク、又はフレキシブルディスク等である記録媒体２から情報を読み取ることが可能である。制御部１１は、読取部１５により読み出された記録媒体２に記録されているデータを、一時記憶部１３に記憶するか、又は記憶部１２に記憶する。記録媒体２には、制御部１１が実行することによりシミュレーション装置１が動作するためのシミュレーションプログラム２ａが記録されている。記憶部１２に記憶されているシミュレーションプログラム１２ａは、記録媒体２から読取部１５が読み取ったシミュレーションプログラム２ａの複製であってもよい。
【００４５】
計時部１６は、タイマ又はリアルタイムクロックを備え、制御部１１の要求に応じて計時処理を行い、計時した時間を制御部１１へ出力する。
【００４６】
図２は、メッセージテーブル１２ｂの具体例を示す説明図である。メッセージテーブル１２ｂには、各メッセージを識別するＩＤ毎に、ＥＣＵ−ＩＤ、周期、データ長、及びバスＩＤが記憶されている。ＩＤは、例えば１６進数で表される値であり、ＣＡＮプロトコルのデータフレームにおける所謂アービトレーションフィールドに相当する優先度を含んだ情報である。このときＩＤは、値が小さくなるほど優先度が高くなる。ＥＣＵ−ＩＤは、メッセージの送出元となる中継装置又はＥＣＵを識別する情報であり、例えば、値が０のとき中継装置が送出することを表し、それ以外は、各値に対応するＥＣＵが送出することを表す。ここで、メッセージテーブル１２ｂの各行をメッセージと称し、中継装置が送出するメッセージを中継メッセージとも称し、ＥＣＵが送出するメッセージを送出メッセージとも称する。
【００４７】
また、周期は、メッセージの送出元が中継装置のときは当該メッセージが中継装置に受信されるべき周期を表し、メッセージの送出元がＥＣＵのときは当該メッセージがＥＣＵから送出されるべき周期を表す。単位は例えばミリ秒である。データ長は、各メッセージのデータの大きさを表し、単位は例えばバイトである。バスＩＤは、メッセージが送出されるべき通信バスを識別するＩＤを表す。なお、本実施の形態においては、メッセージを識別するＩＤに優先度を含んでいる例を説明したが、メッセージを識別するＩＤとは別に優先度に係る情報を、ＩＤ毎に記憶していてもよい。
【００４８】
図３は、シミュレートの対象となる中継装置３の構成を示すブロック図である。中継装置３は、車両に搭載され、一又は複数のＥＣＵ４が接続された複数の通信バス５に接続される。中継装置３は、制御部３１を備え、制御部３１は、例えば一又は複数のＣＰＵ、マルチコアＣＰＵ等により構成される。また、中継装置３は、バスを介して制御部３１に接続されている記憶部３２、一時記憶部３３、及び通信部３４を備える。制御部３１は、後述の記憶部３２に記憶されている制御プログラム３２ａを読み出して実行することにより各部を制御する。
【００４９】
記憶部３２は、ＥＥＰＲＯＭ、フラッシュメモリ等の不揮発性メモリにより構成される。記憶部３２には、制御プログラム３２ａが記憶されている。制御プログラム３２ａは、中継装置３に受信されたメッセージを中継先に送信する等の中継装置３がメッセージを中継するための処理内容と、中継装置３が備える各部を制御するための処理内容とが記述されたプログラムである。また、記憶部３２は、接続している通信バス５を識別するバスＩＤを記憶している。
【００５０】
一時記憶部３３は、ＳＲＡＭ、ＤＲＡＭ等のメモリにより構成される。一時記憶部３３は、制御部３１が制御プログラム３２ａによる処理を行うことによって生ずる各種データを一時記憶する。
【００５１】
通信部３４は、接続される通信バス５と同数備えられ、各通信バス５に伝送されるメッセージを受信し、制御部３１の指令に基づいて、当該各通信バス５にメッセージを送出する。通信部３４は、一又は複数の受信メールボックス３４ａ及び送信メールボックス３４ｂを備える。受信メールボックス３４ａは、対応する通信バス５に伝送するメッセージを順次格納し、制御部３１に当該メッセージを出力する。制御部３１は、受信メールボックス３４ａから出力されたメッセージに基づいて、当該メッセージを送出すべき通信バス５に対応する通信部３４が備える送信メールボックス３４ｂに当該メッセージを割り当てる。その後、制御部３１は送信メールボックス３４ｂに割り当てたメッセージを通信バス５に送出する前に、当該メッセージに含まれる優先度に基づいて、当該通信バス５に接続しているＥＣＵ４とアービトレーションを行い、当該メッセージの送信権を取得する。制御部３１は、送信権を取得したメッセージが割り当てられている送信メールボックス３４ｂに指令を出し、当該メッセージを通信バス５に送出する。なお、アービトレーションの処理は、従来のＣＡＮプロトコルによるものと同じであるため、詳細な説明を省略する。
【００５２】
また、各送信メールボックス３４ｂは、メッセージが割り当てられた場合、当該メッセージが通信バス５に送出されるまで他のメッセージを割り当てることができない。そのため、送信メールボックス３４ｂにメッセージを割り当てることができない期間に、割り当てられるべき複数のメッセージが受信された場合、当該複数のメッセージの優先度の内、高い優先度を持つメッセージから順次送信メールボックス３４ｂに割り当てられる。
【００５３】
以上の構成の中継装置３は、異なる通信バス５に各接続されたＥＣＵ４が送受信する複数のメッセージを順次中継する。このとき、中継装置３の送信メールボックス３４ｂに割り当てられているメッセージに含まれる優先度が低かった場合、アービトレーションにより当該メッセージの送信権が取得され、通信バス５に送出されるまでに時間を要する虞がある。その間に、当該送信メールボックス３４ｂに受信されるべき他の優先度の高いメッセージが中継装置３に受信されたとき、当該優先度が高いメッセージが通信バス５に送出されるまでに時間を要し、車両制御に悪影響を及ぼす虞がある。そこで、シミュレーション装置１は、中継装置３がメッセージを中継するときに、遅延が生じ易い状況を作り出し、当該中継装置３の挙動を事前にシミュレートすることで、中継装置３が車両制御に悪影響を及ぼす要因を事前に解析できるようにする。
【００５４】
以下に、シミュレーション装置１が中継装置３の挙動をシミュレートするときの処理手順を示す。ここで、シミュレーション装置１の記憶部１２が記憶しているメッセージテーブル１２ｂは、シミュレートする中継装置３が中継すべきメッセージに係る情報と、複数の通信バス５に接続されたＥＣＵ４が各通信バス５に送出すべきメッセージに係る情報とが記憶されている。また、記憶部１２が記憶しているシミュレーション条件には、メッセージを割り当て可能な送信メールボックス３４ｂの数の上限値として、各通信部３４が備える送信メールボックス３４ｂの数が記憶されている。また、シミュレーション条件には、中継装置３が中継すべき各メッセージにおける中継の遅延の程度を許容する時間として、当該メッセージ毎に規定時間が記憶されている。規定時間は例えば、各メッセージに対応する周期及び中継装置３の制御部３１の処理能力等に応じた時間である。なお、シミュレーション条件には、中継装置３のシミュレートに必要な各種情報が、上述した他にも記憶されている。
【００５５】
図４は、シミュレーション装置１がシミュレートを行うときの処理手順を示すフローチャートである。シミュレーション装置１の制御部１１は、一時記憶部１３にバスカウンタの領域を設け、当該バスカウンタを初期化する（ステップＳ１０１）。バスカウンタとは、シミュレーション装置１により行われる送信メールボックス３４ｂにメッセージを割り当てるシミュレートを、当該送信メールボックス３４ｂに対応する通信バス５毎に行うためのカウンタである。制御部１１は、例えば、バスカウンタに１の値を設定することにより初期化を行う。
【００５６】
次いで制御部１１は、記憶部１２に記憶されたメッセージテーブル１２ｂから、一時記憶部１３に記憶されたバスカウンタの値に対応するバスＩＤを持つメッセージを抽出する（ステップＳ１０２）。制御部１１は例えば、バスカウンタの値と同一のバスＩＤの値を持つメッセージを抽出してもよいし、予め記憶部１２にバスカウンタの値とバスＩＤの値との対応関係を表した対応表を記憶しておき、当該対応表に基づいて、メッセージを抽出してもよい。
【００５７】
次いで制御部１１は、ステップＳ１０２にてメッセージを抽出することができたか否かを判定する（ステップＳ１０３）。抽出することができなかったと判定した場合（Ｓ１０３：ＮＯ）、制御部１１は処理を終える。一方、抽出することができたと判定した場合（Ｓ１０３：ＹＥＳ）、制御部１１はメッセージ割当処理を行う（ステップＳ１０４）。メッセージ割当処理とは、送信メールボックス３４ｂにステップＳ１０２で抽出したメッセージに含まれる中継メッセージを割り当てる処理であり、詳細は後述する。
【００５８】
その後、制御部１１は、バスカウンタを更新する（ステップＳ１０５）。ステップＳ１０５において、制御部１１は例えば、バスカウンタの値に１の値をインクリメントする。その後、制御部１１は、処理をステップＳ１０２に戻し、ステップＳ１０３でメッセージを抽出できなかったと判定するまでステップＳ１０２〜ステップＳ１０５の処理を繰り返す。
【００５９】
図５及び図６は、メッセージ割当処理のサブルーチンを示すフローチャートである。シミュレーション装置１の制御部１１は、計時部１６に指令を出し、計時を開始する（ステップＳ２０１）。次いで制御部１１は、送信メールボックス３４ｂの数を計数するための送信メールボックスカウンタの領域を一時記憶部１３に設け、当該送信メールボックスカウンタの値を１とする（ステップＳ２０２）。
【００６０】
次いで制御部１１は、ステップＳ１０２で抽出したメッセージに含まれる中継メッセージの中から最低の優先度を含む最低優先度メッセージを選択する（ステップＳ２０３）。具体的には制御部１１は、ステップＳ１０２で抽出したメッセージに含まれるＥＣＵ−ＩＤの値が０のメッセージの内、ＩＤの値が一番大きいメッセージを選択し、一時記憶部１３に記憶する。なお、制御部１１は、ステップＳ２０３においてシミュレーションプログラム１２ａを実行することにより、本発明の選択部として機能する。
【００６１】
次いで制御部１１は、アービトレーション処理を行う（ステップＳ２０４）。アービトレーション処理においては、制御部１１は、ステップＳ２０３又は後述のステップＳ２１０で選択された中継メッセージが、アービトレーションを経て通信バス５から送出可能となるまでをシミュレートする処理である。当該処理によって、ステップＳ２０３又はステップＳ２１０で選択された中継メッセージが送信メールボックス３４ｂに割り当てられた後、通信バス５に送出可能となるまでの時間を算出する。なお、アービトレーション処理の詳細は後述する。
【００６２】
次いで制御部１１は、遅延時間算出処理を行う（ステップＳ２０５）。遅延時間算出処理においては、制御部１１は、ステップＳ２０４にて算出した時間を用いて、ステップＳ２０３又はステップＳ２１０で選択された中継メッセージが中継装置３に受信されてから通信バス５に送出され終えるまでの時間、即ち遅延時間を算出する。なお、遅延時間算出処理の詳細は後述する。
【００６３】
次いで制御部１１は、ステップＳ２０５で算出した遅延時間を一時記憶部１３に記憶する（ステップＳ２０６）。その際、制御部１１は、対応する中継メッセージに遅延時間を対応付けて記憶する。その後、制御部１１は、選択フラグに１の値を設定する（ステップＳ２０７）。具体的には、制御部１１は、ステップＳ２０３又はステップＳ２１０で選択された中継メッセージであるか否かを識別するための選択フラグの領域を一時記憶部１３に設け、当該中継メッセージに対応付けて選択フラグの値を１とする。
【００６４】
次いで制御部１１は、全メッセージを選択したか否かを判定する（ステップＳ２０８）。具体的には制御部１１は、図４中のステップＳ１０２で抽出されたメッセージに含まれる中継メッセージのＩＤ全てについて、一時記憶部１３に記憶された選択フラグの値が１であるか否かを判定することで全メッセージを選択したか否かを判定する。
【００６５】
全メッセージを選択していないと判定した場合（Ｓ２０８：ＮＯ）、制御部１１は、周期を判定する（ステップＳ２０９）。具体的には、制御部１１は、図４中のステップＳ１０２で抽出された各中継メッセージについて、ステップＳ２０１で計時を開始してから対応する周期の整数倍以上が経過し、かつ上述の選択フラグの値が１であるか否かを判定する。なお、制御部１１は、ステップＳ２０９においてシミュレーションプログラム１２ａを実行することにより、本発明の周期判定部として機能する。
【００６６】
制御部１１は、ステップＳ２０９の判定結果を用いて次のメッセージを選択する（ステップＳ２１０）。具体的には、制御部１１は、ステップＳ２０１で計時を開始してから対応する周期の整数倍以上を経過し、かつ上述の選択フラグの値が１であると判定された中継メッセージと、選択フラグの値が０の中継メッセージとの中から一番優先度の高い中継メッセージを選択する。なお、ステップＳ２１０において制御部１１はシミュレーションプログラム１２ａを実行することによって、本発明の選択部として機能する。その後、制御部１１は処理をステップＳ２０４に戻す。
【００６７】
全メッセージを選択したと判定した場合（Ｓ２０８：ＹＥＳ）、制御部１１は、全メッセージが規定時間を満たしたか否かを判定する（ステップＳ２１１）。具体的には、制御部１１は、一時記憶部１３に記憶された各中継メッセージの遅延時間が、記憶部１２に各中継メッセージに対応付けて記憶されているシミュレーション条件に含まれる規定時間よりも短いか否かを判定する。なお、制御部１１は、ステップＳ２１１においてシミュレーションプログラム１２ａを実行することにより、本発明の許容時間判定部として機能する。
【００６８】
全メッセージが規定時間を満たしていないと判定した場合（Ｓ２１１：ＮＯ）、制御部１１は、遅延時間が規定時間よりも長いと判定した中継メッセージの中に、ステップＳ２０３で選択した最低優先度メッセージが含まれているか否かを判定する（ステップＳ２１２）。最低優先度メッセージが含まれていないと判定した場合（Ｓ２１２：ＮＯ）、制御部１１はステップＳ２１４に処理を進める。一方、最低優先度メッセージが含まれていると判定した場合（Ｓ２１２：ＹＥＳ）、制御部１１は、当該最低優先度メッセージを一時記憶部１３に割当不可メッセージとして記憶する（ステップＳ２１３）。このとき一時記憶部１３は、本発明の記憶部に相当する。割当不可メッセージとは、割り当て方法によらず、遅延時間が規定時間を満たす可能性の低い中継メッセージを指す。
【００６９】
次いで制御部１１は、抽出すべきメッセージがあるか否かを判定する（ステップＳ２１４）。具体的には、制御部１１は、ステップＳ２１１で遅延時間が規定時間よりも長いと判定した中継メッセージの内、最低優先度メッセージ以外の他の中継メッセージが存在する場合、抽出すべきメッセージがあると判定する。抽出すべきメッセージがないと判定した場合（Ｓ２１４：ＮＯ）、制御部１１は、処理を図４中のステップＳ１０５に戻す。
【００７０】
抽出すべきメッセージがあると判定した場合（Ｓ２１４：ＹＥＳ）、制御部１１は当該抽出すべきメッセージの抽出及び記憶を行う（ステップＳ２１５）。具体的には、制御部１１は、上述の他の中継メッセージをメッセージテーブルから抽出し、一時記憶部１３に記憶する。このとき、一時記憶部１３は、本発明の記憶部に相当する。
【００７１】
次いで制御部１１は、ステップＳ２０２で一時記憶部１３に設けた送信メールボックスカウンタの値に１の値をインクリメントする更新を行い（ステップＳ２１６）、ステップＳ２０３に処理を戻す。ステップＳ２０３に処理を戻した制御部１１は、その後の処理をステップＳ２１５で一時記憶部１３に記憶したメッセージを対象として行うようにしてある。
【００７２】
一方、ステップＳ２１１において全メッセージが規定時間を満たしたと判定した場合（Ｓ２１１：ＹＥＳ）、制御部１１は、送信メールボックスカウンタの値が１より大きいか否かを判定する（ステップＳ２１７）。送信メールボックスカウンタの値が１以下であると判定した場合（Ｓ２１７：ＮＯ）、制御部１１は処理をステップＳ２２１に進める。
【００７３】
送信メールボックスカウンタの値が１より大きいと判定した場合（Ｓ２１７：ＹＥＳ）、制御部１１は、当該送信メールボックスカウンタの値が上限値よりも大きいか否かを判定する（ステップＳ２１８）。上限値とは、記憶部１２に記憶されたシミュレーション条件に含まれる送信メールボックス３４ｂの数の上限値である。送信メールボックスカウンタの値が上限値よりも大きいと判定した場合（Ｓ２１８：ＹＥＳ）、制御部１１は、図４中のステップＳ１０５に処理を戻す。
【００７４】
送信メールボックスカウンタの値が上限値以下であると判定した場合（Ｓ２１８：ＮＯ）、制御部１１は、割当不可メッセージが記憶されているか否かを判定する（ステップＳ２１９）。具体的には、制御部１１は、一時記憶部１３を参照して割当不可メッセージが記憶されているか否かを判定する。なお、割当不可メッセージが一時記憶部１３に記憶されている場合、当該割当不可メッセージは、ステップＳ２１３において記憶されたものである。
【００７５】
割当不可メッセージが記憶されていないと判定した場合（Ｓ２１９：ＮＯ）、制御部１１は、処理をステップＳ２２１に進める。一方、割当不可メッセージが記憶されていると判定した場合（Ｓ２１９：ＹＥＳ）、制御部１１は、記憶されている割当不可メッセージ数が残送信メールボックス数と同じ数であるか否かを判定する（ステップＳ２２０）。残送信メールボックス数は、中継装置３の通信バス５に対応するメッセージが割り当てられていない送信メールボックス３４ｂの数に相当する。具体的には、残送信メールボックス数は、記憶部１２に記憶されているシミュレーション条件に含まれる送信メールボックス３４ｂの上限値から送信メールボックスカウンタの値を引いた値で表される。なお、制御部１１は、シミュレーションプログラム１２ａを実行することによって、ステップＳ２２０で割当不可メッセージ数を計数するとき、本発明の計数部に相当する。
【００７６】
割当不可メッセージ数が残送信メールボックス数と同じ数であると判定した場合（Ｓ２２０：ＹＥＳ）、制御部１１は、処理を図４中のステップＳ１０５に戻す。一方、割当不可メッセージ数が残送信メールボックス数と同じ数ではないと判定した場合（Ｓ２２０：ＮＯ）、制御部１１は、処理をステップＳ２２１に進める。
【００７７】
制御部１１は、規定時間を更新し（ステップＳ２２１）、処理を図５中のステップＳ２０１に戻す。具体的には、制御部１１は、記憶部１２に記憶されているシミュレーション条件に含まれるメッセージ毎の規定時間を上限に、規定時間夫々を同じ倍率で変更した時間を新たな規定時間として、図５中のステップＳ２０１から再度シミュレートを行う。そのため、ステップＳ２２１で規定時間が更新された場合、制御部１１は、ステップＳ２１１で判定する規定時間は更新された規定時間である。また制御部１１は、更新された規定時間でステップＳ２１１の処理を行い、ステップＳ２２１の処理を再度行う場合、ステップＳ２２０で割当不可メッセージ数が残送信メールボックス数よりも大きいと判定されたとき、当該規定時間よりも長くなるように更新する。また、当該割当不可メッセージ数が残送信メールボックス数よりも少ないと判定されたとき、制御部１１は当該規定時間よりも短くなるように更新する。同様に、送信メールボックスカウンタの値が１以下であると判定されたとき、又は割当不可メッセージが記憶されていないと判定されたとき、制御部１１は当該規定時間よりも短くなるように更新する。
【００７８】
図７は、アービトレーション処理のサブルーチンを示すフローチャートである。制御部１１は、図５中のステップＳ２０３又はステップＳ２１０で選択された中継メッセージに含まれる優先度を比較するための比較対象を選択する（ステップＳ３０１）。具体的には、図４中のステップＳ１０２で抽出したメッセージに含まれるＥＣＵ−ＩＤの値が０でないメッセージを当該比較対象として選択する。
【００７９】
次いで制御部１１はステップＳ２０３又はステップＳ２１０で選択したメッセージと、ステップＳ３０１で選択した送出メッセージとに含まれる優先度夫々を比較する（ステップＳ３０２）。なお、制御部１１は、ステップＳ３０２においてシミュレーションプログラム１２ａを実行することにより、比較部として機能する。
【００８０】
その後、制御部１１は、ステップＳ２０３又はステップＳ２１０で選択したメッセージの優先度が一番高いか否かを判定する（ステップＳ３０３）。なお、制御部１１は、ステップＳ３０３においてシミュレーションプログラム１２ａを実行することにより、送出判定部として機能する。
【００８１】
優先度が一番高くはないと判定された場合（Ｓ３０３：ＮＯ）、制御部１１は、ステップＳ３０２で比較した優先度の中で一番高い優先度を持つ送出メッセージを一時記憶部１３に記憶する（ステップＳ３０４）。制御部１１は例えば、ステップＳ３０２で優先度を比較したときに一番高い送出メッセージのＩＤ及びバス占有時間を対応付けて一時記憶部１３に記憶する。バス占有時間は、メッセージが通信バス５に送出されたときに当該通信バス５を占有する時間であり、メッセージテーブル１２ｂに記憶されているデータ長に基づいて算出する。なお、メッセージテーブル１２ｂには、予め各メッセージのバス占有時間が記憶されていてもよい。
【００８２】
次いで制御部１１は、送出周期を判定する（ステップＳ３０５）。具体的には、制御部１１は、ステップＳ３０４にて一時記憶部１３に記憶されている送出メッセージの内、図５中のステップＳ２０１で計時を開始してから対応する周期の整数倍以上経過している送出メッセージがあるか否かを判定する。なお、制御部１１は、ステップＳ３０５においてシミュレーションプログラム１２ａを実行することにより、送出周期判定部として機能する。その後、制御部１１は、ステップＳ３０１に処理を戻す。そのとき制御部１１は、ステップＳ３０１の処理において、ステップＳ３０５で送出周期にあると判定された送出メッセージと、ステップＳ３０４にて一時記憶部１３に記憶されていないその他の送出メッセージとから比較対象を選択する。
【００８３】
一方、優先度が一番高いと判定された場合（Ｓ３０３：ＹＥＳ）、制御部１１は、総占有時間を算出する（ステップＳ３０６）。具体的には、制御部１１は、ステップＳ３０２における優先度の比較で、一番高い優先度を持つ送出メッセージとして、当該送出メッセージに係る情報が一時記憶部１３に記憶されている場合、当該送出メッセージのバス占有時間を全て積算する。一時記憶部１３に、一番高い優先度を持つ送出メッセージに係る情報が記憶されていない場合、ステップＳ３０６で算出される総占有時間は０である。なお、制御部１１は、ステップＳ３０６においてシミュレーションプログラム１２ａを実行することにより、本発明の時間算出部として機能する。その後、制御部１１は、ステップＳ２０５に処理を戻す。
【００８４】
図８は、遅延時間算出処理のサブルーチンを示すフローチャートである。制御部１１は、ステップＳ２０２で一時記憶部１３に設けた送信メールボックスカウンタの値が１か否かを判定する（ステップＳ４０１）。送信メールボックスカウンタの値が１であると判定した場合（Ｓ４０１：ＹＥＳ）、制御部１１は、記憶部１２に記憶されたシミュレーション条件の中から遅延時間の初期値を読出し（ステップＳ４０２）、処理をステップＳ４０４に進める。遅延時間の初期値とは、例えば、８バイトのデータ長を有するメッセージが通信バス５を占有する時間である。
【００８５】
一方、送信メールボックスカウンタの値が１でないと判定した場合（Ｓ４０１：ＮＯ）、制御部１１は、少なくとも１回は図５中のステップＳ２０６の処理を行っており、当該
ステップＳ２０６で一時記憶部１３に記憶された遅延時間を読出す（ステップＳ４０３）。その後、制御部１１は、処理をステップＳ４０４に進める。
【００８６】
制御部１１は、ステップＳ４０２又はステップＳ４０３における処理を行った後、遅延時間を算出し（ステップＳ４０４）、処理を図５中のステップＳ２０６に処理を戻す。具体的には、制御部１１は、ステップＳ４０２で読出した初期値又はステップＳ４０４で読出した遅延時間に、図７に示したアービトレーション処理におけるステップＳ３０６で算出した総占有時間を加える。なお、制御部１１は、ステップＳ４０４においてシミュレーションプログラム１２ａを実行することにより、本発明の積算部として機能する。
【００８７】
以上の構成及び処理により、シミュレーション装置１は、中継装置３の中継に遅延が生じ易い状況をシミュレートすることができる。また、シミュレーション装置１は、図６中のステップＳ２１３で一時記憶部１３に割当不可メッセージを記憶することで、遅延時間が規定時間を満たさない可能性の高い中継メッセージを除外して処理を行うことができる。また、シミュレーション装置１は、図６中のステップＳ２１８で送信メールボックスカウンタの値が上限値より大きいか否かを判定する。そうすることで、中継装置３が通信部３４に予め備えてある送信メールボックス３４ｂの数以内で、規定時間を満たしてメッセージを中継することができるか否かを知ることができる。また、シミュレーション装置１は、図６中のステップＳ２２１で規定時間を変更して、ステップＳ２２０で割当不可メッセージ数が残送信メールボックス数と等しくなるまでメッセージの割当処理を繰り返す。そうすることによって、規定時間を満たし、かつ中継装置３の送信メールボックス３４ｂに空きがある場合に、割当不可メッセージ夫々を空いている送信メールボックス３４ｂに割り当てることができ、中継装置３の送信メールボックス３４ｂを最大限活用することができる。
【００８８】
なお、本実施の形態では、図６中のステップＳ２２１で規定時間が一度も更新されていない場合、即ち空いている送信メールボックス３４ｂを最大限活用する前においては、割当不可メッセージが一時記憶部１３に記憶されていないことを前提に処理を進めてもよい。具体的には、ステップＳ２２１で規定時間を更新したか否かを区別するフラグを一時記憶部１３に記憶しておく。制御部１１は、ステップＳ２２１で規定時間を１度も更新していない場合に、ステップＳ２１９で割当不可メッセージが記憶されていると判定した場合、図４中のステップＳ１０５に処理を戻す処理を行う。このようにすることによって、シミュレーション条件に記憶している規定時間を最低限満たした中継メッセージについて送信メールボックス３４ｂを最大限活用する処理を行うことができる。
【００８９】
次に、上述のシミュレーション装置１を用いて中継装置３を製造する製造方法を説明する。中継装置３の製造装置は、中継装置３に接続されるべき通信バス５、各通信バス５に接続されるべきＥＣＵ４、及び各ＥＣＵ４が送出するメッセージに係る情報を用いて、メッセージテーブル１２ｂを作成し、シミュレーション装置１に記憶させる。また、製造装置は、中継装置３が備える送信メールボックス３４ｂの数及び各メッセージの規定時間を含むシミュレーション条件を記憶部１２に記憶させる。
【００９０】
その後、製造装置は、シミュレーション装置１に図４〜図８に示した処理を行わせ、全ての中継メッセージが規定時間を満たしたときに、各送信メールボックス３４ｂに割り当てられるべきメッセージを区別して取得する。具体的には、製造装置は、シミュレーション装置１が図６中のステップＳ２１１が行う都度、規定時間を満たしたと判定したメッセージを取得し、全ての中継メッセージが規定時間を満たしたときに取得したメッセージを中継装置３の製造に用いる。製造装置は、全ての中継メッセージが規定時間を満たしたときに取得したメッセージが各送信メールボックス３４ｂに割り当てられるように、制御プログラム３２ａ等を作成する。なお、製造装置は、シミュレーション条件に含まれる規定時間を満たしたときに取得したメッセージを用いてもよいし、ステップＳ２２１で更新した規定時間を満たしたときに取得したメッセージを用いてもよい。
【００９１】
以上のようにして中継装置３を製造することによって、シミュレーション装置１によって作り出した中継に遅延が生じ易い状況でも規定時間を満たすことができるため、中継装置３による中継の遅延を確実に防止することができる。また、シミュレーション装置１のシミュレートによって全中継メッセージが規定時間を満たさなかった場合でも、メッセージテーブル１２ｂ及びシミュレーション条件を変更して、規定時間を満たすまでシミュレートを繰り返すことができる。その際、製造装置は、中継装置３に係る条件を反映したメッセージテーブル１２ｂ及びシミュレーション条件を新たに作成し、記憶部１２に記憶させることで、シミュレーション装置１は様々な条件に係る中継装置３の挙動をシミュレートすることができる。そのため、接続されるべき通信バス５の数等の条件が夫々異なる複数の中継装置３を製造する場合であっても、各中継装置３に対応するメッセージテーブル１２ｂ及びシミュレーション条件を作成し、シミュレーション装置１を用いることができる。
【００９２】
なお、本実施の形態において、シミュレーション装置１は、図５中のステップＳ２０５で、各中継メッセージの遅延時間を算出する例を説明したが、遅延時間を算出しなくともよい。例えば、シミュレーション装置１は、一の送信メールボックスに最低優先度メッセージが割り当てた後、順次高い優先度をもつ中継メッセージが割り当てる様子を可視化することで、中継装置３のメッセージを中継する挙動を仮想的に可視化することができる。このとき、シミュレーション装置１は中継装置３の挙動の定性的な解析に使用可能となる。
【００９３】
また、本実施の形態においては、シミュレーション装置１は、図５中のステップＳ２０４におけるアービトレーション処理でメッセージテーブル１２ｂに記憶された送出メッセージを用いる例を説明したが、それ以外の情報を用いて当該処理を行ってもよい。例えば、所定時間毎にランダムに優先度が変化するデータを用いてもよい。その場合、制御部１１は、図７中のステップＳ３０１では、比較対象を選択する処理に代えて、計時部１６に指令を出して、計時を開始してから経過した時間を取得することによって、ステップＳ３０２において当該時間に基づいて優先度を比較することができる。
【００９４】
また、本実施の形態においては、シミュレーション装置１は、記憶部１２に中継メッセージ夫々に対応する規定時間を記憶し、図６中のステップＳ２１１で各メッセージの遅延時間が規定時間を満たしているか否かを判定したが、判定しなくともよい。その場合であっても、各中継メッセージの遅延時間を中継装置３の解析に用いることができる。
【００９５】
また、本実施の形態において、シミュレーション装置１は、記憶部１２に送信メールボックス３４ｂの数の上限値を記憶し、図６中のステップＳ２１８で、送信メールボックスカウンタの値が上限値より大きいか否かを判定したが判定しなくともよい。その場合、ステップＳ２１１において全メッセージが規定時間を満たしたと判定されたときの送信メールボックスカウンタの値が、規定時間を満たす送信メールボックス３４ｂの数の最小値となり、中継装置３を製造する際に送信メールボックスを最小限の構成とすることができる。
【００９６】
また、本実施の形態において、シミュレーション装置１は、図６中のステップＳ２１３で割当不可メッセージを一時記憶部１３に記憶することを説明したが、当該割当不可メッセージを記憶しなくともよい。その場合、シミュレーション装置１は、例えば同一の中継メッセージが複数回、ステップＳ２１２で最低優先度メッセージが含まれていると判定されたときに処理を終える等の例外処理を行うことによって、処理が終了しないという不具合を避けることができる。
【００９７】
また、本実施の形態において、シミュレーション装置１は、図６中のステップＳ２２１において、規定時間を更新して再度メッセージ割当処理を行うことを説明したが、当該処理を行わなくともよい。その場合であっても、予め記憶部１２に記憶した規定時間を満たす送信メールボックス３４ｂに割り当てるべきメッセージを知ることができる。
【００９８】
また、本実施の形態において、シミュレーション装置１がシミュレートする中継装置３は、ＣＡＮプロトコルに従って送受信されるメッセージを中継する例を説明するが、優先度に基づいて、アービトレーション処理を行うプロトコルであればよい。
【００９９】
更に、今回開示された実施の形態は全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１００】
１  シミュレーション装置
２  記録媒体
２ａ  シミュレーションプログラム
３  中継装置
４  ＥＣＵ（通信装置）
５  通信バス
１１  制御部（選択部、送出判定部、時間算出部、積算部、比較部、送出周期判定部、周期判定部、許容時間判定部、計数部）
１２  記憶部
１２ａ  シミュレーションプログラム
１２ｂ  メッセージテーブル
１３  一時記憶部
３４  通信部
３４ｂ  送信メールボックス
【図１】
2015089042.tif 000003
【図２】
2015089042.tif 000004
【図３】
2015089042.tif 000005
【図４】
2015089042.tif 000006
【図５】
2015089042.tif 000007
【図６】
2015089042.tif 000008
【図７】
2015089042.tif 000009
【図８】
2015089042.tif 000010