(57)【要約】【課題】試験開始、終了、または試験設定の変更時であっても組み込み装置内の記憶装置のプログラムの書き換え等の作業を不要とすることのできる組み込み装置ソフトウェア試験装置を得る。【解決手段】アプリケーション実行装置記憶部１１１，２０７は、アプリケーションＩＤと装置ＩＤとを、一対一の関係に限定して示す装置対応表を記憶する。宛先判定部１１０，２０６は、通信データの送信先アプリケーションＩＤに対応した送信先装置を判定し、その装置に対する通信データを送出する。通信遮断部１１２，２０８は、宛先判定部１１０，２０６から送出された通信データの装置ＩＤと、通信データの送信先アプリケーションＩＤに対応した装置対応表における装置ＩＤとが一致しない場合はその通信データを遮断する。【選択図】図１
2014211807.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション実行環境を備えると共に、複数のアプリケーション間のデータ通信を通信ミドルウェア実行部が管理する組み込み装置と、前記アプリケーション実行環境および前記通信ミドルウェア実行部の動作を模擬するソフトウェアが動作するコンピュータ端末とが、通信可能に接続された組み込み装置ソフトウェア試験装置であって、
前記組み込み装置と前記コンピュータ端末の前記通信ミドルウェア実行部は、
前記アプリケーションを識別するアプリケーションＩＤと、当該アプリケーションが動作する装置である前記組み込み装置と前記コンピュータ端末を識別する装置ＩＤとを、一対多の関係を許容して示す宛先対応表を記憶する宛先記憶部と、
アプリケーション間通信が発生した場合、その通信データの送信先アプリケーションＩＤに基づいて前記宛先記憶部を参照し、当該送信先アプリケーションＩＤに対応した装置ＩＤを判定し、当該装置ＩＤの送信先装置に対する前記通信データを送出する宛先判定部と、
前記アプリケーションＩＤと前記装置ＩＤとを、一対一の関係に限定して示す装置対応表を記憶する実行装置記憶部と、
前記宛先判定部から送出された通信データの装置ＩＤと、当該通信データの送信先アプリケーションＩＤに対応した前記装置対応表における装置ＩＤとが一致しない場合、当該通信データを遮断する通信遮断部と、
他の装置から送信された通信データを受信するデータ受信部と、
前記通信遮断部を介して出力される通信データの装置ＩＤに基づいて、当該装置ＩＤを有する装置へ前記通信データを送信すると共に、前記データ受信部で受信された通信データを自装置の該当するアプリケーションに配送するデータ送信部とを備えた組み込み装置ソフトウェア試験装置。
【請求項２】
通信ミドルウェア実行部は、
他の装置との接続を検知したことを示す接続検知情報を受信する接続検知受信部を備えると共に、
請求項１の宛先記憶部に代えて、
前記アプリケーションを識別するアプリケーションＩＤと、当該アプリケーションが動作する装置である前記組み込み装置と前記コンピュータ端末を識別する装置ＩＤとを、一対多の関係を許容して示す宛先対応表を記憶すると共に、前記接続検知受信部が接続検知情報を受信した場合、前記他の装置から前記宛先対応表を取得して、当該他の装置と自装置の両方の宛先対応表のアプリケーションＩＤと装置ＩＤの関係を含む宛先対応表として更新し、一方、前記他の装置から当該更新された宛先対応表を受信した場合は、前記自装置の宛先対応表を前記受信した宛先対応表で更新する宛先記憶制御部を備え、
かつ、
請求項１のアプリケーション実行装置記憶部に代えて、
前記アプリケーションＩＤと前記装置ＩＤとを、一対一の関係に限定して示す装置対応表を記憶すると共に、前記接続検知受信部が接続検知情報を受信した場合、前記他の装置から前記装置対応表を取得して、当該他の装置と自装置の両方の装置対応表のアプリケーションＩＤと装置ＩＤの関係を含む装置対応表として更新し、かつ、両方の装置対応表で同一のアプリケーションＩＤに対応した装置ＩＤが異なっていた場合は、予め定めた装置ＩＤとして当該装置対応表を更新し、一方、前記他の装置から当該更新された装置対応表を受信した場合は、前記自装置の装置対応表を前記受信した装置対応表で更新するアプリケーション実行装置記憶制御部を備えたことを特徴とする請求項１記載の組み込み装置ソフトウェア試験装置。
【請求項３】
前記アプリケーション実行装置記憶制御部は、前記両方の装置対応表で同一のアプリケーションＩＤに対応した装置ＩＤが異なっていた場合、予め定めた装置ＩＤとして、前記コンピュータ端末の装置ＩＤを優先、前記組み込み装置の装置ＩＤを優先、前記コンピュータ端末と前記組み込み装置とを装置間接続装置で接続する場合に当該装置間接続装置に後から接続された装置の装置ＩＤを優先、のうち少なくとも一つ選択して装置ＩＤを決定することを特徴とする請求項２記載の組み込み装置ソフトウェア試験装置。
【請求項４】
前記組み込み装置を複数設けると共に、当該複数の組み込み装置と前記コンピュータ端末とを互いに通信可能に接続する装置間接続装置を備えたことを特徴とする請求項１記載の組み込み装置ソフトウェア試験装置。
【請求項５】
前記組み込み装置を複数設けると共に、当該複数の組み込み装置と前記コンピュータ端末とを互いに通信可能に接続する装置間接続装置を備え、
前記複数の組み込み装置と前記コンピュータ端末のうち、いずれか一つの装置をマスタ装置とし、
前記マスタ装置の前記宛先記憶制御部および前記アプリケーション実行装置記憶制御部は、前記接続検知受信部が接続検知情報を受信した場合、当該マスタ装置以外の装置からの宛先対応表および装置対応表と、自装置がそれまで保持していた宛先対応表および装置対応表との両方に宛先アプリケーションＩＤが存在するかを判定し、両方に存在した場合は、当該両方の装置の情報を当該宛先アプリケーションＩＤに結びつけて自装置の宛先対応表および装置対応表を更新すると共に、当該更新した宛先対応表および装置対応表を前記マスタ装置以外の装置に送信し、
前記マスタ装置以外の装置の宛先記憶制御部とアプリケーション実行装置記憶制御部は、前記マスタ装置から受信した宛先対応表および装置対応表で自装置の宛先対応表および装置対応表を更新することを特徴とする請求項２記載の組み込み装置ソフトウェア試験装置。
【請求項６】
前記複数の組み込み装置と前記コンピュータ端末とを互いに通信可能に接続する装置間接続装置を備え、前記マスタ装置は、当該装置間接続装置に最後に接続された装置であることを特徴とする請求項５記載の組み込み装置ソフトウェア試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込み装置上で実行され、通信ミドルウェアを介して連携動作するアプリケーションソフトウェアを試験する組み込み装置ソフトウェア試験装置に関する。
【背景技術】
【０００２】
マイクロコンピュータやプロセッサなどを搭載し、オペレーティングシステムによりプロセッサリソース等の管理を行っている組み込み装置がある。当該組み込み装置内部では、その機能を実現するためのアプリケーションが、オペレーティングシステムを利用して稼動している。一般に組み込み装置は入出力の手段が限られているため、アプリケーションの試験やデバッグを行うことは容易ではない。
組み込み装置には複数の機能を擁するものがあり、このような場合、開発の分担やメンテナンス性の向上を実現するため、機能ごとに複数のアプリケーションに分割して構成する体をなすことがある。ある所定の動作を実行する際には、アプリケーション間のデータ通信を管理する通信ミドルウェアを用いて、関係するアプリケーション群が相互に通信を行うことで行われる。
【０００３】
このようなシステムの場合、例えば特許文献１に記載されている技術を用いれば、通信ミドルウェアに組み込み装置外部の別の計算機との通信機能を持たせることが可能である。すなわち、外部計算機として、開発用コンピュータ端末を組み込み装置に接続し、コンピュータ端末上で試験対象アプリケーションを、組み込み装置上でその他のアプリケーションを動作させ、試験対象アプリケーションへ向けた通信をコンピュータ端末へ、または試験対象アプリケーションから他アプリケーションへ向けた通信を組み込み装置へ送受信するように通信ミドルウェアの通信分配を設定することで、アプリケーション群の連携動作を保ちつつ、試験対象アプリケーションの試験やデバッグ操作をコンピュータ端末から操作することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１０８１２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
実際の試験現場では、試験開始や終了、試験対象アプリケーションの変更など、試験構成が頻繁に変更されることがある。このような場合、組み込み装置とコンピュータ端末双方に試験対象アプリケーション群を搭載しておけば、プログラムの書き換えが必要なくて便利である。
【０００６】
しかしながら、上記の従来技術を用いた試験を行う場合、試験対象アプリケーションは組み込み装置とコンピュータ端末のどちらか片方でのみ実行される必要がある。例えば、組み込み装置とコンピュータ端末両方で同じ試験対象アプリケーション（以下、Ａと呼称する）が動作している状況で、ある他のアプリケーション（以下、Ｂと呼称する）がＡに対し何らかのデータを要求する通信を送信したとする。この通信の送信先は通信ミドルウェア内で判断されるが、通信ミドルウェアは、Ａが組み込み装置とコンピュータ端末両方で動作していることを認識しているため、通信データをコピーして両方に配送するよう処理を行う。
結果として、組み込み装置とコンピュータ端末でそれぞれ動作するＡはそれぞれＢに対して要求に対する応答データを返し、通信ミドルウェアは二つの応答データをＢまで配送する。しかし、Ｂは一つの応答データが返されることを想定しているため、情報の衝突をきたし、不具合を発生させる可能性がある。
【０００７】
このような不具合を防ぐため、組み込み装置内のプログラム記憶装置から試験対象アプリケーション、すなわちＡを除去する必要がある。このため、試験を行うたびに組み込み装置内記憶装置の書き換えのための一連の作業、すなわちソースコードからのＡの除去、ビルド、組み込み装置記憶装置用イメージ作成、転送と、組み込み装置の再起動が必要である。また、試験を終了する場合には逆の手順でＡを再び組み込む必要があり、手間が掛かるのと同時に作業ミスによる不具合が混入するリスクもあるといった問題点があった。
【０００８】
この発明は上記のような課題を解決するためになされたもので、試験開始、終了、または試験設定の変更時であっても組み込み装置内の記憶装置のプログラムの書き換え等の作業を不要とすることのできる組み込み装置ソフトウェア試験装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る組み込み装置ソフトウェア試験装置は、アプリケーション実行環境を備えると共に、複数のアプリケーション間のデータ通信を通信ミドルウェア実行部が管理する組み込み装置と、アプリケーション実行環境および通信ミドルウェア実行部の動作を模擬するソフトウェアが動作するコンピュータ端末とが、通信可能に接続されたソフトウェア試験装置であって、組み込み装置とコンピュータ端末の通信ミドルウェア実行部は、アプリケーションを識別するアプリケーションＩＤと、アプリケーションが動作する装置である組み込み装置とコンピュータ端末を識別する装置ＩＤとを、一対多の関係を許容して示す宛先対応表を記憶する宛先記憶部と、アプリケーション間通信が発生した場合、その通信データの送信先アプリケーションＩＤに基づいて宛先記憶部を参照し、送信先アプリケーションＩＤに対応した装置ＩＤを判定し、装置ＩＤの送信先装置に対する通信データを送出する宛先判定部と、アプリケーションＩＤと装置ＩＤとを、一対一の関係に限定して示す装置対応表を記憶する実行装置記憶部と、宛先判定部から送出された通信データの装置ＩＤと、通信データの送信先アプリケーションＩＤに対応した装置対応表における装置ＩＤとが一致しない場合、通信データを遮断する通信遮断部と、他の装置から送信された通信データを受信するデータ受信部と、通信遮断部を介して出力される通信データの装置ＩＤに基づいて、装置ＩＤを有する装置へ通信データを送信すると共に、データ受信部で受信された通信データを自装置の該当するアプリケーションに配送するデータ送信部とを備えたものである。
【発明の効果】
【００１０】
この発明の組み込み装置ソフトウェア試験装置は、試験対象アプリケーションをどの装置上で動作させるかをアプリケーション実行装置記憶部で管理し、送信または受信する通信データと照合することで、そのアプリケーションの動作するべき装置上以外では通信を遮断するようにしたので、試験開始、終了、または試験設定の変更時であっても組み込み装置内の記憶装置のプログラムの書き換え等の作業を不要とすることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１による組み込み装置ソフトウェア試験装置の機能ブロック図である。
【図２】本発明の実施の形態１の組み込み装置ソフトウェア試験装置における宛先対応表と装置対応表とを示す説明図である。
【図３】本発明の実施の形態１の組み込み装置ソフトウェア試験装置における通信データの構造を示す説明図である。
【図４】本発明の実施の形態１の組み込み装置ソフトウェア試験装置における宛先判定部の動作を示すフローチャートである。
【図５】本発明の実施の形態１の組み込み装置ソフトウェア試験装置における通信遮断部の動作を示すフローチャートである。
【図６】本発明の実施の形態２による組み込み装置ソフトウェア試験装置を示す機能ブロック図である。
【図７】本発明の実施の形態２の組み込み装置ソフトウェア試験装置における宛先対応表の同期前と同期後の状態の例を示す説明図である。
【図８】本発明の実施の形態２の組み込み装置ソフトウェア試験装置における装置対応表の同期前と同期後の状態の例を示す説明図である。
【図９】本発明の実施の形態２の組み込み装置ソフトウェア試験装置における宛先対応表の同期処理を示すフローチャートである。
【図１０】本発明の実施の形態２の組み込み装置ソフトウェア試験装置における装置対応表の同期処理を示すフローチャートである。
【図１１】本発明の実施の形態３による組み込み装置ソフトウェア試験装置を示す機能ブロック図である。
【図１２】本発明の実施の形態４による組み込み装置ソフトウェア試験装置を示す機能ブロック図である。
【図１３】本発明の実施の形態４の組み込み装置ソフトウェア試験装置におけるマスタ装置の接続を検出するための回路の例を示す構成図である。
【図１４】本発明の実施の形態４の組み込み装置ソフトウェア試験装置における組み込み装置群とコンピュータ端末間での宛先対応表と装置対応表の同期処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
実施の形態１．
図１は、この発明の実施の形態１による組み込み装置ソフトウェア試験装置の構成を示す機能ブロック図である。
図示のように、組み込み装置ソフトウェア試験装置は、組み込み装置１００とコンピュータ端末２００と装置間接続装置３００とを備えている。
組み込み装置１００にはアプリケーション実行環境が備わっている。アプリケーション実行環境とは、例えばＣＰＵ（Central Processing Unit）１０１が搭載され、またオペレーティングシステム１０２が稼動している環境を指す。ここでオペレーティングシステム１０２とは、ＣＰＵ処理時間やメモリ、入出力装置などのリソースを管理する基本ソフトウェアとその実行部を含むものとする。なお、オペレーティングシステム１０２の代わりに、例えばモニタプログラムを用いることでその機能を実現してもよい。オペレーティングシステム１０２上では、アプリケーションＡを実行するアプリケーションＡ実行部１０３、アプリケーションＢを実行するアプリケーションＢ実行部１０４、アプリケーションＣを実行するアプリケーションＣ実行部１０５と、組み込み装置１００に内蔵されたハードウェア１０６を駆動するデバイスドライバ１０７が稼動している。
【００１３】
ここで、アプリケーションとは、アプリケーション実行環境の機能を使用し、組み込み装置の提供する機能を実現するソフトウェアである。また、デバイスドライバとは、組み込み装置に搭載された、ＣＰＵ１０１以外のハードウェア１０６、例えば表示照明装置や光学ディスク装置といった付加的装置について、ＣＰＵ１０１から容易に操作できる機能を提供するためのソフトウェアとその実行部である。オペレーティングシステム１０２上には通信ミドルウェアを実行する通信ミドルウェア実行部１０８が稼動しており、この通信ミドルウェア実行部１０８を介することで各アプリケーションＡ実行部１０３〜アプリケーションＣ実行部１０５とデバイスドライバ１０６は互いに通信を送受信して連携することで、組み込み装置１００がユーザに提供する各機能を実現している。
【００１４】
また、コンピュータ端末２００にも、ＣＰＵ２０１、オペレーティングシステム２０２、アプリケーションＡ実行部２０３と通信ミドルウェア実行部２０４とが備えられている。ここで、オペレーティングシステム２０２は、コンピュータ端末２００に搭載されたＣＰＵ２０１上で実行でき、かつ組み込み装置１００のオペレーティングシステム１０２と共通のアプリケーションプログラミングインタフェース（ＡＰＩ）を有している。これにより、例えば組み込み装置１００のＣＰＵ１０１とコンピュータ端末２００のＣＰＵ２０１とでアーキテクチャ等が異なっていたとしても、アプリケーションを変更無くビルド、実行できるものとする。従って、アプリケーションＡ実行部２０３と通信ミドルウェア実行部２０４は、組み込み装置１００のもの（アプリケーションＡ実行部１０３、通信ミドルウェア実行部１０８）と同一のソースコードからビルドされるものとする。ここで、例えば入力としてアプリケーションＡ実行部１０３と同一のＡＰＩを使用し、かつその出力結果も同一であれば、アプリケーションＡ実行部２０３は、アプリケーションＡ実行部１０３をビルドしたものと異なるソースコードからビルドされたものであってもよい。
【００１５】
また、組み込み装置１００とコンピュータ端末２００は、両者を接続する装置間接続装置３００によって互いに通信可能なように接続されており、その各装置での接続点はそれぞれ通信ミドルウェア実行部１０８，２０４となっている。装置間接続装置３００は、例えば、ＵＳＢ（Universal Serial Bus）、ＩＥＥＥ１３９４等のシリアル通信バスやＬＡＮ（Local Area Network）、ＣＡＮ（Controller Area Network）等複数の情報処理装置を接続する通信手段を称するものである。ＬＡＮ等ネットワーク接続機器を用いてネットワーク経由で接続してもよい。この場合、組み込み装置１００とコンピュータ端末２００は、必ずしも近接して配置されるのではなく、相互に隔離して運用することが可能となる。
【００１６】
通信ミドルウェア実行部１０８と通信ミドルウェア実行部２０４は、それぞれ宛先記憶部１０９，２０５、宛先判定部１１０，２０６、アプリケーション実行装置記憶部１１１，２０７、通信遮断部１１２，２０８、データ送信部１１３，２０９、データ受信部１１４，２１０を備えている。
【００１７】
宛先記憶部１０９，２０５は、アプリケーションの識別情報であるアプリケーションＩＤと、アプリケーションが動作する装置の装置ＩＤとを関連付ける宛先対応表を保持している。この宛先対応表の例を図２中の（ａ）に示す。同一のアプリケーションが複数の装置上で動作することがあるため、宛先対応表はアプリケーションＩＤと装置ＩＤは一対多の関係を保持できるものである必要がある。
宛先判定部１１０，２０６は、いずれかのアプリケーション実行部からデータ通信要求が発生した場合、その通信データから送信先アプリケーションの情報を取得し、宛先記憶部１０９，２０５を参照して、送信先装置を特定し、その送信先装置に対して通信データを送信する機能を有している。
アプリケーション実行装置記憶部１１１，２０７は、アプリケーションＩＤと装置ＩＤとの関係を示す装置対応表を保持しているが、宛先記憶部１０９，２０５における宛先対応表とは異なり、図２（ｂ）に示すように、アプリケーションＩＤと装置ＩＤとが一対一の関係となっている。
【００１８】
通信遮断部１１２，２０８は、宛先判定部１１０，２０６から送出された通信データに対して、アプリケーション実行装置記憶部１１１，２０７を参照して、その通信データの送信先装置を判定し、当該判定結果に基づいて、通信データを遮断するか否かを判定する処理部である。
データ送信部１１３，２０９は、通信遮断部１１２，２０８を介して出力される通信データの送信先装置ＩＤに基づいて、その送信先装置ＩＤを有する装置へ通信データを送信すると共に、データ受信部１１４，２１０で受信された通信データを自装置の該当するアプリケーションに配送する処理部である。データ受信部１１４，２１０は、装置間接続装置３００を介して他の装置から送信された通信データを受信し、これをデータ送信部１１３，２０９に出力する処理部である。
【００１９】
なお、通信ミドルウェア実行部１０８，２０４における宛先判定部１１０，２０６、通信遮断部１１２，２０８、データ送信部１１３，２０９、データ受信部１１４，２１０は、それぞれの機能に対応したプログラムをＣＰＵ１０１，２０１が実行することによって実現されている。
【００２０】
次に、実施の形態１のソフトウェア試験装置の動作について説明する。なお、説明の一例として、最初に、組み込み装置１００側からアプリケーション通信が発生した場合の動作について説明する。
通信ミドルウェア実行部１０８は、通信データの到来に従って次のような手順で通信処理を行う。まず、アプリケーションＡ実行部１０３〜アプリケーションＣ実行部１０５やデバイスドライバ１０７からの通信データは宛先判定部１１０へと入力される。通信データは、図３に示すような構造であり、そのヘッダ領域には送信元アプリケーションを表すＩＤ番号と、送信先アプリケーションを表すＩＤ番号と、送信先装置を表すＩＤ番号とをそれぞれ格納する領域が含まれる。残りのヘッダ領域には、本体領域のサイズが格納され、後に格納されるデータ本体を読み出す際に用いられる。ヘッダ部分の後には、本体領域が配置される。本体領域に、通信データであるデータ本体が格納される。
【００２１】
宛先判定部１１０は、図４に示すフローチャートに従って、通信データの宛先を判定する。まず、通信データから送信先アプリケーションＩＤを取得し（ステップＳＴ４００）、通信データヘッダ中の送信先アプリケーションＩＤをキーとして、宛先記憶部１０９に対して問い合わせを行い、送信先装置ＩＤのリストを取得する（ステップＳＴ４０１）。なお、このリストは上述したように、アプリケーションＩＤと装置ＩＤとが一対多の関係を許容するようになっている。ステップＳＴ４０１で取得した送信先装置ＩＤについては、通信データヘッダ内に予約された送信先装置ＩＤを保持する領域へと書き込むことで送信先装置を設定する。このとき、送信先アプリケーションＩＤに対応する装置ＩＤが複数存在するか否かを判定し（ステップＳＴ４０２）、複数存在した場合は、送信データを装置ＩＤの数だけコピーし（ステップＳＴ４０３）、それぞれに対して送信先装置の装置ＩＤを設定する（ステップＳＴ４０４）。
【００２２】
その後、通信データは通信遮断部１１２へ送られる。通信遮断部１１２は、図５に示すフローチャートに従って不必要な通信データを遮断する。ステップＳＴ５００で通信データヘッダから送信先アプリケーションＩＤを取得した通信遮断部１１２は、アプリケーション実行装置記憶部１１１を参照して、通信データヘッダ内の送信先アプリケーションＩＤから、送信先装置の装置ＩＤを取得する（ステップＳＴ５０１）。ここで、図２の（ｂ）に例を示す通り、アプリケーション実行装置記憶部１１１で保持しているアプリケーションＩＤと装置ＩＤとの装置対応表は、宛先記憶部１０９の宛先対応表とは異なり、一対一の関係にある。取得された装置ＩＤと、通信データヘッダ内の送信先装置ＩＤを比較し（ステップＳＴ５０２）、一致する場合にはデータ送信部１１３へと送る。一方、不一致の場合にはその場で当該通信データを破棄する（ステップＳＴ５０３）。
【００２３】
宛先判定部１１０と通信遮断部１１２によって判定に用いられる宛先記憶部１０９の宛先対応表とアプリケーション実行装置記憶部１１１の装置対応表は、組み込み装置１００とコンピュータ端末２００の間で正しく通信を行うためには、両装置で同期を取るように設定する必要がある。これら対応表の設定を行う方法としては、例えば対応表が保持する情報を記述したファイルを用意して１対のコピーを用意しておき、試験操作を行う者が組み込み装置１００とコンピュータ端末２００にそれぞれコピーを配置し、該コピーをそれぞれの装置の宛先記憶部１０９，２０５とアプリケーション実行装置記憶部１１１，２０７が参照する、という方法で設定と同期を行ってもよい。
【００２４】
データ送信部１１３では、まず到来した通信データについてヘッダ内の送信先装置ＩＤを参照する。送信先装置ＩＤが自分自身を指す場合は、次にヘッダ内の送信先アプリケーションＩＤを参照することで宛先アプリケーションを同定し、当該アプリケーションへの送信操作を行うことで通信を完了する。一方、送信先装置ＩＤが他装置、すなわちコンピュータ端末２００である場合は、装置間接続装置３００を使ってデータを装置外へ送信する。
【００２５】
コンピュータ端末２００内の通信ミドルウェア実行部２０４は、装置間接続装置３００が接続しており、組み込み装置１００からの通信を伝達する。到来したデータはデータ受信部２１０によって受信される。受信されたデータはデータ送信部２０９へ入力され、上記の手順に従って目的のアプリケーションへと配送される。
【００２６】
逆方向の通信である、コンピュータ端末２００から組み込み装置１００への経路は、上記方法と、宛先装置が異なることを除いてはまったく同一である。これは、コンピュータ端末２００の通信ミドルウェア実行部２０４は、組み込み装置１００の通信ミドルウェア実行部１０８と同一のソースコードからビルドされ、従って同一の機能を持っていることから実現できる。
【００２７】
本実施の形態によって、試験対象アプリケーションをどの装置上で動作させるかをアプリケーション実行装置記憶部１１１，２０７で管理し、送信または受信する通信と照合することで、試験対象アプリケーションの動作するべき装置上以外では通信を遮断することが可能になる。例えば、試験対象アプリケーションＡをコンピュータ端末２００上でのみ有効としたい場合には、アプリケーション実行装置記憶部１１１，２０７でＡに対応するデータ組の装置ＩＤを、コンピュータ端末２００を表すものに変更するだけで、組み込み装置１００側のＡはメモリ上に存在して動作し続けた状態のまま、Ａに宛てた、またはＡから発せられる通信は通信遮断部１１２，２０８にて遮断され、従ってシステムから分離される。また、組み込み装置１００のＡをシステムに復帰することもアプリケーション実行装置記憶部１１１，２０７の装置ＩＤ設定を組み込み装置１００のものに戻すのみで可能である。
【００２８】
これにより、すべての装置上で、そのアプリケーションがメモリ上に存在して動作し続けた状態のまま、目的の装置上の試験対象アプリケーション以外はシステムから分離し、また再びシステムに復帰することを、プログラム書き換えをすることなく実現することができる。例えば、ソフトウェア試験開始、終了、または試験設定の変更時に従来必要であった、アプリケーション入れ替えに伴うソフトウェア再ビルド作業や組み込み装置内ソフトウェア記憶装置の書き換え作業は不要になる。
【００２９】
以上説明したように、実施の形態１の組み込み装置ソフトウェア試験装置によれば、アプリケーション実行環境を備えると共に、複数のアプリケーション間のデータ通信を通信ミドルウェア実行部が管理する組み込み装置と、アプリケーション実行環境および通信ミドルウェア実行部の動作を模擬するソフトウェアが動作するコンピュータ端末とが、通信可能に接続されたソフトウェア試験装置であって、組み込み装置とコンピュータ端末の通信ミドルウェア実行部は、アプリケーションを識別するアプリケーションＩＤと、アプリケーションが動作する装置である組み込み装置とコンピュータ端末を識別する装置ＩＤとを、一対多の関係を許容して示す宛先対応表を記憶する宛先記憶部と、アプリケーション間通信が発生した場合、その通信データの送信先アプリケーションＩＤに基づいて宛先記憶部を参照し、送信先アプリケーションＩＤに対応した装置ＩＤを判定し、装置ＩＤの送信先装置に対する通信データを送出する宛先判定部と、アプリケーションＩＤと装置ＩＤとを、一対一の関係に限定して示す装置対応表を記憶する実行装置記憶部と、宛先判定部から送出された通信データの装置ＩＤと、通信データの送信先アプリケーションＩＤに対応した装置対応表における装置ＩＤとが一致しない場合、通信データを遮断する通信遮断部と、他の装置から送信された通信データを受信するデータ受信部と、通信遮断部を介して出力される通信データの装置ＩＤに基づいて、装置ＩＤを有する装置へ通信データを送信すると共に、データ受信部で受信された通信データを自装置の該当するアプリケーションに配送するデータ送信部とを備えたので、試験開始、終了、または試験設定の変更時であっても組み込み装置内の記憶装置のプログラムの書き換え等の作業を不要とすることができる。
【００３０】
実施の形態２．
実施の形態１では、宛先記憶部１０９，２０５とアプリケーション実行装置記憶部１１１，２０７の設定は、組み込み装置１００とコンピュータ端末２００で独立であり、これら記憶部の設定を行ったり変更したりする際には、操作を行う者が注意して両者の設定が矛盾しないようにする必要がある。実施の形態２は、装置間接続装置３００による接続を自動的に検知し、接続が検知された場合には両装置間で同期を取る機能を実現する。
【００３１】
図６に本実施の形態のソフトウェア試験装置の機能ブロック図を示す。本実施の形態では、通信ミドルウェア実行部１０８ａ，２０４ａのそれぞれが、実施の形態１の宛先記憶部１０９，２０５に代えて宛先記憶制御部１０９ａ，２０５ａを、また、アプリケーション実行装置記憶部１１１，２０７に代えてアプリケーション実行装置記憶制御部１１１ａ，２０７ａを備え、かつ、接続検知受信部１１５，２１１を備え、また、装置間接続装置３００ａが制御部３０１を備えると共に、組み込み装置１００ａとコンピュータ端末２００ａ間に装置間接続装置３００ａを介した通信経路３０２，３０３が追加されている。
【００３２】
装置間接続装置３００ａの制御部３０１は、組み込み装置１００ａとコンピュータ端末２００ａとが接続された場合にこれを検知し、接続情報を接続検知受信部１１５，２１１に送出する制御部である。接続検知受信部１１５，２１１は、制御部３０１からの接続情報を受けて宛先記憶制御部１０９ａ，２０５ａとアプリケーション実行装置記憶制御部１１１ａ，２０７ａとに、同期開始を示す情報を送出する処理部である。宛先記憶制御部１０９ａ，２０５ａは、実施の形態１における宛先記憶部１０９，２０５と同様の宛先対応表の情報を備えると共に、接続検知受信部１１５，２１１から同期要求を受けた場合は、自身の宛先対応表の情報を通信経路３０２，３０３を介して他の装置の宛先記憶制御部２０５ａ，１０９ａに送信する共に、他の装置の宛先記憶制御部２０５ａ，１０９ａから宛先対応表のデータを受信した場合に自身の宛先対応表に反映させるよう構成されている。
【００３３】
その他の構成については、図１に示した構成と同様であるため、対応する部分に同一符号を付してその説明を省略する。なお、組み込み装置１００ａとコンピュータ端末２００ａにおけるＣＰＵ１０１，２０１とオペレーティングシステム１０２，２０２の図示は省略している。
【００３４】
次に、実施の形態２の動作について実施の形態１とは異なる動作を中心に説明する。
装置間接続装置３００ａにより接続する以前の組み込み装置１００ａとコンピュータ端末２００ａ内の宛先記憶制御部１０９ａ，２０５ａとアプリケーション実行装置記憶制御部１１１ａ，２０７ａは、各装置に元々存在している宛先アプリケーションに関する情報のみを保持している。例えば、図７の７０１に示すように、組み込み装置１００ａにおける宛先記憶制御部１０９ａは、アプリケーションＡ，Ｂ，ＣそれぞれのアプリケーションＩＤを保持し、かつその装置ＩＤはすべて組み込み装置１００ａを表すものである。また、図７の７０２に示すように、コンピュータ端末２００ａの宛先記憶制御部２０５ａには、アプリケーションＡのＩＤとコンピュータ端末２００ａのＩＤの対応のみが記憶されている。同様に、図８の８０１，８０２に示すように、組み込み装置１００ａにおけるアプリケーション実行装置記憶制御部１１１ａの情報は宛先記憶制御部１０９ａと同様の情報が、また、コンピュータ端末２００ａにおけるアプリケーション実行装置記憶制御部２０７ａの情報は宛先記憶制御部２０５ａと同様の情報が保持されている。
【００３５】
コンピュータ端末２００ａの接続は、装置間接続装置３００ａの制御部３０１によって検知される。制御部３０１が接続を検知する方法としては、例えば、装置間接続装置３００ａとしてＵＳＢ接続によるシリアル通信装置を用いる場合、ＵＳＢコネクタを差し込むことで装置間接続装置３００ａへと電源供給が開始され、これをきっかけとして装置間接続装置３００ａを制御する制御部３０１がリセットされるようにすることは、例えばＵＳＢのプラグアンドプレイ機能を用いれば可能である。制御部３０１はマイクロコンピュータ等を内蔵し、ＵＳＢ規格を満たすようなデータ通信を実現するプログラムが稼動しているものとする。リセット直後、接続を行った旨伝達する信号をコンピュータ端末２００ａ側へ送信するよう制御部３０１をプログラムしておく。この信号を接続検知受信部２１１で受信できるようにしておく。これにより、ＵＳＢコネクタを差し込むことで接続を検知することが実現される。
【００３６】
装置間接続装置３００ａの制御部３０１からの接続信号は、コンピュータ端末２００ａの通信ミドルウェア実行部２０４ａにおける接続検知受信部２１１によって受信される。なお、組み込み装置１００ａの通信ミドルウェア実行部１０８ａにも接続検知受信部１１５は存在しているものの、本実施の形態では用いられない。従って、図６中では破線にて示してある。接続検知受信部２１１は、接続信号を受信後、宛先記憶制御部２０５ａ、アプリケーション実行装置記憶制御部２０７ａへと同期開始を伝達する。具体的な同期開始の伝達方法としては、例えば、各記憶制御部２０５ａ，２０７ａを構成するプログラムに同期開始を伝えるための関数をそれぞれ用意し、これを呼び出すことで行う。
【００３７】
同期開始伝達を受けた宛先記憶制御部２０５ａとアプリケーション実行装置記憶制御部２０７ａは、自身が保持する情報を、装置間接続装置３００ａに用意される通信経路３０２，３０３を介して組み込み装置１００ａの宛先記憶制御部１０９ａとアプリケーション実行装置記憶制御部１１１ａへ送出する。これらの記憶制御部１０９ａ，１１１ａが情報を受信すると、予め定められた手順に従って両者を同期する。
【００３８】
図９は、宛先記憶制御部１０９ａにおける同期の手順を示すフローチャートである。
宛先記憶制御部１０９ａは、コンピュータ端末２００ａから宛先対応表を受信（ステップＳＴ９００）した後、組み込み装置１００ａの宛先対応表内の項目それぞれについて宛先アプリケーションが互いに存在するか調べる（ステップＳＴ９０１）。もし、両方の対応表に同一の宛先アプリケーションが存在する場合、そのアプリケーションの装置ＩＤとしてコンピュータ端末のＩＤを追加して、そのアプリケーションの装置ＩＤとして両方の装置を指すようにする（ステップＳＴ９０２）。一方、片方のみの場合は対応表を変更しない。これを組み込み装置の対応表の項目分繰り返して（ステップＳＴ９０１〜ステップＳＴ９０３）、対応表を更新する。次に、更新された宛先対応表を装置間接続装置３００ａ内の通信経路３０２を使用して、コンピュータ端末２００ａの宛先記憶制御部２０５ａへ送信する（ステップＳＴ９０４）。最後に、コンピュータ端末２００ａの宛先記憶制御部２０５ａは、受信した対応表で保持する情報を書き換える。図７の７０３に、上記の同期手順によって宛先対応表が更新された結果を示す。
【００３９】
アプリケーション実行装置記憶制御部１１１ａ，２０７ａによって保持される対応表もほぼ同様の手順で同期される。図１０に同期手順の例を表すフローチャートを示す。宛先記憶制御部１０９ａ，２０５ａの同期手順との違いは、両方の対応表に同じアプリケーションが存在している場合において、コンピュータ端末２００ａの装置ＩＤを優先して置き換え、対応表の一対一関係を維持する部分が異なる。すなわち、コンピュータ端末２００ａのアプリケーション実行装置記憶制御部２０７ａから装置対応表を受信（ステップＳＴ１０００）し、宛先アプリケーションＩＤが両方の対応表に存在した場合（ステップＳＴ１００１）は、アプリケーションＩＤに対する宛先装置ＩＤとしてコンピュータ端末２００ａのＩＤのみを設定する（ステップＳＴ１００２）。そして、この動作を装置対応表に存在する項目の分だけ繰り返し（ステップＳＴ１００１〜ステップＳＴ１００３）、更新された装置対応表をコンピュータ端末２００ａ側へ送信する（ステップＳＴ１００４）。図８の８０３に、上記の同期手順によってアプリケーション実行位置対応表が更新された結果を示す。
【００４０】
なお、上記アプリケーション実行装置記憶制御部１１１ａ，２０７ａの同期手順において、コンピュータ端末２００ａを優先して置き換える部分は、例えば組み込み装置１００ａを優先して置き換える方式や、後から接続した装置を優先して置き換える方式をとってもよい。
【００４１】
本実施の形態によって、組み込み装置１００ａとコンピュータ端末２００ａの接続を自動的に検知し、接続が検知された場合にはもう一方の装置の宛先記憶制御部１０９ａ，２０５ａおよびアプリケーション実行装置記憶制御部１１１ａ，２０７ａと同期を取ることが可能になる。これにより、実施の形態１において必要であった、組み込み装置１００とコンピュータ装置２００間で宛先や装置情報を試験者が管理することが必要なくなる。例えば、実施の形態２ではコンピュータ端末２００ａを接続するだけで、宛先設定等が自動的になされるため、容易に試験を開始することができ、かつ設定の間違いによる不具合が発生しなくなる。
【００４２】
以上説明したように、実施の形態２の組み込み装置ソフトウェア試験装置によれば、通信ミドルウェア実行部は、他の装置との接続を検知したことを示す接続検知情報を受信する接続検知受信部を備えると共に、実施の形態１の宛先記憶部に代えて、アプリケーションを識別するアプリケーションＩＤと、アプリケーションが動作する装置である組み込み装置とコンピュータ端末を識別する装置ＩＤとを、一対多の関係を許容して示す宛先対応表を記憶すると共に、接続検知受信部が接続検知情報を受信した場合、他の装置から宛先対応表を取得して、他の装置と自装置の両方の宛先対応表のアプリケーションＩＤと装置ＩＤの関係を含む宛先対応表として更新し、一方、他の装置から更新された宛先対応表を受信した場合は、自装置の宛先対応表を受信した宛先対応表で更新する宛先記憶制御部を備え、かつ、実施の形態１のアプリケーション実行装置記憶部に代えて、アプリケーションＩＤと装置ＩＤとを、一対一の関係に限定して示す装置対応表を記憶すると共に、接続検知受信部が接続検知情報を受信した場合、他の装置から装置対応表を取得して、他の装置と自装置の両方の装置対応表のアプリケーションＩＤと装置ＩＤの関係を含む装置対応表として更新し、かつ、両方の装置対応表で同一のアプリケーションＩＤに対応した装置ＩＤが異なっていた場合は、予め定めた装置ＩＤとして装置対応表を更新し、一方、他の装置から更新された装置対応表を受信した場合は、自装置の装置対応表を受信した装置対応表で更新するアプリケーション実行装置記憶制御部を備えたので、組み込み装置とコンピュータ装置間で宛先や装置情報を試験者が管理することが必要なくなり、試験者の負担を軽減することができる。例えば、コンピュータ端末を接続するだけで、宛先設定等が自動的になされるため、容易に試験を開始することができ、かつ設定の間違いによる不具合の発生を防止することができる。
【００４３】
また、実施の形態２の組み込み装置ソフトウェア試験装置によれば、アプリケーション実行装置記憶制御部は、両方の装置対応表で同一のアプリケーションＩＤに対応した装置ＩＤが異なっていた場合、予め定めた装置ＩＤとして、コンピュータ端末の装置ＩＤを優先、組み込み装置の装置ＩＤを優先、コンピュータ端末と組み込み装置とを装置間接続装置で接続する場合に装置間接続装置に後から接続された装置の装置ＩＤを優先、のうち少なくとも一つ選択して装置ＩＤを決定するようにしたので、試験対象アプリケーションをどの装置上で動作させるかを容易に決定、変更することができる。
【００４４】
実施の形態３．
複数の組み込み装置をネットワーク接続し、ネットワークを介したデータ通信を管理する通信ミドルウェアを用いて相互に通信を行い、それぞれの組み込み装置上で動作するアプリケーションにより目的の処理を連携して行う組み込み装置分散システムがある。このような分散システムにも、実施の形態１で示したソフトウェア試験装置を適用することが可能である。図１１にその構成図を示す。
【００４５】
本実施の形態を構成する組み込み装置の数は、１つ以上あればよい。例えば図１１では、組み込み装置（Ａ）１００、組み込み装置（Ｂ）４００と、組み込み装置（Ｃ）５００の３つの組み込み装置から構成されている。なお、組み込み装置（Ａ）１００は、実施の形態１，２における組み込み装置１００である。組み込み装置（Ｂ）４００や組み込み装置（Ｃ）５００は、それぞれアプリケーション実行環境を持ち、共通のアプリケーションを実行できる。例えば、ＣＰＵ１０１，４０１，５０１のアーキテクチャやその他のハードウェア構成は互いに異なってもよいが、各組み込み装置は、それぞれのＣＰＵ用にビルドされたオペレーティングシステム１０２，４０２，５０２が動作しており、同じＡＰＩを備える等、共通のアプリケーション実行機能を持つ。それぞれの組み込み装置上では同じソースコードから各ＣＰＵ用にビルドされた通信ミドルウェア実行部１０８，４０３，５０３を備えている。これら通信ミドルウェア実行部１０８，４０３，５０３は、実施の形態１における通信ミドルウェア実行部１０８と同様の構成を有している。また、通信ミドルウェア実行部１０８，４０３，５０３同士は、装置間接続装置３００ｂを用いて互いに通信する機能を有している。
【００４６】
装置間接続装置３００ｂは、複数の装置が接続可能であり、また互いの通信を分配する機能を持っている。この機能は、例えば装置間接続装置３００ｂとしてＵＳＢを用いる場合はＵＳＢハブ装置を用いて実現することができる。
【００４７】
コンピュータ端末２００を、装置間接続装置３００ｂによって組み込み装置分散システムに接続することで、ソフトウェア試験装置を構成する。その後、試験者が各通信ミドルウェアの宛先設定を設定することでソフトウェア試験を開始する。
【００４８】
本実施の形態によって、コンピュータ端末２００を、複数の組み込み装置群からなる分散システムに接続することが可能になる。通信ミドルウェアの通信分配を設定することで試験対象アプリケーションへ向けた通信をコンピュータ端末２００へ、または試験対象アプリケーションから他アプリケーションへ向けた通信を組み込み装置１００，４００，５００へ送受信するように設定すれば、アプリケーション群の連携動作を保ちつつ、試験対象アプリケーションの試験をコンピュータ端末２００から操作することができる。
【００４９】
以上説明したように、実施の形態３の組み込み装置ソフトウェア試験装置によれば、組み込み装置を複数設けると共に、複数の組み込み装置とコンピュータ端末とを互いに通信可能に接続する装置間接続装置を備えたので、通信ミドルウェアの通信分配を設定することで試験対象アプリケーションへ向けた通信をコンピュータ端末へ、または試験対象アプリケーションから他アプリケーションへ向けた通信を組み込み装置へ送受信するように設定すれば、アプリケーション群の連携動作を保ちつつ、試験対象アプリケーションの試験をコンピュータ端末から操作することができる。
【００５０】
実施の形態４．
実施の形態１で示したような組み込み装置分散システムに対するソフトウェア試験装置では、使用前に宛先記憶部やアプリケーション実行装置記憶部の設定を行う必要があった。実施の形態３では、組み込み装置の数が増加したため、この設定に更に手間が掛かることになる。そこで、本実施の形態は、実施の形態２で示した接続の検知と設定同期の自動化を分散システムにおいても実現するものである。
【００５１】
本実施の形態では、実施の形態２における、同期手順においてコンピュータ端末の装置ＩＤを優先して置き換える部分は、例えば先に装置間接続装置を接続した側をスレーブ装置、後から接続した側をマスタ装置として、後から接続した装置を順次マスタ装置として認識し、マスタ装置の装置ＩＤを優先して採用する、という同期手順をとる。
【００５２】
図１２に、組み込み装置１００ａ，４００ａ，５００ａからなる組み込み装置分散システムにコンピュータ端末２００ｂを接続することで構成したソフトウェア試験装置に、自動同期機能を付加した構成図を示す。
【００５３】
本実施の形態を実現するには、次々と接続される装置の接続を検出する必要がある。図１２に示す構成を実際に作成する場合、例えば、最初に組み込み装置（Ｂ）４００ａに装置間接続装置３００ｃを接続し、次いで組み込み装置（Ｃ）５００ｂ、組み込み装置（Ａ）１００ｂを接続し、最後にコンピュータ端末２００ｂを接続する。従って、実施の形態２と異なり、装置間接続装置３００ｃに対してすでに電源供給がある状態で他装置（組み込み装置（Ｃ）５００ｂ、組み込み装置１００ｂやコンピュータ端末２００ｂ）の接続を検出する機能が必要である。このため装置間接続装置３００ｃに接続検知部３０４を設置する。
【００５４】
具体的に接続検知部３０４の機能は、例えば図１３に示すような回路を用いれば実現できる。他装置を接続するコネクタと、装置間接続装置３００ｃの電源ｃ１の間の電源線には、ダイオードｃ２を用意することで、装置間接続装置３００ｃ側の電源ｃ１と電気的に分離しておく。これにより他装置の接続前には電源ターミナルｃ３と接地ターミナルｃ４の間はオープンになるが、その間の電圧を、電圧検出装置ｃ５を用いてモニタしておく。その後他装置が接続されると、モニタ電圧が上昇するので、これを制御部３０１に通知すればよい。モニタ電圧上昇が起きた後、制御部３０１のマイクロコンピュータによって、新たに接続した装置をマスタ装置として記憶する。これにより、後から接続した装置を順にマスタ装置として認識することができる。
【００５５】
また、実施の形態４では通信ミドルウェア実行部１０８ｂ，２０４ｂは、それぞれ接続装置記憶制御部１１６，２１２を備えている。これらの接続装置記憶制御部１１６，２１２は、組み込み装置分散システムに属する全ての装置の装置ＩＤを保持するものであり、
接続検知受信部１１５，２１１からの同期要求を受けた場合、装置間接続装置３００ｃに接続されている全ての装置の接続装置記憶制御部１１６，２１２の同期を行うよう構成されている。その他の組み込み装置（Ａ）１００ｂとコンピュータ端末２００ｂの構成は実施の形態２における組み込み装置１００ａとコンピュータ端末２００ａと同様であるため、ここでの説明は省略する。
【００５６】
図１４に、本実施の形態における同期手順について示す。最初に組み込み装置（Ｂ）４００と組み込み装置（Ｃ）５００が接続されているところへ、組み込み装置１００が接続され、マスタ装置となっている状態であったとする。そこへ、コンピュータ端末２００を接続すると、装置間接続装置３００ｃ内の接続検知部３０４により、上記した方法で接続を検知する（ステップＳＴ１４００）。接続検知部３０４は制御部３０１へ通知する。制御部３０１は、現時点でマスタ装置として記憶している組み込み装置１００ｂに対して、新たに接続があった旨通知する（ステップＳＴ１４０１）。通知は、組み込み装置１００ｂの通信ミドルウェア実行部１０８内部に設置する接続検知受信部１１５によって受信される（ステップＳＴ１４０２）。なお、コンピュータ端末２００ｂの通信ミドルウェア実行部２０４にも接続検知受信部２１１は存在しているが、今回の接続に伴う同期処理には用いられない。通知受信後、接続検知受信部１１５は接続装置記憶制御部１１６に通知を転送する。
【００５７】
通知を受けた接続装置記憶制御部１１６は、新たに接続されたコンピュータ端末２００ｂの通信ミドルウェア実行部２０４内部の接続装置記憶制御部２１２へ自身が保持する装置ＩＤリストを送信する（ステップＳＴ１４０３）。装置間接続装置３００ｃには、装置ＩＤリストを送信するための通信経路３０５を準備しておく。
【００５８】
リストを受信した接続装置記憶制御部２１２は、受信リストに対して自装置のＩＤを追加した上で自身の情報を書き換える（ステップＳＴ１４０４）。その後、接続装置記憶制御部２１２に存在する装置ＩＤの装置に対して、接続装置記憶制御部２１２の同期（ステップＳＴ１４０５）、宛先記憶制御部２０５ａおよびアプリケーション実行装置記憶制御部２０７ａの同期（ステップＳＴ１４０６）を行い、これを接続装置記憶制御部２１２に存在する装置ＩＤの分だけ繰り返す（ステップＳＴ１４０７）ことで、分散システムを構成する全ての装置と同期処理を行う。
【００５９】
組み込み装置１００ｂや組み込み装置４００ｂ，５００ｂの接続装置記憶制御部１１６に対する同期（ステップＳＴ１４０５ａ，ＳＴ１４０５ｂ）は、対象を上書きする方法で行われる。コンピュータ端末２００ｂにおける宛先記憶制御部２０５ａおよびアプリケーション実行装置記憶制御部２０７ａと、各組み込み装置１００ｂ，４００ｂ，５００ｂ内の宛先記憶制御部１０９ａおよびアプリケーション実行装置記憶制御部１１１ａの同期（ステップＳＴ１４０６ａ，ＳＴ１４０６ｂ）については、実施の形態２に記述した方法で行われる。ただし、本実施の形態では、コンピュータ端末２００ｂ側の宛先記憶制御部２０５ａとアプリケーション実行装置記憶制御部２０７ａで宛先対応表と装置対応表を更新し、この更新した宛先対応表と装置対応表を組み込み装置１００ｂ，４００ｂ，５００ｂ側に送信して同期を行う。最後に、接続装置記憶制御部２１２は、装置間接続装置３００ｃの制御部３０１に対して、コンピュータ端末２００をマスタ装置として記憶するよう通知を行う（ステップＳＴ１４０８）。通知を受信した装置間接続装置３００ｃの制御部３０１はマスタ装置ＩＤを更新し（ステップＳＴ１４０９）、同期処理を完了する。
【００６０】
本実施の形態によって、実施の形態３に記述したような組み込み装置分散システムに対して、新たに組み込み装置１００ｂ，４００ｂ，５００ｂ、またはコンピュータ端末２００ｂが接続されたことを検知し、その装置のアプリケーション実行装置記憶制御部１１１ａ，２０７ａを優先し、他の装置群と同期を取る機能が実現可能になる。これにより、実施の形態３において必要であった、分散システムを構成する装置間で宛先や装置情報を試験者が管理することが必要なくなる。例えば、コンピュータ端末２００ｂを接続するだけで、宛先設定等が全装置の通信ミドルウェアに対して自動的になされるため、容易に試験を開始することができる。また、複数の装置に対して設定を行うために特に発生しやすかった設定間違いによる不具合の発生を防止することができる。
【００６１】
なお、上記例では、後から接続した装置を順次マスタ装置として認識し、マスタ装置の装置ＩＤを優先して採用する、という同期手順としたが、マスタ装置の決定方法等、これ以外の手順を用いて同期を行うようにしてもよい。
【００６２】
以上説明したように、実施の形態４の組み込み装置ソフトウェア試験装置によれば、組み込み装置を複数設けると共に、複数の組み込み装置とコンピュータ端末とを互いに通信可能に接続する装置間接続装置を備え、複数の組み込み装置とコンピュータ端末のうち、いずれか一つの装置をマスタ装置とし、マスタ装置の宛先記憶制御部およびアプリケーション実行装置記憶制御部は、接続検知受信部が接続検知情報を受信した場合、マスタ装置以外の装置からの宛先対応表および装置対応表と、自装置がそれまで保持していた宛先対応表および装置対応表との両方に宛先アプリケーションＩＤが存在するかを判定し、両方に存在した場合は、両方の装置の情報を宛先アプリケーションＩＤに結びつけて自装置の宛先対応表および装置対応表を更新すると共に、更新した宛先対応表および装置対応表をマスタ装置以外の装置に送信し、マスタ装置以外の装置の宛先記憶制御部とアプリケーション実行装置記憶制御部は、マスタ装置から受信した宛先対応表および装置対応表で自装置の宛先対応表および装置対応表を更新するようにしたので、分散システムを構成する装置間で宛先や装置情報を試験者が管理することが必要なくなり、試験者の負担を軽減することができる。例えば、コンピュータ端末を接続するだけで、宛先設定等が全装置の通信ミドルウェアに対して自動的になされるため、容易に試験を開始することができる。また、複数の装置に対して設定を行うために特に発生しやすかった設定間違いによる不具合の発生を防止することができる。
【００６３】
また、実施の形態４の組み込み装置ソフトウェア試験装置によれば、複数の組み込み装置とコンピュータ端末とを互いに通信可能に接続する装置間接続装置を備え、マスタ装置は、装置間接続装置に最後に接続された装置としたので、簡単な構成で確実にマスタ装置を決定することができる。
【００６４】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００６５】
１００，１００ａ，１００ｂ  組み込み装置、１０１，２０１，４０１，５０１  ＣＰＵ、１０２，２０２，４０２，５０２  オペレーティングシステム、１０３，２０３  アプリケーションＡ実行部、１０４  アプリケーションＢ実行部、１０５  アプリケーションＣ実行部、１０６  ハードウェア、１０７  デバイスドライバ、１０８，１０８ａ，１０８ｂ，２０４，２０４ａ，２０４ｂ  通信ミドルウェア実行部、１０９，２０５  宛先記憶部、１０９ａ，２０５ａ  宛先記憶制御部、１１０，２０６  宛先判定部、１１１，２０７  アプリケーション実行装置記憶部、１１１ａ，２０７ａ  アプリケーション実行装置記憶制御部、１１２，２０８  通信遮断部、１１３，２０９  データ送信部、１１４，２１０  データ受信部、１１５，２１１  接続検知受信部、１１６，２１２  接続装置記憶制御部、２００，２００ａ，２００ｂ  コンピュータ端末、３００，３００ａ，３００ｂ，３００ｃ  装置間接続装置、３０１  制御部、３０２，３０３，３０５  通信経路、３０４  接続検知部。４００  組み込み装置（Ｂ）、５００  組み込み装置（Ｃ）。
【図１】
2014211807.tif 000003
【図２】
2014211807.tif 000004
【図３】
2014211807.tif 000005
【図４】
2014211807.tif 000006
【図５】
2014211807.tif 000007
【図６】
2014211807.tif 000008
【図７】
2014211807.tif 000009
【図８】
2014211807.tif 000010
【図９】
2014211807.tif 000011
【図１０】
2014211807.tif 000012
【図１１】
2014211807.tif 000013
【図１２】
2014211807.tif 000014
【図１３】
2014211807.tif 000015
【図１４】
2014211807.tif 000016