図面 (/)

技術 ソフトウエア検証装置

出願人 キヤノン株式会社
発明者 國本弘子
出願日 2017年9月28日 (4年0ヶ月経過) 出願番号 2017-188382
公開日 2019年4月25日 (2年5ヶ月経過) 公開番号 2019-066913
状態 未査定
技術分野 デバッグ/監視 ストアードプログラム
主要キーワード 接点ポイント 動作起点 到達条件 ソフトウエア変更 通電接続 部品部位 到達状態 到達判断
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年4月25日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (16)

課題

検証対象ソフトウエアの動作と比較対象動作を比較・検証するソフトウエア検証装置を提供する。

解決手段

検証対象CPUシミュレータ101は、制御対象装置のソフトウエアの動作をシミュレートする。比較対象制御模擬手段102は、比較対象となるソフトウエアの動作をシミュレートする。制御対象物シミュレータ107及び108は、ソフトウエアの制御対象装置の動作を模擬する。HUB103は、複数のシミュレータアプリケーションを接続し、同期手段104は、検証対象CPUシミュレータと制御対象物シミュレータ107を第一のグループ、比較対象制御模擬手段と制御対象物シミュレータ108を第二のグループとし、動作起点到達以前は各グループ内で同期し、動作起点到達以降はグループ間で同期する。結果表示手段109は、検証対象CPUシミュレータと比較対象制御模擬手段によってそれぞれ制御される制御対象物の動作を重ねて表示する。

概要

背景

ソフトウエアは、不正な動作を行っていないかテストをし、デバッグ作業を経てリリースされる。特許文献1は、2つのプログラム比較検証する検証方法を開示している。特許文献1では、ユーザが比較対象プログラムと検証対象プログラム同期点を設定し、同期点に同期コマンドを挿入した検証用プログラムを生成し、プログラム検証を行っている。また、特許文献2は、ソフトウエアで制御したメカ動きアニメーションで見ながらソフトウエアのデバッグを行う方法が提案されている。このように、メカ装置を制御するソフトウエアのデバッグや検証に、機器制御シミュレーションを用いることがある。

概要

検証対象ソフトウエアの動作と比較対象動作を比較・検証するソフトウエア検証装置を提供する。検証対象CPUシミュレータ101は、制御対象装置のソフトウエアの動作をシミュレートする。比較対象制御模擬手段102は、比較対象となるソフトウエアの動作をシミュレートする。制御対象物シミュレータ107及び108は、ソフトウエアの制御対象装置の動作を模擬する。HUB103は、複数のシミュレータアプリケーションを接続し、同期手段104は、検証対象CPUシミュレータと制御対象物シミュレータ107を第一のグループ、比較対象制御模擬手段と制御対象物シミュレータ108を第二のグループとし、動作起点到達以前は各グループ内で同期し、動作起点到達以降はグループ間で同期する。結果表示手段109は、検証対象CPUシミュレータと比較対象制御模擬手段によってそれぞれ制御される制御対象物の動作を重ねて表示する。

目的

本発明は、検証対象の制御ソフトウエアの制御対象物動作と比較対象動作を比較し、制御ソフトウエアの動作を検証する検証装置及びプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

検証対象ソフトウエアが実行されるターゲットCPUの動作をシミュレーションするCPUシミュレータと、前記検証対象ソフトウエアによって制御される制御対象物の動作の変化を解析し、該制御対象物の動作を視覚化する第一の視覚化データを生成する第一の制御対象物シミュレータと、前記検証対象ソフトウエアによる制御と比較される比較対象制御機能をシミュレーションする比較制御シミュレータと、前記比較制御シミュレータによってシミュレーションされる制御機能に基づく前記制御対象物の動作の変化を解析し、該制御対象物の動作を視覚化する第二の視覚化データを生成する第二の制御対象物シミュレータと、前記第一の視覚化データと、前記第二の視覚化データに基づいて、前記検証対象ソフトウエアによって制御される前記制御対象物の動作と、前記比較制御シミュレータによってシミュレーションされる制御機能に基づく前記制御対象物の動作とを重ね合わせて表示する結果表示手段と、前記CPUシミュレータと前記第一の制御対象物シミュレータを第一のシミュレーショングループとし、前記比較制御シミュレータと前記第二の制御対象物シミュレータを第二のシミュレーショングループとしたときに、各シミュレーショングループのシミュレーションの結果から、該シミュレーショングループにおけるシミュレーション実行が、前記制御対象物の動作における起点となる動作起点に到達しているか否かを判断する到達判断手段と、複数の前記シミュレータ間における時間同期を行う同期手段と、を備え、前記同期手段は、前記第一及び前記第二のシミュレーショングループのいずれもが前記動作起点に到達したと判断されると、前記第一及び前記第二のシミュレーショングループの間で時間同期を行うよう時間同期の方法を変更する同期変更手段を有することを特徴とするソフトウエア検証装置。

請求項2

前記同期手段は、各シミュレーショングループにおけるシミュレーションが前記動作起点に到達したと判断されるまでは各グループ内で時間同期を行い、前記第一及び第二のシミュレーショングループのいずれもが前記動作起点に到達したと判断されると、前記同期変更手段によって、前記第一及び前記第二のシミュレーショングループを構成するシミュレータ及び前記結果表示手段で時間同期を行うことを特徴とする請求項1に記載のソフトウエア検証装置。

請求項3

前記比較制御シミュレータは、前記検証対象ソフトウエアと比較される比較対象ソフトウエアが実行されるターゲットCPUの動作のシミュレーションを行う比較対象CPUシミュレータであることを特徴とする請求項1又は2に記載のソフトウエア検証装置。

請求項4

前記到達判断手段は、前記検証対象ソフトウエアが扱う制御情報又は比較対象の制御機能が扱う制御情報により、前記動作起点を定めることを特徴とする請求項1ないし3のいずれか1項に記載のソフトウエア検証装置。

請求項5

前記到達判断手段は、前記制御対象物の動作又は状態により、前記動作起点を定めることを特徴とする請求項1ないし3のいずれか1項に記載のソフトウエア検証装置。

請求項6

前記CPUシミュレータ又は前記比較制御シミュレータが、前記到達判断手段を有し、該到達判断手段は、前記動作起点に到達したことを表す情報を前記同期変更手段に通知することを特徴とする請求項1ないし3のいずれか1項に記載のソフトウエア検証装置。

請求項7

前記第一の制御対象物シミュレータ又は前記第二の制御対象物シミュレータが、前記到達判断手段を有し、該到達判断手段は、前記動作起点に到達したことを表す情報を前記同期変更手段に通知することを特徴とする請求項1ないし3のいずれか1項に記載のソフトウエア検証装置。

請求項8

前記同期手段が、前記到達判断手段を有し、該同期手段の外部から通知される前記動作起点を定める情報の変化により、前記動作起点に到達したか否かを判断することを特徴とする請求項1ないし5のいずれか1項に記載のソフトウエア検証装置。

請求項9

前記到達判断手段は、前記動作起点へ到達したか否かの判断の有効及び無効を切り替え効力切替手段を有することを特徴とする請求項1ないし8のいずれか1項に記載のソフトウエア検証装置。

請求項10

前記効力切替手段は、検証対象ソフトウエアの制御情報又は前記比較対象の制御機能が扱う制御情報が所定条件を満たしたか否かにより、前記動作起点へ到達したか否かの判断の有効及び無効を切り替えることを特徴とする請求項9に記載のソフトウエア検証装置。

請求項11

前記効力切替手段は、前記制御対象物の動作又は状態を決定する情報が所定条件を満たしたか否かにより、前記動作起点へ到達したか否かの判断の有効及び無効を切り替えることを特徴とする請求項9に記載のソフトウエア検証装置。

請求項12

前記結果表示手段は、前記第一及び前記第二のシミュレーショングループのシミュレーションの結果である前記制御対象物の動作の差異を検出することを特徴とする請求項1ないし11のいずれか1項に記載のソフトウエア検証装置。

請求項13

前記結果表示手段は、前記第一及び前記第二のシミュレーショングループの前記制御対象物の動作の差異を検出したことを表す情報を前記同期手段に通知し、前記同期手段は、前記第一及び前記第二のシミュレーショングループの前記制御対象物の動作の差異を検出された後は、前記第一及び前記第二のシミュレーショングループを構成する各シミュレータの時間同期を一時停止することを特徴とする請求項12に記載のソフトウエア検証装置。

請求項14

前記同期手段は、一つの前記シミュレーショングループを構成する複数のシミュレータ間で時間同期を行う複数の同期モジュールを有し、前記同期変更手段は、前記第一及び前記第二のシミュレーショングループのいずれもが動作起点に到達したと判断されるまでは、一つの前記同期モジュールで一つの前記シミュレーショングループ内での時間同期を行い、前記第一及び前記第二のシミュレーショングループのいずれもが動作起点に到達したと判断された後は、いずれかの前記同期モジュールで、第一及び第二のシミュレーショングループの時間同期を行うよう時間同期の方法を切り替えることを特徴とする請求項1ないし13のいずれか1項に記載のソフトウエア検証装置。

請求項15

前記同期手段は、一つのシミュレーショングループを構成する複数のシミュレータ間で時間同期を行なう複数の同期モジュールと、該同期モジュールの間での時間同期を行う統括同期モジュールを有し、前記同期変更手段は、前記第一及び前記第二のシミュレーショングループのいずれもが動作起点に到達したと判断されるまでは、前記同期モジュールが各グループ内での時間同期を行い、前記第一及び前記第二のシミュレーショングループのいずれもが動作起点に到達したと判断された後は、前記統括同期モジュールで前記第一及び前記第二のシミュレーショングループ間の時間同期を行うよう時間同期の方法を切り替えることを特徴とする請求項1ないし13のいずれか1項に記載のソフトウエア検証装置。

請求項16

前記同期モジュールは、時間同期の対象となるシミュレータに所定時間分処理実行を指示する機能を有し、前記CPUシミュレータ、前記比較制御シミュレータ、前記第一及び前記第二の制御対象物シミュレータ並びに前記結果表示手段は、前記同期モジュールから指示を受けた所定時間分の処理を終了すると、前記同期モジュールへ実行終了を通知する機能を有し、前記同期変更手段は、前記第一及び前記第二のシミュレーショングループのいずれか一方が前記動作起点に到達した後に、該動作起点に到達したグループのシミュレーション実行の指示を一時停止し、前記第一及び前記第二のシミュレーショングループのいずれもが前記動作起点に到達した時点で、前記CPUシミュレータ、前記比較制御シミュレータ、前記第一及び前記第二の制御対象物シミュレータ並びに前記結果表示手段へシミュレーションの実行を指示することを特徴とする請求項14又は15に記載のソフトウエア検証装置。

請求項17

請求項1ないし16のいずれか1項に記載のソフトウエア検証装置としてコンピュータを機能させることを特徴とするプログラム

技術分野

0001

本発明は、制御ソフトウエアを検証するソフトウエア検証装置に関する。

背景技術

0002

ソフトウエアは、不正な動作を行っていないかテストをし、デバッグ作業を経てリリースされる。特許文献1は、2つのプログラム比較検証する検証方法を開示している。特許文献1では、ユーザが比較対象プログラムと検証対象プログラム同期点を設定し、同期点に同期コマンドを挿入した検証用プログラムを生成し、プログラム検証を行っている。また、特許文献2は、ソフトウエアで制御したメカ動きアニメーションで見ながらソフトウエアのデバッグを行う方法が提案されている。このように、メカ装置を制御するソフトウエアのデバッグや検証に、機器制御シミュレーションを用いることがある。

先行技術

0003

特開2010−165121号公報
特開平11−327956号公報

発明が解決しようとする課題

0004

ソフトウエアに何かしらの変更を加えた場合、変更箇所以外のソフトウエア動作が、変更前のソフトウエア動作と同じであるか動作検証を行う。ここで、例えば、画像形成装置の制御ソフトウエアの画像形成動作に変更を加えた場合、画像形成以外の動作である用紙搬送動作に弊害がないか確認する必要がある。変更前の制御ソフトウエアでは、正常に用紙搬送されていたが、変更後の制御ソフトウエアの用紙搬送動作の確認時に、用紙が異常な状態(例えばジャム)になると、ソフトウエア変更による弊害を認識できる。しかし、用紙が異常な状態にならずとも、変更前後の2つのソフトウエアによる用紙搬送状態遷移が一致しなければ、実際はソフトウエア変更による弊害が出ていることになる。上記のような異常動作にならない弊害を発見するには、変更前後の2つのソフトウエアによる用紙搬送状態の遷移を比較し、用紙動作の不一致を認識しやすくする必要がある。
検証対象の動作である用紙搬送状態の遷移を比較するためには、ソフトウエアの制御対象物である用紙動作について、2つのソフトウエアでの検証起点を合わせる必要がある。
しかしながら、特許文献1は、2つのソフトウエアの制御対象物動作の起点を合わせることを開示するものではなく、制御対象物動作の比較はできない。
また、特許文献2のように、変更前後の2つのソフトウエアを各々シミュレーションし、検証動作の起点を合わせてシミュレーション結果ログを保存後、シミュレーション結果ログから検証動作を再生、及び比較する方法が考えられる。しかし、1回のシミュレーション実行でソフトウエアの検証とデバッグを同時に行うことはできないため、検証に多くの時間を要する。

0005

本発明は、検証対象の制御ソフトウエアの制御対象物動作と比較対象動作を比較し、制御ソフトウエアの動作を検証する検証装置及びプログラムを提供するものである。

課題を解決するための手段

0006

上記目的を達成するために、本発明に係るソフトウエア検証装置は、
検証対象ソフトウエアが実行されるターゲットCPUの動作をシミュレーションするCPUシミュレータと、
前記検証対象ソフトウエアによって制御される制御対象物の動作の変化を解析し、該制
対象物の動作を視覚化する第一の視覚化データを生成する第一の制御対象物シミュレータと、
前記検証対象ソフトウエアによる制御と比較される比較対象の制御機能をシミュレーションする比較制御シミュレータと、
前記比較制御シミュレータによってシミュレーションされる制御機能に基づく前記制御対象物の動作の変化を解析し、該制御対象物の動作を視覚化する第二の視覚化データを生成する第二の制御対象物シミュレータと、
前記第一の視覚化データと、前記第二の視覚化データに基づいて、前記検証対象ソフトウエアによって制御される前記制御対象物の動作と、前記比較制御シミュレータによってシミュレーションされる制御機能に基づく前記制御対象物の動作とを重ね合わせて表示する結果表示手段と、
前記CPUシミュレータと前記第一の制御対象物シミュレータを第一のシミュレーショングループとし、前記比較制御シミュレータと前記第二の制御対象物シミュレータを第二のシミュレーショングループとしたときに、各シミュレーショングループのシミュレーションの結果から、該シミュレーショングループにおけるシミュレーション実行が、前記制御対象物の動作における起点となる動作起点に到達しているか否かを判断する到達判断手段と、
複数の前記シミュレータ間における時間同期を行う同期手段と、
を備え、
前記同期手段は、前記第一及び前記第二のシミュレーショングループのいずれもが前記動作起点に到達したと判断されると、前記第一及び前記第二のシミュレーショングループの間で時間同期を行うよう時間同期の方法を変更する同期変更手段を有することを特徴とする。

0007

また、本発明に係るプログラムは、上記ソフトウエア検証装置としてコンピュータを機能させることを特徴とする。

発明の効果

0008

以上説明したように、本発明によれば、検証対象動作と比較対象動作の起点を同期させ、検証対象ソフトウエアの動作と比較対象動作を視覚情報で比較できるため、検証者は異常動作を発見しやすくなる。また、1回のシミュレーション実行で動作比較とデバッグができる。結果として、検証者の検証工数を削減できる。

図面の簡単な説明

0009

本発明に係るソフトウエア検証装置の機能構成
本発明に係るソフトウエア検証装置のハードウェア構成
検証対象ソフトウエアの制御対象装置である電子写真装置の断面図
実施例に挙げる検証対象及び比較対象ソフトウエアの実施処理の概念
実施例1に係る動作起点到達情報の例を示す図
実施例1に係る動作起点到達判断機能の処理のフローチャート
画像形成装置シミュレータ出力イメージの説明図
シミュレーショングループ情報の例を示す図
同期手段での処理のフローチャート
本発明に係る結果表示手段の出力イメージの説明図
実施例2に係るソフトウエア検証装置の機能構成図
実施例2に係る動作起点到達情報の例を示す図
実施例2に係る動作差異検出機能の処理のフローチャート
実施例3に係るソフトウエア検証装置の機能構成図
実施例3に係る判断実施可否状態決定部の処理のフローチャート

0010

以下に図面を参照して、この発明を実施するための形態を、実施例に基づいて例示的に詳しく説明する。ただし、この実施の形態に記載されている構成部品の寸法、材質、形状それらの相対配置などは、発明が適用される装置の構成や各種条件により適宜変更されるべきものである。すなわち、この発明の範囲を以下の実施の形態に限定する趣旨のものではない。
なお、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。

0011

本実施形態によるソフトウエア検証装置は、コンピュータシステム上でプログラムを実行することで実現でき、そのハードウェア構成を図2に示す。図2の本体部202のハードディスク202cには、検証装置の各機能を実現するためのプログラムや、制御対象装置に関する情報を含む各種データや、検証対象の制御ソフトウエアが格納される。中央処理部202aは、プログラム及び各種データを主記憶部202bにロードして実行し、これによりコンピュータシステム201は検証装置として動作する。なお、表示装置203は、本体部202からの指示により画面表示を行う。また、キーボード204は、このコンピュータシステム201にユーザの指示や文字情報を入力するためのものである。さらに、マウス205は、表示装置203上の任意の位置を指定することによりその位置に表示されていたアイコン等に応じた指示を入力するためのものである。
これらコンピュータシステム201の基本動作は、基本プログラムであるオペレーティングシステム(以下、OSと記す)を介して実行される。

0012

本実施形態では、制御ソフトウエアの制御対象装置(制御対象物)が画像形成装置であり、検証対象動作が用紙搬送動作であるものとして説明を行うものの、制御対象装置は、画像形成装置以外の装置であってもよい。さらに、検証対象動作は用紙搬送動作以外でもよく、制御ソフトウエアの制御対象物の動作で、後述の制御対象物シミュレータ上で視覚化データが生成されるものであればよい。

0013

ここで、ソフトウエアの制御対象装置について説明する。図3はソフトウエアの制御対象装置である画像形成装置301の断面図である。画像形成装置301は図3に示すように用紙Sを収納するカセット302を有する。前記カセット302上には、用紙をピックアップするピックアップローラ303、更にピックアップされた用紙をくり出す給紙ローラ304が設けられている。そして、給紙ローラ304の下流には給紙された用紙Sを後述のレジストローラまで搬送する搬送ローラ305が配設されている。前記搬送ローラ305の下流には、画像の副走査同期信号に用紙Sを同期させて搬送するレジストローラ307が配設されており、該レジストローラ307の直前には用紙センサであるレジ前センサ306が配設されている。レジストローラ307の下流には、レーザスキャナ部309からのレーザ光により画像を形成する画像形成部308が配設されている。さらに、該画像形成部308の下流には定着器310が配設されており、定着器310の下流には定着排紙ローラ311が、その下流には定着排紙センサ312が配設されている。定着排紙センサ312の下流には排紙トレイ315への搬送路がある。排紙トレイ315への搬送路下流には排紙搬送ローラ313、314が配設されて、排紙トレイ315まで用紙Sを搬送する。

0014

画像形成装置301は、前記の機能の他に下記の機能を有し、画像形成装置の制御ソフトウエアは、下記機能を制御している。ピックアップローラ303、給紙ローラ304、搬送ローラ305は不図示の給紙モータ駆動源としている。そして、レジストローラ307から下流の用紙搬送ローラ(画像形成部308の感光ドラム転写ローラ、定着器310の定着ローラを含む)は全て不図示のメインモータを駆動源としている。ピックアッ
ローラ303は不図示のカム機構によって上下動する構成になっており、カム機構駆動のトリガを不図示のピックアップソレノイドによってコントロールする。レジストローラ307は不図示のレジストローラクラッチを介してメインモータからの駆動力を受けており、レジストローラクラッチの制御によって駆動・停止が制御される。画像形成部308の光学機構半導体レーザと半導体レーザからのレーザ光を反射させるポリゴンミラーを回転させ感光ドラム上にレーザ光を照射させるスキャナモータとを有している。また、定着器には定着器を加熱するための定着ヒータ、定着器の温度を測定するサーミスタヒータへの通電接続又は遮断をコントロールするリレーを有している。

0015

以上に示した構成、機能を有する画像形成装置301の制御ソフトウエアは以下に示す制御を行う。すなわち、画像形成装置の外部機器より画像形成の指示を受けると、カセット302内に用紙Sがあるかをチェックし、定着器310の加熱処理を実施し、定着器310が所定温度に達すると、画像形成処理を実行する。画像形成処理においては、まず、カセット302から用紙Sをピックアップし、ピックアップに続き用紙Sを給紙し、画像形成部308の感光ドラム上にレーザ光を照射し、レーザ照射部分に電荷を帯びたトナーを載せてトナー画像を形成する。そして、搬送した用紙Sに感光ドラム上に載ったトナー画像を転写し、用紙Sを定着器310へ搬送し、転写されたトナー画像を熱で用紙Sに定着させ、用紙Sを排紙トレイ315へ排紙し、印刷物を作成する処理を行う。

0016

続いて、本実施形態によるソフトウエア検証装置のシステム構成を説明する。なお、本実施例では、検証対象ソフトウエアと比較対象ソフトウエアとで、画像形成装置301で1ページ分の印刷を実施し、用紙Sの搬送動作差異がないことを確認する検証を実施するものとする。
図1は、本実施形態による制御ソフトウエア検証装置(以下、単に検証装置と記す)の構成図である。本実施形態の検証装置は、検証対象CPUシミュレータ101と比較対象制御模擬手段102と第一の制御対象物シミュレータ107と第二の制御対象物シミュレータ108とシミュレータハブ(以下、HUBと記す)103と結果表示手段109を備えている。ここで、比較対象模擬手段102は、比較制御シミュレータに相当する。なお、検証対象CPUシミュレータ101、比較対象制御模擬手段102、制御対象物シミュレータ107、108、及び結果表示手段109では、時間同期を取る。
ここで、シミュレーション上の時間について説明する。検証装置を構成する各アプリケーションは、各々が模擬時間の概念をもっている。模擬時間とは、シミュレーション対象物模擬状態の変化に伴い進行する時間のことである。例えば、移動速度が時速10キロメートルである物体の動きをシミュレーションする場合、物体の移動量が10キロメートル分のシミュレーションをすると、シミュレーションに要する実際の時間にかかわらず、模擬時間は1時間進行する。本実施形態による検証装置では、各々異なる模擬対象に対応する複数のシミュレータが連係する形態である。この場合、同一の模擬時間分解析処理に要する実時間は、シミュレータごとに異なる。言い換えると、実時間の経過に伴う模擬時間の進行度合いは、シミュレータによって異なる。従って、本検証装置では、シミュレータ間における模擬時間同期処理を行うことで模擬時間の進行を一致させ連携シミュレーションを可能としている。以下の説明において、特に指定しない限り、「時間」とは「模擬時間」を示すものとする。

0017

検証対象CPUシミュレータ101は、制御対象装置のソフトウエアのプログラムの動きを模擬する。つまり、検証対象CPUシミュレータ101は、制御対象装置の制御部(ターゲットCPU)が実行する制御ソフトウエアをホストPC上で実行する。そして、検証対象CPUシミュレータ101は、制御対象装置のセンサ等が出力する制御対象装置の動作状態を示す信号を受け取り、制御対象装置の各部品制御信号を出力する。前記制御ソフトウエアが検証対象ソフトウエア111に相当する。
比較対象制御模擬手段102は、検証対象ソフトウエアの比較対象となるソフトウエア
(以下、単に比較対象ソフトウエアと記す)の動作、すなわち比較対象の制御機能を模擬する。比較対象制御模擬手段102は、比較対象となるソフトウエアのプログラムをホストPC上実行するCPUシミュレータ(比較対象CPUシミュレータ)であってもよい。また、比較対象制御模擬手段102は、比較対象ソフトウエアの機能を模擬する手段でもよい。本例では、比較対象制御模擬手段102は比較対象ソフトウエアを実行するCPUシミュレータであるものとして説明を行う。

0018

画像形成装置301の制御ソフトウエアにおいて、用紙搬送制御に無関係な変更が加えられた場合、制御結果としての用紙搬送動作は、変更前後で違いが発生しないはずである。もし、ソフトウエアの変更前後で用紙搬送動作に違いがあるとすれば、ソフトウエア変更による弊害であるといえる。このような弊害確認のためには変更前後のソフトウエアを実行して、用紙の動きを重ね合わせて表示し直接目視確認するのが、最も明快な方法であるといえる。そこで、ソフトウエア検証装置において、用紙搬送動作を検証対象として、2つのソフトウエアの動作を比較する処理について説明する。
検証対象ソフトウエア及び比較対象ソフトウエアが、検証対象の動作である用紙搬送を実施するまでに行う処理について説明する。図4は、2つのソフトウエアの実施処理の概念図である。どちらのソフトウエアも画像形成装置の外部機器から画像形成指示受け付けると、カセット302内に用紙Sがあるかをチェックし、定着器310の加熱処理を実施し、定着器310が所定温度に達すると、用紙搬送処理を開始する。ただし、検証対象ソフトウエアと比較対象ソフトウエアでは、定着器310の加熱処理の処理内容が異なる。検証対象ソフトウエアでは、定着器310の加熱処理に新たな機能が加わり、比較対象ソフトウエアの方が、定着器加熱処理に要する実時間が少ない。この処理内容の違いにより、画像形成指示を受け付けてから、用紙搬送処理は、比較対象ソフトウエアの方が早く開始する。なお、検証対象ソフトウエア及び比較対象ソフトウエアは、ピックアップソレノイド駆動信号ハイになったことをもって、用紙搬送動作を開始する。
以上のような制御の違いがある検証対象ソフトウエアと比較対象ソフトウエアに対して、単純に同じタイミングで画像形成指示を出して並列に実行しても、検証対象である用紙搬送動作を重ね合わせることはできない。そこで、本実施例におけるソフトウエア検証装置においては、検証対象物の動作起点から検証対象と比較対象のソフトウエアのシミュレーションを同期させることにより、検証対象物の動作を重ね合わせて表示し、比較できるようにしている。
なお、本実施例では、検証対象ソフトウエアは、検証対象動作である用紙搬送の処理以外の箇所に変更を加えたものとして説明を行うが、本発明の検証対象ソフトウエアは、検証対象動作の処理に変更を加えたものでもよい。例えば、ソフトウエアの用紙搬送制御に変更は加えるものの、制御対象の用紙搬送動作は同じである場合、本検証装置を用いて検証対象物である用紙の搬送動作を比較することができる。

0019

図1の説明に戻る。検証対象CPUシミュレータ101及び比較対象制御模擬手段102は、検証動作の起点(以下、動作起点と記す)に到達したかを判断する動作起点到達判断機能114及び115を有している。ここでは、動作起点到達判断機能114及び115が到達判断手段に相当する。動作起点を指定する起点指定情報(以下、動作起点指定情報と記す)としては、ソフトウエアの扱う制御情報を用いる。この制御情報とは、例えば、ソフトウエア内の変数や、ソフトウエアの制御対象装置に搭載されるCPU(以下、ターゲットCPUと記す)のレジスタや、ソフトウエアのプログラムカウンタである。図5はターゲットCPUのレジスタ信号を用いて検証動作起点を定義する例である。前述のように、検証動作起点がソフトウエアの制御対象装置である画像形成装置の構成部品のピックアップソレノイド駆動信号がハイレベルである場合、図5(a)に示すように、
‐ソフトウエアの制御情報は、ピックアップソレノイド駆動信号
‐検証動作起点到達条件は、制御情報がハイレベル
として設定される。図5(b)は動作起点到達判断機能114及び115内で扱われる動
起点情報の設定例であり、検証動作起点に用いる制御情報と、前記制御情報の検証動作起点到達条件の情報で設定する。検証動作起点に用いる制御情報は、ターゲットCPU上のアドレス、制御情報のビット長ビット位置で指定され、検証動作起点到達条件は、制御情報の条件を指定する。ピックアップソレノイド信号がアドレス0x0001の2ビット目の1ビット長さの制御情報である場合、図5(b)のように設定され、この情報は、動作起点情報116及び117に格納される。図6は動作起点到達判断機能114及び115の処理のフローチャートである。検証対象CPUシミュレータ101及び比較対象制御模擬手段102でシミュレーションを開始後、動作起点指定情報の変化を監視する(S601)。動作起点指定情報の変化である場合、動作起点成立条件を満たしているかチェックする(S602)。S602にて条件成立と判断の場合、HUB103に検証動作起点到達を通知(以下、動作起点到達通知と記す)する(S603)。なお、動作起点情報と動作起点成立条件は、動作起点情報116及び117に格納されている。検証動作起点到達を定める制御情報は、ソフトウエアの扱う制御情報が画像形成装置を構成する機械部品の駆動信号ではなく、ソフトウエア内の変数でも、ターゲットCPUのプログラムカウンタでもよい。

0020

制御対象物シミュレータ107及び108は、ソフトウエアの制御対象装置、本例では、画像形成装置の各部品の動作を模擬する。制御対象物シミュレータ107及び108は、各部品の動作の変化を連続的に解析し、解析結果から視覚化データを生成する。制御対象物シミュレータ107が生成する視覚化データは、第一の視覚化データに相当し、制御対象シミュレータ108が生成する視覚化データは、第二の視覚化データに相当する。そして、表示装置203上に各部品の動作状態を表示する。なお、画像形成装置の各部品とは、画像形成装置を構成するモータやローラ、クラッチ等の機械部品に加え、画像転写材の紙など機械部品以外の画像形成装置で取扱われる物体、及び、定着器温度といった物性も含まれる。
図7に、制御対象物シミュレータ107及び108のコンピュータシステム201の表示装置203上の出力イメージの例を示す。701は給紙カセット、702は給紙カセット上の給紙待ち用紙、704は給紙クラッチ、705は給紙センサ、706は給紙モータ、707はピックアップソレノイド、708はピックアップローラ、709は給紙ローラを示している。また、710は搬送パス、711は搬送ローラ、712はレジストローラ、713はレジセンサ、714はレジストローラクラッチ、715は感光ドラム、716は転写ローラ、717はレーザ光表示、718はメインモータを示している。そして、719は定着ローラ、720は定着排紙ローラ、721、722、723は排紙搬送ローラ、728は画像形成装置から排出された用紙、729は排紙トレイを示している。太い実線は用紙を示し、太い破線トナー像形成領域を示す。トナー像形成領域は、画像データの出力タイミング画像マスク解除設定、各種高圧制御信号設定値設定タイミングからトナー像が正常に形成できる範囲を求めて表示される。そして、転写位置以降用紙上のトナー像形成領域が斜線で表示される。

0021

制御対象物シミュレータ107及び108は、生成した視覚化データを結果表示手段109に通知する。制御対象物シミュレータ107及び108は、少なくとも検証時に動作比較する制御対象物の視覚化データを結果表示手段109に通知する。ここで、制御対象物シミュレータ107及び108の視覚化データ生成及び管理方法について説明する。制御対象物シミュレータ107及び108は、各部品の視覚化データを制御対象物シミュレータ107及び108の制御対象物描画エリア内の基準点からの座標で管理する。座標はX座標Y座標で示され、以降ではX座標の値とY座標の値を(X座標値、Y座標値)と記す。搬送パス710は、複数の直線をつなぎ合わせて定義され、直線は始点と終点の2つの座標で構成される。始点は用紙搬送路上上流であり、終点は、用紙搬送路上の下流である。また、用紙の視覚化データは、用紙先端用紙後端の座標で構成される。制御対象物シミュレータ107及び108は、単位時間分の用紙移動量を算出し、現在(単位時
間分処理実行前の時点)の用紙位置から移動後の用紙先端、後端座標値を算出して、用紙搬送路上での用紙位置を決定する。なお、上述の視覚化データ生成及びデータ管理方法は一例であり、本発明は、上述の視覚化データ生成方法に限定されるものではない。

0022

制御対象物シミュレータ107は、検証対象ソフトウエアの制御対象物の動作をシミュレーションし、制御対象物シミュレータ108は、比較対象ソフトウエアの制御対象物の動作をシミュレーションする。具体的には、制御対象物シミュレータ107は、検証対象CPUシミュレータ101から出力される制御対象装置の制御情報で検証対象ソフトウエア111の制御対象物の動作を模擬する。そして、制御対象物シミュレータ108は、比較対象制御模擬手段102から出力される制御対象装置の制御情報で比較対象ソフトウエアの制御対象物の動作をシミュレーションする。
なお、検証対象CPUシミュレータ101と制御対象物シミュレータ107は、検証対象ソフトウエアの動作を模擬するためのシミュレーショングループである。そのため、検証対象CPUシミュレータ101と制御対象物シミュレータ107を検証対象シミュレーショングループと定義する。同様に、比較対象制御模擬手段102と制御対象物シミュレータ108は、比較対象ソフトウエアの動作を模擬するための比較対象シミュレーショングループと定義する。

0023

HUB103は、独立プロセスとして動作する複数のシミュレータアプリケーションを接続し、連携動作させる。HUB103は、同期手段104と配線データ管理手段105から構成される。各シミュレータアプリケーションは、他アプリケーションに結線されているデータが変化すると、データをHUB103に出力する。配線データ管理手段105は、各シミュレータ間でのデータのつながりを、配線情報として管理し、各シミュレータ間でのデータやりとりを行う。

0024

同期手段104は、検証装置を構成するアプリケーション間の同期をとる機能である。同期手段104は、2つの同期モードを有している。1つは、検証対象シミュレーショングループと比較対象シミュレーショングループの両シミュレーショングループが検証動作の起点到達前の起点到達前同期モード、もう1つは、両シミュレーショングループが検証動作の起点到達後の起点到達後同期モードである。シミュレーション実行中、検証対象及び比較対象シミュレーショングループの各々のグループ内は、常に時間同期が必要であり、各グループ間の時間同期は、動作起点到達以降のみ必要である。なぜなら、時間経過に伴うソフトウエアの制御対象物の動作を比較検証するには、2つのシミュレーショングループの検証動作起点を同期させる必要がある。しかし、検証動作起点に至るまでは各々のグループ内で時間同期がとれていればよく、グループ間の同期は不要だからである。一方、動作起点到達以降は、2つの検証動作の比較を行うため、グループ間での時間同期をとる必要があるからである。そのため、検証動作起点到達前後で、同期モードを変更し、シミュレーションを実行している。すなわち、同期手段104は、同期方法を変更する同期変更手段を有している。本例では、起点到達前同期モードとして、シミュレーショングループ内のシミュレータのみで同期するグループ内同期、起点到達後同期モードとして、シミュレーショングループ間のすべてのシミュレータで同期するグループ間同期として説明する。なお、1つのシミュレーショングループ内での時間同期方法は公知であるので詳述は避ける。

0025

同期手段104は、動作起点同期機能106を有している。動作起点同期機能106は、検証対象ソフトウエアと比較対象ソフトウエアの検証対象動作の起点を同期させる機能である。動作起点同期機能106は、シミュレーショングループ情報112と動作起点到達情報113を有している。シミュレーショングループ情報112は、検証対象シミュレーショングループ及び比較対象シミュレーショングループのシミュレータ構成を示す情報である。具体的には、シミュレーショングループ情報112はシミュレーショングループ
とそのグループを構成するシミュレータアプリケーションを関連付けた情報である。動作起点到達情報113は、各シミュレーショングループの動作起点到達状態を示す情報であり、シミュレーショングループと動作起点到達状態を関連付けた情報である。図8(a)にシミュレーショングループ情報112の具体例を、図8(b)に動作起点到達情報113の具体例を示す。検証対象CPUシミュレータ101及び比較対象制御模擬手段102が有する動作起点到達判断機能114及び115より動作起点到達通知を受領すると、動作起点到達通知の通知元アプリケーションが、どのシミュレーショングループに属するかチェックする。そして、動作起点到達情報113において、動作起点到達したシミュレーショングループの動作起点到達状態を更新する。

0026

図9は、検証対象シミュレーショングループと比較対象シミュレーショングループの検証動作起点を同期するための同期手段104の処理フローチャートである。同期手段104は、各々のシミュレーショングループ内で同期をとる(S901)。全シミュレーショングループが動作起点到達したかをチェックし(S902)、両シミュレーショングループが動作起点に到達していれば、全アプリケーションで同期を行う(S903)。なお、検証装置全体のシミュレーション時間は、2つのシミュレーショングループの動作起点到達を起点に管理する。

0027

ここで、S901とS903の同期方法について、具体例を挙げて説明する。同期手段104は、1つのシミュレーショングループを構成するシミュレータ間で時間同期をする同期モジュールを複数有している。S901では、第一の同期モジュールが検証対象シミュレーショングループ内で時間同期をとり、第二の同期モジュールが比較対象シミュレーショングループ内で時間同期とることで、各々のシミュレーショングループが並行にシミュレーションを進行する。当該シミュレーショングループが動作起点に到達以降、2つのシミュレーショングループの動作起点到達を待って、全アプリケーションで時間同期をとる。
動作起点到達以降、全アプリケーションで時間同期をとる方法は2つある。
1つは、動作起点到達以降、第一の同期モジュール又は第二の同期モジュールが、同期対象のアプリケーションを全アプリケーションに変更し、検証装置を構成する全アプリケーション間で時間同期をとる方法である。第一及び第二の同期モジュールは、どのアプリケーション間で時間同期をするか同期アプリケーション情報を有している。このため、シミュレーショングループが動作起点に到達すると、当該同期モジュールは、他方のシミュレーショングループの動作起点到達を待つ。もう一方のシミュレーショングループが動作起点に到達すると、一方のシミュレーショングループの同期モジュールは、同期アプリケーション情報を全アプリケーションに更新する。このとき、他方のシミュレーショングループの同期モジュールは同期アプリケーション情報を同期アプリケーションなしに更新する。2つのシミュレーショングループが動作起点に到達した後は、同期アプリケーション情報が全アプリケーションに更新された第一もしくは第二の同期モジュールのいずれか一方が、検証装置を構成する全アプリケーション間で時間同期をとる方法である。
もう1つは、第一の同期モジュールと第二の同期モジュールを同期させる第三の同期モジュール(統括同期モジュール)を有し、検証装置を構成する全アプリケーション間で時間同期をとる方法である。第一及び第二の同期モジュールの同期対象のシミュレーショングループが動作起点に到達すると、第三の同期モジュールは、第一と第二の同期モジュールの時間同期処理を同期させる。なお、第一及び第二の同期モジュールのいずれか一方は、動作起点到達時に、同期処理対象のアプリケーションに結果表示手段109を加える。
ここで、同期方法の一例をあげる。同期手段104が所定時間の実行を検証装置の構成アプリケーションに指示し、各アプリケーションが同期手段104から指示された所定時間分の処理を終了すると、HUB103に対して実行終了を通知する同期方法の場合である。
本実施例で示した時間同期の方法は一例であって、本発明の同期方法に限定されるもの
ではなく、関連するアプリケーション間で模擬時間を同期させる方法であれば、本発明での同期方法は問わない。

0028

配線データ管理手段105は、シミュレータ間を結ぶデータに関する各種設定情報(不図示)より各シミュレータ間のデータ伝達を行う。
結果表示手段109は、制御対象物シミュレータ107及び制御対象物シミュレータ108が生成する視覚化データを重ね合わせて表示する結果表示手段である。なお、視覚化データを重ね合わせて表示する手法に関しては公知技術であるので詳述は省略する。図10に結果表示手段109のコンピュータシステム201の表示装置203上の出力イメージの例を示す。制御対象物シミュレータ107及び108の搬送用紙を重ねて表示している。2枚の用紙のうち一方の用紙7021を太線で、もう一方の用紙7022を破線と点線の組み合わせで表示している。

0029

以下、本実施例のシミュレーション同期動作について、本実施例での具体例を挙げて説明する。
同期手段104は、S901で、検証対象ソフトウエアのシミュレータと検証対象ソフトウエアから出力される制御信号により動作する画像形成装置シミュレータとで時間同期をとりシミュレーションを実行する。同様に、同期手段104は、S901で、比較対象ソフトウエアのシミュレータと比較対象ソフトウエアから出力される制御信号により動作する画像形成装置シミュレータとで時間同期をとりシミュレーションを実行する。検証対象シミュレーショングループのシミュレーション実行が進み、検証対象ソフトウエア111がピックアップソレノイド駆動信号へハイレベル信号を出力する。そうすると、検証対象ソフトウエアのシミュレータが有する動作起点判断機能114が動作起点到達と判断し、HUB103へ動作起点到達通知を行う。動作起点到達通知を受領したHUB103は、動作起点同期機能106のシミュレーショングループ情報112より、動作起点到達通知したアプリケーション(検証対象ソフトウエアシミュレータ)が検証対象シミュレーショングループであると判断する。そして、検証対象シミュレーショングループは動作起点到達と判断し、動作起点到達情報113を変更する。検証対象シミュレーショングループの同期モジュールは、同期アプリケーション情報を検証対象シミュレーショングループと比較対象シミュレーショングループ及び結果表示手段を含めた全アプリケーションを同期処理対象に変更する。ここで、検証対象シミュレーショングループはシミュレーション時間が一時停止の状態になる。比較対象ソフトウエアがピックアップソレノイド駆動信号へハイレベル信号を出力すると、比較対象ソフトウエアのシミュレータが有している動作起点到達判断機能115が動作起点到達と判断し、HUB103へ動作起点到達通知を行う。動作起点到達通知を受領したHUB103は、動作起点同期機能106のシミュレーショングループ情報112より、動作起点到達通知したアプリケーション(比較対象ソフトウエアシミュレータ)が比較対象シミュレーショングループであると判断する。そして、比較対象シミュレーショングループは動作起点到達と判断し、動作起点到達情報113を変更する。比較対象シミュレーショングループの同期モジュールは、同期アプリケーション情報を同期アプリケーションなしに変更する。S902で、動作起点同期機能106は、動作起点到達情報113をチェックし、検証対象シミュレーショングループと比較対象シミュレーショングループのどちらもが動作起点に到達しているので、S903へ進む。そして、S903で、全アプリケーションで同期をとり、シミュレーション時間を進めてゆく。

0030

なお、本実施例では、動作起点到達判断機能114及び115を検証対象CPUシミュレータ101及び比較対象制御模擬手段102が有している構成で説明を行ったが、HUB103が動作起点到達判断機能114及び115を有していてもよい。その場合には、検証対象CPUシミュレータ101及び比較対象制御模擬手段102は、動作起点到達判断に必要なソフトウエアの制御情報をHUB103へ伝達する機能を有する。
また、検証対象ソフトウエアと比較対象ソフトウエアは異なるソフトウエアであるとして説明を行ったが、検証対象ソフトウエアと比較対象ソフトウエアが同じソフトウエアでもよい。例えば、画像形成装置301の定着器310の温度上昇率が異なるシミュレーションモデルで制御対象物シミュレータ107と108を動作させることがある。これは、定着器310の加熱処理において制御ソフトウエアにおける用紙搬送以外の処理が異なる条件でも、用紙搬送動作に差異がないことを確認する場合である。

0031

以上、ソフトウエアの制御情報に変化がある度に、予め定めた動作起点の情報に基づき、動作起点に到達したかを判断し、検証対象シミュレーショングループと比較対象シミュレーショングループとの検証動作起点を同期させる。そして、検証動作について、2つのソフトウエアの制御対象物の動きを重ね合わせて視覚化データを表示する。この構成により、2つの制御ソフトウエアの制御結果である制御対象物の動きの差異を検証することができる。したがって、ソフトウエアの動作検証時に、2つのソフトウエアの動作の違いを認識しやすくなり、ソフトウエア検証の作業効率が向上する。また、2つのソフトウエア動作の違いが認識しやすくなるため、想定外動作の検出率が向上し、ソフトウエア開発工程において後工程への想定外動作の流出防止につながる。

0032

実施例1では、検証動作の起点がソフトウエアの制御情報を用いて定められていた。しかし、検証動作起点がソフトウエアの制御情報を用いて定義できない場合がある。例えば、ソフトウエアの制御対象物が所定の状態になることが検証動作起点の場合である。そこで、実施例2では、検証装置においてソフトウエアの制御情報ではなく、ソフトウエアの制御対象物の動作を決める情報を用いて検証動作起点を定め、制御対象物の動作を決める情報の変化をトリガに検証動作起点到達の判断を行う。また、検証動作の差異発生を検証装置が自動検出し、差異発生検出後シミュレーション実行を一時停止させる。以下、実施例1との相違点を中心に説明する。

0033

図11は、実施例2における検証装置の機能構成図である。実施例1の検証装置の機能構成との相違点は、動作起点到達判断機能が、ソフトウエアの制御情報ではなく、ソフトウエアの制御結果としての制御対象物の状態変化から動作起点を検出する点である。このため、動作起点到達判断機能1114、1115は、各々、制御対象物シミュレータ1107及び1108に有する構成となっている。

0034

以下、機能構成の相違点の詳細を説明する。
動作起点到達判断機能1114及び1115は、ソフトウエアの制御対象物の動作が動作起点として予め定められた状態になったことを判断し、HUB103へ動作起点到達を通知する機能である。実施例2では、画像形成装置301の用紙搬送路上のレジストローラ307のへの用紙先端到達が検証動作の起点である場合を例に挙げて、制御対象物シミュレータ1107及び1108の処理を説明する。
図12は、ソフトウエアの制御対象物である用紙702先端のレジストローラ712への到達が動作起点である場合の検証動作の起点情報の設定例である。動作起点を示す情報は、部品を示す情報と動作起点到達時の部品状態を示す情報の2つの情報で構成される。部品を示す情報として部品IDと部品部位を、部品状態を示す情報として前記部品と接する部品及び条件を設定する。図12は、検証対象物である用紙を示す部品ID“PAP”、用紙先端を示す“LEAD”、レジストローラを示す“ROL4”が設定されていることを示す。なお、制御対象物シミュレータ1107及び1108では、レジストローラ712は部品IDが“ROL4”とする。さらに、用紙先端位置がレジストローラの外周位置と等しくなる、すなわち用紙先端が前記レジストローラの外周位置に到達を示す条件“==”が設定されていることを示す。なお、“==”は2つの情報が等しくなることを示す。
制御対象物シミュレータ1107及び1108は、各部品の配設位置及び他部品との接点位置座標情報で管理する。例えば、レジストローラ712は、ローラ中心点座標でローラの配設位置を定義し、用紙搬送路上に配設される接点ポイント(不図示)の座標でローラと用紙との接点を定義する。及び動作起点情報1116及び1117が図12に示される情報である場合、動作起点到達判断機能1114及び1115は、レジストローラ712の接点ポイントの座標に用紙先端の座標が到達したことを検知して、動作起点到達と判断する。

0035

図6の動作起点到達判断機能の処理フローチャートを用いて動作起点到達判断機能1114及び1115の処理を説明する。S601では、動作起点の指定に用いられる部品の動きを決める情報に変化があるかをチェックする。本実施例では、用紙を用いて動作起点を指定しているので、用紙の動きを決める情報に変化があるかをチェックすることになる。前述の通り、制御対象物シミュレータ1107及び1108では、単位時間分の用紙移動量を算出しており、用紙の動きを決める情報として用紙移動量を用いる。用紙移動量がゼロであれば、用紙の動きを決める情報に変化なしと判断し、用紙移動量がゼロ以外であれば、用紙の動きを決める情報に変化ありと判断する。S601で用紙の動きを決める情報に変化ありと判断すると、S602にて、用紙搬送路上での用紙先端位置の座標がレジストローラ712の接点ポイントの座標に到達したかを判断する。
なお、用紙先端の座標がレジストローラ712の接点ポイントより搬送パス710上の下流に位置している場合に、レジストローラに到達と判断する。S602にてレジストローラ712の接点ポイントに用紙先端到達と判断すると、検証動作起点到達をHUB103に通知する(S603)。レジストローラ712の接点ポイントより用紙先端が搬送パス710上の下流に位置しているかの判断は、以下の方法で行う。搬送パス710は前述の通り複数の直線をつなぎ合わせて定義されている。レジストローラ712の接点ポイントが存在する搬送パスを構成する1つの直線上で用紙先端の座標とレジストローラ712の接点ポイントの座標のいずれが直線の終点座標に近いかにより、用紙先端がレジストローラ712より下流に位置しているかを判断する。すなわち、用紙先端の座標とレジストローラ712の接点ポイントの座標のいずれが用紙搬送路の下流側座標との距離が短いかにより、用紙先端がレジストローラ712より下流に位置しているかを判断する。

0036

結果表示手段1109は、動作差異検出機能1118を有する。動作差異検出機能1118は、比較する2つの動作の差異を検出する機能である。検証動作制御対象物シミュレータ1107及び1108から、視覚化データを受領し、前記視覚化データから2つの検証動作の差異を検出する。
図13は動作差異検出機能1118の処理フローチャートである。結果表示手段1109は、制御対象物シミュレータ1107及び1108から視覚化データを受領するまで待つ(S1301)。制御対象物シミュレータ1107及び1108から視覚化データを受領すると、制御対象物シミュレータ1107及び1108の2つから視覚化データを受領したかをチェックする(S1302)。S1302で2つの視覚化データ受領と判断すると、2つの視覚化データを比較する(S1303)。S1303の比較処理の結果、2つの視覚化データに差異があるかをチェックする(S1304)。S1304で、比較結果に差異がなければ、S1301に戻り、新たな視覚化データを受領するまで待つ。S1304で、比較結果に差異があれば、表示部203に動作差異発生を表示する(S1305)。
なお、結果表示手段1109は、動作差異検出機能1118が動作差異を検出すると、結果表示手段1109のシミュレーション時間の進行を停止する。結果表示手段1109がシミュレーション時間を止めることで、同期手段104は検証対象シミュレーショングループ及び比較対象シミュレーショングループの時間同期を一時停止する。結果として検証装置全体のシミュレーション時間が一時停止し、検証対象動作の差異発生時点で、シミュレーションを一時停止することができる。

0037

以下、本実施例の具体例を挙げて、動作差異検出機能1118の処理を説明する。制御対象物シミュレータ1107及び1108から、視覚化データとして用紙先端と用紙後端の座標情報を通知される。よって、S1303では、制御対象物シミュレータ407から通知される用紙先端座標と用紙後端座標と制御対象物シミュレータ408から通知される用紙先端座標と用紙後端座標を比較する。具体的には、制御対象物シミュレータ407から通知される用紙先端座標は(Plx1,Ply1)、用紙後端座標は(Ptx1,Pty1)である。そして、制御対象物シミュレータ408から通知される用紙先端座標は(Plx2,Ply2)、用紙後端座標は(Ptx2,Pty2)である。Plx1==Plx2、Ply1==Ply2、Ptx1==Ptx2、Pty1==Pty2が全て成立する場合は、制御対象物シミュレータ1107及び1108とで用紙位置が同じである、すなわち、S1304にて検証動作に差異なしと判断する。Plx1==Plx2、Ply1==Ply2、Ptx1==Ptx2、Pty1==Pty2のどれか1つでも成立しない場合は、S1304にて検証動作に差異ありと判断し、動作差異発生を表示部203に表示する(S1305)。
なお、本実施例では、動作起点到達判断機能1114及び1115を制御対象物シミュレータ1107及び1108が有している構成で説明を行ったが、HUB103が動作起点到達判断機能1114及び1115を有していてもよい。その場合には、制御対象物シミュレータ1107及び1108は、動作起点到達判断に必要な制御装置を構成する部品の動作を決める情報をHUB103へ伝達する機能を有する。

0038

本実施例では、動作起点を定める部品が用紙であるとして説明を行ったが、動作起点を定める部品は用紙以外の部品でもよい。用紙以外の部品とは、例えばローラであり、ピックアップローラ303がカセット302内にある給紙前の用紙Sと接することを動作起点と定めてもよい。この場合、ピックアップローラの外周が用紙と接すること示すデータで動作起点を設定する。また、動作起点到達時の部品状態を示す情報は、部品自体の動作状態を示す情報でもよく、例えば、用紙Sが停止状態から移動状態になることを動作起点のとして定める。この場合、動作起点到達判断機能1114及び1115は、用紙先端と用紙後端の座標がシミュレーション開始時点での用紙配設位置座標と異なることをチェックすればよい。

0039

以上、検証装置が検証動作の差異を自動検出することで、ソフトウエア検証者がシミュレーション実行開始から終了まで、シミュレーション結果を一部始終チェックせずに、ソフトウエアの想定外動作を発見でき、ソフトウエアの検証工数削減につながる。また、検証動作の差異検出時に、シミュレーション実行を一時停止することで、制御対象物動作の差異発生時点での検証対象ソフトウエア及び比較対象ソフトウエアのソフトウエア実行状況をチェックでき、動作差異の原因を見つけるための工数を削減できる。

0040

画像形成装置で10ページ分の連続印刷を実施し、1ページ目から10ページ目までの用紙搬送動作を、1ページずつの用紙搬送状態の遷移比較ではなく、10ページ分の用紙搬送動作を一連の検証動作として、用紙搬送状態の遷移比較を行う場合がある。例えば、用紙の搬送路上の所定位置到達が検証動作起点の場合、用紙1枚ずつに対して動作起点到達判断機能が動作起点到達と判断するため、10ページ分を一連の用紙搬送動作として比較することができない。
そこで実施例3では、動作起点到達判断の実行にマスクを設け、所定条件下では動作起点判断を実施しない。以下、実施例2との相違点を中心に説明を行う。

0041

図14は、実施例3における検証装置の機能構成図である。実施例2の検証装置の機能構成図との相違点は、動作起点到達判断機能1414及び1415が判断実施可否状態決
定部1416及び1417を有していることである。
判断実施可否状態決定部1416及び1417は、図6に示した動作起点到達判断を実施するか否かの状態(以下、判断実施可否状態と記す)を決定する。判断実施可否状態決定部1416及び1417は、マスク情報1418及び1419を有しており、マスク情報1418及び1419は、動作起点到達判断を実施する条件を定めるための情報が格納されている。判断実施可否状態決定部1416及び1417は、マスク情報1418及び1419に従い、判断実施可否状態を切り替える。ここでは、判断実施可否状態決定部1416及び1417が効力切替手段に相当する。
マスク情報1418及び1419は、マスク開始条件マスク解除条件の2つの情報を対にして定める。例えば、用紙先端がレジストローラ712に到達後、搬送パス710内に用紙が存在しなくなるまで、動作起点到達判断を実施しない場合、マスク情報1418及び1419は、
マスク開始条件:用紙先端がレジストローラ712に到達
マスク解除条件:搬送パス上の用紙0枚
となる。
動作起点到達判断機能1414及び1415は、判断実施可否状態によって、図6の処理のフローを実施するか否かを変更する。判断実施可否状態が“判断実施可能”の場合、図6の処理を実施し、“判断実施不可”の場合、図6の処理は実施しない。

0042

図15は、判断実施可否状態決定部1418及び1419の処理のフローである。シミュレーション開始後、判断実施可否状態を判断実施可能に設定する(S1501)。その後、マスク開始条件が成立するかをチェックし(S1502)、マスク開始条件が成立すると、判断実施可否状態を判断実施不可に設定する(S1503)。S1503の後は、マスク解除条件が成立するかをチェックし(S1504)、マスク解除条件が成立するとS1501に戻り、判断実施可否状態を判断実施可能に設定し、以降S1502の処理を続ける。S1502とS1504の処理で、マスク開始条件又はマスク解除条件の成立をチェックする際に、マスク情報1418及び1419を参照する。

0043

画像形成装置で10ページ分の連続印刷を実施し、1ページ目から10ページ目までの用紙搬送動作を、一連の検証動作として比較検証する場合、本検証装置は以下のように動作する。ここで、用紙搬送状態の遷移比較を行う場合、マスク情報1418及び1419が前述の例であり、かつ、動作起点到達がマスク開始条件と同様に、用紙先端のレジストローラ712への到達であるとする。シミュレーション実行の結果、制御対象物シミュレータ1407及び1408において、用紙1枚目が給紙カセットから給紙され、レジストローラ712に到達する。すると、動作起点到達判断機能1414及び1415は、動作起点到達、かつ、マスク開始条件成立(S1502)と判断し、判断実施可否状態を判断実施不可(S1503)とする。その後、シミュレーション実行が進行し、制御対象物シミュレータ1407及び1408において、用紙2枚目が給紙カセットから給紙される。しかし、給紙された2枚目の用紙がレジストローラ712に到達しても、判断実施可否状態は判断実施不可であり、動作起点到達判断の実行が無効であるため、動作起点到達と判断しない。よって、同期手段104は、動作起点を同期させないので、用紙1枚目と2枚目の用紙搬送状態遷移を1連の用紙搬送動作として比較することができる。用紙2枚目と同様に、用紙3枚目から10枚目までも給紙カセットから給紙され、搬送パス710上を通り排紙トレイ729に排紙される。用紙10枚目が排紙されると、判断実施可否状態決定部1416及び1417が搬送パス710上に存在する用紙がなくなったことをもって、マスク解除条件成立と判断し(S1504)、判断実施可否状態は判断実施可能(S1501)とする。このように動作起点到達判断の実行を再び有効とすることで、継続してソフトウエアの検証をおこなうことができる。

実施例

0044

以上、制御ソフトウエアの検証動作の動作起点到達判断の実施にマスクを設けることで
、本実施例で挙げたようなソフトウエアの制御対象物の一連動作の比較が可能になる。これは、ソフトウエアの制御対象物のさまざまな動作の検証を可能にし、結果、ソフトウエアの検証可能動作の範囲を拡大することができる。

0045

101…検証対象CPUシミュレータ、102…比較対象制御模擬手段、104…同期手段、106…動作起点同期機能、107…制御対象物シミュレータ、108…制御対象物シミュレータ、109…結果表示手段、111…検証対象ソフトウエア、112…シミュレータグループ情報、114…動作起点到達判断機能、115…動作起点到達判断機能

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ