(57)【特許請求の範囲】
【請求項１】
メッセージ（１９）中にあり、通信ネットワーク（１０）を介して通信手段（１１，１２，１３）への伝達が可能な識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）の関連性テストのためのテスト方法であって、
前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に適用される計算ルール（１）に基づいて、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に対する関連表（２２；２２ｂ，２２ｃ，２２ｄ）中の第１ポジション（Ｐ１；Ｐ０−Ｐ１０）を見つけるステップと、
前記第１ポジション（Ｐ１；Ｐ０−Ｐ１０）が利用できないという競合が生じた場合に、他の識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に関連付けられない利用可能なポジション（Ｐ１；Ｐ０−Ｐ１０）が前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）中に見つかるまで、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に適用される移動ルール（２）に基づいて、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に対する前記第１ポジション（Ｐ１；Ｐ０−Ｐ１０）に代わる少なくとも１つの第２ポジション（Ｐ１；Ｐ０−Ｐ１０）を関連表（２２；２２ｂ，２２ｃ，２２ｄ）中において探して見つけるステップと、
前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）あるいはそれに関連した値（ｗ）が前記第１ポジション（Ｐ１；Ｐ０−Ｐ１０）あるいは前記少なくとも１つの第２ポジション（Ｐ１；Ｐ０−Ｐ１０）に入力された場合に、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）を関連があるものとして示すステップと、
前記第１ポジション（Ｐ１；Ｐ０−Ｐ１０）あるいは前記少なくとも１つの第２ポジション（Ｐ１；Ｐ０−Ｐ１０）において、不使用マーカーが入力された場合に、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）を関連がないものとして示すステップと、
を含むことを特徴とするテスト方法。
【請求項２】
テストされるべき前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に関する前記計算ルール（１）及び／あるいは移動ルール（２）が、所定の数の作業ステップについて使用され、所定の最大数（ｓｍａｘ）の作業ステップを経てそれぞれ見つけられた前記ポジション（Ｐ０−Ｐ１０）が、テストされるべき前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）とは異なる関連表（２２；２２ｂ，２２ｃ，２２ｄ）中の識別子（Ｉ１；Ｉ５，Ｉ８９，Ｉ８，Ｉ１６）に関連付けられた場合に、前記マーカーは関連がないと示されることを特徴とする請求項１に記載のテスト方法。
【請求項３】
ある識別子グループ（ＩＤＧ）に関連する識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）であって、通信手段（１１，１２，１３）に関連するメッセージ（１９）を識別するために設けられると共に通信ネットワーク（１０）を介して伝達される識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）の関連性テストのために通信手段（１１，１２，１３）に設けられる関連表（２２；２２ｂ，２２ｃ，２２ｄ）を作り上げる作成方法であって、
前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）中に設けられた、前記識別子グループ（ＩＤＧ）中のどの識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）にも関連しないポジション（Ｐ２，Ｐ３，Ｐ６，Ｐ７，Ｐ９，Ｐ１０）が、不使用マーカーとして示され、
前記識別子グループ（ＩＤＧ）の各識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）について、
前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に適用される計算ルール（１）を用いて、各識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）について関連表（２２；２２ｂ，２２ｃ，２２ｄ）中の第１ポジション（Ｐ１；Ｐ０−Ｐ１０）を見つけるステップと、
前記第１ポジション（Ｐ１；Ｐ０−Ｐ１０）が利用できないという競合が生じた場合において、前記識別子グループ（ＩＤＧ）の他の識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）と関連付けられない利用可能なポジション（Ｐ０；Ｐ０−Ｐ１０）が前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）中に見つかるまで、夫々の識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に適用される移動ルール（２）に基づいて、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に対する少なくとも１つの第２ポジション（Ｐ０；Ｐ０−Ｐ１０）を関連表（２２；２２ｂ，２２ｃ，２２ｄ）中において探して見つけるステップと、
前記それぞれ見つけられた第１ポジションあるいは少なくとも１つの第２ポジション（Ｐ０，Ｐ１；Ｐ０−Ｐ１０）において、前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）の入力あるいは前記識別子に関連する値（ｗ）を入力するステップと、
を有するポジション決めのステップが実施されることを特徴とする作成方法。
【請求項４】
前記識別子グループ（ＩＤＧ）の前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）について、作業ステップの最大数（ｓｍａｘ）を見つけて利用可能にし、該最大数（ｓｍａｘ）が、前記識別子グループ（ＩＤＧ）に含まれていない識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）の関連性テストの際の中断の判断基準として使用され得るよう、前記計算ルール（１）及び／あるいは前記移動ルール（２）を前記識別子グループ（ＩＤＧ）中の前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に適用する際には、該最大数（ｓｍａｘ）が最大限に必要とされるようにすることを特徴とする請求項３に記載の作成方法。
【請求項５】
前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）中の少なくとも１つのポジション（Ｐ０−Ｐ１０）を最適化された方法で前記識別子グループ（ＩＤＧ）における１つの識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）と非常に関連させることで、該ポジション（Ｐ０−Ｐ１０）を見つけるのに要する作業ステップの数を少なくしたことを特徴とする請求項３又は４に記載の作成方法。
【請求項６】
前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）中の前記識別子グループ（ＩＤＧ）の識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）と関連付けることのできる前記ポジション（Ｐ０−Ｐ１０）の数を増加あるいは減少させ、及び／あるいは、前記識別子グループ（ＩＤＧ）の前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）を、前記計算ルール（１）を適用することの一環として表示サブセットに変換し、それに基づき関連表（２２；２２ｂ，２２ｃ，２２ｄ）中の表示サブセットのポジションがそれぞれの識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）と関連付けられるようし、該表示サブセットを具体的にはそれぞれの識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）と関連付けられたポジションが前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）中で均一に競合することを避けて配置されるように構成し、及び／あるいは、具体的には任意の数あるいは数の連続として設定される数値が、前記識別子グループ（ＩＤＧ）の夫々の前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に加えられるか又は夫々の前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）から差し引かれるようにし、及び／あるいは、前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）がそれぞれ乗数を乗じられ、及び／あるいは、具体的には論理“ＡＮＤ”、論理“ＯＲ”あるいは“ｓｈｉｆｔ”である論理演算を実行することを特徴とする請求項５に記載の作成方法。
【請求項７】
前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）において、ポジションが前記識別子グループ（ＩＤＧ）の前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に関連付けられる順序を変更することを特徴とする請求項５又は６に記載の作成方法。
【請求項８】
前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）において最適化された方法でポジション決めされた前記少なくとも１つの識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）を、所定の基準に従って、より具体的には予定された送信頻度に従うか、あるいは該識別子を含んでいるメッセージ（１９）の優先度に従って選択することを特徴とする請求項５〜７のいずれかに記載の作成方法。
【請求項９】
前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）あるいはそれぞれ前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）から得られる移動値を、前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）において識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に与えられるポジションの数に対応する素数で割ることにより、前記計算ルール（１）及び／あるいは移動ルール（２）を適用する際に、それぞれの第１ポジション及び／あるいはそれぞれの少なくとも１つの第２ポジション（Ｐ０；Ｐ０−Ｐ１０）を示すインジケータが見つけられ、具体的には前記インジケータが前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）の値を素数で割った整数の余りとして見つけられるようにしたことを特徴とする請求項１に記載のテスト方法。
【請求項１０】
移動ルール（２）が実質上計算ルール（１）を含んで適用されることを特徴とする請求項１に記載のテスト方法。
【請求項１１】
前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）が、それぞれのメッセージ（１９）のアドレスデータ項目、詳しくはターゲットアドレスに含まれているか、あるいはそれぞれのメッセージ（１９）の内容に関する内容識別子に含まれていることを特徴とする請求項１に記載のテスト方法。
【請求項１２】
通信ネットワーク（１０）として放送ネットワークが利用され、及び／あるいは、通信ネットワーク（１０）としてバスシステム、具体的にはＣＡＮバスシステムあるいはＬＩＮバスシステムが利用されることを特徴とする請求項１に記載のテスト方法。
【請求項１３】
不使用マーカーとして、ボイドマーカー及び／あるいは前記識別子グループ（ＩＤＧ）に含まれていない無効な識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に関連付けられた値を与えることを特徴とする請求項１に記載のテスト方法。
【請求項１４】
前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に対して前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）における前記第１ポジションあるいは少なくとも１つの第２ポジション（Ｐ０；Ｐ０−Ｐ１０）を見つけるために、請求項６に記載の方法の影響を受けて適用される計算ルール（１）が用いられるようにしたことを特徴とする請求項１又は２に記載のテスト方法。
【請求項１５】
メッセージ（１９）中にあり、通信ネットワーク（１０）を介して通信手段（１１，１２，１３）への伝達が可能な識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）の関連性テストのためのテストモジュールであって、
前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に適用される計算ルール（１）を用いて、各識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に対する関連表（２２；２２ｂ，２２ｃ，２２ｄ）中の第１ポジション（Ｐ１；Ｐ０−Ｐ１０）を見つけるステップと、
前記第１ポジション（Ｐ１；Ｐ０−Ｐ１０）が利用できないという競合が生じた場合に、他の識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に関連付けられない利用可能なポジション（Ｐ１；Ｐ０−Ｐ１０）が前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）中に見つかるまで、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に適用される移動ルール（２）に基づいて、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に対する前記第１ポジション（Ｐ１；Ｐ０−Ｐ１０）に代わる少なくとも１つの第２ポジション（Ｐ１；Ｐ０−Ｐ１０）を関連表（２２；２２ｂ，２２ｃ，２２ｄ）中において探して見つけるステップと、
前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）あるいはそれに関連した値（ｗ）が前記第１ポジション（Ｐ１；Ｐ０−Ｐ１０）あるいは前記少なくとも１つの第２ポジション（Ｐ１；Ｐ０−Ｐ１０）に入力された場合に、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）を関連があるものとして示すステップと、
前記第１ポジション（Ｐ１；Ｐ０−Ｐ１０）あるいは前記少なくとも１つの第２ポジション（Ｐ１；Ｐ０−Ｐ１０）において、不使用マーカーが入力された場合に、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）を関連がないものとして示すステップと、
を実行するためのテスト手段を含むことを特徴とするテストモジュール。
【請求項１６】
ある識別子グループ（ＩＤＧ）に関連する識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）の関連性テストのために、通信手段（１１，１２，１３）に設けられる関連表（２２；２２ｂ，２２ｃ，２２ｄ）を作り上げる作成モジュールであって、前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）は通信ネットワーク（１０）を介して伝達され得る前記通信手段（１１，１２，１３）に関連するメッセージ（１９）を識別するために設けられ、
前記作成モジュールは、
前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）に備えられており、不使用マーカーを有する前記識別子グループ（ＩＤＧ）のどの識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）とも関連付けられないポジションを示すマーク手段と、
前記識別子グループ（ＩＤＧ）の各識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）について、
前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に適用される計算ルール（１）を用いて、各識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）について関連表（２２；２２ｂ，２２ｃ，２２ｄ）中の第１ポジション（Ｐ１；Ｐ０−Ｐ１０）を見つけるステップと、
前記第１ポジション（Ｐ１；Ｐ０−Ｐ１０）が利用できないという競合が生じた場合において、前記識別子グループ（ＩＤＧ）の他の識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）と関連付けられない利用可能なポジション（Ｐ０；Ｐ０−Ｐ１０）が前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）中に見つかるまで、夫々の識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に適用される移動ルール（２）に基づいて、該識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）に対する少なくとも１つの第２ポジション（Ｐ０；Ｐ０−Ｐ１０）を関連表（２２；２２ｂ，２２ｃ，２２ｄ）中において探して見つけるステップと、
前記それぞれ見つけられた第１ポジションあるいは少なくとも１つの第２ポジション（Ｐ０，Ｐ１；Ｐ０−Ｐ１０）において、前記識別子（Ｉ８９；Ｉ５，Ｉ１，Ｉ８，Ｉ１６）の入力あるいは前記識別子に関連する値（ｗ）を入力するステップと、
を有するポジション決めのステップを実行するためのポジション決め手段と、を含むことを特徴とする作成モジュール。
【請求項１７】
通信手段（１１，１２，１３）、具体的にはＣＡＮバス関係部分あるいはＣＡＮインターフェイスコンポーネントであって、
具体的には前記関連表（２２；２２ｂ，２２ｃ，２２ｄ）が前記通信手段（１１，１２，１３）の不揮発メモリーに含まれている請求項１５に記載のテストモジュールを含み、
及び／あるいは、請求項１６に記載の作成モジュールを含むことを特徴とする通信手段。
【請求項１８】
自動車及び／あるいは具体的にはパーソナルコンピュータの形を取った開発ツールであって、
請求項１７に記載の通信手段（１１，１２，１３）を含み、
及び／あるいは、請求項１５に記載のテストモジュールを含み、
及び／あるいは、請求項１６に記載の作成モジュールを含むことを特徴とする自動車及び／あるいは開発ツール。
【請求項１９】
それぞれ通信手段（１１，１２，１３）及び／あるいは開発ツール（１７）の制御モジュール（４０）により実行可能なプログラムコードを含むことを特徴とする請求項１５に記載のテストモジュール及び／あるいは請求項１６に記載の作成モジュール。
【請求項２０】
請求項１９に記載のテストモジュール及び／あるいは作成モジュールを内部に記憶している、具体的にはディスケット、ＣＤ−ＲＯＭ、ディジタル汎用ディスク、ハードディスク装置等の形を取ったことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを経由して通信手段に送信されるメッセージ中の識別子の関連性をテストするためのテスト方法及びその為のテストモジュール、更にはある識別子グループに関連した識別子の関連性テストのために設けられる関連表を作成するための作成方法及びその為の作成モジュールに関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
通信ネットワークにおいて、メッセージはしばしば、一つのソース通信手段から一つのターゲット通信手段に体系的に送信されるのではなく、いわゆるブロードキャスト方法によって多数のターゲット通信手段に送信される。その場合、それぞれのターゲット通信手段は、例えば、メッセージのターゲットアドレス又はメッセージの内容に関する識別子といった各メッセージ中に含まれる識別子に基づいて、そのメッセージが自らに関連があるか否かを決定しなければならない。この典型的な例はバスシステムであり、そこではバスシステムの全関係部分（例えば、通信手段）が、バスによって送信されたメッセージを受信する。
【０００３】
一つのターゲット通信手段に対して単に一つの識別子が関連性を有する場合には、単純な比較作業を行うことにより比較的容易にその識別子の関連性テストを実行することができる。しかしながら、このようなターゲットに関連する識別子が複数存在する場合には、それぞれに受信された識別子がその通信手段に関連したものであるか否かを確認することは、実質的により困難である。例えば、テスト対象の識別子は、線形的にチェックされるべき関連識別子のリストを参照してテストされても良い。
【０００４】
幾分改良された方法の場合には、そのようなリストに対して、例えば、二分割法が用いられる。又、関連性のない識別子と異なり、関連性のある識別子を、例えば、所定のビットパターンといった明白な共通の特徴によって識別することも考えられ、それにより、例えば、そのビットパターンをマスクすることによって単純な比較テストが可能となる。
【０００５】
通信手段、例えば、ＣＡＮ（コントローラエリアネットワーク）バス上のバス関係部分が、該通信手段にそれぞれ関連した多数の異なる識別子を有するメッセージを受信した場合、上述のテスト方法は、面倒であると共に時間がかかる。このため、通信手段側では、相当量の高価なプロセッサ電力が必要となる。
【０００６】
本発明の一つの目的は、メッセージ中にあり通信ネットワークを介して伝達（送信）可能な識別子の効果的な関連性テストを可能にする方法及び装置を提供することである。
【０００７】
【課題を解決するための手段及び発明の効果】
本明細書、請求項、及び図面から明らかとなるこれらの及び／又は他の目的を達成するために、本発明によれば、メッセージ中にあり、通信ネットワークを介して通信手段に送信することが可能な識別子の関連性をテストするためのテスト方法であって、
前記識別子に適用される計算ルールに基づいて、前記識別子の関連表における第１ポジションを見つけるステップと、
前記第１ポジションが利用できないという競合が生じた場合に、前記関連表において他の識別子に関連付けられない利用可能なポジションが見つかるまで、前記識別子に適用される移動ルールに基づいて、前記関連表における前記識別子に対する前記第１ポジションに代わる少なくとも一つの第２ポジションを探して見つけるステップと、
前記識別子、又はそれに関連した値が前記第１ポジション又は前記少なくとも一つの第２ポジションに入力された場合に、前記識別子を関連があるものとして指定するステップと、
前記第１ポジション又は前記少なくとも一つの第２ポジションに不使用マーカーが入力された場合、前記識別子を関連がないものとして指定するステップと、
からなるテスト方法が提供される。
【０００８】
本明細書、請求項、及び図面から明らかな目的を達成するために、本発明によれば、更に、通信ネットワークによってメッセージ中に含まれて送信されることが可能な識別子の関連性をテストするための、上記各ステップを実行するためのテスト手段を備えたテストモジュールが提供される。
【０００９】
上述のテスト方法と、更にテストモジュールとは、本質的に、メッセージの一部として識別子を受信する通信手段が、それぞれの識別子に対して迅速な関連性テストを行うことを可能にする役割を果たす。
必要な関連表を作成し、それによって本発明の目的を達成するために、更に以下のものが提供される。即ち、一つの識別子グループに関連した識別子であって、通信手段に関連するメッセージを識別するために設けられると共に通信ネットワークにより伝達され得る識別子の関連性テストのため（通信手段に設けられる）関連表を作り上げる作成方法であって、関連表中に設けられ前記識別子グループのいかなる識別子とも関連を持たないポジションが、不使用マーカーとして示されると共に、前記識別子グループの各識別子に対して、以下のポジション決めのステップが行われることを特徴とする作成方法である。該ポジション決めのステップとは、前記識別子に適用される計算ルールを用いて、関連表中におけるそれぞれの識別子の第１ポジションを見つけるステップと、前記第１ポジションが利用できないという競合が生じた場合に、前記識別子グループにおける他のいかなる識別子とも関連を持たない利用可能なポジションが前記関連表中に見つかるまで、前記識別子に適用される移動ルールに基づいて、前記関連表中における前記識別子の少なくとも一つの第２ポジションを探して見つけるステップと、前記それぞれ見つけられた第１ポジション又は少なくとも一つの第２ポジションに、前記識別子又はそれに関連した値を入力するステップとから成る。更に提供されるのは、一つの識別子グループに関連した識別子であって、通信手段に関連するメッセージを識別するために設けられると共に通信ネットワークにより伝達され得る識別子の関連性テストのため（通信手段に設けられる）関連表を作り上げる作成モジュールであって、前記関連表中に設けられ、前記識別子グループのいかなる識別子とも関連を持たないポジションを示しマークを付すためのマーク手段と、前記識別子グループの各識別子に対して前記ポジション決めのステップを実行するためのポジション決め手段とを備える。
【００１０】
従って、関連表を作成する間、原則的には、そうして作成された関連表に基づいて識別子をテストする間に行われるのと同じ方法のステップが実行され、より明確には、共通の発明概念が存在するように、同じ計算ルール及び同じ移動ルールが利用される。唯一の違いは、基本的には、関連表を作成する際には、具体的に割り当てられたポジションに識別子が入力されるのに対し、関連性テストでは、テスト対象の識別子がこのポジションに既に入力されているか否かが確認される点である。
【００１１】
本発明の重要な基本概念は、各通信手段に関連したメッセージが示される識別子の最適な関連性テストにおいて、本質的に周知のハッシュ方法を適用したことである。
周知の方法と異なり、ハッシュ方法は、実質的により迅速で、より効果的な方法である。従って、ある通信手段に関連した識別子の広範囲にわたるグループを、比較的短時間で確実にテストすることが可能となる。
【００１２】
関連性テストを更に最適化するために、請求項及び本明細書中に記載の特徴に注目されたい。
通信手段に関連した識別子グループの識別子に対する関連表を作成している間にも、作業ステップの最大数を見つけ、その識別子グループに含まれない識別子の関連性をテストしている間には、その最大数が中断の判断基準として利用されるように、例えば、計算ルール及び／又は移動ルールを識別子グループの識別子に適用する際には、最大限に必要とされるそのような数を通信手段及び／又はテストモジュールに適用可能にすべく保持するようにすると効果的である。
【００１３】
そして、所定の最大数の作業ステップ後に見つかった関連表中の各ポジションが、テスト対象の識別子とは異なる識別子に割り当てられていた場合、テスト対象の識別子に対する計算ルール及び／又は移動ルールが、関連性テストの間、所定の最大数の作業ステップ及び関連がないとみなされるべきマーカーに利用されるように規定すると効果的である。
【００１４】
関連表の最適な設計により、関連性テストの効率は実質的に向上され、特に、必要な作業ステップの数、即ち計算ルール及び／又は移動ルールの適用を、例えば、個々の識別子の場合にも、あるいは一つの識別子グループにおける全ての識別子の場合にも、平均して減じることが可能となる。
【００１５】
従って、この方法の場合には、識別子グループにおける少なくとも一つの識別子に対して、関連表中のポジションが最適な方法で関連付けられるので、そのポジションを見つけるために必要とされる作業ステップの数、より明確には計算ルール及び／又は移動ルールを適用する回数が少なくて済むように規定されている。
【００１６】
最適な方法で関連表にポジション付けられた少なくとも一つの識別子は、所定の基準、具体的には、予定された送信頻度又はそれぞれその中に含まれるメッセージの優先順位に従って選択されることが好ましい。又、例えば、特に頻繁にメッセージ中に含まれる識別子といった単独の識別子を第一基準に従って選択すると共に、例えば、優先順位を適用して取り扱われるべき特に重要な識別子といった多数の他の識別子を第二基準に従って選択することも可能である。
【００１７】
本発明の作成方法における最適化のための便利な方法は、識別子グループの識別子に関連付けることが可能なポジションの数を増加させたり減少させたりすることである。従って、特に、識別子グループの各識別子に平均的に必要とされるテストステップの数を減らしても良い。
【００１８】
しかしながら、関連表を最適化するために、重要な目標は、できるだけ多くの関連表ポジションが一つの識別子グループにおける一つの識別子と関連付けられるように、通信手段におけるメモリ容量要求を可能な限り小さくすることである。
【００１９】
このために、当該作成方法は、識別子グループの識別子が、計算ルール適用の一環として表示サブセットに変換されるよう改善されることが好ましい。そして、その表示サブセットに基づいて、関連表中のポジションがそれぞれの識別子に関連付けられるようにしても良い。
【００２０】
この場合、表示サブセットは、それぞれの識別子と関連したポジションが均等に配置され、関連表における競合を避けるように作成されることが好ましい。従って、計算ルールは、クラスタ形成を防ぐように選択及び／又は修正され、これによって未修正の計算ルールにより、同じポジション上で数個の識別子が対立又は競合してしまうことが避けられる。修正された計算ルールによって、これらの識別子は、それぞれ別々のポジションを与えられる。
【００２１】
計算ルールの修正のために、幾つかの方法を単一で、又は所望の組み合わせで利用することが適切である。例えば、ある数値、特に、任意の数として決定された数値を、識別子グループにおける各識別子に足したり、そこから引いたりする。更に、各識別子をある乗数で掛けたり、あるいは、例えば、論理“ＡＮＤ”や論理“ＯＲ”又は“ｓｈｉｆｔ”を用いて、論理演算で処理したりすることも可能である。
【００２２】
その後、関連表を最適化する過程において見出されたある種の“最適の”計算ルールが、テスト方法及びテストモジュールによっても利用されることは明らかである。
上述の最適化方法と容易に組み合わせ可能な最適化のための更なる方法は、順序を変えることであり、それによって識別子グループの識別子は、関連表中にそれぞれに関連のあるポジションを有する。
【００２３】
こうして、ある一定の場合には、関連表における識別子と関連のあるポジションにおける競合の数を減らすために、計算ルールを修正することさえ不要となる。更に、例えば、頻繁にテスト対象となる識別子や、優先順位が高い識別子を優先的に関連表中に入力することが可能となる。
【００２４】
最適化された関連表の特別な利点は、それが、作成モジュールを使って“オフライン”で作成可能であるということである。例えば、高性能ワークステーション又は高いプロセッサ能力を備えたコンピュータネットワークを設けても良い。更に、関連表を最適化するためにどれほどの時間が必要であるかは、本質的に無関係である。このため、最適な小さいサイズの関連表を作成するために、上述の最適化ステップは、作成モジュールによって異なる組み合わせで容易に試行可能であり、この場合には、識別子の関連性テストのために、２，３の作業ステップが必要とされるにすぎない。
【００２５】
最適化された関連表は、例えば、通信手段の受信構成要素に内蔵されたテストモジュールのために利用可能とされる。関連表は、例えば、ＲＯＭに焼き付けられても良い。既に最適化された関連表により、識別子の関連性テストのために、テストモジュール側、ひいては通信手段側では、極小のプロセッサ能力が必要とされるにすぎない。
【００２６】
本発明の以下の有利な変形例は、テスト方法及びテストモジュール、並びに作成方法及び作成モジュールに関する。
不使用マーカーとして、異なるタイプのマーカーを用いることが可能である。ボイドマーカーを不使用マーカーとして設けると、そのようなボイドマーカーは、テストモジュールによって極めて容易に検知されるため、効果的である。又、識別子グループに含まれる識別子と関連付けられていない無効な数値で不使用マーカーを形成することも可能であり、それは、例えば、有効な識別子に対して許容された数値よりも実質的に大きい数値にすることである。
【００２７】
計算ルール及び／又は移動ルールを適用する場合、インジケータが、関連表における第１ポジション及び／又は少なくとも一つの第２ポジションをそれぞれ指し示した状態で見つけられるようにすることが好ましい。これは、識別子あるいはそれぞれ識別子から得られる移動値を、関連表において識別子に与えられるポジションの数に対応する素数で割ることによって成し遂げられる。このようにして、それぞれ計算ルールに従って、又はそれぞれ移動ルールに従って、一つの識別子と関連付けられるべきポジションを素早く見つけることができる。
【００２８】
特に好ましい形態では、インジケータが、素数によるマーカー数値の割り算の整数余りとして設定されるように規定される。素数による割り算の代わりに、それぞれの識別子から素数の引き算を繰り返し行うように規定しても良い。
計算ルールによって関連表中の同一のポジションと関連付けられる、即ち当該同一のポジションを割り当てられる可能性のある二つの識別子は、移動ルールによって異なるポジションと関連付けられる。この場合、移動ルールが本質的に計算ルールを含むようにすると効果的である。このため、移動ルールの適用のために、例えば、先ず一つの識別子から一つの移動値を形成し、その移動値を関連表におけるポジションの現在のインデックスに加算する。その後、この和に基づいて、又計算ルールを用いて、関連表におけるその識別子のポジションが見つけられる。作成方法及びテスト方法において、同一の移動ルールを利用しなければならないことは明らかである。
【００２９】
原則として、識別子は、いかなる適切な数値であっても良い。識別子が、それぞれのメッセージのアドレスデータ項目、より明確には、ターゲットアドレス中に含まれるようにするか、あるいはそれぞれのメッセージの内容に関する内容識別子中に含まれるようにすると便利である。この場合、識別子は、それぞれ、ターゲットアドレス又は内容識別子、あるいはそれらのほんの一部を構成することが可能である。それぞれにテストされるべき、ターゲットアドレス又は内容識別子の識別子を構成する一部は、例えば、それぞれのターゲットアドレス又は内容識別子をマスキング又はシフティングすることによって見つけられるようにしても良い。
【００３０】
原則として、エンドツーエンド通信を提供する通信ネットワークを含めて、いかなる適切な通信ネットワークを設けることも可能である。そのような通信ネットワークの場合にも、複数のメッセージが通信手段に送信されることが有り得るため、それらのメッセージは、関連性テストの対象となると共に、そのために適切な識別子を含んでいる。一例を挙げれば、あるメッセージは、通信手段が所定の動作状態にある時には関連性を有するが、他の何らかの動作状態においては関連性を持たない。しかしながら、本発明の好ましい形態では、通信ネットワークとしてブロードキャストネットワークが与えられ、この場合には、それぞれのメッセージを受信する通信手段が、メッセージの関連性テストを行う、つまり、フィルタにかけることによってそれらの通信手段と関連のないメッセージを除外することを強いられるように規定がなされる。
【００３１】
ブロードキャストネットワークの典型例としては、バスシステム、特に、コントローラエリアネットワーク（ＣＡＮ）バスシステム、又は通信ネットワークとしてのローカルインターコネクトネットワーク（ＬＩＮ）バスシステムが挙げられる。ＣＡＮ及びＬＩＮバスシステムは、特に、オートメーション技術又は自動車に用いられるものである。特に、自動車の場合には、制御及び監視すべき電装品の数が増加しているため、それぞれのバスシステム側でのメッセージトラフィック負荷も増大することになる。そして、バス関係部分は、それらと関連のない多数のメッセージを受信するが、本発明による関連性テストを用いることにより、わずかな計算能力を必要とするのみで、それらの関連のないメッセージを迅速に除去することが可能となる。テールライトの制御構成要素の例として、カーラジオ又はナビゲーションシステムに関するメッセージは重要でない。
【００３２】
本発明の更に有利な発展形及び便利な形態は、付随の図面を参照に、以下の一実施例の詳細な記載から理解されるであろう。
【００３３】
【発明の実施の形態】
図１は、通信ネットワークを構成するバス１０と、それに接続された通信手段１１、１２、１３とを示す。バス１０は、ここでは、ＣＡＮバスまたはＬＩＮバスである。通信手段１１、１２、１３は、バス１０の構成要素（関係部分）であると共に、図示されない追加の通信手段の典型例を示す。バス１０は、自動車１８に設置され、バス線８及び９を含む。バス線８及び９のうちの一方は、例えば通信手段１１、１２、１３に共通するアースとして構成される。
【００３４】
通信手段１１は、例えば、ローカルコンポーネントグループ制御手段を制御するための中央制御装置である。ローカルコンポーネントグループ制御手段は、例えば通信手段１２及び１３により構成され、例えば自動車上のテールライトコンポーネントグループまたは距離測定手段を制御する役割を果たす。
【００３５】
通信手段１１、１２、１３は、バス１０を介して互いに通信する。バスを介して送信される各メッセージは、バス１０に接続された全ての通信手段１１、１２、１３により受信される。例えば、通信手段１１が、図２に示したメッセージ１９というメッセージを通信手段１２に送信すると、このメッセージは通信手段１３にも受信される。メッセージ１９は、通信手段１２に関連する一方で、通信手段１３には関連しないために拒絶される。
【００３６】
メッセージ１９は、データ及び識別子ＩＤから構成される。識別子ＩＤは、例えば、メッセージ１９のターゲットアドレスまたはそのメッセージの内容識別子を構成しているか、あるいはまたターゲットアドレスに、またはメッセージ１９の内容識別子それぞれに含まれている。識別子Ｉ８９は、８９に等しい値（ｗ）を有していて、識別子グループＩＤＧのコンポーネントになっている。識別子グループＩＤＧは、さらに５、１、８、１６の値（ｗ）を有する識別子Ｉ５、Ｉ１、Ｉ８、Ｉ１６を含んでいる。識別子Ｉ５、Ｉ１、Ｉ８、Ｉ８９、Ｉ１６は、通信手段１２に関連するメッセージに付され、識別子Ｉ８９は、例えば、メッセージ１９に付される。本実施例での識別子グループＩＤＧは、一次元のフィールドまたは配列として構成されている。
【００３７】
識別子の関連性をテストするために、通信手段１２にはテストモジュール１５が設けられる。テストモジュール１５は、関連表２２、２２ｂ、２２ｃ、２２ｄを基に、メッセージに含まれる識別子をテストする。本実施例の場合、テストモジュール１５は、通信手段１２により実行されるプログラムモジュールである。しかしながら、テストモジュール１５の機能、そして通信手段１１及び１３に設けられた、テストモジュール１５と同様に機能するテストモジュール１４及び１６の機能とをより詳しく説明する前に、本実施例では開発ツール１７によって実行されるプログラムモジュールの形態をとる関連表２２、２２ｂ、２２ｃ、２２ｄの作成について説明する。
【００３８】
作成モジュール２０は、識別子Ｉ５、Ｉ１、Ｉ８、Ｉ８９、Ｉ１６を関連表２２、２２ｂ、２２ｃ、２２ｄにおけるポジションＰ０−Ｐ１０に関連付ける。この時、作成モジュール２０は、以下の計算ルールを識別子Ｉ５、Ｉ１、Ｉ８、Ｉ８９、Ｉ１６の値５、１、８、８９、１６に適用する。
【００３９】
ｐ＝ｗ  ｍｏｄ  ｄ                                            （１）
ｐは、関連表２２、２２ｂ、２２ｃ、２２ｄのポジションＰ０からＰ１０のどれかのインデックスである。インデックスｐは、各ｗ値を除数ｄで割り算した際の余りであり、自然数（整数）で表される。この場合、除数ｄは素数であり、ポジションＰ０からＰ１０の数に等しい。本実施例の場合、ｄは１１である。
【００４０】
除数ｄの値、すなわち表中のポジションの数が、与えられた関連表に関連付けられる識別子の数のおよそ２倍であると都合がよい。しかしながら、原則として、除数は異なる方法で求められてもよい。１つの識別子グループ内の識別子は全て、各関連表中のそれぞれ１つのポジションに関連付けられるものとする。
【００４１】
識別子Ｉ５、Ｉ１、Ｉ８、Ｉ８９、Ｉ１６をポジションＰ０からＰ１０に関連付ける際、作成モジュール２０は、図３に示すメソッド２３を実行する。この結果、図５に示す関連表２２が作成される。メソッド２３は、識別子グループＩＤＧの識別子Ｉ５、Ｉ１、Ｉ８、Ｉ８９、Ｉ１６のそれぞれに対して実行される。
【００４２】
図示されないステップにおいて、ポジションＰ０からＰ１０にはまず、不使用マーカーが付される。本実施例では、ボイドマーカーが用意される。
ステップ２４において、計算ルール（１）が、識別子Ｉ５、Ｉ１、Ｉ８、Ｉ８９、Ｉ１６のそれぞれのｗ値に適用される。この際、識別子Ｉ５、Ｉ１、Ｉ８については、ポジションＰ５、Ｐ１、Ｐ８が関連付けられる、あるいはそれらのポジションが割り当てられる。テストステップ２５では、それぞれの場合について、ポジションＰ５、Ｐ１、Ｐ８がすでに別の識別子と関連付けられていないかどうかの検査が行われる。これはどんな場合にもそうというわけではない。すなわち、ステップ２６において、作成モジュール２０が、識別子Ｉ５、Ｉ１、Ｉ８の値（ｗ）である５、１、８をポジションＰ５、Ｐ１、Ｐ８に入力できるように、識別子Ｉ５、Ｉ１、Ｉ８をポジションＰ５、Ｐ１、Ｐ８と関連付ける際、本実施例の場合は、ボイドマーカーが入力される。
【００４３】
しかしながら、ステップ２４において、識別子Ｉ８９のｗ値８９に計算ルールを適用すると、ステップ２５で、識別子Ｉ８９が、すでに識別子Ｉ１によって占有されているポジションＰ１に関連付けられることがわかる。従って、テストステップ２５に続く移動ステップ２７では、代わりのポジションが関連表２２中で見つけられることを確認し、それぞれ見つけられたポジションが利用可能かどうかをチェックするために、戻り分岐２８でテストステップ２５に戻る必要がある。識別子Ｉ８９のために見つけられるポジションＰ０にもこのことは適用される。
【００４４】
移動ステップ２７では、移動ルール（２）を構成する以下の計算ルール（２ａ）及び（２ｂ）が適用される。
ｉｎｃ＝（ｗ  ｍｏｄ（ｄ−１））＋１                  （２ａ）
Ｐｎ＋１＝（Ｐｎ＋ｉｎｃ）ｍｏｄ  ｄ                  （２ｂ）
ステップ２５において実行される可能性のある計算ルール（２ａ）では、移動値ｉｎｃが識別子の各値ｗから求められる。移動値ｉｎｃは、別の識別子により既に占有されているポジションでインデックスＰｎに加算される。具体的には、識別子Ｉ８９のためのインデックスＰｎ＝１が、識別子Ｉ１により既に占有されているポジションＰ１に当てはまり、計算ルール（２ａ）に従って、移動値ｉｎｃ＝１０となる。その合計
Ｐｎ＋ｉｎｃ＝１＋１０＝１１
に計算ルール（２ｂ）を適用すると、インデックスＰｎ＋１＝０になりポジションＰ０を指す。本実施例の場合、計算ルール（１）及び（２ｂ）はほぼ同じである。しかしながら、計算ルール（１）に従うと、除数ｄを用いた除数式が直接識別子の値ｗに適用され、その一方で、計算ルール（２ｂ）に従うと、除数ｄを用いた除数式が移動値ｉｎｃ及びインデックスＰｎの合計に対して実行されるので、別の識別子によって既に占有されてしまっている求められたポジションに適用されるという点が異なる。
【００４５】
識別子Ｉ１６について、移動ルール（２）は合計３回実施されなければならない。なぜなら、計算ルール（１）を実行すると、識別子Ｉ５により占有されているポジションＰ５が見つけられ、その後、移動ルール（２）を３回実行して、（識別子Ｉ１、Ｉ８により占有されている）ポジションＰ１、Ｐ８が、そしてようやくこの後にポジションＰ４が見つけられるからである。結局、ポジションＰ４を見つけるのに、４回の作業ステップＳＴが必要である。これは、図５に「ＳＴ」と記された列に記載されている。それに対して、識別子Ｉ５、Ｉ１、Ｉ８については１回の作業ステップＳＴ、すなわち計算ルール（１）の実行が必要となるだけである。このことは、後述する識別子Ｉ５、Ｉ１、Ｉ８の関連性テストには都合がよい。
【００４６】
メソッド２３で作成される関連表２２を図５に示す。メソッド２３の個々のメソッドステップを、ＩＤＧ、ｗ、ｐ、ｉｎｃ、ＳＴと記された列及び、Ｉ５、Ｉ１、Ｉ８、Ｉ８９と記された行に示す。関連性テスト表２２、さらに原則として図６から８に示す関連表２２ｂ、２２ｃ、２２ｄも、例えば、数の連続のみで定義されることができる。本実施例の場合は、例えば、８９、１、２５５、２５５、１６、５、２５５、２５５、８、２５５、２５５の値でもって定義される。「２５５」は、その数列のあるポジションに不使用マーカーが入力されていることを示しており、無効な識別子をマスクしている。また、関連表２２、２２ｂ、２２ｃ、２２ｄの行及び／または列を追加することも可能である。この場合、それぞれのメッセージの追加処理に必要なデータが入れられる。
【００４７】
以下に、図４に示した識別子Ｉ８９のための関連性テストを、テストモジュール１５を使用している関連表２２を基に説明する。
ステップ２９において、計算ルール（１）が識別子Ｉ８９のｗ値８９に適用され、ポジションＰ１のインデックスが求められる。さらに、ステップカウンタｓが、例えばｓ＝１で初期化される。ステップカウンタは、関連表２２の作業ステップの数を制限する役割を果たす。
【００４８】
原則として、ステップカウンタの最大数ｓｍａｘは、関連表２２中のポジションＰ０からＰ１０の数に応じて設定される。しかしながら、本実施例では、最大数ｓｍａｘは、列ＳＴに与えられた作業ステップの最大数として定義される。関連表２２では、ｓｍａｘの値は４である。
【００４９】
ステップ２９に続くテストステップ３０では、ポジションＰ１に入力された値が識別子Ｉ８９のｗ値８９と同じであるかどうかテストされる。ポジションＰ１は、識別子Ｉ１に関連付けられていて、ｗ値１がそこには入力されているため、これは真ではない。この後、テストステップ３５で、ポジションＰ１に不使用マーカーが入力されているかどうかのテストが行われる。本実施例の場合、これはボイドマーカーである。ｗ値として、１がポジションＰ１に入力されているので、これもまた真ではない。
【００５０】
従って、次のステップ３１では、ステップカウンタのカウンタｓがまず１だけ増分され、次のテストステップ３２において、ステップカウンタｓがすでに最大数ｓｍａｘを超えているかどうかのテストが行われる。この実行において、ステップカウンタｓは２であり、最大数ｓｍａｘである４より小さい。
【００５１】
テストステップ３２に続く移動ステップ３３では、識別子Ｉ８９のための代わりのポジションを関連表２２中で見つける。この目的で、すでにメソッド２３に関連して説明したように、移動ルール（２）の計算ルール（２ａ）及び（２ｂ）が、ポジションＰ１のインデックスＰｎ＝１に適用され、その結果、ポジションＰ０が求められ見つけられる。移動ステップ２３及び２７においては、原則的に同じ処理が実行される。
【００５２】
移動ステップ３３の後、テストステップ３０において、ポジションＰ０に入力されている値が、識別子Ｉ８９のｗ値８９と同じかどうかのテストが行われる。これが真であるため、出力ステップ３４において、識別子Ｉ８９が通信手段１２に関連する識別子であることを示す出力が作成され、メッセージ１９は通信手段１２に関連するメッセージとなる。
【００５３】
識別子Ｉ８９のｗ値が８９ではなく、例えば２であった場合、ステップ２９で計算ルール（１）を実行すると、ポジションＰ２との関連付けが生まれる。テストステップ３０の結果は、明らかに、ｗ値である２がＰ２に入力されていないことを示すが、その後、次のテストステップ３５において、不使用マーカーがポジションＰ２に入力されていることがわかることになる。従って、次の出力ステップ３６では、ｗ値として２を有する識別子Ｉ８９が、通信手段１２に関連しない識別子であることを示す出力が作成され、メッセージ１９は通信手段１２に関連しないメッセージとなる。テストステップ３２においても、「関連しない」という出力ステップ３６と同じ結果になる。最大数である４（ｓｍａｘ）の作業ステップを超えると、不使用マーカーのポジションも、テストされるそれぞれの識別子の値が入力されているポジションも見つけられない。テストステップ３２で最大数（ｓｍａｘ）である４の作業ステップをテストしない場合、関連表２２での識別子の関連性テストには、最悪の場合、５の作業ステップが必要になる。なぜなら、識別子グループＩＤＧが全部で５つの識別子を含み、それぞれが関連表２２のポジションＰ０からＰ１０のどれかに関連付けられるからである。
【００５４】
テストメソッドはまた、例えば、図示されない異なる一連のステップで、別の形態に設計されてもよい。例えば、テストステップ３０、３２、３５は互いにどの順番に実行されてもよい。
４以上の作業ステップが必要とされないということは、テストされる識別子が「関連しない」という結果を出すために、関連性テストが改良されたということである。さらに、例えば、識別子Ｉ５、Ｉ１、Ｉ８が非常に頻繁に通信手段１２によって受信される場合、識別子Ｉ５、Ｉ１、Ｉ８の関連性テストについてそれぞれ１つの作業ステップだけが必要である関連表２２の構造は、通信手段１２に非常に適しているということになる。
【００５５】
しかしながら、関連表２２は、非常によく最適化されているために、テストされる識別子について「関連する」または「関連しない」という結果を出すのに、より少ない作業ステップしか必要としない。本実施例の場合、関連しない識別子であれば、テストルーチンはテストステップ３２で終了する。
【００５６】
作成モジュール２０は、以下の基準に従って、関連表２２を最適化する。その基準は、ユーザーによって、あるいは例えば自動的に、予め設定される。好ましい基準とは、例えば、関連性テストにおいて平均的に実行される作業ステップの数を少なくするものである。関連表２２の場合、例えば作業ステップの最大数（ｓｍａｘ）が２になるように規定することができる。
【００５７】
まず、関連表ポジションにおいて複数の識別子間の競合を防ぐために各関連表を拡張すること、次いで１つ以上の以下の最適化ルーチンを利用することが効果的であることがわかっている。しかしながら、本実施例においてはわかりやすい状況を示すために、関連表２２を拡張しないことにする。
【００５８】
一つの最適化ルーチンに従って、識別子グループＩＤＧの識別子Ｉ５、Ｉ１、Ｉ８、Ｉ８９、Ｉ１６が、異なる順番で関連表２２に入力されると共に／または、一つのポジションとの関連付けにおいて競合する識別子の関連付けが変更される。関連表２２のこの特別な状況において、識別子Ｉ５及びＩ１６をポジションＰ５及びＰ４に関連付けることには問題がある。これらの関連付けは、識別子Ｉ５の優先的な配置によって起こるからである。
【００５９】
この最適化により、図６に示す修正された関連表２２ｂにおいて、最初、識別子Ｉ５はポジションＰ５に関連付けられるが、その後、識別子Ｉ１６がポジションＰ５に関連付けられ、識別子Ｉ５については、ルーチン２３の実行により代用のポジションＰ６が見つけられている。また、識別子グループＩＤＧの識別子Ｉ５及びＩ１６の順番を、関連表２２ｂのポジションＰ０からＰ１０に関連付ける前に変更することも可能である。
【００６０】
列ＳＴにおいて、最大数（ｓｍａｘ）は３であることがわかる。すなわち、３つの作業ステップが関連性テストに必要である。
図７に示す関連表２２ｃに、さらなる最適化ルーチンまたはメソッドが用いられている。ここでは、識別子Ｉ５、Ｉ１、Ｉ８、Ｉ８９、Ｉ１６のｗ値５、１、８、８９、１６は、９、５、１２、９３、２０という変換値（ｗｔ）で示されている。この場合（図７の例の場合）の変換式（３）は：
ｗｔ＝ｗ＋ｚ                                  （３）
である。本実施例の場合、数値（ｚ）として４が入力される。関連表２２ｃを構築するのに、ｗ値の代わりに、ｗｔで示す列に与えられたｗｔ変換値を計算ルール（１）及び移動ルール（２）の計算ルール（２ａ）に使用する。図６の２２ｂにあるように最大数（ｓｍａｘ）は３である。
【００６１】
最適化ルーチンの数値ｚのためには、０からｄ−１の間にある全ての値を試すのが有利であり、最大数ｓｍａｘがそれぞれに求められる。このようにして、最適数値ｚを求めることができる。また、別の変換式を利用することも可能である。例えば、ｗ値にｚを掛けてもよい。例えば、ｗｔ＝ｗ＊ｚ。さらに、加算と乗算を組み合わせて実行してもよい。例えば、ｗｔ＝（ｗ＋ｚ）＊ｍ。「ｍ」は選択及び最適化可能な乗数である。作成モジュール２０は、いずれにせよ、関連表２２に識別子Ｉ５、Ｉ１、Ｉ８、Ｉ８９、Ｉ１６が均等に配分されるように、様々な変換式を試すことができる。
【００６２】
図６及び７に示した最適化メソッドを組み合わせたものが、図８に示した関連表２２ｄである。ここでは、数値（ｚ）が４である変換式（３）を識別子値Ｉ５，Ｉ１、Ｉ８、Ｉ８９、Ｉ１６に適用する一方で、識別子Ｉ８９の関連付けを変更する。関連表２２ｃにおける配置では、さらに３つの作業ステップが必要であったからである。識別子Ｉ８９は、ここでは、優先的に識別子Ｉ１の前に配置される。その結果、識別子Ｉ８９及びＩ１が、それぞれポジションＰ５及びＰ０と関連付けられる（に割り当てられる）。最大数（ｓｍａｘ）は、最初のねらい通り、関連表２２ｄにおいては２となる。
【００６３】
上述の最適化メソッドは、最終的に、識別子グループに最適な関連表が構築されるのならば、原則としてどんな順番及び組み合わせで作成モジュール２０により利用されてもよい。従って、それぞれに作成された関連表及び使用された式、計算ルール（１）、移動ルール（２）、使用されたどんな変換式（３）も、それぞれのテストモジュールで使用可能となる。
【００６４】
また、テストモジュール、例えばテストモジュール１５、のプログラムコードが、計算ルール（１）、移動ルール（２）、いかなる変換式（３）及び／または図１の各関連表、例えば関連表２２ｄ、を含むことも可能である。作成モジュール２０が、各テストモジュールを作成するように設計されると有利である。あるいは、図示されない、例えば開発ツール１７により提供される作成モジュール、及び／または、図１に開発ツール１７のテストモジュール１５に鎖線で示されているような、例えばコンパイラ及びリンカを備えるプログラミングツールを予め備えていると有利である。そのように作成されたテストモジュール、例えばテストモジュール１５、及び／または各関連表、例えば関連表２２ｄは、各通信手段のための開発ツール１７により利用可能となる。実施例においては、例えば、テストモジュール１５は、接続３７を介して、通信手段１２にロードされる。
【００６５】
また、開発ツール１７がテストモジュール１５を使用して、作成モジュール２０によって作成された関連表（例えば関連表２２ｄ）をチェックすることも可能である。
具体的にはパーソナルコンピュータまたはワークステーションである開発ツール１７と、通信手段１１、１２、１３とは、図１に線図的に表されているのみである。これらの手段の各機能コンポーネントグループは、機能的には同じタイプのものであるが、特定の構造、及び、より具体的にはそのパフォーマンスにおいて異なっている。
【００６６】
開発ツール１７及び通信手段１１、１２、１３はそれぞれ、制御手段４０、記憶手段４１、送受信手段４２を備えており、これらは図示されない手段により互いに接続されている。制御手段４０は、例えば、別個のプロセッサまたはプロセッサグループであり、それを使って、記憶手段４１に記憶されるプログラムモジュールによりプログラムコードが実行される。通信手段１１、１２、１３の制御手段４０は、例えばテストモジュール１４、１５、１６のプログラムコードを実行し、開発ツール１７の制御手段４０は、作成モジュール２０のプログラムコードを実行する。記憶手段４１については、例えば、作業メモリとしての役割を果たすハードディスク及び／またはランダムアクセスメモリ（ＲＡＭ）コンポーネントが問題となる。通信手段１１，１２，１３において、制御手段４０は例えばマイクロプロセッサとして構成される。
【００６７】
例えば、表示手段（映像スクリーンまたはＬＣＤ）や入力手段（キーボード及び／またはマウス）のような、開発ツール１７の一部として設けられる余分なコンポーネントは、図面をよりわかりやすくするために省略されている。通信手段１１、１２、１３は、例えば、自動車１８のコンポーネント、例えばテールライトユニットであってもよい。
【００６８】
本発明を適用した実施例の変形は容易に可能である。
例えば、計算ルール（１）の代わりに、識別子Ｉ５、Ｉ１、Ｉ８、Ｉ８９、Ｉ１６を関連表２２、２２ｂ、２２ｃ、２２ｄに関連付けることができる他の計算ルールを使用してもよい。さらに、移動ルール（２）は、代わりの移動ルールに修正したりまたは置き換えてもよい。
【００６９】
テストモジュール１４、１５、１６は、例えば、送受信手段４２のＩＣのような、ハードウェアの形態で実現してもよい。
各関連表は、テストモジュール１４、１５、１６のコンポーネントであってもよいし、またはそれらによってそれぞれ読み込まれるようにしてもよい。例えば、関連表は、開発ツール１７によりテストモジュール１５用に設けられたＲＯＭにロードされてもよい。
【００７０】
また、作成モジュール２０を、制御手段４０によって実行することも可能である。例えば、通信手段１１、１２、１３のどれかに関連するメッセージが定義され、その結果、追加の識別子が各通信手段に関連するとき、作成モジュール２０は、通信手段あるいは各テストモジュールに存在する関連表に各識別子を配置するかまたは入力することができる。そしてさらに、上述した各関連表２２の最適化を実行することもできる。
【図面の簡単な説明】
【図１】  実施例のテストモジュール１４、１５、１６を含む通信手段１１、１２、１３を備えたバス１０と、作成モジュール２０を備えた開発ツール１７とを示す図である。
【図２】  バス１０上に送信されるメッセージ１９を示す図である。
【図３】  図１に示した作成モジュール２０の動作を示すフローチャート２３である。
【図４】  図１のテストモジュール１４、１５、１６の動作を示すフローチャートである。
【図５】  図３の作成モジュールによって作成された関連表２２を示す。
【図６】  図３の作成モジュールによって作成された関連表２２ｂを示す。
【図７】  図３の作成モジュールによって作成された関連表２２ｃを示す。
【図８】  図３の作成モジュールによって作成された関連表２２ｄを示す。
【符号の説明】
８，９…バス線、１０…バス、１１，１２，１３…通信手段、１４，１５，１６…テストモジュール、１７…開発ツール、１８…自動車、１９…メッセージ、２０…作成モジュール、２２，２２ｂ，２２ｃ，２２ｄ…関連表、２３…フローチャート、２４，２６，２９，３１…ステップ、２５，３０，３２，３５…テストステップ、２７，３３…移動ステップ、２８…分岐、３４、３６…出力ステップ、４０…制御手段、４１…記憶手段、４２…送受信手段
【図１】
0003863431.tif 000002
【図２】
0003863431.tif 000003
【図３】
0003863431.tif 000004
【図４】
0003863431.tif 000005
【図５】
0003863431.tif 000006
【図６】
0003863431.tif 000007
【図７】
0003863431.tif 000008
【図８】
0003863431.tif 000009