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