JP5250518B2 - 動作確認システムおよび対象装置 - Google Patents

動作確認システムおよび対象装置 Download PDF

Info

Publication number
JP5250518B2
JP5250518B2 JP2009212749A JP2009212749A JP5250518B2 JP 5250518 B2 JP5250518 B2 JP 5250518B2 JP 2009212749 A JP2009212749 A JP 2009212749A JP 2009212749 A JP2009212749 A JP 2009212749A JP 5250518 B2 JP5250518 B2 JP 5250518B2
Authority
JP
Japan
Prior art keywords
program
development
target device
instruction
control 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.)
Active
Application number
JP2009212749A
Other languages
English (en)
Other versions
JP2011065213A (ja
Inventor
巧太郎 金子
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions 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 Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2009212749A priority Critical patent/JP5250518B2/ja
Publication of JP2011065213A publication Critical patent/JP2011065213A/ja
Application granted granted Critical
Publication of JP5250518B2 publication Critical patent/JP5250518B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、対象装置用のプログラムの動作の確認を行うための動作確認システムに関する。
従来、対象装置にインストールされて対象装置によって実行される対象装置用のプログラムは、通常、対象装置上ではなく、PC(Personal Computer)などの開発装置上で開発された後、直接またはネットワーク経由で対象装置に導入される。対象装置用のプログラムが開発されるときに、対象装置上でプログラムが正常に動作するか否かの動作確認が開発装置上で行われると便利であるので、開発装置上で動作するシミュレータが開発されている(例えば、特許文献1、2参照。)。
しかしながら、対象装置と開発装置とでハードウェアの構成が異なる場合には、対象装置上でのプログラムの動作の全てを開発装置上のシミュレータで確認することは、技術的に困難である。したがって、対象装置上でのプログラムの動作の全てを開発装置上のシミュレータで確認するようにすると、処理能力が非常に高い開発装置が必要になる。また、対象装置上でのプログラムの動作の全てを開発装置上のシミュレータで確認するようにすると、シミュレータが特定の対象装置の専用のものとなって汎用性に欠けてしまうので、対象装置の種類毎にシミュレータを開発しなければならず、時間的にもコスト的にも現実的ではない。
したがって、開発装置上に設けられた汎用性の高いシミュレータで対象装置上でのプログラムの動作確認を簡易的に行い、シミュレータによる動作確認においてプログラムの開発が成功していることが判明したときに、プログラムを対象装置に実際にインストールして対象装置上で最終的な動作確認を行う、というプログラムの開発方法が採用されることが多い。
特開平6−4351号公報 特開2000−20347号公報
しかしながら、従来のプログラムの開発方法では、最終的な動作確認においてプログラムの開発が成功したことが判明するまで、プログラムが何度も修正されて、その度にプログラムが対象装置に実際にインストールされて対象装置上で動作確認される必要がある。このようにプログラムを何度も対象装置にインストールして動作確認する作業は、プログラムの開発の効率を低下させている。
そこで、本発明は、対象装置用のプログラムの動作の確認を利用者に従来より効率良く行わせることができる動作確認システムを提供することを目的とする。
本発明の動作確認システムは、対象装置と、前記対象装置用のプログラムの動作の確認を行うための動作確認装置とを備えており、前記動作確認装置は、前記動作の確認において前記対象装置に実際に実行させる実機動作の指示情報を前記対象装置に送信する指示情報送信手段を備えており、前記対象装置は、前記指示情報送信手段によって送信された前記指示情報を記憶する指示情報記憶手段と、前記指示情報記憶手段によって記憶された前記指示情報に基づいて前記実機動作を実行する実機動作実行手段と、前記実機動作実行手段による前記実機動作の実行を開始するために利用者によって操作される操作手段とを備えていることを特徴とする。
この構成により、本発明の動作確認システムは、対象装置用のプログラムの動作の確認において、プログラムが対象装置に実際にインストールされなくても、対象装置で実際に実行する必要がある動作を対象装置に実行させることができる。したがって、本発明の動作確認システムは、対象装置用のプログラムの動作の確認を利用者に従来より効率良く行わせることができる。
また、本発明の動作確認システムの前記動作確認装置は、前記動作の確認において前記動作が前記実機動作と、前記対象装置に実際に実行させる代わりに前記動作確認装置自体で実行する模擬動作との何れであるかを判断する動作種類判断手段と、前記動作が前記模擬動作であると前記動作種類判断手段によって判断されたときに前記模擬動作を実行する模擬動作実行手段とを備えており、前記指示情報送信手段は、前記動作が前記実機動作であると前記動作種類判断手段によって判断されたときに前記指示情報を前記対象装置に送信することが好ましい。
この構成により、本発明の動作確認システムは、対象装置用のプログラムの動作の確認において、対象装置に実際に実行させる代わりに動作確認装置自体で実行することができる動作を動作確認装置に実行させることができる。したがって、本発明の動作確認システムは、対象装置用のプログラムの動作の確認を利用者に更に効率良く行わせることができる。
また、本発明の動作確認システムの前記動作確認装置は、前記プログラムの開発装置であることが好ましい。
この構成により、本発明の動作確認システムは、プログラムの開発と動作の確認を同一の装置において実現することができるので、対象装置用のプログラムの動作の確認を利用者に更に効率良く行わせることができる。
また、本発明の動作確認システムの前記対象装置は、画像形成装置であることが好ましい。
本発明の対象装置は、対象装置用のプログラムの動作の確認を行うための動作確認装置から、前記動作の確認において前記対象装置に実際に実行させる実機動作の指示情報を受信する前記対象装置であって、前記動作確認装置から受信した前記指示情報を記憶する指示情報記憶手段と、前記指示情報記憶手段によって記憶された前記指示情報に基づいて前記実機動作を実行する実機動作実行手段と、前記実機動作実行手段による前記実機動作の実行を開始するために利用者によって操作される操作手段とを備えていることを特徴とする。
この構成により、本発明の対象装置は、対象装置用のプログラムの動作の確認において、プログラムが対象装置に実際にインストールされなくても、対象装置で実際に実行する必要がある動作を対象装置に実行させることができる。したがって、本発明の対象装置は、対象装置用のプログラムの動作の確認を利用者に従来より効率良く行わせることができる。
本発明の動作確認システムは、対象装置用のプログラムの動作の確認を利用者に従来より効率良く行わせることができる。
本発明の一実施の形態に係る開発システムのシステム構成を示すブロック図である。 図1に示す複合機の構成を示すブロック図である。 図1に示す開発用PCの構成を示すブロック図である。 図3に示す開発用PCの動作のフローチャートであって、ソースコードの動作確認用のコンパイル時の図である。 図3に示す開発用PCの動作のフローチャートであって、動作確認用オブジェクトコードの実行時の図である。 図2に示す複合機の動作のフローチャートであって、開発用PCから機器固有命令を受信したときの図である。 図3に示す開発用PCの動作のフローチャートであって、ソースコードのインストール用のコンパイル時の図である。 図2に示す複合機の動作のフローチャートであって、インストールされたプログラムの実行時の図である。
以下、本発明の一実施の形態について、図面を用いて説明する。
まず、本実施の形態に係る動作確認システムとしての開発システムの構成について説明する。
図1は、本実施の形態に係る開発システム10のシステム構成を示すブロック図である。
図1に示すように、開発システム10は、本発明の対象装置としての複合機20と、複合機20用のプログラムの動作の確認を行うための本発明の動作確認装置としての開発用PC30とを備えている。複合機20および開発用PC30は、互いに通信可能な状態でネットワーク11に接続されている。
開発システム10は、複合機20の他にも複合機を備えていても良い。開発システム10は、複数種類の複合機を備えることによって、複数種類の複合機用のプログラムの開発および動作の確認が行われることができる。
また、開発システム10は、開発用PC30の他にも開発用PCを備えていても良い。開発システム10は、複数台の開発用PCを備えることによって、複数の利用者によって同時に複合機用のプログラムの開発および動作の確認が行われることができる。
図2は、複合機20の構成を示すブロック図である。
図2に示すように、複合機20は、装置全体を制御する制御部21と、種々の情報を記憶する記憶部22と、利用者によって種々の操作が入力される操作パネル上の操作部(以下「パネル上操作部」という。)23と、種々の情報を表示する操作パネル上のモニタ(以下「パネル上モニタ」という。)24と、ネットワーク11(図1参照。)を介して開発用PC30(図1参照。)と通信を行うための通信部25と、画像を読み取るスキャナ26と、画像を印刷するプリンタ27とを備えている。制御部21は、例えばCPU(Central Processing Unit)などから構成されている。記憶部22は、例えばハードディスクなどから構成されている。パネル上操作部23は、パネル上モニタ24とともにタッチパネルを形成する操作部や、操作パネル上のボタンなどから構成されている。パネル上モニタ24は、例えばLCD(Liquid Crystal Display)などから構成されている。
記憶部22は、複合機20の固有の命令である機器固有命令を処理するための機器固有命令処理プログラム22aと、機器固有命令に対応付けられた機器制御API(Application Program Interface)22bとを記憶しており、機器固有命令処理プログラム22aによって処理される機器固有命令22cと、開発用PC30によって開発されるプログラム22dとが記憶されるようになっている。
機器固有命令としては、スキャナ26によるスキャンやプリンタ27による印刷などの開発用PC30にはない機能の命令や、記憶部22への入出力などの開発用PC30に同等の機能があるが実行手順が異なるなどの何らかの違いがある機能の命令などがある。例えば、機器固有命令としては、ジョブの送信、ジョブ情報の取得、ジョブの削除等の制御、パネル上モニタ24による表示、スキャナ26によるスキャン、プリンタ27による印刷などの命令がある。どのような命令を機器固有命令とするかは、設定次第である。
図3は、開発用PC30の構成を示すブロック図である。
図3に示すように、開発用PC30は、装置全体を制御する制御部31と、種々の情報を記憶する記憶部32と、利用者によって種々の操作が入力される操作部33と、種々の情報を表示するモニタ34と、ネットワーク11(図1参照。)を介して複合機20(図1参照。)と通信を行うための通信部35とを備えており、複合機20用のプログラムの開発装置である。制御部31は、例えばCPUなどから構成されている。記憶部32は、例えばハードディスクなどから構成されている。操作部33は、例えばキーボードやマウスなどから構成されている。モニタ34は、例えばLCDなどから構成されている。
記憶部32は、プログラミング言語で記述されたプログラムを複合機20のインストールのために複合機20の制御部21(図2参照。)によって直接実行されることが可能な機械語のプログラムに変換するためのプログラムであるインストール用コンパイラ32aと、プログラミング言語で記述されたプログラムを動作確認のために制御部31によって直接実行されることが可能な機械語のプログラムに変換するためのプログラムである動作確認用コンパイラ32bと、複合機20の動作を複合機20の代わりに開発用PC30で実行するためのプログラムであるシミュレータ32cとを記憶しており、インストール用コンパイラ32aおよび動作確認用コンパイラ32bでコンパイルされる前のプログラムであってプログラミング言語によって記述されたソースコード32dと、ソースコード32dがインストール用コンパイラ32aでコンパイルされた後のプログラムであって機械語で記述されたインストール用オブジェクトコード32eと、ソースコード32dが動作確認用コンパイラ32bでコンパイルされた後のプログラムであって機械語で記述された動作確認用オブジェクトコード32fと、シミュレータ32cによって処理される機器固有命令32gとが記憶されるようになっている。
シミュレータ32cは、機器固有命令を含む予め設定された命令を処理するようになっている。シミュレータ32cがどのような命令を処理するかは、設定次第である。なお、本実施の形態においては、開発用PC30は、シミュレータ32cを備えているが、シミュレータ32cに代えてシミュレータ32cと同様な機能を実現することができるエミュレータを備えていても良い。
次に、開発システム10(図1参照。)の動作について説明する。
開発用PC30(図1参照。)の利用者は、開発用PC30のモニタ34(図3参照。)の画面を確認しながら操作部33(図3参照。)から開発用PC30に操作内容を入力することによって、複合機20(図1参照。)用のプログラムのソースコード32d(図3参照。)を作成する。作成されたソースコード32dは、開発用PC30の記憶部32(図3参照。)に記憶される。
説明を簡単にするため、以下においては、ソースコード32dは、次のように記載されているとする。
1. Input A
2. Add A , 1
3. Display A
4. Print A
ここで、ソースコード32dの1行目の「Input A」という命令は、パネル上操作部23(図2参照。)から入力されたデータを記憶部22(図2参照。)のデータ領域Aに記憶することを意味している。2行目の「Add A , 1」という命令は、データ領域Aに記憶されたデータに1を加えることを意味している。3行目の「Display A」という命令は、データ領域Aに記憶されたデータをパネル上モニタ24(図2参照。)に表示することを意味している。4行目の「Print A」という命令は、データ領域Aに記憶されたデータをプリンタ27(図2参照。)で印刷することを意味している。すなわち、ソースコード32dは、複合機20においてパネル上操作部23から入力されたデータに1を加えたデータをパネル上モニタ24に表示させてプリンタ27に印刷させるように設計されたプログラムである。
図4は、開発用PC30(図3参照。)の動作のフローチャートであって、ソースコード32d(図3参照。)の動作確認用のコンパイル時の図である。
開発用PC30の利用者が操作部33(図3参照。)を用いてソースコード32dの動作確認用のコンパイルを開発用PC30に指示すると、開発用PC30の制御部31(図3参照。)は、記憶部32(図3参照。)に記憶されている動作確認用コンパイラ32b(図3参照。)を起動して、図4に示す処理を実行する。
図4に示すように、制御部31は、ソースコード32dから命令を1つ取り出し(ステップS41)、ステップS41において取り出した命令と同名の呼出し点がシミュレータ32c(図3参照。)にあるか否かを判断する(ステップS42)。
制御部31は、ステップS41において取り出した命令と同名の呼出し点がシミュレータ32cにないとステップS42において判断すると、ステップS41において取り出した命令をプログラミング言語から機械語に変換し(ステップS43)、ソースコード32dの全ての命令を機械語に変換したか否かを判断する(ステップS44)。
制御部31は、ステップS41において取り出した命令と同名の呼出し点がシミュレータ32cにあるとステップS42において判断すると、ステップS41において取り出した命令についてシミュレータ32cの呼出し点が呼出されるようにプログラミング言語から機械語に変換し(ステップS45)、ソースコード32dの全ての命令を機械語に変換したか否かを判断する(ステップS44)。
制御部31は、ソースコード32dの全ての命令を機械語に変換していないとステップS44において判断すると、再びステップS41の処理を実行する。一方、制御部31は、ソースコード32dの全ての命令を機械語に変換したとステップS44において判断すると、図4に示す処理を終了する。
したがって、シミュレータ32cに「Input」および「Add」という呼出し点がなく「Display」および「Print」という呼出し点がある場合、上述したソースコード32dは、図4に示す処理によって、1行目の「Input A」という命令と、2行目の「Add A , 1」という命令とがプログラミング言語から機械語に変換され(ステップS43)、3行目の「Display A」という命令と、4行目の「Print A」という命令とがシミュレータ32cの呼出し点が呼出されるようにプログラミング言語から機械語に変換される(ステップS45)。
このようにして生成された動作確認用オブジェクトコード32f(図3参照。)は、開発用PC30の記憶部32に記憶される。
次に、動作確認用オブジェクトコード32fが実行されるときの動作について説明する。図5は、開発用PC30(図3参照。)の動作のフローチャートであって、動作確認用オブジェクトコード32f(図3参照。)の実行時の図である。
開発用PC30の利用者が操作部33(図3参照。)を用いて動作確認用オブジェクトコード32fの実行を開発用PC30に指示すると、開発用PC30の制御部31(図3参照。)は、図5に示す処理を実行する。
図5に示すように、制御部31は、動作確認用オブジェクトコード32fから命令を1つ取り出し(ステップS51)、ステップS51において取り出した命令にシミュレータ32c(図3参照。)の呼出しがあるか否かを判断する(ステップS52)。
制御部31は、ステップS51において取り出した命令にシミュレータ32cの呼出しがないとステップS52において判断すると、ステップS51において取り出した命令をシミュレータ32cを呼出さずに実行し(ステップS53)、動作確認用オブジェクトコード32fの全ての命令を処理したか否かを判断する(ステップS54)。
制御部31は、ステップS51において取り出した命令にシミュレータ32cの呼出しがあるとステップS52において判断すると、シミュレータ32cを呼出し(ステップS55)、ステップS51において取り出した命令が機器固有命令であるか否かをシミュレータ32cによって判断する(ステップS56)。
制御部31は、ステップS51において取り出した命令が機器固有命令ではないとシミュレータ32cによってステップS56において判断すると、ステップS51において取り出した命令をシミュレータ32cによって実行し(ステップS57)、動作確認用オブジェクトコード32fの全ての命令を処理したか否かを判断する(ステップS54)。
制御部31は、ステップS51において取り出した命令が機器固有命令であるとシミュレータ32cによってステップS56において判断すると、ステップS51において取り出した命令を機器固有命令32g(図3参照。)としてシミュレータ32cによって記憶部32に記憶し(ステップS58)、動作確認用オブジェクトコード32fの全ての命令を処理したか否かを判断する(ステップS54)。
制御部31は、動作確認用オブジェクトコード32fの全ての命令を処理していないとステップS54において判断すると、再びステップS51の処理を実行する。一方、制御部31は、動作確認用オブジェクトコード32fの全ての命令を処理したとステップS54において判断すると、記憶部32に機器固有命令32gが記憶されているか否かを判断する(ステップS59)。
制御部31は、記憶部32に機器固有命令32gが記憶されていないとステップS59において判断すると、図5に示す処理を終了する。一方、制御部31は、記憶部32に機器固有命令32gが記憶されているとステップS59において判断すると、記憶部32に記憶されている機器固有命令32gを例えばXML形式に変換して通信部35(図3参照。)を介して複合機20(図1参照。)に送信し(ステップS60)、記憶部32に記憶されている機器固有命令32gを削除して(ステップS61)、図5に示す処理を終了する。
なお、制御部31は、ステップS60の処理をシミュレータ32cによって実行する。
続いて、ステップS60において開発用PC30から送信された機器固有命令を複合機20が受信したときの複合機20の動作について説明する。図6は、複合機20(図2参照。)の動作のフローチャートであって、開発用PC30(図3参照。)から機器固有命令を受信したときの図である。
開発用PC30から送信された機器固有命令を通信部25(図2参照。)を介して複合機20が受信すると、複合機20の制御部21(図2参照。)は、図6に示す処理を実行する。
図6に示すように、制御部21は、通信部25を介して受信した機器固有命令を機器固有命令22c(図2参照。)として記憶部22(図2参照。)に記憶した後(ステップS71)、パネル上操作部23(図2参照。)から機器固有命令22cの実行が指示されたか否かを判断する(ステップS72)。
利用者がパネル上操作部23を用いて機器固有命令22cの実行を複合機20に指示しない限り、制御部21は、パネル上操作部23から機器固有命令22cの実行が指示されていないとステップS72において判断するので、ステップS72の処理を継続し続ける。利用者がパネル上操作部23を用いて機器固有命令22cの実行を複合機20に指示すると、制御部21は、パネル上操作部23から機器固有命令22cの実行が指示されたとステップS72において判断し、記憶部22に記憶された機器固有命令22cから命令を1つ取り出し(ステップS73)、ステップS73において取り出した命令を機器固有命令処理プログラム22a(図2参照。)によって実行する(ステップS74)。すなわち、制御部21は、ステップS73において取り出した命令に対する機器制御API22bを呼出すことによって、命令を実行する。
次いで、制御部21は、記憶部22に記憶された機器固有命令22cの全てを処理したか否かを判断する(ステップS75)。
制御部21は、記憶部22に記憶された機器固有命令22cの全てを処理していないとステップS75において判断すると、再びステップS73の処理を実行する。一方、制御部21は、記憶部22に記憶された機器固有命令22cの全てを処理したとステップS75において判断すると、記憶部22に記憶されている機器固有命令22cを削除し(ステップS76)、図6に示す処理を終了する。
したがって、開発用PC30の操作部33(図3参照。)に例えば“99”が入力されるとき、図5および図6に示す処理が次のように実行される。
まず、上述した動作確認用オブジェクトコード32f(図3参照。)の1行目の「Input A」という命令は、シミュレータ32c(図3参照。)の呼出し点が呼出されないようにコンパイル時に記述されているので、開発用PC30の制御部31(図3参照。)によってシミュレータ32cが呼出されずに実行される(ステップS53)。すなわち、制御部31は、操作部33から入力されたデータ“99”を開発用PC30の記憶部32(図3参照。)のデータ領域Aに記憶する。
次いで、動作確認用オブジェクトコード32fの2行目の「Add A , 1」という命令も、シミュレータ32cの呼出し点が呼出されないようにコンパイル時に記述されているので、制御部31によってシミュレータ32cが呼出されずに実行される(ステップS53)。すなわち、制御部31は、記憶部32のデータ領域Aに記憶されたデータ“99”に1を加えて“100”とする。
次いで、動作確認用オブジェクトコード32fの3行目の「Display A」という命令は、上述したようにシミュレータ32cの呼出し点が呼出されるようにコンパイル時に記述されているので、制御部31によってシミュレータ32cが呼出される(ステップS55)。そして、「Display」という命令は、機器固有命令であるとシミュレータ32cによって判断されて(ステップS56)、シミュレータ32cによって記憶部32に記憶させられる(ステップS58)。すなわち、制御部31は、記憶部32のデータ領域Aに記憶されたデータが“100”になっているので、シミュレータ32cによって記憶部32に「Display 100」という機器固有命令を記憶する。
次いで、動作確認用オブジェクトコード32fの4行目の「Print A」という命令も、上述したようにシミュレータ32cの呼出し点が呼出されるようにコンパイル時に記述されているので、制御部31によってシミュレータ32cが呼出される(ステップS55)。そして、「Print」という命令は、機器固有命令であるとシミュレータ32cによって判断されて(ステップS56)、シミュレータ32cによって記憶部32に記憶させられる(ステップS58)。すなわち、制御部31は、記憶部32のデータ領域Aに記憶されたデータが“100”になっているので、シミュレータ32cによって記憶部32に「Print 100」という機器固有命令を記憶する。
この時点で、記憶部32には、次の2行の機器固有命令32g(図3参照。)が記憶されている。
1. Display 100
2. Print 100
そして、制御部31は、記憶部32に記憶されている機器固有命令32gをシミュレータ32cによって例えばXML形式に変換して複合機20(図1参照。)に送信する(ステップS60)。複合機20の制御部21(図2参照。)は、開発用PC30から受信した機器固有命令を機器固有命令22c(図2参照。)として記憶部22(図2参照。)に記憶する(ステップS71)。
次いで、利用者がパネル上操作部23を用いて機器固有命令22cの実行を複合機20に指示すると(ステップS72)、記憶部22に記憶されている機器固有命令22cの1行目の「Display 100」という命令は、制御部21によって機器固有命令処理プログラム22a(図2参照。)で実行される(ステップS74)。すなわち、制御部21は、データ“100”をパネル上モニタ24(図2参照。)に表示させる。
次いで、記憶部22に記憶されている機器固有命令22cの2行目の「Print 100」という命令も、制御部21によって機器固有命令処理プログラム22aで実行される(ステップS74)。すなわち、制御部21は、データ“100”をプリンタ27(図2参照。)に印刷させる。
以上に説明したように、動作確認用オブジェクトコード32fは、開発用PC30の操作部33から入力されたデータに1を加えたデータを複合機20のパネル上モニタ24に表示させて複合機20のプリンタ27に印刷させるプログラムである。開発用PC30の利用者は、複合機20のパネル上モニタ24による表示結果と、複合機20のプリンタ27による印刷結果とを確認することによって、プログラムの開発が成功したか否かを認識することができる。
なお、以上においては、「Display」という命令が機器固有命令であるとシミュレータ32cによって判断される場合について説明したが、開発用PC30にも複合機20のパネル上モニタ24と同様に表示機能を有するモニタ34が備えられているので、シミュレータ32cが「Display」という命令を機器固有命令であると判断しないように設定されていても良い。このように設定されている場合、動作確認用オブジェクトコード32fの3行目の「Display A」という命令は、機器固有命令であるとシミュレータ32cによって判断されずに(ステップS56)、シミュレータ32cによって実行される(ステップS57)。すなわち、制御部31は、記憶部32のデータ領域Aに記憶されたデータ“100”をモニタ34に表示させる。したがって、動作確認用オブジェクトコード32fは、開発用PC30の操作部33から入力されたデータに1を加えたデータを開発用PC30のモニタ34に表示させて複合機20のプリンタ27に印刷させるプログラムとなる。開発用PC30の利用者は、開発用PC30のモニタ34による表示結果と、複合機20のプリンタ27による印刷結果とを確認することによって、プログラムの開発が成功したか否かを認識することができる。
以上に説明したように、複合機20用のプログラムの動作の確認における動作には、複合機20に実際に実行させる実機動作(ステップS74)と、複合機20に実際に実行させる代わりに開発用PC30自体で実行する模擬動作(ステップS53およびステップS57)とがある。開発用PC30の制御部31は、ステップS52およびステップS56によって複合機20用のプログラムの動作の確認において動作が実機動作および模擬動作の何れであるかを判断するようになっており、本発明の動作種類判断手段を構成している。また、制御部31は、複合機20用のプログラムの動作の確認において動作が模擬動作であると判断したときに模擬動作を実行する(ステップS53およびステップS57)ようになっており、本発明の模擬動作実行手段を構成している。また、制御部31は、複合機20用のプログラムの動作の確認において動作が実機動作であると判断したときに機器固有命令32gを複合機20に送信する(ステップS60)ようになっている。
また、複合機20の記憶部22に記憶される機器固有命令22cや開発用PC30の記憶部32に記憶される機器固有命令32gは、複合機20用のプログラムの動作の確認において実機動作の指示情報である。開発用PC30の制御部31は、機器固有命令32gを複合機20に送信する(ステップS60)ようになっており、本発明の指示情報送信手段を構成している。複合機20の記憶部22は、開発用PC30の制御部31によって送信された機器固有命令32gを機器固有命令22cとして記憶する(ステップS71)ようになっており、本発明の指示情報記憶手段を構成している。複合機20の制御部21は、記憶部22に記憶された機器固有命令22cに基づいて実機動作を実行する(ステップS74)ようになっており、本発明の実機動作実行手段を構成している。複合機20のパネル上操作部23は、制御部21による実機動作の実行を開始するために利用者によって操作される(ステップS72)ようになっており、本発明の操作手段を構成している。
上述した動作確認によってプログラムの開発が成功したことが判明した場合、プログラムを複合機20にインストールするためのコンパイルが行われる。一方、動作確認によってプログラムの開発が失敗していることが判明した場合には、プログラムの開発が成功したことが判明するまで、開発用PC30でソースコード32d(図3参照。)を修正し、動作確認用のコンパイルを行い、動作確認を行うという上述した一連の処理を繰り返す。
次に、プログラムを複合機20にインストールするためのコンパイル時の動作について説明する。なお、図7は、開発用PC30(図3参照。)の動作のフローチャートであって、ソースコード32d(図3参照。)のインストール用のコンパイル時の図である。
開発用PC30の利用者が操作部33(図3参照。)を用いてソースコード32dのインストール用のコンパイルを開発用PC30に指示すると、開発用PC30の制御部31(図3参照。)は、記憶部32(図3参照。)に記憶されているインストール用コンパイラ32a(図3参照。)を起動して、図7に示す処理を実行する。
図7に示すように、制御部31は、ソースコード32dから命令を1つ取り出し(ステップS81)、ステップS81において取り出した命令をプログラミング言語から機械語に変換し(ステップS82)、ソースコード32dの全ての命令を機械語に変換したか否かを判断する(ステップS83)。
制御部31は、ソースコード32dの全ての命令を機械語に変換していないとステップS83において判断すると、再びステップS81の処理を実行する。一方、制御部31は、ソースコード32dの全ての命令を機械語に変換したとステップS83において判断すると、図7に示す処理を終了する。
したがって、上述したソースコード32dは、図7に示す処理によって、1行目の「Input A」という命令と、2行目の「Add A , 1」という命令と、3行目の「Display A」という命令と、4行目の「Print A」という命令との全てがプログラミング言語から機械語に変換される(ステップS82)。
このようにして生成されたインストール用オブジェクトコード32e(図3参照。)は、例えばネットワーク11(図1参照。)を介して複合機20(図1参照。)に送信されて複合機20にインストールされ、複合機20の記憶部22(図2参照。)にプログラム22d(図2参照。)として記憶される。
次に、複合機20にインストールされたプログラム22dが実行されるときの動作について説明する。図8は、複合機20(図2参照。)の動作のフローチャートであって、インストールされたプログラム22d(図2参照。)の実行時の図である。
複合機20の利用者がパネル上操作部23(図2参照。)を用いてプログラム22dの実行を複合機20に指示すると、複合機20の制御部21(図2参照。)は、図8に示す処理を実行する。
図8に示すように、制御部21は、プログラム22dから命令を1つ取り出し(ステップS91)、ステップS91において取り出した命令を実行し(ステップS92)、プログラム22dの全ての命令を処理したか否かを判断する(ステップS93)。
制御部21は、プログラム22dの全ての命令を処理していないとステップS93において判断すると、再びステップS91の処理を実行する。一方、制御部21は、プログラム22dの全ての命令を処理したとステップS93において判断すると、図8に示す処理を終了する。
したがって、複合機20のパネル上操作部23に例えば“99”が入力されるとき、図8に示す処理が次のように実行される。
まず、上述したプログラム22dの1行目の「Input A」という命令によって、制御部21は、パネル上操作部23から入力されたデータ“99”を記憶部22(図2参照。)のデータ領域Aに記憶する(ステップS92)。
次いで、プログラム22dの2行目の「Add A , 1」という命令によって、制御部21は、記憶部22のデータ領域Aに記憶されたデータ“99”に1を加えて“100”とする(ステップS92)。
次いで、プログラム22dの3行目の「Display A」という命令によって、制御部21は、記憶部22のデータ領域Aに記憶されたデータ“100”をパネル上モニタ24(図2参照。)に表示させる(ステップS92)。
最後に、プログラム22dの4行目の「Print A」という命令によって、制御部21は、記憶部22のデータ領域Aに記憶されたデータ“100”をプリンタ27(図2参照。)に印刷させる(ステップS92)。
すなわち、プログラム22dは、開発時の設計通り、複合機20においてパネル上操作部23から入力されたデータに1を加えたデータをパネル上モニタ24に表示させてプリンタ27に印刷させるプログラムである。
以上に説明したように、開発システム10は、複合機20用のプログラム22dの動作の確認において、プログラム22dが複合機20に実際にインストールされなくても、複合機20で実際に実行する必要がある動作を複合機20に実行させることができる。したがって、開発システム10は、複合機20用のプログラム22dの動作の確認を利用者に従来より効率良く行わせることができる。
複合機20用のプログラム22dの動作の確認において、仮に実機動作が利用者のパネル上操作部23による指示を待たずに自動的に行われるとすると、複合機20と、開発用PC30とが離れて設置されている場合には、利用者が実際に複合機20の前に駆け付けたときに既に実機動作が終了していて利用者が実機動作を確認できない可能性がある。これに対して、開発システム10は、利用者がパネル上操作部23を用いて機器固有命令22cの実行を複合機20に指示してから実機動作を開始するので、利用者が実際に複合機20の前に立って実機動作を確認できるタイミングで実機動作を行わせることができる。この利点は、例えば大規模な開発組織などのように、複合機20と、開発用PC30とが離れて設置されているほど、大きい。
また、開発システム10は、複合機20用のプログラム22dの動作の確認において、複合機20に実際に実行させる代わりに開発用PC30自体で実行することができる動作を開発用PC30に実行させることができる。したがって、開発システム10は、複合機20用のプログラム22dの動作の確認を利用者に更に効率良く行わせることができる。
なお、開発システム10は、本発明の動作確認装置としてプログラムの開発装置が採用されており、複合機20用のプログラムの開発と、その動作の確認とを同一の装置において実現することができるので、複合機20用のプログラムの動作の確認を利用者に更に効率良く行わせることができる。もちろん、開発システム10は、プログラムの開発装置とは別に動作確認装置が設けられていても良い。
また、本発明の対象装置は、本実施の形態において複合機について説明しているが、コピー機、プリンタ、ファクシミリ機などの複合機以外の画像形成装置であっても良いし、プログラムをインストールできる装置であれば画像形成装置以外の装置であっても良い。
10 開発システム(動作確認システム)
20 複合機(対象装置)
21 制御部(実機動作実行手段)
22c 機器固有命令(指示情報)
22d プログラム(対象装置用のプログラム)
23 パネル上操作部(操作手段)
30 開発用PC(動作確認装置、開発装置)
31 制御部(指示情報送信手段、動作種類判断手段、模擬動作実行手段)
32g 機器固有命令(指示情報)

Claims (3)

  1. 対象装置と、前記対象装置用のプログラムの動作の確認を行うための動作確認装置とを備えており、
    前記動作確認装置は、前記動作の確認において前記対象装置に実際に実行させる実機動作の指示情報を前記対象装置に送信する指示情報送信手段を備えており、
    前記対象装置は、前記指示情報送信手段によって送信された前記指示情報を記憶する指示情報記憶手段と、前記指示情報記憶手段によって記憶された前記指示情報に基づいて前記実機動作を実行する実機動作実行手段と、前記実機動作実行手段による前記実機動作の実行を開始するために利用者によって操作される操作手段とを備えており、
    前記動作確認装置は、前記動作の確認において前記動作が前記実機動作と、前記対象装置に実際に実行させる代わりに前記動作確認装置自体で実行する模擬動作との何れであるかを判断する動作種類判断手段と、前記動作が前記模擬動作であると前記動作種類判断手段によって判断されたときに前記模擬動作を実行する模擬動作実行手段とを備えており、
    前記指示情報送信手段は、前記動作が前記実機動作であると前記動作種類判断手段によって判断されたときに前記指示情報を前記対象装置に送信することを特徴とする動作確認システム。
  2. 前記動作確認装置は、前記プログラムの開発装置であることを特徴とする請求項1に記載の動作確認システム。
  3. 前記対象装置は、画像形成装置であることを特徴とする請求項1または請求項2に記載の動作確認システム。
JP2009212749A 2009-09-15 2009-09-15 動作確認システムおよび対象装置 Active JP5250518B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009212749A JP5250518B2 (ja) 2009-09-15 2009-09-15 動作確認システムおよび対象装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009212749A JP5250518B2 (ja) 2009-09-15 2009-09-15 動作確認システムおよび対象装置

Publications (2)

Publication Number Publication Date
JP2011065213A JP2011065213A (ja) 2011-03-31
JP5250518B2 true JP5250518B2 (ja) 2013-07-31

Family

ID=43951426

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009212749A Active JP5250518B2 (ja) 2009-09-15 2009-09-15 動作確認システムおよび対象装置

Country Status (1)

Country Link
JP (1) JP5250518B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6379699B2 (ja) * 2014-06-05 2018-08-29 株式会社リコー 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04213125A (ja) * 1990-12-06 1992-08-04 Fuji Facom Corp プログラムデバッグ方法
JPH09198279A (ja) * 1996-01-19 1997-07-31 Pentel Kk シミュレ−ションソフト内蔵携帯端末装置
JP4133085B2 (ja) * 2002-07-31 2008-08-13 株式会社リコー 画像形成装置およびカスタマイズプログラム試験方法
JP4154289B2 (ja) * 2003-06-20 2008-09-24 富士通株式会社 不具合検出方法
JP2005353020A (ja) * 2004-06-08 2005-12-22 Yellow Soft:Kk コンピュータプログラムのシミュレーション方式
JP4769515B2 (ja) * 2004-09-07 2011-09-07 株式会社リコー アプリケーション実行方法、情報処理装置、画像形成装置、アプリケーション実行プログラム、記録媒体、及び情報処理システム
JP4295775B2 (ja) * 2006-08-01 2009-07-15 株式会社日立情報システムズ Guiテスト支援システム及びテスト支援用アプリケーションプログラム
JP2008065373A (ja) * 2006-09-04 2008-03-21 Sharp Corp 操作パネル
JP2008198097A (ja) * 2007-02-15 2008-08-28 Canon Inc 情報処理装置、制御装置、スクリプト処理方法、記憶媒体、プログラム

Also Published As

Publication number Publication date
JP2011065213A (ja) 2011-03-31

Similar Documents

Publication Publication Date Title
US9632754B2 (en) Auto generation and linkage of source code to test cases
US20100037156A1 (en) Program as development tool kit for supporting application development
JP2007221183A (ja) 画像形成処理シミュレーション装置及び画像形成処理シミュレーション方法
JP6163707B2 (ja) 組み込み機器、プログラム作成装置、プログラム
JP2008276690A (ja) 開発システム、開発システムのサーバ、開発方法
JP2004185595A (ja) 情報処理装置およびそのプログラム
JP4626675B2 (ja) 通信ネットワークを利用したファームウェアの提供方法、そのシステムおよびサービスサーバ
CN114253841A (zh) 测试脚本生成方法、装置及存储介质
JP5250518B2 (ja) 動作確認システムおよび対象装置
JP2004185593A (ja) 画像形成装置およびアプリケーション実行方法
JP2004185594A (ja) 画像形成装置およびプログラム実行方法
JP2011065212A (ja) 動作確認システムおよび動作確認装置
JP2010057186A (ja) 端末装置、方法、及びプログラム
JP5325601B2 (ja) ソフトウェア開発システムおよびソフトウェア開発方法
JP2007122691A (ja) 情報処理装置、情報処理方法及びプログラム
JP5216624B2 (ja) ソフトウェア開発システムおよびソフトウェア開発方法
JP4925514B2 (ja) 内外イベントドリブン方式によるプログラム実行制御方法、プログラム、実行制御装置および記録媒体
JP2011053729A (ja) プログラム開発支援装置及びシステム
JP2009223577A (ja) ユーザインタフェースエミュレート装置及びユーザインタフェースエミュレートプログラム
JP4542180B2 (ja) 画像形成装置、プログラム、及び記録媒体
JP2008198097A (ja) 情報処理装置、制御装置、スクリプト処理方法、記憶媒体、プログラム
JP4405132B2 (ja) 画像情報処理装置用端末エミュレータおよび画像情報処理装置用端末アプリ
JP5337686B2 (ja) アプリケーションプログラム生成方法および画像形成装置
JP5543645B2 (ja) ソフトウェア開発システムおよびソフトウェア開発方法
JP5480338B2 (ja) カストマイズ支援装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130220

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: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130415

R150 Certificate of patent or registration of utility model

Ref document number: 5250518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3