JP2006172128A - プログラム連携システムの処理方法および情報処理装置 - Google Patents

プログラム連携システムの処理方法および情報処理装置 Download PDF

Info

Publication number
JP2006172128A
JP2006172128A JP2004363555A JP2004363555A JP2006172128A JP 2006172128 A JP2006172128 A JP 2006172128A JP 2004363555 A JP2004363555 A JP 2004363555A JP 2004363555 A JP2004363555 A JP 2004363555A JP 2006172128 A JP2006172128 A JP 2006172128A
Authority
JP
Japan
Prior art keywords
execution
time
procedure
application
connection module
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.)
Pending
Application number
JP2004363555A
Other languages
English (en)
Inventor
Tatsuto Tachibana
達人 橘
Kaoru Sato
馨 佐藤
Mitsuhiro Ito
充浩 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004363555A priority Critical patent/JP2006172128A/ja
Publication of JP2006172128A publication Critical patent/JP2006172128A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 仮想時間上の1単位時間毎にシステム全体の処理を進めるステップ実行を実現できるプログラム連携システムの処理方法を提供する。
【解決手段】 プログラム連携システムは、複数のアプリケーションとプロセス接続モジュールとを含み、プロセス接続モジュールは、特定のアプリケーションから動作中情報を受けている間、周辺のアプリケーションとの同期実行処理を継続させる手順と、特定のアプリケーションからステップ終了情報を受けている間、周辺のアプリケーションの動作を特定のアプリケーションのステップ終了時間で停止させる指示を行う手順とを有し、特定のアプリケーションは、ステップ実行の指示に従って、予め設定されたステップ実行単位時間だけステップ実行処理を実行した後、一時停止する手順と、プロセス接続モジュールにステップ終了情報を通知する手順とを有する。
【選択図】 図2

Description

本発明は、コンピュータ上で独立プロセスとして動作する複数のアプリケーションを1つのシステムとして同期・実行させるプログラム連携システムの処理方法および情報処理装置に関する。
従来、プログラム連携システムには、独立プロセスとして動作する複数のアプリケーションソフトウェア(単にアプリケーションという)を中間インタフェース部を介して連携動作させるものが知られている(特許文献1参照)。この中間インタフェース部は、同期処理部を有し、仮想時間の概念を持つ複数のプログラムをシステム全体の1つの仮想時間に同期・実行させる。
しかし、このような従来のプログラム連携システムには、オペレータの操作に応じてシステム全体を微小単位で実行させる(以下、ステップ実行という)機能である、仮想時間上の一定時間毎にシステム処理を進行させる手段が備わっていない。すなわち、従来のプログラム連携システムは、システムとしてステップ実行手段を有していないか、あるいはシステムを構成するプログラムのうち1つのイベント単位でシステム全体をステップ実行させる手段のみを有しているかのいずれかであった。
このイベント単位でシステム全体をステップ実行させる例として、システム構成にソフトウェアデバッガを加え、デバッグ対象のブログラムの1命令単位でシステム全体を動作させる、あるいはシステム構成にシーケンシャルなデータ変化を発生させるプログラムを加え、データ変化毎にシステム全体を動作させる場合が挙げられる。
ここで、複数のアプリケーションプログラムを連携させて、1つのシステムとして動作させる場合、システム全体を仮想時間上の微小時間毎にステップ実行させる機能を持たせることにより、利便性が高まることが期待される。例えば、機器制御シミュレーションを行う場合、装置を制御するCPUのシミュレータ、機構モデルのシミュレータ、その他、各種装置構成のシミュレータやシミュレーションを支援するシステムを受け持つアプリケーションソフトウェア(以下、まとめてシミュレータアプリケーションという)等によって、システムは構成されるが、機構モデルの微小な動作を詳細にモニタしながら、システムを構成する他の機能を同期して動作させることが必要な場合がある。つまり、システム検証が必要な場合がある。
特開平11−327956号公報
しかしながら、上記従来のプログラム連携システムでは、ステップ実行手段が無いので、前述したシステム検証を行うことができなかった。また、一部のプログラムのイベント単位におけるステップ実行機能しか備わっていないので、イベント間でシステムとしての微小な動作を検証することができなかった。
そこで、本発明は、仮想時間上の1単位時間毎にシステム全体の処理を進めるステップ実行を実現できるプログラム連携システムの処理方法および情報処理装置を提供することを目的とする。
上記目的を達成するために、本発明のプログラム連携システムの処理方法は、コンピュータ上でそれぞれ独立のプロセスとして動作し、仮想時間の経過に対応した処理を行う複数のアプリケーションと、前記複数のアプリケーションを接続して1つのシステムとして動作させるプロセス接続モジュールとを含み、前記各アプリケーション固有の仮想時間をシステム全体の仮想時間に同期させるプログラム連携システムの処理方法において、前記プロセス接続モジュールは、特定のアプリケーションから動作中情報を受けている間、周辺のアプリケーションとの同期実行処理を継続させる手順と、前記特定のアプリケーションからステップ終了情報を受けている間、前記周辺のアプリケーションの動作を前記特定のアプリケーションのステップ終了時間で停止させる指示を行う手順とを有し、前記特定のアプリケーションは、ユーザインタフェースを介して受け付けたステップ実行の指示に従って、予め設定されたステップ実行単位時間だけステップ実行処理を実行した後、一時停止する手順と、前記プロセス接続モジュールに前記ステップ終了情報を通知する手順とを有することを特徴とする。
本発明のプログラム連携システムの処理方法は、コンピュータ上でそれぞれ独立のプロセスとして動作し、仮想時間の経過に対応した処理を行う複数のアプリケーションと、ユーザインタフェースを有し、前記複数のアプリケーションを接続して1つのシステムとして動作させるプロセス接続モジュールとを含み、前記各アプリケーション固有の仮想時間をシステム全体の仮想時間に同期させるプログラム連携システムの処理方法において、前記プロセス接続モジュールは、前記ユーザインタフェースを介して受け付けた実行指示によりシステム全体の同時実行を開始する手順と、前記ユーザインタフェースを介して受け付けた一時停止指示によりシステム全体を一時停止する手順と、前記ユーザインタフェースを介して受け付けたステップ実行指示により予め設定されたステップ実行単位時間だけシステム全体の同期実行を行う手順とを有することを特徴とする。
本発明1に係るプログラム連携システムの処理方法によれば、プロセス接続モジュールは、特定のアプリケーションから動作中情報を受けている間、周辺のアプリケーションとの同期実行処理を継続させ、特定のアプリケーションからステップ終了情報を受けている間、周辺のアプリケーションの動作を特定のアプリケーションのステップ終了時間で停止させる指示を行い、一方、特定のアプリケーションは、ユーザインタフェースを介して受け付けたステップ実行の指示に従って、予め設定されたステップ実行単位時間だけステップ実行処理を実行した後、一時停止し、プロセス接続モジュールにステップ終了情報を通知するので、仮想時間上の1単位時間毎にシステム全体の処理を進めるステップ実行を実現できる。特に、システムの一部として構成されるアプリケーションからの情報に従って、ステップ実行を可能にする。これにより、システム検証を容易に行うことができる。
また、プロセス接続モジュールは、ユーザインタフェースを介して受け付けた実行指示によりシステム全体の同時実行を開始し、ユーザインタフェースを介して受け付けた一時停止指示によりシステム全体を一時停止し、ユーザインタフェースを介して受け付けたステップ実行指示により予め設定されたステップ実行単位時間だけシステム全体の同期実行を行うので、システム全体を連携・動作させる中継機能としてのプロセス接続モジュールによって、仮想時間上の1単位時間毎にシステム全体の処理を進めるステップ実行を実現できる。
また、アプリケーションの最小実行単位が異なる場合、小さな単位で実行可能なアプリケーションのみを微小単位でステップ実行させ、システム全体の同期としては、最小実行単位が大きなアプリケーションに合わせて連携実行させることができる。
本発明のプログラム連携システムの処理方法および情報処理装置の実施の形態について図面を参照しながら説明する。本実施形態のプログラム連携システムは機器制御シミュレーションシステムに適用される。機器制御シミュレーションシステムは、パーソナルコンピュータ、ワークステーション等(以下、まとめてコンピュータシステムと呼ぶ)で実行されるプログラムとして、実現される。
[第1の実施形態]
図1は第1の実施形態の機器制御シミュレーションシステムが実現されるコンピュータシステムのハードウェア構成を示す図である。コンピュータシステム201は、中央処理装置(CPU)211、主記憶装置(RAM)212、ハードディスク213等を内蔵した本体部202、本体部202からの指示により画面表示を行う表示装置203、このコンピュータシステム201にユーザの指示や文字情報を入力するためのキーボード204、および表示装置102の画面上における任意の位置を指定し、その位置に表示されていたアイコン等に応じた指示を入力するマウス205から構成される。
ハードディスク213には、機器制御シミュレーションシステムの各機能を実現するプログラム、シミュレーションの対象となる機器の情報を含むシミュレーションのための各種データが格納される。シミュレーションを実行する際、上記プログラムおよび各種データをRAM212にロードし、CPU211はRAM212にロードされたプログラムを実行する。
コンピュータシステム201の基本動作は、基本プログラムであるオペレーティングシステム(OS)を介して実行される。
図2は機器制御シミュレーションシステムの機能的構成を示す図である。この機器制御シミュレーションシステムは、CPUシミュレータ101、機構モデルシミュレータ102、簡易シーケンサ(シミュレータアプリケーション)103およびシミュレータハブ(HUB)104から構成される。HUB104は、コア部105およびインターフェース部106から構成される。
コア部105には、システム管理モジュール111、同期モジュール112、配線モジュール113などが設けられている。インターフェース部106には、CPUシミュレータインタフェースモジュール(CIFモジュール)116、機構モデルシミュレータインタフェース(MIFモジュール)115、およびシミュレータアプリケーションインターフェース(AIFモジュール)114が設けられている。CPUシミュレータ101、機構モデルシミュレータ102および簡易シーケンサ103は、それぞれOS上で個別に動作するアプリケーションソフトであり、それぞれ独立したプロセスとして存在する。
本実施形態では、CPUシミュレータ101は、ダイナミックリンクライブラリ(DLL)で提供される外部モジュールとの間で、共有メモリおよび関数の直接呼出し方式による外部インターフェースを有する。また、機構モデルシミュレータ102および簡易シーケンサ103は、ソケットインターフェースによるプロセス間通信方式による外部インターフェースを有する。
つぎに、各構成要素の機能を示す。CPUシミュレータ101は、シミュレーション対象となるCPU(ターゲットCPU)の動作をコンピュータシステム201上で実現する機能である。ここで、ターゲットCPUとは、コンピュータシステム201に搭載されているCPUでなく、シミュレーションの対象となる装置(例えば、プリンタ装置)に搭載され、この装置を制御するためのCPUである。CPUシミュレータ101は、ターゲットCPUの制御プログラム(ターゲットファームウェア)に従って、ターゲットCPUの端子に対応して定義された仮想入力端子の情報を読み込み、仮想出力端子を制御する。
CPUシミュレータ101は、ターゲットCPUのアドレス空間に対応した仮想アドレス空間を用意している。仮想アドレス空間とは、ターゲットCPUが管理するアドレス空間上の個々の領域と1対1で対応する領域を、コンピュータシステム201のRAM212上に定義したものである。
仮想アドレス空間におけるコンピュータシステム201の実アドレス値は、ターゲットCPUの扱うアドレス値と異なるが、CPUシミュレータ101は、ターゲットファームウェアによるターゲットCPUアドレス空間上のアドレス値へのアクセス命令に従って、仮想アドレス空間上の対応する領域にアクセスする。ターゲットCPUのレジスタ類も、仮想アドレス空間上に対応する領域が設定され、レジスタ類へのアクセスも仮想アドレス空間へのアクセスによってシミュレーションされる。
CPUシミュレータ101は、外部インターフェースとして、ターゲットCPUのI/O、メモリ、レジスタアクセスのためのメソッドを用意している。外部モジュールは、これらのメソッドにより仮想アドレス空間へのアクセスを行う。
機構モデルシミュレータ102は、アクチュエータ、センサを含む複数の部品からなる機構モデルをコンピュータ上で擬似的に動作させる機能である。機構モデルの各要素(機構部品)には、ユーザにより形状、種類、動作、機構部品間の干渉と連携条件等が定義される。また、センサ、アクチュエータについては、外部信号定義が行われる。これらの機構部品の定義は、CAD図面からの自動設定、専用の機構モデル作成ソフトウェアを用いたユーザ操作による設定、その両方の組み合わせによる設定などで行われる。
このように定義される機構部品の種類には、単なる物体として定義されるもの、および機能定義がなされるもの(モータ、ソレノイド、クラッチ、センサ、歯車、カム、ローラ等)がある。また、機構部品には、対象となる装置の構成物ではないものであって、装置の動作シミュレーションに必要なもの(例えば、プリンタ装置における用紙等)も含まれる。このように構築された機構モデルは、コンピュータシステム201の表示装置203に2次元あるいは3次元のグラフィックとして表示される。
機構モデルシミュレータ102は、CPUシミュレータ101からHUB104を介して送られてきたアクチュエータ動作信号に応答し、該当するアクチュエータの機構モデルを定義された動きで動作させる。また、機構定義に基づき、アクチュエータに連結された機構部品をアクチュエータの動作に関連付けて定義された動きで動作させる。
また、オペレータの操作により動作する機構については、キーボード204、マウス205によってオペレータによる機構部品への操作を擬似的に再現し、擬似操作に応じて対象となる機構部品を定義された動きで動作させる。また、機構部品間の干渉、連携定義にしたがって、関連する全ての機構部品の動作が再現される。これら機構部品の動作は、表示装置203に表示されたグラフィックとして再現されるとともに、機構モデルの動作の結果、センサとして定義された機構モデルに予め定義された作用が発生すると、作用に応じたセンサ信号が発生し、そのセンサ信号はCPUシミュレータ101にHUB104を介して送信される。
簡易シーケンサ103は、機器制御シミュレーションシステムによる各種試験のための支援プログラムであり、予め定義された信号線の変化をタイミングチャートの形式で記述するグラフィックユーザインターフェース(GUI)を有する。簡易シーケンサ103は、このGUIによって設定されたタイミングチャートに従って、機器シミュレーションシステムの仮想時間の中で定義された信号の変化をHUB104を介してCPUシミュレータ101および機構モデルシミュレータ102に出力する。
図3は簡易シーケンサ103におけるタイミングチャートが表示されたGUI画面を示す図である。タイミングチャートが表示された画面の中で、従来の図形編集アプリケーションと同様の編集機能により、信号線の変化を編集することが可能である。このGUI画面には、操作ウインドウ310およびタイミングチャートウインドウ320が表示される。操作ウインドウ310には、停止ボタン311、ポーズボタン312、実行ボタン313、ステップ実行ボタン314、信号設定ボタン315、ファイルオープンボタン316および設定保存ボタン317が設けられている。信号線の追加、削除は、信号設定ボタン315の押下により表示されるGUI画面で行われる。
図4は簡易シーケンサ103において信号線の追加、削除が設定されるGUI画面を示す図である。このGUI画面は信号設定ウインドウ401として表示される。信号設定ウインドウ401には、使用可能信号一覧414、使用信号一覧415、追加ボタン411、削除ボタン412、適用ボタン417、OKボタン418、キャンセルボタン419およびステップ間隔設定ボックス416が配置される。信号を簡易シーケンサ103に追加する場合、使用可能信号一覧414から使用する信号をマウスクリックで選択し、追加ボタン411をマウスクリックする。また、信号を簡易シーケンサ103から削除する場合、使用信号一覧415から削除する信号をマウスクリックで選択し、削除ボタン412をマウスクリックする。また、ウインドウ内でステップ実行間隔を設定することが可能である。この設定は、ステップ間隔設定ボックス416に、仮想時間のμsec単位でキーボードから値を直接入力することで行われる。
これらの作業で、簡易シーケンサ103で出力する信号を決定した後、適用ボタン417またはOKボタン418をマウスクリックすることにより、設定が簡易シーケンサ103に反映される。一方、設定を簡易シーケンサ103に反映させない場合、キャンセルボタン419をマウスクリックする。OKボタン418またはキャンセルボタン419がマウスクリックされると、信号設定ウインドウ401は閉じられる。
使用する信号および各信号の変化が設定された後、図3のGUI画面(ウインドウ)で設定保存ボタン317がマウスクリックされると、設定されたシーケンスが保存される。保存されたシーケンスファイルは、ファイルオープンボタン316を押下することによって読み出すことができる。
設定された信号シーケンスは、図3のGUI画面における以下の操作によって出力される。まず、実行ボタン313をマウスクリックすることにより、システムの仮想時間にしたがって設定された信号の変化を連続的に出力する。また、ポーズボタン312をマウスクリックすると、信号の出力を一時停止する。この場合、システムの仮想時間はポーズボタン312がマウスクリックされた時点で停止する。ステップ実行ボタン314がマウスクリックされると、予め定義された仮想時間上の一定間隔で信号の出力が行われた後、一時停止する。このステップ実行の詳細については、後述する。そして、停止ボタン311がマウスクリックされると、信号線の出力を停止し、シーケンスのスタート時点に戻る。このとき、機器制御シミュレーションシステム全体がリセットされる。
ステップ実行ボタン314が選択された場合の処理を示す。機器制御シミュレーションシステムは、複数の独立プロセスである周辺シミュレーションツールを組み合わせて動作させるため、それぞれの持つ仮想時間を同期させる必要がある。この方法として、HUB104の同期モジュール112は、各インタフェースモジュールを介してそれぞれの周辺シミュレーションツールに、予め定義した1同期間隔の実行を指示する。そして、各インタフェースモジュールを介してそれぞれの周辺シミュレーションツールから1同期間隔の動作終了の通知を受ける。全周辺シミュレーションツールから1同期間隔の動作終了通知を受けた時点で、次の1同期の実行処理に移る。この処理を繰り返すことにより、機器制御シミュレーションシステムを構成する全アプリケーションを同じ仮想時間の中で動作させることができる。このような同期システムの中で、簡易シーケンサ103は、ステップ実行を実現する。
図5は簡易シーケンサ103の処理手順を示すフローチャートである。簡易シーケンサ103が起動すると、まず、初期化処理を行う(ステップS1)。HUB104から1同期間隔実行指示があるまで待つ(ステップS2)。HUB104から1同期間隔実行指示を受けると、GUIの設定が停止であるか否かを判別する(ステップS3)。停止である場合、HUB104に停止を通知し(ステップS4)、本処理を終了する。
一方、ステップS3で停止でない場合、ポーズ状態であるか否かを判別する(ステップS5)。ポーズ状態である場合、ステップS3の処理に戻る。ここで、ポーズ状態とは、ポーズボタン312がマウスクリックされた状態の他、ステップ実行ボタン314によって1ステップ実行終了後、次のステップ実行または実行指示までの一時停止状態を含む。
一方、ステップS5でポーズ状態でないと判別された場合、HUB104に実行を通知した後(ステップS6)、シーケンスシミュレータの仮想時間最小単位をカウントアップし(ステップS7)、その時点での仮想時間の各信号設定に応じた信号出力をHUB104に対して行う(ステップS8)。
この後、ステップ実行であるか否かを判別し(ステップS9)、ステップ実行である場合、1ステップ時間が経過したか否かを判別する(ステップS10)。1ステップ時間が経過している場合、HUB104に1ステップ実行終了を通知し(ステップS11)、ステップS3の処理に戻る。一方、1ステップ時間が経過していない場合、ステップS6の処理に戻る。
一方、ステップS9でステップ実行でない場合、1同期時間が終了したか否かを判別する(ステップS12)。1同期時間に到達していない場合、ステップS3の処理に戻る。一方、1同期時間に到達している場合、HUB104に同期実行終了を通知し(ステップS13)、ステップS2の処理に戻る。
図6はHUB104による同期処理手順を示すフローチャートである。まず、全アプリケーションソフトウェアに1同期時間の実行を指示した後(ステップS21)、簡易シーケンサ103からの停止通知の有無を判別する(ステップS22)。停止通知があった場合、全アプリケーションをリセットし(ステップS25)、本処理を終了する。
一方、ステップS22で停止通知がない場合、簡易シーケンサ103からのステップ終了通知の有無を判別する(ステップS23)。ステップ終了通知があった場合、各アプリケーションにステップ終了時間での停止指示を出す(ステップS26)。HUB104から停止指示を受けた各アプリケーションは、それぞれの実行単位時間において指示された時間を超えた時点で(既に時間を過ぎている場合には直ちに)処理を停止する。
この後、簡易シーケンサ103からの実行通知を待ち(ステップS27)、実行通知を受けると、全アプリケーションに対する停止指示を解除した後(ステップS28)、ステップS22の処理に戻る。この処理により、各アプリケーションは、簡易シーケンサ103のステップ実行に伴い、それぞれの実行単位時間に応じて擬似的に同期して実行される。
一方、ステップS23で簡易シーケンサ103からのステップ終了通知がない場合、全てのアプリケーションからの実行終了通知の有無を判別する(ステップS24)。ここで、実行終了通知の無いアプリケーションが1つでもある場合、ステップS22の処理に戻り、全てのアプリケーションから実行終了通知がある場合、ステップS21の処理に戻る。
このように、第1の実施形態の機器制御シミュレーションシステムによれば、単位時間毎のステップ実行を実現できる。また、ステップ実行単位をシステムの同期単位よりも小さく設定した場合でも、擬似的にシステム全体をステップ実行単位で動作させることができる。
[第2の実施形態]
前記第1の実施形態では、周辺アプリケーションソフトである簡易シーケンサからのステップ実行方式を示したが、第2の実施形態では、アプリケーションを中継するHUBからのステップ実行方式を示す。また、周辺シミュレーションツールへの指示方式の違いによるインターフェース部の対応を示す。第2の実施形態の機器制御シミュレーションシステムの機能的構成は、前記第1の実施形態と同じであるので、その説明を省略する。
図7はHUB104におけるGUI画面を示す図である。HUB104が有するGUIは、シミュレータコントロールバーと呼ばれる。シミュレータコントロールバーは、シミュレーションシステムの動作および設定を行う各種ボタンから構成される。各種ボタンには、メニューボタン511、起動ボタン512、終了ボタン513、停止ボタン514、ポーズボタン515、実行ボタン516およびステップ実行ボタン517が含まれる。
メニューボタン511をマウスクリックすると、シミュレーションシステムの各種設定メニューがプルダウンメニューとして表示される。このメニューに関しては、本発明と直接関係しないので、その詳細な説明を省略する。起動ボタン512をマウスクリックすると、全アプリケーションを含むシステムが起動する。システム起動後、実行ボタン516をマウスクリックすると、シミュレーションの実行が開始される。シミュレーション実行中に停止ボタン514をマウスクリックすると、シミュレーションが停止する。また、シミュレーション実行中にポーズボタン515をマウスクリックすると、シミュレーションが一時停止し、一時停止中にポーズボタン515をマウスクリックすると、一時停止の状態からシミュレーションが再開する。停止中、または一時停止中にステップ実行ボタン517をマウスクリックすると、予め定義された仮想時間上の一定間隔だけシステムの実行を行い、一時停止する。尚、ステップ実行の詳細については後述する。システム起動時に終了ボタン513をマウスクリックすると、システムを構成する各アプリケーションソフトウェア、およびHUB104を構成する同期、配線、インターフェースなどの各モジュールを終了する。
図8はHUB104の各種ボタンに対する処理手順を示すフローチャートである。まず、停止ボタン514が押下され、停止であるか否かを判別する(ステップS31)。停止である場合、システム全体をリセットし(ステップS37)、本処理を終了する。一方、停止でない場合、ポーズ状態であるか否かを判別する(ステップS32)。ポーズ状態である場合、ステップS31の処理に戻る。ここで、ポーズ状態には、ポーズボタン515がマウスクリックされた状態の他、ステップ実行ボタン517によって1ステップ実行終了後の次のステップ実行、または実行指示までの一時停止状態も含まれる。
一方、ステップS32でポーズ状態でない場合、全アプリケーションソフトウェアに対して1ステップ間隔の実行を指示する(ステップS33)。ここで、各アプリケーションに指示する1ステップ間隔の時間は、それぞれのアプリケーションの仮想時間上の最小実行時間単位で1ステップ間隔を超える最小の時間、具体的には数式(1)により求めた値に設定される。
T=(<Tstep/t>+1)×t … (1)
ただし、T:アプリケーションに設定する実行時間、Tstep: 指定されたステップ実行時間、t:アプリケーションの最小実行時間、<>:除算結果の小数点以下切り捨てを表す。
この後、全アプリケーションソフトウェアからの実行終了通知を待つ(ステップS34)。各アプリケーションソフトウェアは、HUB104からの実行指示に対してそれぞれの最小実行単位で指示された時間に到達した時点で、実行終了通知をHUB104に通知する。ステップS34で全アプリケーションソフトウェアからの実行終了通知を受けると、ステップ実行であるか否かを判別する(ステップS35)。ステップ実行である場合、ステップS31の処理に戻る。一方、ステップS35でステップ実行でない場合、すなわち連続実行の場合、1同期時間に到達しているか否かを判別する(ステップS36)。1同期時間に到達していない場合、ステップS33の処理に戻り、1同期時間に到達している場合、ステップS31の処理に戻る。
第2の実施形態の機器制御シミュレーションシステムによれば、このような制御を行うことにより、各アプリケーション毎の最小実行時間が異なった場合でも、システム全体で時間単位のステップ実行を実現することができる。
尚、本発明は、上記実施形態の構成に限られるものではなく、特許請求の範囲で示した機能、または本実施形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
例えば、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明の目的は、上記実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、ROM、フロッピー(登録商標)ディスク、PCMCIAカードやコンパクトフラッシュ(登録商標)等のメモリカード、ハードディスク、マイクロDAT、光磁気ディスク、CD−RやCD−RW等の光ディスク、DVD等の相変化型光ディスク等で構成されてもよい。また、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
第1の実施形態の機器制御シミュレーションシステムが実現されるコンピュータシステムのハードウェア構成を示す図である。 機器制御シミュレーションシステムの機能的構成を示す図である。 簡易シーケンサ103におけるタイミングチャートが表示されたGUI画面を示す図である。 簡易シーケンサ103において信号線の追加、削除が設定されるGUI画面を示す図である。 簡易シーケンサ103の処理手順を示すフローチャートである。 HUB104による同期処理手順を示すフローチャートである。 HUB104におけるGUI画面を示す図である。 HUB104の各種ボタンに対する処理手順を示すフローチャートである。
符号の説明
101 CPUシミュレータ
102 機構モデルシミュレータ
103 簡易シーケンサ(シミュレータアプリケーション)
104 シミュレータハブ
112 同期モジュール
201 コンピュータシステム

Claims (7)

  1. コンピュータ上でそれぞれ独立のプロセスとして動作し、仮想時間の経過に対応した処理を行う複数のアプリケーションと、前記複数のアプリケーションを接続して1つのシステムとして動作させるプロセス接続モジュールとを含み、前記各アプリケーション固有の仮想時間をシステム全体の仮想時間に同期させるプログラム連携システムの処理方法において、
    前記プロセス接続モジュールは、
    特定のアプリケーションから動作中情報を受けている間、周辺のアプリケーションとの同期実行処理を継続させる手順と、
    前記特定のアプリケーションからステップ終了情報を受けている間、前記周辺のアプリケーションの動作を前記特定のアプリケーションのステップ終了時間で停止させる指示を行う手順とを有し、
    前記特定のアプリケーションは、
    ユーザインタフェースを介して受け付けたステップ実行の指示に従って、予め設定されたステップ実行単位時間だけステップ実行処理を実行した後、一時停止する手順と、
    前記プロセス接続モジュールに前記ステップ終了情報を通知する手順とを有することを特徴とするプログラム連携システムの処理方法。
  2. コンピュータ上でそれぞれ独立のプロセスとして動作し、仮想時間の経過に対応した処理を行う複数のアプリケーションと、ユーザインタフェースを有し、前記複数のアプリケーションを接続して1つのシステムとして動作させるプロセス接続モジュールとを含み、前記各アプリケーション固有の仮想時間をシステム全体の仮想時間に同期させるプログラム連携システムの処理方法において、
    前記プロセス接続モジュールは、
    前記ユーザインタフェースを介して受け付けた実行指示によりシステム全体の同時実行を開始する手順と、
    前記ユーザインタフェースを介して受け付けた一時停止指示によりシステム全体を一時停止する手順と、
    前記ユーザインタフェースを介して受け付けたステップ実行指示により予め設定されたステップ実行単位時間だけシステム全体の同期実行を行う手順とを有することを特徴とするプログラム連携システムの処理方法。
  3. 前記ステップ実行単位時間がシステム全体の同期単位時間より短く設定された場合、前記プロセス接続モジュールは、前記ステップ実行単位で実行されるアプリケーションの総実行時間が前記同期単位時間に達した場合、システム全体を同期させることを特徴とする請求項2記載のプログラム連携システムの処理方法。
  4. 前記ステップ実行単位時間は、アプリケーションが管理する1単位実行時間より短い時間単位で設定可能であり、前記プロセス接続モジュールは、ステップ実行に際して、前記アプリケーションが管理する時間単位で前記ステップ実行単位時間より長い最小時間単位の実行を前記アプリケーションに指示することを特徴とする請求項2記載のプログラム連携システムの処理方法。
  5. 請求項1乃至4のいずれかに記載のプログラム連携システムが実現される情報処理装置。
  6. 請求項1乃至4のいずれかに記載のプログラム連携システムの処理方法を実行するためのプログラム。
  7. 請求項6に記載のプログラムを格納した記憶媒体。
JP2004363555A 2004-12-15 2004-12-15 プログラム連携システムの処理方法および情報処理装置 Pending JP2006172128A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004363555A JP2006172128A (ja) 2004-12-15 2004-12-15 プログラム連携システムの処理方法および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004363555A JP2006172128A (ja) 2004-12-15 2004-12-15 プログラム連携システムの処理方法および情報処理装置

Publications (1)

Publication Number Publication Date
JP2006172128A true JP2006172128A (ja) 2006-06-29

Family

ID=36672819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004363555A Pending JP2006172128A (ja) 2004-12-15 2004-12-15 プログラム連携システムの処理方法および情報処理装置

Country Status (1)

Country Link
JP (1) JP2006172128A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146859A1 (ja) * 2007-06-01 2008-12-04 Mitsubishi Electric Corporation シミュレーションシステム
JP2010128987A (ja) * 2008-11-28 2010-06-10 Canon Inc シミュレーション方法及びそのシステム
JP2012146148A (ja) * 2011-01-12 2012-08-02 Canon Inc 情報処理装置及びプログラム
JP2012226444A (ja) * 2011-04-15 2012-11-15 Canon Inc 情報処理装置及びプログラム
JP2013200900A (ja) * 2013-07-08 2013-10-03 Canon Inc 情報処理装置装置、及びその制御方法、コンピュータプログラム、記憶媒体
JP2014211806A (ja) * 2013-04-19 2014-11-13 キヤノン株式会社 統合シミュレータ装置、シミュレーション方法、及びプログラム
JP7114825B1 (ja) * 2022-03-23 2022-08-08 株式会社東芝 シミュレータ異常判定システム、方法、プログラム、および分散連成シミュレーションシステム
JP7166482B1 (ja) * 2022-03-23 2022-11-07 株式会社東芝 シミュレータ異常判定システム、方法、プログラム
JP7183470B1 (ja) * 2022-07-25 2022-12-05 株式会社東芝 分散連成シミュレーションシステム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146859A1 (ja) * 2007-06-01 2008-12-04 Mitsubishi Electric Corporation シミュレーションシステム
JP2010128987A (ja) * 2008-11-28 2010-06-10 Canon Inc シミュレーション方法及びそのシステム
JP2012146148A (ja) * 2011-01-12 2012-08-02 Canon Inc 情報処理装置及びプログラム
JP2012226444A (ja) * 2011-04-15 2012-11-15 Canon Inc 情報処理装置及びプログラム
JP2014211806A (ja) * 2013-04-19 2014-11-13 キヤノン株式会社 統合シミュレータ装置、シミュレーション方法、及びプログラム
JP2013200900A (ja) * 2013-07-08 2013-10-03 Canon Inc 情報処理装置装置、及びその制御方法、コンピュータプログラム、記憶媒体
JP7114825B1 (ja) * 2022-03-23 2022-08-08 株式会社東芝 シミュレータ異常判定システム、方法、プログラム、および分散連成シミュレーションシステム
JP7166482B1 (ja) * 2022-03-23 2022-11-07 株式会社東芝 シミュレータ異常判定システム、方法、プログラム
WO2023181198A1 (ja) * 2022-03-23 2023-09-28 株式会社 東芝 シミュレータ異常判定システム、方法、プログラム、および分散連成シミュレーションシステム
JP7183470B1 (ja) * 2022-07-25 2022-12-05 株式会社東芝 分散連成シミュレーションシステム

Similar Documents

Publication Publication Date Title
TWI521316B (zh) 可程式邏輯控制器的周邊裝置及除錯支援程式產品
EP1310844B1 (en) Simulation device
JP2006350549A (ja) 統合シミュレーションシステム
JP2005339029A (ja) プログラム連携システム
JP5552300B2 (ja) 接続機器シミュレータのシーケンス制御装置、方法、及びプログラム
JP2006172128A (ja) プログラム連携システムの処理方法および情報処理装置
KR102198204B1 (ko) 시뮬레이션 장치
WO2020039900A1 (ja) 情報処理装置およびプログラム
JP2022016659A (ja) 外部設定機器、ロギング設定方法およびプログラム
JP2010033192A (ja) 情報処理装置装置、及びその制御方法、コンピュータプログラム、記憶媒体
JP5365242B2 (ja) 情報処理装置、ソフトウェア動作テストシステム、ソフトウェア動作テスト方法、ソフトウェア動作テストプログラム、及びそのプログラムを記録した記録媒体
JP7024679B2 (ja) 開発支援プログラム、開発支援装置、および開発支援方法
JP4875545B2 (ja) シミュレーション同期装置及びその制御方法
WO2020246097A1 (ja) サポート装置およびサポートプログラム
JP2009163423A (ja) プログラム連携システム及びそのシミュレーション制御方法
CN109144518A (zh) 一种基于jenkins的镜像文件构建方法及装置
CN112272820B (zh) 支持装置以及支持程序的记录介质
JP5522304B2 (ja) 情報処理装置、ソフトウェア動作テストシステム、ソフトウェア動作テスト方法、ソフトウェア動作テストプログラム、及びそのプログラムを記録した記録媒体
JP7234810B2 (ja) サポート装置およびサポートプログラム
JP4455400B2 (ja) 作画エディタ装置、制御用表示装置、並びに、そのプログラムおよび記録媒体
JP5693668B2 (ja) 情報処理装置装置、及びその制御方法、コンピュータプログラム、記憶媒体
JP7085311B2 (ja) 情報処理装置、情報処理システム、情報処理方法、情報処理プログラム
JP2009043073A (ja) プログラム連携システム
JPH08194506A (ja) 制御装置
JP2008027041A (ja) デバッグシステム及びターゲット装置

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060419

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20070626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120306