JP2019066913A - Software verification apparatus - Google Patents
Software verification apparatus Download PDFInfo
- Publication number
- JP2019066913A JP2019066913A JP2017188382A JP2017188382A JP2019066913A JP 2019066913 A JP2019066913 A JP 2019066913A JP 2017188382 A JP2017188382 A JP 2017188382A JP 2017188382 A JP2017188382 A JP 2017188382A JP 2019066913 A JP2019066913 A JP 2019066913A
- Authority
- JP
- Japan
- Prior art keywords
- synchronization
- simulation
- software
- simulator
- control
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、制御ソフトウエアを検証するソフトウエア検証装置に関する。 The present invention relates to a software verification apparatus that verifies control software.
ソフトウエアは、不正な動作を行っていないかテストをし、デバッグ作業を経てリリースされる。特許文献1は、2つのプログラムを比較検証する検証方法を開示している。特許文献1では、ユーザが比較対象プログラムと検証対象プログラムに同期点を設定し、同期点に同期コマンドを挿入した検証用プログラムを生成し、プログラム検証を行っている。また、特許文献2は、ソフトウエアで制御したメカの動きをアニメーションで見ながらソフトウエアのデバッグを行う方法が提案されている。このように、メカ装置を制御するソフトウエアのデバッグや検証に、機器制御シミュレーションを用いることがある。
The software is tested for improper behavior and released after debugging.
ソフトウエアに何かしらの変更を加えた場合、変更箇所以外のソフトウエア動作が、変更前のソフトウエア動作と同じであるか動作検証を行う。ここで、例えば、画像形成装置の制御ソフトウエアの画像形成動作に変更を加えた場合、画像形成以外の動作である用紙搬送動作に弊害がないか確認する必要がある。変更前の制御ソフトウエアでは、正常に用紙搬送されていたが、変更後の制御ソフトウエアの用紙搬送動作の確認時に、用紙が異常な状態(例えばジャム)になると、ソフトウエア変更による弊害を認識できる。しかし、用紙が異常な状態にならずとも、変更前後の2つのソフトウエアによる用紙搬送状態の遷移が一致しなければ、実際はソフトウエア変更による弊害が出ていることになる。上記のような異常動作にならない弊害を発見するには、変更前後の2つのソフトウエアによる用紙搬送状態の遷移を比較し、用紙動作の不一致を認識しやすくする必要がある。
検証対象の動作である用紙搬送状態の遷移を比較するためには、ソフトウエアの制御対象物である用紙動作について、2つのソフトウエアでの検証起点を合わせる必要がある。
しかしながら、特許文献1は、2つのソフトウエアの制御対象物動作の起点を合わせることを開示するものではなく、制御対象物動作の比較はできない。
また、特許文献2のように、変更前後の2つのソフトウエアを各々シミュレーションし、検証動作の起点を合わせてシミュレーション結果ログを保存後、シミュレーション結果ログから検証動作を再生、及び比較する方法が考えられる。しかし、1回のシミュレーション実行でソフトウエアの検証とデバッグを同時に行うことはできないため、検証に多くの時間を要する。
When some change is made to the software, operation verification is performed to see if the software operation other than the change is the same as the software operation before the change. Here, for example, when a change is made to the image forming operation of the control software of the image forming apparatus, it is necessary to confirm whether the sheet conveying operation, which is an operation other than the image forming operation, is not adversely affected. In the control software before the change, although the sheet was conveyed normally, when the sheet becomes abnormal (for example, jam) at the time of confirmation of the sheet conveyance operation of the control software after the change, the adverse effect due to the software change is recognized it can. However, even if the sheet is not in an abnormal state, if the transition of the sheet conveyance state by the two software before and after the change does not coincide, the problem is that the software change actually causes an adverse effect. In order to detect the adverse effect that the abnormal operation does not occur as described above, it is necessary to compare the transition of the sheet conveyance state by the two software before and after the change and to easily recognize the mismatch of the sheet operation.
In order to compare the transition of the sheet conveyance state, which is the operation to be verified, it is necessary to match the verification start points of the two software with respect to the sheet operation which is the control object of the software.
However,
In addition, as in Patent Document 2, after simulating the two software before and after the change, combining the starting point of the verification operation and storing the simulation result log, a method of reproducing and comparing the verification operation from the simulation result log is considered. Be However, since verification and debugging of software can not be performed simultaneously in one simulation execution, verification requires much time.
本発明は、検証対象の制御ソフトウエアの制御対象物動作と比較対象動作を比較し、制御ソフトウエアの動作を検証する検証装置及びプログラムを提供するものである。 The present invention provides a verification apparatus and program for verifying the operation of control software by comparing the control object operation of the control software to be verified and the operation to be compared.
上記目的を達成するために、本発明に係るソフトウエア検証装置は、
検証対象ソフトウエアが実行されるターゲットCPUの動作をシミュレーションするCPUシミュレータと、
前記検証対象ソフトウエアによって制御される制御対象物の動作の変化を解析し、該制
御対象物の動作を視覚化する第一の視覚化データを生成する第一の制御対象物シミュレータと、
前記検証対象ソフトウエアによる制御と比較される比較対象の制御機能をシミュレーションする比較制御シミュレータと、
前記比較制御シミュレータによってシミュレーションされる制御機能に基づく前記制御対象物の動作の変化を解析し、該制御対象物の動作を視覚化する第二の視覚化データを生成する第二の制御対象物シミュレータと、
前記第一の視覚化データと、前記第二の視覚化データに基づいて、前記検証対象ソフトウエアによって制御される前記制御対象物の動作と、前記比較制御シミュレータによってシミュレーションされる制御機能に基づく前記制御対象物の動作とを重ね合わせて表示する結果表示手段と、
前記CPUシミュレータと前記第一の制御対象物シミュレータを第一のシミュレーショングループとし、前記比較制御シミュレータと前記第二の制御対象物シミュレータを第二のシミュレーショングループとしたときに、各シミュレーショングループのシミュレーションの結果から、該シミュレーショングループにおけるシミュレーション実行が、前記制御対象物の動作における起点となる動作起点に到達しているか否かを判断する到達判断手段と、
複数の前記シミュレータ間における時間同期を行う同期手段と、
を備え、
前記同期手段は、前記第一及び前記第二のシミュレーショングループのいずれもが前記動作起点に到達したと判断されると、前記第一及び前記第二のシミュレーショングループの間で時間同期を行うよう時間同期の方法を変更する同期変更手段を有することを特徴とする。
In order to achieve the above object, a software verification device according to the present invention is:
A CPU simulator that simulates the operation of a target CPU on which the software to be verified is executed;
A first controlled object simulator that analyzes a change in the movement of the controlled object controlled by the verification target software and generates first visualization data that visualizes the movement of the controlled object;
A comparison control simulator that simulates the control function of the comparison object to be compared with the control by the verification object software;
A second controlled object simulator that analyzes a change in the movement of the controlled object based on a control function simulated by the comparison control simulator and generates second visualization data that visualizes the movement of the controlled object When,
Based on the first visualization data and the second visualization data, the operation of the controlled object controlled by the verification target software and the control function simulated by the comparison control simulator Result display means for displaying the operation of the control object in an overlapping manner;
When the CPU simulator and the first controlled object simulator are set as a first simulation group, and the comparison control simulator and the second controlled object simulator are set as a second simulation group, the simulation of each simulation group is performed. Arrival determination means for determining whether or not the simulation execution in the simulation group has reached an operation starting point which is a starting point in the operation of the controlled object from the result;
Synchronization means for performing time synchronization among a plurality of the simulators;
Equipped with
The synchronization means is configured to perform time synchronization between the first and second simulation groups when it is determined that both the first and second simulation groups have reached the operation start point. It is characterized in that it has synchronization changing means for changing the method of synchronization.
また、本発明に係るプログラムは、上記ソフトウエア検証装置としてコンピュータを機能させることを特徴とする。 A program according to the present invention causes a computer to function as the software verification device.
以上説明したように、本発明によれば、検証対象動作と比較対象動作の起点を同期させ、検証対象ソフトウエアの動作と比較対象動作を視覚情報で比較できるため、検証者は異常動作を発見しやすくなる。また、1回のシミュレーション実行で動作比較とデバッグができる。結果として、検証者の検証工数を削減できる。 As described above, according to the present invention, since the verification target operation and the comparison target operation can be synchronized and the operation of the verification target software and the comparison target operation can be compared by visual information, the verifier finds an abnormal operation. It becomes easy to do. In addition, operation comparison and debugging can be performed by one simulation execution. As a result, the number of verification steps of the verifier can be reduced.
以下に図面を参照して、この発明を実施するための形態を、実施例に基づいて例示的に詳しく説明する。ただし、この実施の形態に記載されている構成部品の寸法、材質、形状それらの相対配置などは、発明が適用される装置の構成や各種条件により適宜変更されるべきものである。すなわち、この発明の範囲を以下の実施の形態に限定する趣旨のものではない。
なお、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
Hereinafter, with reference to the drawings, modes for carrying out the present invention will be exemplarily described in detail based on examples. However, the dimensions, materials, shapes, etc. of the components described in this embodiment should be changed as appropriate depending on the configuration of the apparatus to which the invention is applied and various conditions. That is, the scope of the present invention is not intended to be limited to the following embodiments.
In the following drawings, components not necessary for the description of the embodiment will be omitted from the drawings.
本実施形態によるソフトウエア検証装置は、コンピュータシステム上でプログラムを実行することで実現でき、そのハードウェア構成を図2に示す。図2の本体部202のハードディスク202cには、検証装置の各機能を実現するためのプログラムや、制御対象装置に関する情報を含む各種データや、検証対象の制御ソフトウエアが格納される。中央処理部202aは、プログラム及び各種データを主記憶部202bにロードして実行し、これによりコンピュータシステム201は検証装置として動作する。なお、表示装置203は、本体部202からの指示により画面表示を行う。また、キーボード204は、このコンピュータシステム201にユーザの指示や文字情報を入力するためのものである。さらに、マウス205は、表示装置203上の任意の位置を指定することによりその位置に表示されていたアイコン等に応じた指示を入力するためのものである。
これらコンピュータシステム201の基本動作は、基本プログラムであるオペレーティングシステム(以下、OSと記す)を介して実行される。
The software verification apparatus according to the present embodiment can be realized by executing a program on a computer system, the hardware configuration of which is shown in FIG. The
The basic operations of the
本実施形態では、制御ソフトウエアの制御対象装置(制御対象物)が画像形成装置であり、検証対象動作が用紙搬送動作であるものとして説明を行うものの、制御対象装置は、画像形成装置以外の装置であってもよい。さらに、検証対象動作は用紙搬送動作以外でもよく、制御ソフトウエアの制御対象物の動作で、後述の制御対象物シミュレータ上で視覚化データが生成されるものであればよい。 In this embodiment, although the control target device (control target object) of the control software is the image forming device and the verification target operation is the sheet conveyance operation, the control target device is other than the image forming device. It may be an apparatus. Furthermore, the operation to be verified may be other than the sheet conveyance operation, as long as the operation to be controlled by the control software generates visualization data on a control object simulator to be described later.
ここで、ソフトウエアの制御対象装置について説明する。図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を搬送する。
Here, a control target device of software will be described. FIG. 3 is a cross-sectional view of the
画像形成装置301は、前記の機能の他に下記の機能を有し、画像形成装置の制御ソフトウエアは、下記機能を制御している。ピックアップローラ303、給紙ローラ304、搬送ローラ305は不図示の給紙モータを駆動源としている。そして、レジストローラ307から下流の用紙搬送ローラ(画像形成部308の感光ドラム、転写ローラ、定着器310の定着ローラを含む)は全て不図示のメインモータを駆動源としている。ピックアッ
プローラ303は不図示のカム機構によって上下動する構成になっており、カム機構駆動のトリガを不図示のピックアップソレノイドによってコントロールする。レジストローラ307は不図示のレジストローラクラッチを介してメインモータからの駆動力を受けており、レジストローラクラッチの制御によって駆動・停止が制御される。画像形成部308の光学機構は半導体レーザと半導体レーザからのレーザ光を反射させるポリゴンミラーを回転させ感光ドラム上にレーザ光を照射させるスキャナモータとを有している。また、定着器には定着器を加熱するための定着ヒータ、定着器の温度を測定するサーミスタ、ヒータへの通電接続又は遮断をコントロールするリレーを有している。
The
以上に示した構成、機能を有する画像形成装置301の制御ソフトウエアは以下に示す制御を行う。すなわち、画像形成装置の外部機器より画像形成の指示を受けると、カセット302内に用紙Sがあるかをチェックし、定着器310の加熱処理を実施し、定着器310が所定温度に達すると、画像形成処理を実行する。画像形成処理においては、まず、カセット302から用紙Sをピックアップし、ピックアップに続き用紙Sを給紙し、画像形成部308の感光ドラム上にレーザ光を照射し、レーザ照射部分に電荷を帯びたトナーを載せてトナー画像を形成する。そして、搬送した用紙Sに感光ドラム上に載ったトナー画像を転写し、用紙Sを定着器310へ搬送し、転写されたトナー画像を熱で用紙Sに定着させ、用紙Sを排紙トレイ315へ排紙し、印刷物を作成する処理を行う。
The control software of the
続いて、本実施形態によるソフトウエア検証装置のシステム構成を説明する。なお、本実施例では、検証対象ソフトウエアと比較対象ソフトウエアとで、画像形成装置301で1ページ分の印刷を実施し、用紙Sの搬送動作に差異がないことを確認する検証を実施するものとする。
図1は、本実施形態による制御ソフトウエア検証装置(以下、単に検証装置と記す)の構成図である。本実施形態の検証装置は、検証対象CPUシミュレータ101と比較対象制御模擬手段102と第一の制御対象物シミュレータ107と第二の制御対象物シミュレータ108とシミュレータハブ(以下、HUBと記す)103と結果表示手段109を備えている。ここで、比較対象模擬手段102は、比較制御シミュレータに相当する。なお、検証対象CPUシミュレータ101、比較対象制御模擬手段102、制御対象物シミュレータ107、108、及び結果表示手段109では、時間同期を取る。
ここで、シミュレーション上の時間について説明する。検証装置を構成する各アプリケーションは、各々が模擬時間の概念をもっている。模擬時間とは、シミュレーション対象物の模擬状態の変化に伴い進行する時間のことである。例えば、移動速度が時速10キロメートルである物体の動きをシミュレーションする場合、物体の移動量が10キロメートル分のシミュレーションをすると、シミュレーションに要する実際の時間にかかわらず、模擬時間は1時間進行する。本実施形態による検証装置では、各々異なる模擬対象に対応する複数のシミュレータが連係する形態である。この場合、同一の模擬時間分の解析処理に要する実時間は、シミュレータごとに異なる。言い換えると、実時間の経過に伴う模擬時間の進行度合いは、シミュレータによって異なる。従って、本検証装置では、シミュレータ間における模擬時間同期処理を行うことで模擬時間の進行を一致させ連携シミュレーションを可能としている。以下の説明において、特に指定しない限り、「時間」とは「模擬時間」を示すものとする。
Subsequently, a system configuration of the software verification device according to the present embodiment will be described. In the present embodiment, the
FIG. 1 is a block diagram of a control software verification device (hereinafter simply referred to as a verification device) according to the present embodiment. The verification apparatus of this embodiment includes a verification
Here, simulation time will be described. Each application which constitutes a verification device has a concept of simulated time. The simulation time is a time that proceeds with a change in the simulation state of the simulation object. For example, when simulating the movement of an object whose movement speed is 10 kilometers per hour, if the amount of movement of the object is simulated for 10 kilometers, the simulation time advances by one hour regardless of the actual time required for the simulation. In the verification device according to the present embodiment, a plurality of simulators respectively corresponding to different simulation targets are linked. In this case, the actual time required for the analysis processing for the same simulation time differs from one simulator to another. In other words, the progress of the simulation time with the passage of real time differs depending on the simulator. Therefore, in the verification device, the simulation time synchronization processing is performed between the simulators to make the progress of the simulation time coincide with each other, thereby enabling cooperative simulation. In the following description, “time” indicates “simulated time” unless otherwise specified.
検証対象CPUシミュレータ101は、制御対象装置のソフトウエアのプログラムの動きを模擬する。つまり、検証対象CPUシミュレータ101は、制御対象装置の制御部(ターゲットCPU)が実行する制御ソフトウエアをホストPC上で実行する。そして、検証対象CPUシミュレータ101は、制御対象装置のセンサ等が出力する制御対象装置の動作状態を示す信号を受け取り、制御対象装置の各部品に制御信号を出力する。前記制御ソフトウエアが検証対象ソフトウエア111に相当する。
比較対象制御模擬手段102は、検証対象ソフトウエアの比較対象となるソフトウエア
(以下、単に比較対象ソフトウエアと記す)の動作、すなわち比較対象の制御機能を模擬する。比較対象制御模擬手段102は、比較対象となるソフトウエアのプログラムをホストPC上実行するCPUシミュレータ(比較対象CPUシミュレータ)であってもよい。また、比較対象制御模擬手段102は、比較対象ソフトウエアの機能を模擬する手段でもよい。本例では、比較対象制御模擬手段102は比較対象ソフトウエアを実行するCPUシミュレータであるものとして説明を行う。
The verification
The comparison target
画像形成装置301の制御ソフトウエアにおいて、用紙搬送制御に無関係な変更が加えられた場合、制御結果としての用紙搬送動作は、変更前後で違いが発生しないはずである。もし、ソフトウエアの変更前後で用紙搬送動作に違いがあるとすれば、ソフトウエア変更による弊害であるといえる。このような弊害確認のためには変更前後のソフトウエアを実行して、用紙の動きを重ね合わせて表示し直接目視確認するのが、最も明快な方法であるといえる。そこで、ソフトウエア検証装置において、用紙搬送動作を検証対象として、2つのソフトウエアの動作を比較する処理について説明する。
検証対象ソフトウエア及び比較対象ソフトウエアが、検証対象の動作である用紙搬送を実施するまでに行う処理について説明する。図4は、2つのソフトウエアの実施処理の概念図である。どちらのソフトウエアも画像形成装置の外部機器から画像形成指示を受け付けると、カセット302内に用紙Sがあるかをチェックし、定着器310の加熱処理を実施し、定着器310が所定温度に達すると、用紙搬送処理を開始する。ただし、検証対象ソフトウエアと比較対象ソフトウエアでは、定着器310の加熱処理の処理内容が異なる。検証対象ソフトウエアでは、定着器310の加熱処理に新たな機能が加わり、比較対象ソフトウエアの方が、定着器加熱処理に要する実時間が少ない。この処理内容の違いにより、画像形成指示を受け付けてから、用紙搬送処理は、比較対象ソフトウエアの方が早く開始する。なお、検証対象ソフトウエア及び比較対象ソフトウエアは、ピックアップソレノイド駆動信号がハイになったことをもって、用紙搬送動作を開始する。
以上のような制御の違いがある検証対象ソフトウエアと比較対象ソフトウエアに対して、単純に同じタイミングで画像形成指示を出して並列に実行しても、検証対象である用紙搬送動作を重ね合わせることはできない。そこで、本実施例におけるソフトウエア検証装置においては、検証対象物の動作起点から検証対象と比較対象のソフトウエアのシミュレーションを同期させることにより、検証対象物の動作を重ね合わせて表示し、比較できるようにしている。
なお、本実施例では、検証対象ソフトウエアは、検証対象動作である用紙搬送の処理以外の箇所に変更を加えたものとして説明を行うが、本発明の検証対象ソフトウエアは、検証対象動作の処理に変更を加えたものでもよい。例えば、ソフトウエアの用紙搬送制御に変更は加えるものの、制御対象の用紙搬送動作は同じである場合、本検証装置を用いて検証対象物である用紙の搬送動作を比較することができる。
In the control software of the
A process to be performed until the verification target software and the comparison target software perform the sheet conveyance which is the operation to be verified will be described. FIG. 4 is a conceptual view of an implementation process of two software. When both of the software receives an image formation instruction from an external device of the image forming apparatus, it checks whether the sheet S is present in the
The paper transport operation to be verified is superimposed even if image formation instructions are simply issued at the same timing and executed in parallel with software to be verified and software to be compared that have differences in control as described above. It is not possible. Therefore, in the software verification apparatus according to the present embodiment, the operation of the verification object can be displayed superimposed and compared by synchronizing the simulation of the software to be verified and the comparison object from the operation starting point of the verification object. It is like that.
In the present embodiment, the software to be verified is described as being modified except for the sheet conveyance process which is the operation to be verified. However, the software to be verified according to the present invention is an operation to be verified. Processing may be modified. For example, although a change is made to the sheet conveyance control of software, when the sheet conveyance operation of the control target is the same, the conveyance operation of the sheet which is the object to be verified can be compared using the present verification device.
図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のプログラムカウンタでもよい。
It returns to the explanation of FIG. The verification
In the control information of software, the pickup solenoid drive signal and the verification operation starting point reaching condition are set such that the control information is at the high level. FIG. 5B is a setting example of operation start point information handled in the operation start point
制御対象物シミュレータ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は排紙トレイを示している。太い実線は用紙を示し、太い破線はトナー像形成領域を示す。トナー像形成領域は、画像データの出力タイミング、画像マスク解除設定、各種高圧制御信号の設定値と設定タイミングからトナー像が正常に形成できる範囲を求めて表示される。そして、転写位置以降用紙上のトナー像形成領域が斜線で表示される。
The
FIG. 7 shows an example of an output image on the
制御対象物シミュレータ107及び108は、生成した視覚化データを結果表示手段109に通知する。制御対象物シミュレータ107及び108は、少なくとも検証時に動作比較する制御対象物の視覚化データを結果表示手段109に通知する。ここで、制御対象物シミュレータ107及び108の視覚化データ生成及び管理方法について説明する。制御対象物シミュレータ107及び108は、各部品の視覚化データを制御対象物シミュレータ107及び108の制御対象物描画エリア内の基準点からの座標で管理する。座標はX座標とY座標で示され、以降ではX座標の値とY座標の値を(X座標値、Y座標値)と記す。搬送パス710は、複数の直線をつなぎ合わせて定義され、直線は始点と終点の2つの座標で構成される。始点は用紙搬送路上の上流であり、終点は、用紙搬送路上の下流である。また、用紙の視覚化データは、用紙先端と用紙後端の座標で構成される。制御対象物シミュレータ107及び108は、単位時間分の用紙移動量を算出し、現在(単位時
間分処理実行前の時点)の用紙位置から移動後の用紙先端、後端の座標値を算出して、用紙搬送路上での用紙位置を決定する。なお、上述の視覚化データ生成及びデータ管理方法は一例であり、本発明は、上述の視覚化データ生成方法に限定されるものではない。
The
制御対象物シミュレータ107は、検証対象ソフトウエアの制御対象物の動作をシミュレーションし、制御対象物シミュレータ108は、比較対象ソフトウエアの制御対象物の動作をシミュレーションする。具体的には、制御対象物シミュレータ107は、検証対象CPUシミュレータ101から出力される制御対象装置の制御情報で検証対象ソフトウエア111の制御対象物の動作を模擬する。そして、制御対象物シミュレータ108は、比較対象制御模擬手段102から出力される制御対象装置の制御情報で比較対象ソフトウエアの制御対象物の動作をシミュレーションする。
なお、検証対象CPUシミュレータ101と制御対象物シミュレータ107は、検証対象ソフトウエアの動作を模擬するためのシミュレーショングループである。そのため、検証対象CPUシミュレータ101と制御対象物シミュレータ107を検証対象シミュレーショングループと定義する。同様に、比較対象制御模擬手段102と制御対象物シミュレータ108は、比較対象ソフトウエアの動作を模擬するための比較対象シミュレーショングループと定義する。
The
The verification
HUB103は、独立プロセスとして動作する複数のシミュレータアプリケーションを接続し、連携動作させる。HUB103は、同期手段104と配線データ管理手段105から構成される。各シミュレータアプリケーションは、他アプリケーションに結線されているデータが変化すると、データをHUB103に出力する。配線データ管理手段105は、各シミュレータ間でのデータのつながりを、配線情報として管理し、各シミュレータ間でのデータやりとりを行う。
The
同期手段104は、検証装置を構成するアプリケーション間の同期をとる機能である。同期手段104は、2つの同期モードを有している。1つは、検証対象シミュレーショングループと比較対象シミュレーショングループの両シミュレーショングループが検証動作の起点到達前の起点到達前同期モード、もう1つは、両シミュレーショングループが検証動作の起点到達後の起点到達後同期モードである。シミュレーション実行中、検証対象及び比較対象シミュレーショングループの各々のグループ内は、常に時間同期が必要であり、各グループ間の時間同期は、動作起点到達以降のみ必要である。なぜなら、時間経過に伴うソフトウエアの制御対象物の動作を比較検証するには、2つのシミュレーショングループの検証動作起点を同期させる必要がある。しかし、検証動作起点に至るまでは各々のグループ内で時間同期がとれていればよく、グループ間の同期は不要だからである。一方、動作起点到達以降は、2つの検証動作の比較を行うため、グループ間での時間同期をとる必要があるからである。そのため、検証動作起点到達前後で、同期モードを変更し、シミュレーションを実行している。すなわち、同期手段104は、同期方法を変更する同期変更手段を有している。本例では、起点到達前同期モードとして、シミュレーショングループ内のシミュレータのみで同期するグループ内同期、起点到達後同期モードとして、シミュレーショングループ間のすべてのシミュレータで同期するグループ間同期として説明する。なお、1つのシミュレーショングループ内での時間同期方法は公知であるので詳述は避ける。 The synchronization means 104 is a function to synchronize the applications constituting the verification device. The synchronization means 104 has two synchronization modes. One is the pre-arrival synchronization mode before reaching the starting point of the verification operation, and the other simulation group is after the starting point after the starting point of the verification operation. It is a synchronous mode. During simulation, time synchronization is always required in each of the verification target and comparison target simulation groups, and time synchronization between the groups is necessary only after reaching the operation start point. Because, in order to compare and verify the operation of the control object of the software over time, it is necessary to synchronize the verification operation starting points of the two simulation groups. However, it is sufficient that time synchronization is achieved within each group until the verification operation start point, and synchronization between the groups is unnecessary. On the other hand, after reaching the operation start point, it is necessary to synchronize time between the groups in order to compare two verification operations. Therefore, the simulation is performed by changing the synchronization mode before and after reaching the verification operation start point. That is, the synchronization means 104 includes synchronization change means for changing the synchronization method. In this example, an intra-group synchronization synchronized with only the simulators in the simulation group is described as the pre-start point synchronization mode, and an inter-group synchronization synchronized with all the simulators among the simulation groups as the inter-group synchronization synchronized with only the simulators in the simulation group. In addition, since the time synchronization method in one simulation group is known, the detail is avoided.
同期手段104は、動作起点同期機能106を有している。動作起点同期機能106は、検証対象ソフトウエアと比較対象ソフトウエアの検証対象動作の起点を同期させる機能である。動作起点同期機能106は、シミュレーショングループ情報112と動作起点到達情報113を有している。シミュレーショングループ情報112は、検証対象シミュレーショングループ及び比較対象シミュレーショングループのシミュレータ構成を示す情報である。具体的には、シミュレーショングループ情報112はシミュレーショングループ
とそのグループを構成するシミュレータアプリケーションを関連付けた情報である。動作起点到達情報113は、各シミュレーショングループの動作起点到達状態を示す情報であり、シミュレーショングループと動作起点到達状態を関連付けた情報である。図8(a)にシミュレーショングループ情報112の具体例を、図8(b)に動作起点到達情報113の具体例を示す。検証対象CPUシミュレータ101及び比較対象制御模擬手段102が有する動作起点到達判断機能114及び115より動作起点到達通知を受領すると、動作起点到達通知の通知元アプリケーションが、どのシミュレーショングループに属するかチェックする。そして、動作起点到達情報113において、動作起点到達したシミュレーショングループの動作起点到達状態を更新する。
The synchronization means 104 has an operation
図9は、検証対象シミュレーショングループと比較対象シミュレーショングループの検証動作起点を同期するための同期手段104の処理フローチャートである。同期手段104は、各々のシミュレーショングループ内で同期をとる(S901)。全シミュレーショングループが動作起点到達したかをチェックし(S902)、両シミュレーショングループが動作起点に到達していれば、全アプリケーションで同期を行う(S903)。なお、検証装置全体のシミュレーション時間は、2つのシミュレーショングループの動作起点到達を起点に管理する。
FIG. 9 is a process flowchart of the synchronization means 104 for synchronizing the verification operation starting point of the verification target simulation group and the comparison target simulation group. The
ここで、S901とS903の同期方法について、具体例を挙げて説明する。同期手段104は、1つのシミュレーショングループを構成するシミュレータ間で時間同期をする同期モジュールを複数有している。S901では、第一の同期モジュールが検証対象シミュレーショングループ内で時間同期をとり、第二の同期モジュールが比較対象シミュレーショングループ内で時間同期とることで、各々のシミュレーショングループが並行にシミュレーションを進行する。当該シミュレーショングループが動作起点に到達以降、2つのシミュレーショングループの動作起点到達を待って、全アプリケーションで時間同期をとる。
動作起点到達以降、全アプリケーションで時間同期をとる方法は2つある。
1つは、動作起点到達以降、第一の同期モジュール又は第二の同期モジュールが、同期対象のアプリケーションを全アプリケーションに変更し、検証装置を構成する全アプリケーション間で時間同期をとる方法である。第一及び第二の同期モジュールは、どのアプリケーション間で時間同期をするか同期アプリケーション情報を有している。このため、シミュレーショングループが動作起点に到達すると、当該同期モジュールは、他方のシミュレーショングループの動作起点到達を待つ。もう一方のシミュレーショングループが動作起点に到達すると、一方のシミュレーショングループの同期モジュールは、同期アプリケーション情報を全アプリケーションに更新する。このとき、他方のシミュレーショングループの同期モジュールは同期アプリケーション情報を同期アプリケーションなしに更新する。2つのシミュレーショングループが動作起点に到達した後は、同期アプリケーション情報が全アプリケーションに更新された第一もしくは第二の同期モジュールのいずれか一方が、検証装置を構成する全アプリケーション間で時間同期をとる方法である。
もう1つは、第一の同期モジュールと第二の同期モジュールを同期させる第三の同期モジュール(統括同期モジュール)を有し、検証装置を構成する全アプリケーション間で時間同期をとる方法である。第一及び第二の同期モジュールの同期対象のシミュレーショングループが動作起点に到達すると、第三の同期モジュールは、第一と第二の同期モジュールの時間同期処理を同期させる。なお、第一及び第二の同期モジュールのいずれか一方は、動作起点到達時に、同期処理対象のアプリケーションに結果表示手段109を加える。
ここで、同期方法の一例をあげる。同期手段104が所定時間の実行を検証装置の構成アプリケーションに指示し、各アプリケーションが同期手段104から指示された所定時間分の処理を終了すると、HUB103に対して実行終了を通知する同期方法の場合である。
本実施例で示した時間同期の方法は一例であって、本発明の同期方法に限定されるもの
ではなく、関連するアプリケーション間で模擬時間を同期させる方法であれば、本発明での同期方法は問わない。
Here, the synchronization method of S901 and S903 will be described by taking a specific example. The synchronization means 104 has a plurality of synchronization modules for performing time synchronization between the simulators constituting one simulation group. In S901, the first synchronization module synchronizes time in the verification target simulation group, and the second synchronization module synchronizes time in the comparison target simulation group, so that each simulation group proceeds with the simulation in parallel. After the simulation group reaches the operation start point, all the applications are synchronized in time after waiting for the operation start points of the two simulation groups.
After reaching the operation start point, there are two methods for time synchronization in all applications.
One is a method in which the first synchronization module or the second synchronization module changes the application to be synchronized to all applications and achieves time synchronization among all the applications constituting the verification device after reaching the operation start point. The first and second synchronization modules have synchronization application information as to which applications to perform time synchronization. Therefore, when the simulation group reaches the operation start point, the synchronization module waits for the operation start point of the other simulation group to arrive. When the other simulation group reaches the operation start point, the synchronization module of one simulation group updates synchronous application information to all applications. At this time, the synchronization module of the other simulation group updates the synchronization application information without the synchronization application. After the two simulation groups have reached the operation start point, one of the first and second synchronization modules whose synchronization application information has been updated for all applications synchronizes time among all the applications constituting the verification device. It is a method.
The other is a method having a third synchronization module (general synchronization module) for synchronizing the first synchronization module and the second synchronization module, and time synchronization among all the applications constituting the verification device. When the synchronization target simulation groups of the first and second synchronization modules reach the operation start point, the third synchronization module synchronizes the time synchronization processing of the first and second synchronization modules. Note that one of the first and second synchronization modules adds result display means 109 to the application to be subjected to synchronization processing when the operation start point is reached.
Here, an example of the synchronization method is given. In the case of the synchronization method of notifying the
The method of time synchronization shown in the present embodiment is an example, and is not limited to the synchronization method of the present invention, and the synchronization method of the present invention is a method of synchronizing simulated time between related applications. It does not matter.
配線データ管理手段105は、シミュレータ間を結ぶデータに関する各種設定情報(不図示)より各シミュレータ間のデータ伝達を行う。
結果表示手段109は、制御対象物シミュレータ107及び制御対象物シミュレータ108が生成する視覚化データを重ね合わせて表示する結果表示手段である。なお、視覚化データを重ね合わせて表示する手法に関しては公知技術であるので詳述は省略する。図10に結果表示手段109のコンピュータシステム201の表示装置203上の出力イメージの例を示す。制御対象物シミュレータ107及び108の搬送用紙を重ねて表示している。2枚の用紙のうち一方の用紙7021を太線で、もう一方の用紙7022を破線と点線の組み合わせで表示している。
The wiring
The result display means 109 is a result display means which superimposes and displays the visualization data which the
以下、本実施例のシミュレーション同期動作について、本実施例での具体例を挙げて説明する。
同期手段104は、S901で、検証対象ソフトウエアのシミュレータと検証対象ソフトウエアから出力される制御信号により動作する画像形成装置シミュレータとで時間同期をとりシミュレーションを実行する。同様に、同期手段104は、S901で、比較対象ソフトウエアのシミュレータと比較対象ソフトウエアから出力される制御信号により動作する画像形成装置シミュレータとで時間同期をとりシミュレーションを実行する。検証対象シミュレーショングループのシミュレーション実行が進み、検証対象ソフトウエア111がピックアップソレノイド駆動信号へハイレベル信号を出力する。そうすると、検証対象ソフトウエアのシミュレータが有する動作起点判断機能114が動作起点到達と判断し、HUB103へ動作起点到達通知を行う。動作起点到達通知を受領したHUB103は、動作起点同期機能106のシミュレーショングループ情報112より、動作起点到達通知したアプリケーション(検証対象ソフトウエアシミュレータ)が検証対象シミュレーショングループであると判断する。そして、検証対象シミュレーショングループは動作起点到達と判断し、動作起点到達情報113を変更する。検証対象シミュレーショングループの同期モジュールは、同期アプリケーション情報を検証対象シミュレーショングループと比較対象シミュレーショングループ及び結果表示手段を含めた全アプリケーションを同期処理対象に変更する。ここで、検証対象シミュレーショングループはシミュレーション時間が一時停止の状態になる。比較対象ソフトウエアがピックアップソレノイド駆動信号へハイレベル信号を出力すると、比較対象ソフトウエアのシミュレータが有している動作起点到達判断機能115が動作起点到達と判断し、HUB103へ動作起点到達通知を行う。動作起点到達通知を受領したHUB103は、動作起点同期機能106のシミュレーショングループ情報112より、動作起点到達通知したアプリケーション(比較対象ソフトウエアシミュレータ)が比較対象シミュレーショングループであると判断する。そして、比較対象シミュレーショングループは動作起点到達と判断し、動作起点到達情報113を変更する。比較対象シミュレーショングループの同期モジュールは、同期アプリケーション情報を同期アプリケーションなしに変更する。S902で、動作起点同期機能106は、動作起点到達情報113をチェックし、検証対象シミュレーショングループと比較対象シミュレーショングループのどちらもが動作起点に到達しているので、S903へ進む。そして、S903で、全アプリケーションで同期をとり、シミュレーション時間を進めてゆく。
The simulation synchronization operation of the present embodiment will be described below with reference to a specific example of the present embodiment.
In step S901, the
なお、本実施例では、動作起点到達判断機能114及び115を検証対象CPUシミュレータ101及び比較対象制御模擬手段102が有している構成で説明を行ったが、HUB103が動作起点到達判断機能114及び115を有していてもよい。その場合には、検証対象CPUシミュレータ101及び比較対象制御模擬手段102は、動作起点到達判断に必要なソフトウエアの制御情報をHUB103へ伝達する機能を有する。
また、検証対象ソフトウエアと比較対象ソフトウエアは異なるソフトウエアであるとして説明を行ったが、検証対象ソフトウエアと比較対象ソフトウエアが同じソフトウエアでもよい。例えば、画像形成装置301の定着器310の温度上昇率が異なるシミュレーションモデルで制御対象物シミュレータ107と108を動作させることがある。これは、定着器310の加熱処理において制御ソフトウエアにおける用紙搬送以外の処理が異なる条件でも、用紙搬送動作に差異がないことを確認する場合である。
In the present embodiment, the operation start point
Although the software to be verified and the software to be compared are different from each other, the software to be verified and the software to be compared may be the same software. For example, the
以上、ソフトウエアの制御情報に変化がある度に、予め定めた動作起点の情報に基づき、動作起点に到達したかを判断し、検証対象シミュレーショングループと比較対象シミュレーショングループとの検証動作起点を同期させる。そして、検証動作について、2つのソフトウエアの制御対象物の動きを重ね合わせて視覚化データを表示する。この構成により、2つの制御ソフトウエアの制御結果である制御対象物の動きの差異を検証することができる。したがって、ソフトウエアの動作検証時に、2つのソフトウエアの動作の違いを認識しやすくなり、ソフトウエア検証の作業効率が向上する。また、2つのソフトウエア動作の違いが認識しやすくなるため、想定外動作の検出率が向上し、ソフトウエア開発工程において後工程への想定外動作の流出防止につながる。 As described above, whenever there is a change in the control information of software, it is determined whether the operation start point is reached based on the information of the operation start point determined in advance, and the verification operation start point of the verification target simulation group and the comparison target simulation group is synchronized. Let Then, in the verification operation, the movement of the control object of the two softwares is superimposed to display the visualization data. According to this configuration, it is possible to verify the difference in the movement of the controlled object which is the control result of the two control software. Therefore, at the time of software operation verification, it becomes easy to recognize the difference between the operation of the two software, and the working efficiency of software verification is improved. In addition, since the difference between the two software operations can be easily recognized, the detection rate of the unexpected operation is improved, which leads to the prevention of the outflow of the unexpected operation to the post process in the software development process.
実施例1では、検証動作の起点がソフトウエアの制御情報を用いて定められていた。しかし、検証動作起点がソフトウエアの制御情報を用いて定義できない場合がある。例えば、ソフトウエアの制御対象物が所定の状態になることが検証動作起点の場合である。そこで、実施例2では、検証装置においてソフトウエアの制御情報ではなく、ソフトウエアの制御対象物の動作を決める情報を用いて検証動作起点を定め、制御対象物の動作を決める情報の変化をトリガに検証動作起点到達の判断を行う。また、検証動作の差異発生を検証装置が自動検出し、差異発生検出後シミュレーション実行を一時停止させる。以下、実施例1との相違点を中心に説明する。 In the first embodiment, the starting point of the verification operation is determined using control information of software. However, there are cases where the verification operation start point can not be defined using software control information. For example, in the case of the verification operation starting point, the control object of software is brought into a predetermined state. Therefore, in the second embodiment, the verification apparatus determines the start point of the verification operation using information that determines the operation of the control object of the software, not the control information of the software, and triggers a change in the information that determines the operation of the control object. The judgment of the verification operation starting point arrival is performed. Further, the verification device automatically detects the occurrence of the difference in the verification operation, and temporarily suspends the simulation execution after the detection of the difference. Hereinafter, differences from the first embodiment will be mainly described.
図11は、実施例2における検証装置の機能構成図である。実施例1の検証装置の機能構成との相違点は、動作起点到達判断機能が、ソフトウエアの制御情報ではなく、ソフトウエアの制御結果としての制御対象物の状態変化から動作起点を検出する点である。このため、動作起点到達判断機能1114、1115は、各々、制御対象物シミュレータ1107及び1108に有する構成となっている。
FIG. 11 is a functional configuration diagram of the verification device in the second embodiment. The difference from the functional configuration of the verification device of the first embodiment is that the action start arrival determination function detects the action start from the change in state of the control object as the control result of the software, not the control information of the software. It is. Therefore, the operation start point arrival determination functions 1114 and 1115 are configured to be included in the
以下、機能構成の相違点の詳細を説明する。
動作起点到達判断機能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の接点ポイントの座標に用紙先端の座標が到達したことを検知して、動作起点到達と判断する。
Hereinafter, the details of the difference in functional configuration will be described.
The action start point arrival determination functions 1114 and 1115 are functions for determining that the action of the control object of software is in a predetermined state as the action start point, and notifying the
FIG. 12 is a setting example of starting point information of verification operation in the case where the arrival of the leading end of the
The
図6の動作起点到達判断機能の処理フローチャートを用いて動作起点到達判断機能1114及び1115の処理を説明する。S601では、動作起点の指定に用いられる部品の動きを決める情報に変化があるかをチェックする。本実施例では、用紙を用いて動作起点を指定しているので、用紙の動きを決める情報に変化があるかをチェックすることになる。前述の通り、制御対象物シミュレータ1107及び1108では、単位時間分の用紙移動量を算出しており、用紙の動きを決める情報として用紙移動量を用いる。用紙移動量がゼロであれば、用紙の動きを決める情報に変化なしと判断し、用紙移動量がゼロ以外であれば、用紙の動きを決める情報に変化ありと判断する。S601で用紙の動きを決める情報に変化ありと判断すると、S602にて、用紙搬送路上での用紙先端位置の座標がレジストローラ712の接点ポイントの座標に到達したかを判断する。
なお、用紙先端の座標がレジストローラ712の接点ポイントより搬送パス710上の下流に位置している場合に、レジストローラに到達と判断する。S602にてレジストローラ712の接点ポイントに用紙先端到達と判断すると、検証動作起点到達をHUB103に通知する(S603)。レジストローラ712の接点ポイントより用紙先端が搬送パス710上の下流に位置しているかの判断は、以下の方法で行う。搬送パス710は前述の通り複数の直線をつなぎ合わせて定義されている。レジストローラ712の接点ポイントが存在する搬送パスを構成する1つの直線上で用紙先端の座標とレジストローラ712の接点ポイントの座標のいずれが直線の終点座標に近いかにより、用紙先端がレジストローラ712より下流に位置しているかを判断する。すなわち、用紙先端の座標とレジストローラ712の接点ポイントの座標のいずれが用紙搬送路の下流側座標との距離が短いかにより、用紙先端がレジストローラ712より下流に位置しているかを判断する。
The processing of the movement start arrival judgment functions 1114 and 1115 will be described using the processing flowchart of the movement start arrival judgment function of FIG. In step S601, it is checked whether there is a change in the information that determines the movement of the component used to specify the operation start point. In this embodiment, since the operation start point is designated using the sheet, it is checked whether there is a change in the information for determining the movement of the sheet. As described above, the
When the coordinates of the leading end of the sheet are located on the downstream of the
結果表示手段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は検証対象シミュレーショングループ及び比較対象シミュレーショングループの時間同期を一時停止する。結果として検証装置全体のシミュレーション時間が一時停止し、検証対象動作の差異発生時点で、シミュレーションを一時停止することができる。
The result display means 1109 has an operation
FIG. 13 is a processing flowchart of the operation
When the operation
以下、本実施例の具体例を挙げて、動作差異検出機能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へ伝達する機能を有する。
Hereinafter, the process of the operation
In this embodiment, although the operation
本実施例では、動作起点を定める部品が用紙であるとして説明を行ったが、動作起点を定める部品は用紙以外の部品でもよい。用紙以外の部品とは、例えばローラであり、ピックアップローラ303がカセット302内にある給紙前の用紙Sと接することを動作起点と定めてもよい。この場合、ピックアップローラの外周が用紙と接すること示すデータで動作起点を設定する。また、動作起点到達時の部品状態を示す情報は、部品自体の動作状態を示す情報でもよく、例えば、用紙Sが停止状態から移動状態になることを動作起点のとして定める。この場合、動作起点到達判断機能1114及び1115は、用紙先端と用紙後端の座標がシミュレーション開始時点での用紙配設位置座標と異なることをチェックすればよい。
In the present embodiment, the description has been made on the assumption that the component for determining the operation start point is a sheet, but the component for determining the operation start point may be a component other than the sheet. The parts other than the sheet are, for example, rollers, and it may be defined that the
以上、検証装置が検証動作の差異を自動検出することで、ソフトウエア検証者がシミュレーション実行開始から終了まで、シミュレーション結果を一部始終チェックせずに、ソフトウエアの想定外動作を発見でき、ソフトウエアの検証工数削減につながる。また、検証動作の差異検出時に、シミュレーション実行を一時停止することで、制御対象物動作の差異発生時点での検証対象ソフトウエア及び比較対象ソフトウエアのソフトウエア実行状況をチェックでき、動作差異の原因を見つけるための工数を削減できる。 As described above, since the verification device automatically detects the difference in the verification operation, the software verifier can discover unexpected operation of the software without completely checking the simulation result from start to finish of the simulation execution. It leads to the reduction of the verification time of the wear. In addition, by temporarily stopping simulation execution when detecting a difference in verification operation, it is possible to check the software execution status of the verification target software and the comparison target software at the time of occurrence of a difference in controlled object operation. The man-hours to find out can be reduced.
画像形成装置で10ページ分の連続印刷を実施し、1ページ目から10ページ目までの用紙搬送動作を、1ページずつの用紙搬送状態の遷移比較ではなく、10ページ分の用紙搬送動作を一連の検証動作として、用紙搬送状態の遷移比較を行う場合がある。例えば、用紙の搬送路上の所定位置到達が検証動作起点の場合、用紙1枚ずつに対して動作起点到達判断機能が動作起点到達と判断するため、10ページ分を一連の用紙搬送動作として比較することができない。
そこで実施例3では、動作起点到達判断の実行にマスクを設け、所定条件下では動作起点判断を実施しない。以下、実施例2との相違点を中心に説明を行う。
Consecutive printing of 10 pages is performed by the image forming apparatus, and the sheet conveying operation from the first page to the 10th page is a series of sheet conveying operations for 10 pages, not the transition comparison of the sheet conveyance state for each page. As a verification operation of (1), transition comparison of the sheet conveyance state may be performed. For example, when arrival at a predetermined position on the sheet conveyance path is the verification operation start point, the operation start point arrival determination function determines that the operation start point is reached for each sheet, so 10 pages are compared as a series of sheet conveyance operations. I can not do it.
Therefore, in the third embodiment, a mask is provided to execute the operation start point determination, and the operation start point determination is not performed under predetermined conditions. The following description will focus on the differences from the second embodiment.
図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の処理は実施しない。
FIG. 14 is a functional configuration diagram of the verification device in the third embodiment. The difference from the functional configuration diagram of the verification device of the second embodiment is that the action start point
Judgment enable / disable
The
Mask start condition: The leading end of the sheet reaches the
The operation start arrival determination functions 1414 and 1415 change whether to execute the process flow of FIG. 6 according to the determination possibility state. If the judgment implementation possibility state is "judgement possible", the process of FIG. 6 is performed, and if the judgment is "impossible to perform", the process of FIG.
図15は、判断実施可否状態決定部1418及び1419の処理のフローである。シミュレーション開始後、判断実施可否状態を判断実施可能に設定する(S1501)。その後、マスク開始条件が成立するかをチェックし(S1502)、マスク開始条件が成立すると、判断実施可否状態を判断実施不可に設定する(S1503)。S1503の後は、マスク解除条件が成立するかをチェックし(S1504)、マスク解除条件が成立するとS1501に戻り、判断実施可否状態を判断実施可能に設定し、以降S1502の処理を続ける。S1502とS1504の処理で、マスク開始条件又はマスク解除条件の成立をチェックする際に、マスク情報1418及び1419を参照する。
FIG. 15 is a flow of processing of the determination execution
画像形成装置で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)とする。このように動作起点到達判断の実行を再び有効とすることで、継続してソフトウエアの検証をおこなうことができる。
When continuous printing of 10 pages is performed by the image forming apparatus, and the sheet conveyance operation from the first page to the 10th page is compared and verified as a series of verification operations, the verification apparatus operates as follows. Here, when making a transition comparison of the sheet conveyance state, it is assumed that the
以上、制御ソフトウエアの検証動作の動作起点到達判断の実施にマスクを設けることで
、本実施例で挙げたようなソフトウエアの制御対象物の一連動作の比較が可能になる。これは、ソフトウエアの制御対象物のさまざまな動作の検証を可能にし、結果、ソフトウエアの検証可能動作の範囲を拡大することができる。
As described above, by providing a mask for performing the determination of arrival of the operation start point of the verification operation of the control software, it is possible to compare a series of operations of the control objects of the software as described in this embodiment. This enables verification of various operations of the software control object, and as a result, the range of software verifiable operations can be expanded.
101…検証対象CPUシミュレータ、102…比較対象制御模擬手段、104…同期手段、106…動作起点同期機能、107…制御対象物シミュレータ、108…制御対象物シミュレータ、109…結果表示手段、111…検証対象ソフトウエア、112…シミュレータグループ情報、114…動作起点到達判断機能、115…動作起点到達判断機能 101 ... verification target CPU simulator, 102 ... comparison control simulation means, 104 ... synchronization means, 106 ... operation starting point synchronization function, 107 ... control object simulator, 108 ... control object simulator, 109 ... result display means, 111 ... verification Target software, 112: Simulator group information, 114: Operation start arrival determination function, 115: Operation start arrival determination function
Claims (17)
前記検証対象ソフトウエアによって制御される制御対象物の動作の変化を解析し、該制御対象物の動作を視覚化する第一の視覚化データを生成する第一の制御対象物シミュレータと、
前記検証対象ソフトウエアによる制御と比較される比較対象の制御機能をシミュレーションする比較制御シミュレータと、
前記比較制御シミュレータによってシミュレーションされる制御機能に基づく前記制御対象物の動作の変化を解析し、該制御対象物の動作を視覚化する第二の視覚化データを生成する第二の制御対象物シミュレータと、
前記第一の視覚化データと、前記第二の視覚化データに基づいて、前記検証対象ソフトウエアによって制御される前記制御対象物の動作と、前記比較制御シミュレータによってシミュレーションされる制御機能に基づく前記制御対象物の動作とを重ね合わせて表示する結果表示手段と、
前記CPUシミュレータと前記第一の制御対象物シミュレータを第一のシミュレーショングループとし、前記比較制御シミュレータと前記第二の制御対象物シミュレータを第二のシミュレーショングループとしたときに、各シミュレーショングループのシミュレーションの結果から、該シミュレーショングループにおけるシミュレーション実行が、前記制御対象物の動作における起点となる動作起点に到達しているか否かを判断する到達判断手段と、
複数の前記シミュレータ間における時間同期を行う同期手段と、
を備え、
前記同期手段は、前記第一及び前記第二のシミュレーショングループのいずれもが前記動作起点に到達したと判断されると、前記第一及び前記第二のシミュレーショングループの間で時間同期を行うよう時間同期の方法を変更する同期変更手段を有することを特徴とするソフトウエア検証装置。 A CPU simulator that simulates the operation of a target CPU on which the software to be verified is executed;
A first controlled object simulator that analyzes a change in the movement of the controlled object controlled by the verification target software and generates first visualization data that visualizes the movement of the controlled object;
A comparison control simulator that simulates the control function of the comparison object to be compared with the control by the verification object software;
A second controlled object simulator that analyzes a change in the movement of the controlled object based on a control function simulated by the comparison control simulator and generates second visualization data that visualizes the movement of the controlled object When,
Based on the first visualization data and the second visualization data, the operation of the controlled object controlled by the verification target software and the control function simulated by the comparison control simulator Result display means for displaying the operation of the control object in an overlapping manner;
When the CPU simulator and the first controlled object simulator are set as a first simulation group, and the comparison control simulator and the second controlled object simulator are set as a second simulation group, the simulation of each simulation group is performed. Arrival determination means for determining whether or not the simulation execution in the simulation group has reached an operation starting point which is a starting point in the operation of the controlled object from the result;
Synchronization means for performing time synchronization among a plurality of the simulators;
Equipped with
The synchronization means is configured to perform time synchronization between the first and second simulation groups when it is determined that both the first and second simulation groups have reached the operation start point. A software verification apparatus characterized by comprising synchronization changing means for changing a method of synchronization.
前記同期手段は、前記第一及び前記第二のシミュレーショングループの前記制御対象物の動作の差異を検出された後は、前記第一及び前記第二のシミュレーショングループを構成する各シミュレータの時間同期を一時停止することを特徴とする請求項12に記載のソフトウエア検証装置。 The result display means notifies the synchronization means of information indicating that a difference in operation of the controlled object of the first and second simulation groups is detected.
After detecting the difference in the operation of the controlled object of the first and second simulation groups, the synchronization means synchronizes the time synchronization of each of the simulators constituting the first and second simulation groups. The software verification device according to claim 12, wherein the software verification is suspended.
前記同期変更手段は、
前記第一及び前記第二のシミュレーショングループのいずれもが動作起点に到達したと判断されるまでは、一つの前記同期モジュールで一つの前記シミュレーショングループ内での時間同期を行い、
前記第一及び前記第二のシミュレーショングループのいずれもが動作起点に到達したと判断された後は、いずれかの前記同期モジュールで、第一及び第二のシミュレーショングループの時間同期を行うよう時間同期の方法を切り替えることを特徴とする請求項1ないし13のいずれか1項に記載のソフトウエア検証装置。 The synchronization means includes a plurality of synchronization modules for performing time synchronization among a plurality of simulators constituting one simulation group,
The synchronization changing means is
One of the synchronization modules performs time synchronization within one simulation group until it is determined that both the first and second simulation groups have reached the operation start point,
After it is determined that both the first and second simulation groups have reached the operation starting point, time synchronization is performed so that time synchronization of the first and second simulation groups is performed in any of the synchronization modules. The software verification device according to any one of claims 1 to 13, wherein the method is switched.
前記同期変更手段は、
前記第一及び前記第二のシミュレーショングループのいずれもが動作起点に到達したと判断されるまでは、前記同期モジュールが各グループ内での時間同期を行い、
前記第一及び前記第二のシミュレーショングループのいずれもが動作起点に到達したと判断された後は、前記統括同期モジュールで前記第一及び前記第二のシミュレーショングループ間の時間同期を行うよう時間同期の方法を切り替えることを特徴とする請求項1ないし13のいずれか1項に記載のソフトウエア検証装置。 The synchronization means includes: a plurality of synchronization modules performing time synchronization among a plurality of simulators constituting one simulation group; and a general synchronization module performing time synchronization among the synchronization modules,
The synchronization changing means is
The synchronization module performs time synchronization in each group until it is determined that both the first and second simulation groups have reached the operation start point,
After it is determined that both the first and second simulation groups have reached the operation start point, time synchronization is performed so that time synchronization is performed between the first and second simulation groups in the general synchronization module. The software verification device according to any one of claims 1 to 13, wherein the method is switched.
前記CPUシミュレータ、前記比較制御シミュレータ、前記第一及び前記第二の制御対象物シミュレータ並びに前記結果表示手段は、前記同期モジュールから指示を受けた所定時間分の処理を終了すると、前記同期モジュールへ実行終了を通知する機能を有し、
前記同期変更手段は、前記第一及び前記第二のシミュレーショングループのいずれか一方が前記動作起点に到達した後に、該動作起点に到達したグループのシミュレーション実行の指示を一時停止し、前記第一及び前記第二のシミュレーショングループのいずれもが前記動作起点に到達した時点で、前記CPUシミュレータ、前記比較制御シミュレータ、前記第一及び前記第二の制御対象物シミュレータ並びに前記結果表示手段へシミュレーションの実行を指示することを特徴とする請求項14又は15に記載のソフトウエア検証装置。 The synchronization module has a function of instructing a simulator to be subjected to time synchronization to execute processing for a predetermined time period,
When the CPU simulator, the comparison control simulator, the first and second controlled object simulators, and the result display unit finish processing for a predetermined time received from the synchronization module, they execute the synchronization module. Has a function to notify the end,
The synchronization changing unit suspends an instruction to execute simulation of a group which has reached the operation start point, after one of the first and second simulation groups has reached the operation start point, and When any of the second simulation group reaches the operation starting point, the CPU simulator, the comparison control simulator, the first and second controlled object simulators, and the result display means execute simulation The software verification device according to claim 14 or 15, wherein the instruction is made.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017188382A JP2019066913A (en) | 2017-09-28 | 2017-09-28 | Software verification apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017188382A JP2019066913A (en) | 2017-09-28 | 2017-09-28 | Software verification apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019066913A true JP2019066913A (en) | 2019-04-25 |
Family
ID=66339644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017188382A Pending JP2019066913A (en) | 2017-09-28 | 2017-09-28 | Software verification apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019066913A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273440A (en) * | 2020-02-13 | 2020-06-12 | 湖南迈克森伟电子科技有限公司 | Target simulator field of view enlarges device |
-
2017
- 2017-09-28 JP JP2017188382A patent/JP2019066913A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273440A (en) * | 2020-02-13 | 2020-06-12 | 湖南迈克森伟电子科技有限公司 | Target simulator field of view enlarges device |
CN111273440B (en) * | 2020-02-13 | 2022-02-11 | 湖南迈克森伟电子科技有限公司 | Target simulator field of view enlarges device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019066913A (en) | Software verification apparatus | |
JP2010128722A (en) | Simulation system, simulation method and program | |
GB2518753A (en) | Sheet binding processing apparatus, image forming system and binding method | |
US20060088323A1 (en) | Design support program and design support method | |
JP5686609B2 (en) | Information processing apparatus and program | |
JP7283181B2 (en) | Image forming apparatus and control program | |
JP5885420B2 (en) | Information processing apparatus and program | |
JP2009120300A (en) | Inspection support method and program | |
JP2020172365A (en) | Image forming apparatus and image forming system | |
JP4054790B2 (en) | Design support program and design support method | |
JP2007179262A (en) | Image formation system, simulated print action achieving method, program, and storage medium | |
JP2008097282A (en) | Sequence control system and sequencer device | |
JP4054792B2 (en) | Design support program | |
JP5939873B2 (en) | Design support apparatus, program, and computer-readable storage medium | |
JP2012032567A (en) | Image forming device, and control program of the same | |
JP7456168B2 (en) | Machine learning method, conveyance device, image forming device, and machine learning program | |
JP2019113936A (en) | Software verification device | |
JP4940457B2 (en) | Design support system, design support method, and design support program | |
JP2006168879A (en) | Planning support program and planning support method | |
JP5475274B2 (en) | Simulation method and information processing apparatus for realizing the same | |
JP5305944B2 (en) | Information processing apparatus, information processing system, and control method thereof | |
JP2015054747A (en) | Sheet feeder and image forming apparatus with sheet feeder | |
JP5340363B2 (en) | Image forming apparatus | |
JP2006110756A (en) | Design support program and method | |
JP2006139479A (en) | Design support program and design support method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20181116 |