JP6025763B2 - 組込み機器ソフトウェア開発試験装置 - Google Patents
組込み機器ソフトウェア開発試験装置 Download PDFInfo
- Publication number
- JP6025763B2 JP6025763B2 JP2014020373A JP2014020373A JP6025763B2 JP 6025763 B2 JP6025763 B2 JP 6025763B2 JP 2014020373 A JP2014020373 A JP 2014020373A JP 2014020373 A JP2014020373 A JP 2014020373A JP 6025763 B2 JP6025763 B2 JP 6025763B2
- Authority
- JP
- Japan
- Prior art keywords
- destination
- communication
- application
- request
- execution unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
また、このような組込み機器には複数の機能を擁するものがあり、このような場合、開発の分担やメンテナンス性の向上を実現するため、機能ごとに複数のアプリケーションに分割して構成する体をなすことがある。ある所定の動作を実行する際には、アプリケーション間のデータ通信を管理する通信ミドルウェアを用いて、関係するアプリケーション群が相互に通信を行うことでその動作が実行される。
さらに、上述した複数アプリケーションそれぞれに担当開発者が割り当てられていることがある。この場合、各開発者が用いる開発用コンピュータ端末を単一の組込み機器実機に接続し、組込み機器を共有しながら開発を行うことが行われる。
すなわち、複数の開発用コンピュータ端末を組込み機器に接続し、あるコンピュータ端末上であるアプリケーションを、また別のコンピュータ端末上で別のアプリケーションを、さらに組込み機器上でその他のアプリケーションを動作させ、これらアプリケーション群の相互通信を適切に分配するよう、例えば特許文献1に記載されている技術を用いて通信ミドルウェアの通信宛先設定を行うことで、アプリケーション群の連携動作を保ちつつ、各開発者は各自のコンピュータ端末上から開発、試験操作を実行することができる。
同期を行わない場合、例えば次のような不具合が発生する。組込み機器実機上で動作するアプリケーションA(以降AEと呼称する)は、開発者用PC1番上で動作するアプリケーションB(以降BP1と呼称する)と互いに通信を行うよう、通信ミドルウェアの通信宛先が設定されていたとする。ある時点で、AEはBP1へ返信データを要求する通信を送信した。当該通信はBP1へ到来し、BP1によって処理が行われ返信データが準備される。このとき、通信ミドルウェアの宛先設定を操作し、AEは開発者用PC2番上で動作するアプリケーションB(以降BP2と呼称する)と互いに通信を行うように変更したとする。その後BP1は返信データを送信しようとするが、すでに通信宛先設定が変更されており、BP1はAEと通信できず、返信データは送信できない。一方で、BP2は現時点でAEからの要求通信を受信しておらず、何も動作しない。従ってAEは返信を期待する通信を送信したにもかかわらず返信を受信しないことになり、結局システム全体として不整合を発生してしまう。
結局、上記二つの方法のどちらも、組込み機器実機を複数の開発者で共有するという目的を果たすには適してないという問題があった。
図1は、この発明の実施の形態1による組込み機器ソフトウェア開発試験装置を示す構成図である。
図示のように、組込み機器ソフトウェア開発試験装置は、組込み機器100とコンピュータ端末(1)200、コンピュータ端末(2)300と装置間接続装置400とを備えている。
また、組込み機器100には、組込み機器が提供する各機能を開発者または製品使用者が操作するための入力装置114を備えている。
また、組込み機器100に装置間接続装置を介して接続されるコンピュータ端末は、3つ以上であってもよい。
図2に示すように、通信ミドルウェア実行部105は、アプリケーション実行装置記憶部106、宛先変更保留実行部107、宛先判定部108、通信保留実行部109、データ送信部110、通信/変更保留判断部111、通信/変更要求保存部112、装置外発信データ受信部113を備えている。また、コンピュータ端末(1)200,コンピュータ端末(2)300に備えられている通信ミドルウェア実行部205,305にも同等の機能を持つ処理部が備えられているものとする。図3に示すように、コンピュータ端末(1)200の通信ミドルウェア実行部205内部にも通信ミドルウェア実行部105と同一の処理部が備えられている(アプリケーション実行装置記憶部206〜装置外発信データ受信部213)。また、コンピュータ端末(2)300の通信ミドルウェア実行部305内部にも各処理部が備えられているが、前述の通り全く同一の処理部を備えるため、図1にて通信ミドルウェア実行部305のみを示し、内部構成に関する記載を省略する。
宛先判定部108は、いずれかのアプリケーション実行部からデータ通信要求が発生した場合、通信保留実行部109を経由してデータ通信要求が入力される。この入力されたデータ通信要求から送信先アプリケーションの情報を取得し、アプリケーション実行装置記憶部106を参照して、宛先装置を特定する機能を有している。
通信ミドルウェア実行部105は、データ通信要求の到来に従って次のような手順で通信処理を行う。まず、アプリケーションA実行部103やアプリケーションB実行部104からのデータ通信要求は通信保留実行部109へと入力される。データ通信要求は、図5(a)に示すような構造である。この構造は、データ通信要求それぞれを特定するID番号と、宛先アプリケーションを表すID番号と、送信元アプリケーションを表すID番号と、宛先アプリケーションが動作する装置を表す宛先装置ID番号と、この通信における返信の必要の有無を示す返信フラグと、通信要求が、過去の通信に対する返信である場合に、その通信におけるデータ通信要求IDを保持する返信先要求IDと、通信要求が発生した段階でアプリケーション実行装置記憶部106に記憶されている宛先対応表における宛先設定状態ID番号とをそれぞれ格納する領域が含まれる。ヘッダ部分の後には、本体領域が配置される。本体領域に、通信データであるデータ本体が格納される。ここで、通信保留実行部109にデータ通信要求が到来した段階では、宛先装置IDと宛先設定状態IDを格納する領域については空のままである。また、返信先要求IDについては、このデータ通信要求が過去の通信の返信として発行された場合にのみ値が格納される。
また、通信保留実行部109は、例えばオペレーティングシステム102のマルチスレッド機能などを使用することで、図6(a)の処理と並行して図6(b)に示すフローチャートに従って、通信/変更保留判断部111からの回答により処理を行う。まず、通信/変更保留判断部111からの返答を受信するまで待機する(ステップST603、ステップST603a)。ここで、通信/変更保留判断部111からの返答にはステップST601で転送したデータ通信要求のヘッダ部分が含まれるものとする。次に、ステップST603aにおいて回答を受信した場合は、ステップST602において確保したメモリ領域を探索し、この返答が含むヘッダと同一のヘッダを持つデータ通信要求を取得すると共に、このデータ通信要求をメモリ領域から削除する(ステップST604)。次に回答として受信したデータ通信要求を宛先判定部108に送信する(ステップST605)。この処理を繰り返す。
1.宛先設定Aの状態で装置Yが通信1を新たに発信した。
2.宛先変更要求Bが出された。
3.通信1が装置Xに到着。このとき通信1は宛先設定Aを使った宛先解決が既になされているため、直ちにステップST908に移行する。
一方、ステップST905において、装置IDがセット済みでない(No)の場合とは、
1.宛先変更要求Cが出された。
2.装置Xが通信要求3を新たに発行した。このとき通信要求3は宛先設定Cを使って宛先解決されるべきなので、ステップST906で保存しておく必要がある。
一方で、コンピュータ端末(1)200またはコンピュータ端末(2)300から組込み機器100への経路は、発信、宛先装置が入れ替わることを除いてはまったく同一である。これは、コンピュータ端末(1)200またはコンピュータ端末(2)300に備えられた通信ミドルウェア実行部205または305とその内部の各処理部は、組込み機器100の通信ミドルウェア実行部105とその内部の各処理部と同一のソースコードからビルドされ、従って同一の機能を持っていることから実現できる。
実施の形態1では、アプリケーション実行装置記憶部106,206の設定は、組込み機器100とコンピュータ端末(1)200(またはコンピュータ端末(2)300)を接続した後、手動で行う必要があった。実施の形態2は、あるアプリケーションをある装置上で実行するように予め決めた設定情報を用意し、装置の接続を自動的に検知し、接続が検知された場合には、その設定情報を用いてアプリケーション実行装置記憶部106,206を自動的に設定する機能を実現する。
実施の形態2では、図13および図14に示すように、通信ミドルウェア実行部105a,205aにおいて、実施の形態1におけるアプリケーション実行装置記憶部106,206に代えてアプリケーション実行装置記憶部106a,206aを、また、宛先変更保留実行部107,207に代えて宛先変更保留実行部107a,207aを、また、宛先判定部108、208に代えて宛先判定部108a,208aを、またデータ送信部110、210に代えてデータ送信部110a,210aを備えている。なお、コンピュータ端末(2)300aの通信ミドルウェア実行部305a内部にも、同様の機能をもつ処理部が備えられているが、これらの記載は省略している。
自動設定実施部115は、接続検知が通知されることをきっかけとして通信ミドルウェア105aに対して宛先変更要求を発行する処理部である。
通信ミドルウェア実行部105aにおけるアプリケーション実行装置記憶部106aは、実施の形態1におけるアプリケーション実行装置記憶部106の機能に加えて、データ通信要求を発行して宛先判定部108aに伝達する機能を有する。
宛先変更保留実行部107aは、実施の形態1における宛先変更保留実行部107の機能に加えて、自動設定実施部115による自動設定が実施されたことをアプリケーション実行装置記憶部106aに伝達する機能と、データ送信部110aから送信されるデータ通信を受信し、当該データ通信から新たな宛先変更要求を生成し、通信/変更保留判断部111へ転送する機能を有する。
データ送信部110aは、実施の形態1におけるデータ送信部110の機能に加えて、入力されたデータ通信要求の宛先アプリケーションID値が、宛先無しを表す“None”である場合、当該データ通信要求を宛先変更保留実行部107aへ送信する機能を有する。
自動設定情報記憶部116は、組込み機器100aが装置間接続装置400に接続した後に、新たな宛先として自動設定されるべき宛先設定情報を保持し、自動設定実施部115へ通知する機能を持つ処理部である。
接続検知部117は、組込み機器100aが装置間接続装置400に接続したことを検知し、自動設定実施部115へ通知する処理部である。
その他の構成については、図1に示した構成と同様であるため、対応する部分に同一符号を付してその説明を省略する。
装置間接続装置400により互いに接続する以前の組込み機器100a、コンピュータ端末(1)200a、コンピュータ端末(2)300aが備えるそれぞれのアプリケーション実行装置記憶部106a,206aにおいて、全ての宛先装置IDは自分自身を指す値を保持している。例えば、組込み機器100aにおけるアプリケーション実行装置記憶部106aの情報は、図15(a)に示すように、全ての宛先装置IDは組込み機器100aを指す値となっている。また、コンピュータ端末(1)200aについても同様に自身を指す値となっている。なお、図15において、左側が組込み機器100aを、右側がコンピュータ端末(1)200aの状態を示しているが、コンピュータ端末(2)300aについてはその図示を省略している。
次に、アプリケーション実行装置記憶部106aは、新たにデータ通信要求を作成する(ステップST1608)。このとき、図17に示すように、その宛先アプリケーションID値として”None”を、また送信元アプリケーションID値として宛先無しを表す”None”を、また宛先装置ID値として“ALL”を、また返信フラグ値として“無し”を、また送信データ本体として当該宛先変更要求における宛先データを、アプリケーションIDと装置IDの対データの配列として表現してセットする。次に、宛先判定部108aに出力する(ステップST1609)。
実施の形態2では、組込み機器ソフトウェア開発試験装置を構成していた装置を接続解除する場合には、アプリケーション実行装置記憶部106a,206aの設定を手動で行い、無効なデータ通信要求が発生しないように管理する必要があった。特に、装置間接続装置として無線接続機器のような、周囲の状況によって意図しない突然の接続解除が発生するような装置を利用する場合、システムの動作を正常にするためにアプリケーション実行装置記憶部の設定を切り替える必要がある。そこで、実施の形態3では、装置の接続状況を監視し、接続解除が発生した場合にアプリケーション実行装置記憶部の設定変更を行い、システムの動作を安定させることを実現するものである。
実施の形態3では、実施の形態2における自動設定実施部115,215,315に代えて自動設定実施部115a,215a,315aを、また、接続検知部117,217,317に代えて接続検知部117a,217a,317aを備える。加えて、デフォルト設定情報記憶部119,219,319が追加されている。
自動設定実施部115aは、実施の形態2における自動設定実施部115の機能に加えて、接続解除が通知されることをきっかけとして通信ミドルウェア実行部105aに対して宛先変更要求を発行する機能を有する。
接続検知部117aは、実施の形態2における接続検知部117の機能に加えて、組込み機器100bが装置間接続装置400から接続解除したことを検知し、自動設定実施部115aへ通知する機能を有する。
デフォルト設定情報記憶部119は、組込み機器100bが装置間接続装置400から接続解除した後に、新たな宛先として自動設定されるべき宛先設定情報を保持し、自動設定実施部115aへ通知する機能を持つ処理部である。
その他の構成については、図12〜図14に示した実施の形態2の構成と同様であるため、対応する部分に同一符号を付してその説明を省略する。
デフォルト設定情報記憶部119,219,319には、各装置が接続解除されたときに宛先設定として有効になる宛先設定を予め書き込んでおく。例えば、組込み機器100bが装置間接続装置400から接続解除された場合、組込み機器100b単独での動作を可能とするために、アプリケーションA、アプリケーションBが共に組込み機器100bで動作するように設定しておく場合、図22に示すような情報を組込み機器100bのデフォルト設定情報記憶部119に書き込んでおく。宛先設定状態IDは、他と重複しない値、例えば0に設定しておく。
まず、接続解除通知を受けた自動設定実施部115aは、接続検知部117aが接続解除を検出すると(ステップST2300)、自動設定実施部115aに通知する(ステップST2301)。通知を受けた自動設定実施部115aは、デフォルト設定情報記憶部119からデフォルト設定情報を取得する(ステップST2302)。次に、取得したデフォルト設定情報の内容から宛先変更要求を作成する(ステップST2303)。次に当該宛先変更要求を宛先変更保留実行部107aへと通知して終了する(ステップST2304)。
本実施の形態によって、組込み機器100bまたはコンピュータ端末(1),(2)200b,300bの接続解除を自動的に検知し、接続解除が検知された場合には、予め決めておいた宛先設定となるようアプリケーション実行装置記憶部106a,206a,306aを自動設定することが可能となる。
クアップ基板。
Claims (5)
- アプリケーション実行部が行うアプリケーション間のデータ通信を通信ミドルウェア実行部が管理する組込み機器と、当該組込み機器の前記通信ミドルウェア実行部及び前記アプリケーション実行部と同等の機能を持つソフトウェアが稼動する一つまたは複数のコンピュータ端末とを通信接続してなる組込み機器ソフトウェア開発試験装置において、
前記通信ミドルウェア実行部は、
アプリケーションを識別するアプリケーションIDと、アプリケーションが動作する前記組込み機器と前記コンピュータ端末を識別する装置IDとを示す宛先対応表を保持するアプリケーション実行位置記憶部と、
アプリケーション間通信が発生した場合、その通信データの送信先アプリケーションに基づいて前記アプリケーション実行位置記憶部を参照して当該送信先アプリケーションに対応した装置IDを判定し、当該装置IDの装置を前記通信データの宛先装置とする宛先判定部と、
前記宛先対応表の宛先変更要求があった場合、当該宛先変更される装置を宛先とするアプリケーション間通信が行われているか否かを判定し、行われている場合は、当該宛先変更要求を保留とし、行われていない場合に前記宛先変更要求を許可する通信/変更保留判断部とを備えたことを特徴とする組込み機器ソフトウェア開発試験装置。 - 通信/変更保留判断部は、前記宛先変更要求の保留後、当該宛先変更要求によって宛先変更される装置を宛先とするアプリケーション間通信が終了した場合に、前記宛先変更要求を許可することを特徴とする請求項1記載の組込み機器ソフトウェア開発試験装置。
- 通信/変更保留判断部は、前記アプリケーション間通信と前記宛先変更要求とのそれぞれについて、要求発生順または予め設定した優先度順に実行の許可を行うことを特徴とする請求項1または請求項2記載の組込み機器ソフトウェア開発試験装置。
- 自身が他装置と通信接続された場合に前記宛先対応表における新たな宛先として設定する内容を示す宛先設定情報を保持する自動設定情報記憶部と、
自身が前記他装置と通信接続された場合に、前記宛先設定情報に基づいて前記宛先対応表の宛先変更要求を送出する自動設定実施部と、
前記自動設定実施部から送出された宛先変更要求を含む通信データを、前記他装置への送信データとして生成する宛先判定部と、
他装置から受け取った宛先変更要求に基づいて自身の宛先対応表の宛先を変更する宛先変更保留実行部とを備えたことを特徴とする請求項1から請求項3のうちのいずれか1項記載の組込み機器ソフトウェア開発試験装置。 - 自身が他装置との通信接続を解除した場合に前記宛先対応表における新たな宛先として設定される内容を示すデフォルト宛先設定情報を保持するデフォルト設定情報記憶部を備え、
前記自動設定実施部は、自身が他装置との通信接続を解除した場合に、前記デフォルト宛先設定情報に基づいて前記宛先対応表の宛先変更要求を送出し、
前記宛先変更保留実行部は、前記自動設定実施部から送出された宛先変更要求に基づいて自身の宛先対応表の宛先を変更することを特徴とする請求項4記載の組込み機器ソフトウェア開発試験装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014020373A JP6025763B2 (ja) | 2014-02-05 | 2014-02-05 | 組込み機器ソフトウェア開発試験装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014020373A JP6025763B2 (ja) | 2014-02-05 | 2014-02-05 | 組込み機器ソフトウェア開発試験装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015148879A JP2015148879A (ja) | 2015-08-20 |
JP6025763B2 true JP6025763B2 (ja) | 2016-11-16 |
Family
ID=53892208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014020373A Expired - Fee Related JP6025763B2 (ja) | 2014-02-05 | 2014-02-05 | 組込み機器ソフトウェア開発試験装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6025763B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6722528B2 (ja) * | 2016-06-30 | 2020-07-15 | クラリオン株式会社 | ソフトウェア開発支援方法及びシステム |
CN111016978B (zh) * | 2019-12-26 | 2021-11-16 | 天津津航计算技术研究所 | 一种基于GoogleTest测试框架实现区域控制器设备测试的方法 |
CN114884855B (zh) * | 2022-07-11 | 2022-12-16 | 简单汇信息科技(广州)有限公司 | 一种异步通信下的路由方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08272644A (ja) * | 1995-04-03 | 1996-10-18 | Toshiba Corp | 分散処理装置で実行されるプログラムのデバッグ方法 |
-
2014
- 2014-02-05 JP JP2014020373A patent/JP6025763B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2015148879A (ja) | 2015-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7008103B2 (ja) | ロボットシステムのノードを同期させるためのシステム | |
US20060159115A1 (en) | Method of controlling information processing system, information processing system, direct memory access control device and program | |
KR20150067332A (ko) | 코어 간 통신 장치 및 방법 | |
US9197503B2 (en) | Enhanced remote presence | |
WO2015090245A1 (zh) | 文件传输方法、装置及分布式集群文件系统 | |
JP6025763B2 (ja) | 組込み機器ソフトウェア開発試験装置 | |
CN103731328B (zh) | 基于Linux共享内存实现家庭网关数据通信的系统及方法 | |
CN104854845B (zh) | 使用高效的原子操作的方法和装置 | |
WO2015098589A1 (ja) | クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びコンピュータ読み取り可能な記録媒体 | |
JP2008217265A (ja) | プールi/oデバイス動作確認方法、及び計算機システム | |
WO2013097098A1 (zh) | 数据处理方法、图形处理器gpu及第一节点设备 | |
JP5707409B2 (ja) | 計算機 | |
WO2016171739A1 (en) | Multi-processor computing systems | |
CN114095343A (zh) | 基于双活系统的容灾方法、装置、设备及存储介质 | |
JP2007226822A (ja) | 情報処理装置の割り当て方法、及びこの方法を実行する管理サーバ | |
JP2013037693A (ja) | データ処理システムの同期化 | |
JP6036690B2 (ja) | 分散実行システム及び分散プログラム実行方法 | |
WO2015067052A1 (zh) | 测试命令发送方法、装置及系统 | |
JP5488693B2 (ja) | マルチクラスタシステム | |
US20140372547A1 (en) | Method and Device for Implementing end-to-end Hardware Message Passing | |
JP5609272B2 (ja) | サーバ装置、サーバシステム及びサーバ装置の制御方法 | |
US20150347239A1 (en) | Global backup lock manager | |
WO2011070607A1 (ja) | サーバシステムの制御方法及びサーバの制御プログラム | |
JP2005327015A (ja) | データ二重化方法とプログラム | |
JP2015026923A (ja) | 通信システム及び通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151027 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160829 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160913 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161011 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6025763 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |