JP2005049947A - Simulation device without actual machine - Google Patents

Simulation device without actual machine Download PDF

Info

Publication number
JP2005049947A
JP2005049947A JP2003203205A JP2003203205A JP2005049947A JP 2005049947 A JP2005049947 A JP 2005049947A JP 2003203205 A JP2003203205 A JP 2003203205A JP 2003203205 A JP2003203205 A JP 2003203205A JP 2005049947 A JP2005049947 A JP 2005049947A
Authority
JP
Japan
Prior art keywords
control software
input information
control
actual machine
actual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003203205A
Other languages
Japanese (ja)
Inventor
Akira Muragata
明 村形
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003203205A priority Critical patent/JP2005049947A/en
Publication of JP2005049947A publication Critical patent/JP2005049947A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enable a design of large-sized and complicated control software from its early stage, in a build-in system, and to realize a design of high quality software by arranging a simulation environment without an actual machine which is optimum for debugging. <P>SOLUTION: There are provided a reading part 302 for reading equivalent input information on a controlled object in the build-in system, a processing part 307 for processing the control software according to the input information, a writing part 303 for writing contents processes by the control software, and a judging part 305 for judging the control result of the control software. At least one of the reading part 302, the writing part 303, and the deciding part 305 is partitioned into a fixed part and a variable part, forming a framework. The processing part 307 has a function for executing one process like an actual system. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、例えばディジタルシグナルプロセッサの制御ソフトアウェアのシミュレータに係り、特に制御ソフトウェアの制御対象となる実機がない状態で制御ソフトウェアのシミュレーションを行う実機レスシミュレーション装置に関する。
【0002】
【従来の技術】
例えば複写機にあっては、最近コピー機能のみならずFAX、ネットワーク端末等、ディジタル化、ネットワーク化に伴い組込み系システムの機能が多様化してきている。そして、この組込み系システムの多様化に伴い、そのシステムの制御ソフトウェア(制御プログラム)が大規模化、複雑化になってきている。その結果、制御ソフトウェアの評価、検証に時間をかけることが多くなってきている。
【特許文献1】特開2001−043110公報
【特許文献2】特開平11−053221号公報
【特許文献3】特表平11−513512号公報
【特許文献4】特開平10−320376号公報
【特許文献5】特開平11−149394号公報
【0003】
【発明が解決しようとする課題】
しかしながら、従来においては、一般には組み込み系システムの制御対象であるハードウェアが完成した後に制御仕様が決められ、その制御仕様にしたがって制御ソフトウェアを構築しているので、制御ソフトウェアの設計をハードウェア設計と並行して行なうことができない。このため、ソフトウェア設計の工数を製品設計の納期までに間に合わせることが困難となってきている。
この様なことから、従来では制御ソフトウェアの制御対象となる実機がない状態で、すなわち実機レスの状態で、制御ソフトウェアのシミュレーションを行う提案がある。特許文献1には特にソフトウェアのシミュレーション装置としてプログラムのデバック方法について開示されており、特許文献2には情報処理方法および情報処理装置について開示されており、特許文献3にはディジタル信号プロセッサの製造方法について開示されている。しかし、これらはコンピュータにおけるアプリケーション用プログラムや電気信号やハードウェアを対象としており、組込み系のシステムにあってそのシステムに組込まれている制御ソフトウェアのシミュレーションに適さないのが実情である。殊に、組込み系システムが複雑化している現在では、その制御ソフトウェアに特化した実機レスシミュレーション装置の存在が要請される。
また、本出願人提案の特許文献4に開示されているディジタル信号処理開発システムや特許文献5に開示されている制御ソフトウェア検証方法は、ソフトウェアのシミュレーション環境に関する発明ではあるが、その対象は異なる。
本発明は、上述の問題点に鑑み、組込み系のシステムにあって大規模化、複雑化した制御ソフトウェアの早期段階からの設計を可能とし、且つデバックに最適な実機レスシミュレーション環境を整えて高品質なソフトウェア設計を実現する実機レスシミュレーション装置の提供を目的とする。
【0004】
【課題を解決するための手段】
請求項1の発明は、組込み系システムの制御ソフトウェアのシミュレーション装置であって、前記組込み系システムでの制御対象の等価入力情報を読取る読取り部と、前記制御ソフトウェアが処理した内容を書込む書込み部と、前記制御ソフトウェアの制御結果を判断する判断部と、を有することを特徴とする。
この発明によれば、実機である組込み系システムが無い段階で制御仕様が決定している場合、制御ソフトウェアの早期設計を実現しかつ、不具合が発生したときにその問題に対する最適なデバック情報を提供するシミュレーション環境を構築することができる。また、商品に実装する制御ソフトウェアの不具合を最小限に抑えることができる。
請求項2の発明は、前記読取り部と書込み部と判断部との少なくとも一つが固定/変動部に分かれてフレームワーク化されていることを特徴とする。
この発明によれば、フレームワーク化することによって固定/変動部に分離することによって、制御対象が同じで違う組込み系システムの制御ソフトウェアに1つの実機レスシミュレーション装置を用いる場合、実機レスシミュレーション装置の変更箇所を明確化しかつ変更を最小限にすることができる。
請求項3の発明は、前記処理部は1プロセスを実際のシステムと同様に実行する機能を有することを特徴とする。
この発明によれば、実際の組込み系システムの流れと同様に制御ソフトウェアを実機レスシミュレーション装置が実行することにより実機を用いてデバックする結果と同等の結果を得ることによってデバック効率を増し、商品に実装する制御ソフトウェアの不具合を最小限に抑えることができる。また、商品に実装する制御ソフトウェアの不具合を最小限に抑えることができる。
【0005】
請求項4の発明は、前記等価入力情報の読取り部は、テキストファイルを前記制御ソフトウェアの入力情報とする機能を有することを特徴とする。
この発明によれば、入力情報の読取り部はテキストファイルを制御ソフトウェアの入力情報とすることによって入力情報を可視化し、現在何のデバックをしているのかを明確化することができる。また、テスト内容を変更したい場合も容易に行なえデバック効率を向上させ、商品に実装する制御ソフトウェアの不具合を最小限に抑えることができる。
請求項5の発明は、前記等価入力情報の読取り部は、実際のシステムが存在する場合、CPU−ICEで出力する実際の制御ソフトウェアの入力情報のトレース結果をそのまま前記制御ソフトウェアの入力情報とする機能を有することを特徴とする。
この発明によれば、実際のシステムが存在する場合、CPU−ICEで出力する実際の制御ソフト入力情報のトレース結果をそのまま制御ソフトの入力情報とすることによって入力のテキストファイルを作成する手間を省くことと、正確な入力情報を取得することができる。
請求項6の発明は、前記制御ソフトウェアが処理した内容を書込む書込み部は、前記制御ソフトウェアの制御内容をテキストファイルとして出力する機能を有することを特徴とする。
この発明によれば、制御ソフトが処理した内容の書込み部は制御ソフトウェアの制御内容をテキストファイルとして出力することによって、出力結果を可視化することによってデバック効率を増し、商品に実装する制御ソフトウェアの不具合を最小限に抑えることができる。
【0006】
請求項7の発明は、前記制御ソフトウェアの制御結果を判断する判断部は、期待値または前回の出力結果と比較する機能を有することを特徴とする。
この発明によれば、制御ソフトウェアの制御結果の判断部は前回の出力結果と比較することによって制御ソフトウェアの変更により出力結果の変化の特定が容易に行なえ、その変更が正しいかどうか判断を明確化させ、商品に実装する制御ソフトウェアの不具合を最小限に抑えることができる。
請求項8の発明は、前記制御ソフトウェアが処理した内容を書込む書込み部は、実機の制御対象に外部から入力手段がある場合、前記制御ソフトウェアの処理結果を前記外部からの入力手段のフォーマットに変換する機能を有することを特徴とする。
この発明によれば、制御ソフトウェアが処理した内容の書込み部は実機の制御対象に外部から入力手段がある場合、制御ソフトウェアの結果をその入力手段のフォーマットに変換することによって、シミュレーション結果が実際の組込み系システムで動作するかデバックすることができ、テスト検証の結果をシステム動作で確認し、商品に実装する制御ソフトウェアの不具合を最小限に抑えることができる。
請求項9の発明は、外部入力情報を保存する機能を有することを特徴とする。
この発明によれば、外部入力情報を実機レスシミュレーション装置が保存することによって実際の制御ソフトウェアを実機環境と実機レスシミュレーション環境で変えることなく実装でき、環境を変えるたびに制御ソフトウェアを変更する手間を省くことができる。また、情報が必要なとき入力のテキストファイルから情報を得るのではなく、内部メモリに保存することによってシミュレーション実行効率を向上させる。
請求項10の発明は、複数の機能を1つの実機レスシミュレーション環境で実現することを特徴とする。
この発明によれば、複数の機能を1つの実機レスシミュレーション環境で実現することによってデバック効率を向上し、商品に実装する制御ソフトウェアの不具合を最小限に抑えることができる。
請求項11の発明は、入力情報が追加されるたびにその期待値を保持し、以前の期待値も含めすべての結果を比較する機能を有することを特徴とする。
この発明によれば、入力情報が追加されるたびにその期待値を保持し、以前の期待値も含めすべての結果を比較する機能を有することによって新規設計で以前設計した結果が異なるか確認でき、商品に実装する制御ソフトウェアの副作用的な不具合を最小限に抑えることができる。
【0007】
【発明の実施の形態】
以下、図を参照して本発明の実施形態を説明する。
図1は、本実施形態の実機レスシミュレーション装置のための組込み系システムと制御ソフトウェアとの関係を示す。例えば複写機にあっては、前述したようにコピー機能のほかFAXやインターネット端末などがあり、この制御対象(図1での対象A、B…Zに対応する)に対してそれぞれ制御ソフトウェア102が存在し、この制御ソフトウェア102に対し操作部101からの情報により制御内容が決定される。この場合、操作部101では、ユーザが種々の設定を行いかつこの設定した内容を管理する。
そして、実機レスシミュレーションにあっては、この制御ソフトウェアの1つを対象として行なう。実機レスシミュレーションでは、仮想的に操作部101にて作成した情報を入力とし、その情報を元に例えば対象Aのパラメータ設定を行い、制御ソフトウェアの処理後は制御結果を例えば期待値等と比較し評価する。
【0008】
図2は、実機レスシミュレーション装置201と対象Aの制御ソフトウェア102との関係を示す。シミュレーション装置は、組込み系制御ソフトウェアをパーソナルコンピュータ(PC)上のシミュレーション環境で実行するものである。この場合、入力情報としては、仮想的な操作部101からの連続的な設定値情報であり、この入力情報の個数と順番情報とが実機レスシミュレーション装置201に入力される。実機レスシミュレーション装置201は、この入力情報を読取り、操作部101で設定したような変換が行われる。対象Aの制御ソフトウェア102は、その実機レスシミュレーション装置201が設定した値をあたかも操作部101が設定した値と同様に読取り、処理を実行する。そして、実行結果は、実機レスシミュレーション装置201に返され、その実行結果をテキストに変換して出力する。この場合、実機レスシミュレーション装置201は、期待値や前回のシミュレーション結果がある場合、今回の結果と比較を行い、その違いを出力する。評価者はその出力情報をもとにデバック、評価する。
【0009】
図3は、本実施形態による実機レスシミュレーション装置201の構成をフローチャート形式で示す。入力情報のテキストファイル301とシナリオファイル309を順に入力情報の読取り部302に入力し、処理部307にて組込み系制御ソフトウェア102の処理を行い、制御ソフトウェア102が処理した内容は、書込み部303にて書込み処理をして出力情報のテキストファイル304を出力する。次に、制御ソフトの制御結果の判断部305では、その出力情報のテキストファイル304と前回のシミュレーション結果等の期待値308を入力として判断し、判断結果306を出力し処理を終了する。ここで、実機レスシミュレーションを構成する構成要素は、入力情報の読取り部302、処理部307、制御ソフトウェアが処理した内容の書込み部303、制御ソフトウェアの制御結果の判断部305からなり、組込み系制御ソフトウェア102の処理部307にシミュレーションしたい制御ソフトウェアのソースを組込む。
【0010】
図4は、実際に用いた入力情報のテキストファイル301を示す。これは、複写機のIPU(画像処理ユニット)ボード内の画像処理を行なうDSP(ディジタルシグナルプロセッサ)制御ソフトウェア102のシミュレーションに用いた入力情報のテキストファイル301の1部である。「//」で始まる文は無効文として改行コードまで読み飛ばし、順番を示す番号0番から8番までのパラメータを示している。この番号を元に入力情報の読取り部302は入力情報を判断し読取る。0行の2列目の数字は実際のパラメータの値で、ここではアプリタイプを0のコピーモードであることを示している。このようにして、8行の8番目までのパラメータが入力され得る。
【0011】
図5は、実際に用いたシナリオファイル309を示す。この図5に示すシナリオファイル309は、複写機のIPUボード内の画像処理を行なうDSP制御ソフトウェア102のシミュレーションに用いた入力情報のテキストファイル301(図4)を特定するために実機レスシミュレーション装置201に入力した1部である。「//」以降の文の内容はコメントとして無視し、改行コードまで読み飛ばし、入力情報のテキストファイル301のファイル名を示す。ここでは、評価者がこのシナリオファイル309を見てどのようなシナリオをデバックしているのか、視覚的に理解しやすいようにコメント機能がついている。図5では、実機レスシミュレーション装置201が入力情報として取得しているのは、上から順に「rapifile0.txt」、「rapifile1.txt」…「rapifile12.txt」のファイル名の内容で、その入力情報のテキストファイル301に対し読取りを開始していく。実機レスシミュレーション装置201はこのシナリオファイル309の情報により入力情報のテキストファイル301の数と順番の特定を行なう。このシナリオファイル309の情報に従って順次入力情報の読取り部302は読取りを実行していくことになる。
【0012】
次に、図3に戻り、入力情報のテキストファイル301から入力情報の読取り部302が入力情報を抽出する。読取り部302での処理内容は、実際の組込み系システムの操作部101が値を設定するように構造体に実際のパラメータの値を代入する。図4の例では、入力情報のテキストファイル301の1列目の順番を示す値を列挙型としてenum宣言し、2列目の実際のパラメータを組込み系システムの操作部101が設定しているように構造体に代入する。
シミュレーションしたい制御ソフトウェア102はこの設定値を実機と同様に参照し、制御対象に対し、設定を行なっていく。入力情報の読取り部302は入力情報のテキストファイル301の読み出し処理以外に、組込み系システムと同様の処理手順で制御ソフトウェア102の処理を実行する関数を呼び、制御ソフトウェア102の処理を行なう。シミュレーション上では制御対象がないのでコンパイルスイッチによって制御ソフトウェア102が処理した内容の書込み部303が起動し、出力情報のテキストファイル304に変換して出力する。処理内容は、制御対象の持つメモリの内容を実機レスシミュレーション装置201内で定義した配列として保持し、制御ソフトウェア102が指定するアドレスと制御内容をその配列に保存し、制御ソフトウェア102の一連の処理終了後、出力情報のテキストファイル304として出力する。
【0013】
図6は、実際に用いた出力情報のテキストファイル304を示す。これは、制御ソフトウェア102の制御対象であるDSPのメモリ内容の一部である。すべて16進数でメモリのC000番地から順に設定値を示している。制御ソフトウェア102が処理した内容の書込み部303は、このフォーマットの出力情報のテキストファイル304を出力する。制御ソフトウェア102の制御結果の判断部305は、この出力情報のテキストファイル304と期待値(または以前の処理結果)とをメモリ内容にて比較し、完全に一致すればOKを、違う部分を発見したらNGと判断して判断結果306を出力する。この機能により、期待値との比較、処理を変えたことへの変更内容を確認する。
こうして、実機である組込み系システムが無い段階で制御仕様が決定している場合でも制御ソフトウェアの早期設計を実現しかつ、不具合が発生したときにその問題に対する最適なデバック情報を提供するシミュレーション環境を構築することができる。また、通常の組込み系システムの使われ方である連続動作に実機レスシミュレーション装置201が対応することによって、連続設定のみに起こるような不具合も含めて保証し、商品に実装する制御ソフトウェア102の不具合を最小限に抑えることができる。
【0014】
以上の説明は、実機レスシミュレーション装置201について、組込み系システムである複写機のIPUボード内の画像処理を行なうDSPを制御対象にした場合の制御ソフトウェア102のシミュレーションを例にした。この場合、機種の変動、制御対象の変動などが生じた場合、この変動によって変更する部分あるいは変更しない部分をフレームワーク化して処理することが可能である。すなわち、実機レスシミュレーション装置201では、固定/変動を明確化したフレームワーク構造のアーキテクチャで実装した。図7は、図3の実機レスシミュレーション装置201のフレームワーク化を示す。図7では、入力情報のテキストファイル301とシナリオファイル309の入力情報の読取り部302と、制御ソフトウェア102が処理した内容の書込み部303の一部が変動部である。
実際の複写機のIPUボード内の画像処理を行なうDSP制御ソフトウェア102では、機種ごとで操作部101が変わることになるので、設定される値と制御ソフトウェア102が参照する値が異なる。処理部307にて処理を実行するために必要な入力情報のテキストファイル301同様その情報を読取る入力情報の読取り部302も機種ごとに変動する。但し、変動するといっても全機種の設定に間に合う構造を作る場合には、必要な項目のみ設定すれば、追加の変更をせず入力テキストファイル301に対応した入力情報の読取り部302を設定するだけで実現できる。制御ソフトウェア102が参照していない値でも全機種で読取る構造を作っておけば、機種固有の制御ソフト307が設定に必要な値のみ注意して設定すれば全機種、同一入力で実現できる。
【0015】
また、制御ソフトウェア102が処理した内容の書込み部303は、制御ソフトウェア102の制御対象が変わる場合、変動部となる。全機種同一のDSPという同じ制御対象とすれば、書き込み部303も固定部となり変更することはなかった。しかし、制御対象がASIC等のDSPとは異なる対象になればその対象に対応した出力に変更しなければならなくなる。しかし、制御ソフトウェア102が処理した内容の書込み部303が変動するといっても、全体的な変更はない。制御対象の情報を実機レスシミュレーション内に定義し、シミュレーションしている制御ソフトウェア102の制御対象を判断する手段を設ければよい。この手段は、コンパイルスイッチまたは1変数で可能である。実機レスシミュレーション装置は、その値を参照し、制御対象にあった出力にするために、制御ソフトウェア102が処理した内容の書込み部303で処理内容を変え、出力内容を変えることができる。このようにあらゆる制御対象のバリエーションを用意しておけば、入力テキストファイル301で制御対象を読取り、制御ソフトウェア102が処理した内容の書込み部303で処理内容を変える構造を作成すれば、固定部として意識しなくても制御対象に適した出力をする実機レスシミュレーション装置201になる。
このようにフレームワーク化することにより固定/変動部に分離することによって、制御対象が同じで違う組込み系システムの制御ソフトに1つの実機レスシミュレーション装置を用いる場合、実機レスシミュレーション装置201の変更箇所を明確化しかつ変更を最小限にすることができる。
【0016】
図8は、入力情報の読取り部302の処理内容を示す。本実施形態にて実装した実機レスシミュレーション装置201の入力情報の読取り部302は、入力情報の読取り処理701、入力情報の判断702、入力情報に従った制御ソフトウェアの実行703とからなる。このうち、入力情報の読取り処理701は、前述の変動部である。まず、この処理で入力情報のファイル301を特定するためシナリオファイル309を読込む。その情報を元に入力情報の読込み処理をループさせ、連続読取り動作を実現する。入力情報の読取り処理は、前後の入力情報に影響なく決定された1入力情報のテキストファイル301に従って下流処理を実行させる。
入力情報に従った制御ソフトウェア実行703のための制御ソフトウェア102の実行シーケンス決定には、入力情報のテキストファイル301の設定値に制御のシーケンスを決定するためのパラメータがあり、その情報をもとに入力情報の判断702が行われる。入力情報の読取り処理701で、入力情報のテキストファイル301の内容を実際の操作部101が設定する構造体内に代入し、入力情報の判断702は、制御のシーケンスを決定するためのパラメータを参照し、制御ソフトウェア102に実行させる処理を変える。入力情報に従った制御ソフトウェア実行703では、入力情報の判断702が決定したシーケンスに沿って制御ソフトウェア102を実行させる。
この機能によってシステムが出来ていない開発の初期段階で制御ソフトウェア102の先行開発ができ、組込み系システムと同様に処理を実現し、その確認ができる。本実施形態では制御ソフトウェア102を実行するタイミングについて厳密な仕様がなく、タイミング制御を含んでいないが、タイミングが重要になるような組込み系システムの制御ソフトウェア102の場合、入力情報に従った入力情報の判断702と制御ソフトウェア実行703により、実際の組込み系システムと類似したタイミングで制御ソフトウェア102に処理を実現させることが可能である。
こうして、実際の組込み系システムの流れと同様に制御ソフトを実機レスシミュレーション装置201が実行することにより実機を用いてデバックする結果と同等の結果を得ることによってデバック効率を増し、商品に実装する制御ソフトウェア102の不具合を最小限に抑えることができる。また、通常の組込み系システムの使われ方である連続動作に実機レスシミュレーション装置201が対応することによって、連続設定のみに起こるような不具合も含めて保証し、商品に実装する制御ソフトウェア102の不具合を最小限に抑えることができる。
【0017】
図9は、入力情報の読取り部302の実際の例を示し、入力情報のテキストファイル301のフォーマットにて(a)は図4に対応する順番を示すenum宣言、(b)は図4に対応するパラメータを示す。図4での入力情報のテキストファイル301の1列目に書いてある順番を示す値を、入力情報のテキストファイル301の1列目の順番を示す値のenum宣言で実機レスシミュレーション装置201内に定義しておく。ここでは、機種ごとで用いるパラメータが異なるので変動部となる。入力するパラメータ情報が変わり追加や削除された場合、その変更に沿ってこのenum宣言の内容も変更する。また、enum宣言の内容と入力テキストファイル301で対応が取れている場合は、図4の入力テキストファイル301の1列目に書いてある順番を示す値は必ずしも0から順番どおりでなくてもよい。
図9(b)は、実際に用いた入力情報のテキストファイル301の2列目のパラメータ代入部である。この図9(b)にて、DataIdが入力情報のテキストファイル301の1列目の順番を示す値で、SDataが入力情報のテキストファイル301の2列目に書いてある実際のパラメータを示す値に対応する。enum宣言で定義したケースに分け、FilePtr(操作部101が設定する構造体)に入力テキストファイルの情報を代入する。こうして、実機レスシミュレーション装置201は、入力情報を取得できる構造を有することになる。こうして、シナリオファイル309に従ってこの入力情報の読取りから始まる一連の制御ソフトウェア102の制御結果の判断までの処理を繰り返す。
こうして、入力情報の読取り部302は、テキストファイルを制御ソフトウェアの入力情報とすることによって入力情報を可視化し、現在何のデバックをしているのかを明確化することができる。また、テスト内容を変更したい場合も容易に行なえデバック効率を向上させ、商品に実装する制御ソフトウェア102の不具合を最小限に抑えることができる。また、通常の組込み系システムの使われ方である連続動作に実機レスシミュレーション装置201が対応することによって、連続設定のみに起こるような不具合も含めて保証し、商品に実装する制御ソフトウェア102の不具合を最小限に抑えることができる。
【0018】
図10は、CPU−ICE(CPUインサーキットエミュレータ)による変数のログファイルを例示する。このログファイルは、実機環境でメモリアドレス00414204にマッピングされた1変数に対し、書込みが行なわれたときにその値と時間をトレースしたものである。この図10は実際の値であり、CPU−ICEによって出力されるフォーマットは異なる。図10のようなフォーマットの場合、このログファイルを入力情報のテキストファイル301として扱う。入力情報として有効なものは、数字から始まる行で、それ以外である「*」「=」は無効文とする。また、数字から始まる行も2列目の値はこの変数がマッピングされているメモリアドレス値で特に入力情報としては不要なので読み飛ばし、3列目の値を実際のパラメータとして抽出する。図4のように手動で入力情報のテキストファイル301を書いたものは1、2列目が有効な情報であるのに対し、図10のようなCPU−ICEのトレース情報を入力情報のテキストファイル301とする場合は、入力情報の読取り部302は1、3列目が有効な情報として操作部101が設定する構造体に代入するように修正する。
【0019】
実機環境でCPU−ICEを用いてトレースする場合、図9(a)に示す入力情報のテキストファイル301の1列目の順番を示す値のenum宣言の順番と同様にCPU−ICEがトレースしている変数に書込み、ログファイルを作成しなくては実機レスシミュレーション装置201内で定義しているenum宣言と対応が取れないため、必ず一致させる必要がある。対応していない場合は、操作部101の構造体の異なる場所に入力情報を代入してしまので、正しいシミュレーション結果が得られなくなる。また、シナリオファイル309に記述する入力情報のテキストファイル301名と同様のファイル名にCPU−ICEによる変数のログファイル名を出力するか、出力後に変更する必要がある。
こうして、実際のシステムが存在する場合、CPU−ICE等で出力する実際の制御ソフトウェア入力情報のトレース結果をそのまま制御ソフトウェア102の入力情報とすることによって入力のテキストファイルを作成する手間を省くことと、正確な入力情報を取得することができる。また、通常の組込み系システムの使われ方である連続動作に実機レスシミュレーション装置201が対応することによって、連続設定のみに起こるような不具合も含めて保証し、商品に実装する制御ソフトウェア102の不具合を最小限に抑えることができる。
本実施形態で実装した実機レスシミュレーション装置201は、図6の最終メモリマップ内容である出力情報のテキストファイル304と、制御ソフトウェア102が設定した順番に書込んだ内容をトレースした結果を示す出力情報のトレースファイル1001を、制御ソフトウェア102が処理した内容の書込み部303にて出力する。図11は、制御ソフトウェア102が制御対象に書込んだ内容のトレース結果の例を示す。出力情報のトレースファイル1001である図11は、書込んだ内容とその順番という書込みの時間を示す。この出力情報のトレースファイル1001によりデバック時は、正しい設定か、または同一の設定を重複して行なっていないかを調べる。
【0020】
図12に制御ソフトウェア102の差分管理の例を示す。この図12では、3回の設定の様子を示した例である。まず、1回目に操作部101の設定値Aをして、その設定値Aを参照し、そのときの制御内容を制御対象のメモリ内に設定する。今回の設定がAということを差分情報1601に保存する。2回目の設定からはこの差分情報も参照する。2回目の設定では1回目と同様操作部101の設定値がAの場合、差分情報と差異がなく、制御対象に設定を行なわない。3回目の設定では、操作部101の設定がBに変わり、差分情報と差異があるので制御対象内のメモリに設定Bの内容を設定する。1回目同様に今回の設定がBということを差分情報1601に保存する。
制御ソフトウェア102がこのような差分管理する場合、1回のシミュレーション結果では差分管理が正しく行なわれているか判断することができない。制御ソフトウェア102がこのような差分管理を行なっていて今回の設定内容が前回と同じと判断し設定を行なわない場合、このようなトレース情報によるデバックを行ない差分管理が正しく機能しているか判断する。トレース情報もテキスト化し、可視化することによってデバック効率を向上させる。制御ソフトウェア102の制御対象が複数存在する場合は、それぞれの制御対象に最終メモリマップファイルである出力情報のテキストファイル304、出力情報のトレースファイル1001に分け、1つの制御対象に対し2ファイルを出力する。これらのファイルは、制御ソフトウェア102が処理した内容の書込み部303の出力である。
このように、制御ソフトウェア102が処理した内容の書込み部303は、制御ソフトウェアの制御内容をテキストファイルとして出力することによって、出力結果を可視化することによってデバック効率を増し、商品に実装する制御ソフト307の不具合を最小限に抑えることができる。
【0021】
図13は、実際に用いたシミュレーション結果判断ファイル1101を示す。このシミュレーション結果判断ファイル1101は、制御ソフトウェア102が処理した内容の書込み部303が出力する、出力情報のテキストファイル305である最終メモリマップファイルと、出力情報のトレースファイル1001と期待値、もしくは前回の出力結果と制御ソフトの制御結果の判断部305が比較してその結果を示したファイルである。このシミュレーション結果判断ファイル1101は、実際に用いた制御対象が4つの例で、それぞれDEV0(デバイスの略)からDEV3である。図13(a) の出力情報のテキストファイル305である最終メモリマップファイルと、出力情報のトレースファイル1001ともに一致した結果で、図13(b)の出力情報のトレースファイル1001とDEV0の出力情報のファイル304である最終メモリマップファイルの結果が不一致になった例を示している。このように制御ソフトの制御結果の判断部305で判断出力することによってどの場所で不一致が生じたか特定することが容易になる。
こうして、制御ソフトウェア102の制御結果の判断部は前回の出力結果と比較することによって制御ソフトウェア102の変更により出力結果の変化の特定が容易に行なえ、その変更が正しいかどうか判断を明確化させ、商品に実装する制御ソフトウェア102の不具合を最小限に抑えることができる。
【0022】
図14は、制御対象であるデバイスに直接設定可能なシミュレータ1201のフォーマット変換の手順を示す。実機レスシミュレーション装置201は、実機がなくまた制御対象がない場合、その制御ソフトウェア102を先行開発するためにPC上で仮想的に組込み系システムの動作をさせ、そのときの制御ソフトウェア102の処理結果を確認するのに対し、デバイスに直接設定でいるシミュレータ1201は制御対象につなぎ直接設定したいアドレスと値をPCにインストールしたアプリケーションから設定させるものである。実機レスシミュレーション装置201はそのデバイスに直接設定可能なシミュレータ1201のフォーマットに合った出力情報のトレースファイル1001を出力する。図14のフォーマットは、その1例である。このフォーマットでは、「MemoryChange」命令とアドレスとそのアドレスに設定したい値を書く。デバイスに直接設定可能なシミュレータ1201は、その実機レスシミュレーションがフォーマットに合わせて出力した出力情報のトレースファイル1001を入力として、制御対象であるデバイスに外部から直接設定する。組込み系システムが動作する場合、実機レスシミュレーション装置201によるシミュレーション結果を直接用いて実機確認させることができ、シミュレーション結果の実機出力が確認できる。実機の有無両方の側面からデバックすることに役立つ。
制御ソフトウェア102が処理した内容の書込み部303は、実機の制御対象に外部から入力手段がある場合、制御ソフトウェア102の結果をその入力手段のフォーマットに変換することによって、シミュレーション結果が実際の組込み系システムで動作するかデバックすることができ、テスト検証の結果をシステム動作で確認し、商品に実装する制御ソフトウェア102の不具合を最小限に抑えることができる。
【0023】
図15は、操作部101が設定する構造体の内部宣言を示す。入力情報の読取り部302の読取りを開始する前にこの宣言をしておき、実機レスシミュレーション装置201内で定義したstatic IFILE_t Ifileに対して入力情報のテキストファイル301の情報を代入していく。PCは組込み系システムと違いメモリ量は多く制約も少ないと考えられるので内部宣言し、その値を制御ソフトウェア102が参照し、制御対象への制御内容を決定して制御する。制御ソフトウェア102のソースを実機環境と実機レスシミュレーション環境で変更することがなくなるので、実際の組込み系のシステムと同等の動作ができる。制御ソフトウェア102は操作部101が設定したものか、実機レスシミュレーション装置201が設定したか意識することなく、IFILE_t Ifile構造体を参照し設定できる。
外部入力情報を実機レスシミュレーション装置201が保存することによって実際の制御ソフトウェア102を実機環境と実機レスシミュレーション環境で変えることなく実装でき、環境を変えるたびに制御ソフトウェア102を変更する手間を省くことができる。また、情報が必要なとき入力のテキストファイルから情報を得るのではなく、内部メモリに保存することによってシミュレーション実行効率を向上させる。
【0024】
図16は、多機能化を実現した実機レスシミュレーション装置201を示す。実機レスシミュレーション装置201にて、入力は入力情報のテキストファイル301とシナリオファイル309、出力は出力情報のテキストファイル304、出力情報のトレースファイル1001、シミュレーション結果のファイル出力であるシミュレーション結果判断ファイル1101、制御対象であるデバイスに直接設定可能なシミュレータ1201のフォーマットに変換したファイル出力機能を実現した。これらの機能は競合することはなく、1つの装置に機能を追加して多機能化することができる。こうすることによって複数の1機能しかない実機レスシミュレーション装置201を何度も起動し複数の結果を得るのではなく、1つの実機レスシミュレーション装置201で複数のシミュレーション結果を得ることができ総合的な情報を用いてデバックできる。
複数の機能を1つの実機レスシミュレーション環境で実現することによってデバック効率を向上し、商品に実装する制御ソフトウェア102の不具合を最小限に抑えることができる。
【0025】
図17は、制御要求仕様追加時の実機レスシミュレーション装置の動作例を示す。図17(a)に示されるように制御要求仕様1に従ったシナリオ1を作成し、テスト環境構築後、ソフトを実装して、検証する。外部入力である制御要求仕様1の期待値1と結果が一致せずNGの場合、もう一度実装をやり直す。制御要求仕様1の期待値1と一致の場合テストに合格したので実装OKとなる。
図17(b)は、(a)の制御要求仕様1が実装され新たに制御要求仕様2を実装する例を示している。まず、制御要求仕様2のシナリオ2と期待値2を作成する。制御要求仕様2のために、テスト環境構築後、ソフトを実装して、検証する。ここでのテスト検証は、まず先ほどの外部出力である制御要求仕様1のシナリオ1をテストにかけ期待値1と比較する。次に今回加わった外部入力である制御要求仕様2のシナリオ2をテストにかけ期待値2と比較する。テストの合格基準は、この追加されたシナリオを含め登録されているすべてのシナリオの結果が期待値と一致しているかを比較し、1つでも不一致があれば不一致のシナリオを示し、NGを示し、実装をやり直す。すべてのシナリオが完全に一致すれば実装OKとなる。
このように制御要求仕様が追加されるたびにシナリオが増え、実機レスシミュレーション装置201が蓄積した以前のシナリオを含めすべてのシナリオをテストし、ソフト実装の合格判定に用いる。
入力情報が追加されるたびにその期待値を保持し、以前の期待値も含めすべての結果を比較する機能を有することによって新規設計で以前設計した結果が異なるか確認することによって、商品に実装する制御ソフトウェア102の副作用的な不具合を最小限に抑えることができる。
【0026】
【発明の効果】
請求項1の発明によれば、実機がなく制御ソフトウェアの設計ができない段階でもソフトウェア設計ができ、かつ実機レスシミュレーション上によりデバックもできる。また、通常の組込み系システムの使われ方である連続動作に実機レスシミュレーション装置が対応することによって、連続設定のみに起こるような不具合も含めて保証し、商品に実装する制御ソフトウェアの不具合を最小限に抑えることが可能になる。
また、操作部からの複数の入力の組み合わせに対し、すべてをシミュレーション環境で検証できるので、すべての入力の組み合わせによる実機検証が難しい商品に対し、テスト検証によって動作が保証された商品を提供することができる。今までの機能に追加して新しい機能を追加した商品に対しては、今までの機能は同じシミュレーション環境で検証できるのでシミュレーション装置を変更せずテスト検証すれば、商品の動作が保証され、さらに新しい追加機能についても検証条件を追加すればテスト検証が可能になり高機能化による複雑化する製品に対しても追加機能をテストしていくことによってすべての動作を保証できる。
請求項2の発明によれば、制御対象が同じ場合、変動する入力部のみを組込んでいる制御ソフトウェアに対応させるだけで実機レスシミュレーション上で構築できる。また、制御対象が異なる場合でも、書込み部をそのフォーマットに変更するだけで対応できるので変更点が明確化する。
請求項3の発明によれば、実機レスシミュレーション上で実際のシステムと同等の動作を制御ソフトウェアに行なわせることができ、組込み系制御ソフトウェアをPC上でデバックでき、デバック効率は向上する。テスト検証は容易に行なえかつ充実したデバック情報を出力するので、商品に組み込まれる制御ソフトウェアは向上し、不具合の混入を最小限に抑えることが可能になる。また、入力の組み合わせが多くなる商品に対しシミュレーション環境ですべての結果をテスト検証できる。追加機能に対してもテスト検証項目を追加するだけで今までの機能を含め商品の動作が保証できる。
【0027】
請求項4の発明によれば、入力をテキスト化することによって、可視化できかつ入力情報の読込みも容易に行なえることができる。テスト検証は容易に行なえかつ充実したデバック情報を出力するので、商品に組み込まれる制御ソフトウェアは向上し、不具合の混入を最小限に抑えることが可能になる。また、入力の組み合わせが多くなる商品に対しシミュレーション環境ですべての結果をテスト検証できる。追加機能に対してもテスト検証項目を追加するだけで今までの機能を含め商品の動作が保証できる。
請求項5の発明によれば、実際のシステムの入力結果がそのまま入力情報になり、デバック時の入力情報を書くテキストファイル作成の手間が省ける。
請求項6の発明によれば、実機レスシミュレーション装置の出力をテキスト化することによって制御ソフトウェアの制御内容が可視化でき、デバック効率は向上する。また、テスト検証は容易に行なえかつ充実したデバック情報を出力するので、商品に組み込まれる制御ソフトウェアは向上し、不具合の混入を最小限に抑えることが可能になる。
また、入力の組み合わせが多くなる商品に対しシミュレーション環境ですべての結果をテスト検証できる。追加機能に対してもテスト検証項目を追加するだけで今までの機能を含め商品の動作が保証できる。
請求項7の発明によれば、前回との結果の差分比較や、制御ソフトウェア変更による結果の変更点の特定が容易になり、制御ソフトウェアの変更による予期しない副作用を防ぐので、商品に組み込まれる制御ソフトウェアは向上し、不具合の混入を最小限に抑えることが可能になる。
また、入力の組み合わせが多くなる商品に対しシミュレーション環境ですべての結果をテスト検証できる。追加機能に対してもテスト検証項目を追加するだけで今までの機能を含め商品の動作が保証できる。
【0028】
請求項8の発明によれば、実際のシステム環境で制御ソフトウェアの結果である実機レスシミュレーションの出力を書込むことができるのでデバックすることができるので、商品に組み込まれる制御ソフトウェアは向上し、不具合の混入を最小限に抑えることが可能になる。
また、入力の組み合わせが多くなる商品に対しシミュレーション環境ですべての結果をテスト検証できる。追加機能に対してもテスト検証項目を追加するだけで今までの機能を含め商品の動作が保証できる。
請求項9の発明によれば、入力情報を実機レスシミュレーションが保存することにより何度も読込むこともなくかつ実際の制御ソフトウェアに影響させないで実現できる。
請求項10の発明によれば、1つの実機レスシミュレーションで多機能化を実現でき、デバック効率は向上するので、商品に組み込まれる制御ソフトウェアは向上し、不具合の混入を最小限に抑えることが可能になる。また、入力の組み合わせが多くなる商品に対しシミュレーション環境ですべての結果をテスト検証できる。追加機能に対してもテスト検証項目を追加するだけで今までの機能を含め商品の動作が保証できる。
請求項11の発明によれば、入力情報が追加されるたびにその期待値を保持し、以前の期待値も含めすべての結果を比較する機能を有することによって、商品に実装する制御ソフトウェアの副作用的な不具合を最小限に抑えることを可能になる。また、連続動作の検証も含め入力の組み合わせが多くなる商品に対しシミュレーション環境ですべての結果をテスト検証できる。追加機能に対してもテスト検証項目を追加するだけで今までの機能を含め商品の動作が保証できる。
【図面の簡単な説明】
【図1】組込み系システムと制御ソフトの関係を示す模式図。
【図2】実機レスシミュレーション装置と対象Aの制御ソフトの関係を示す模式図。
【図3】実機レスシミュレーション装置の構成図。
【図4】入力情報のテキストファイルの具体的説明図。
【図5】シナリオファイルの具体的説明図。
【図6】出力情報のテキストファイルの具体的説明図。
【図7】実機レスシミュレーション装置のフレームワーク化を示す構成図。
【図8】入力情報の読取り部の処理内容を示す模式図。
【図9】入力情報の読取り部の具体的説明図。
【図10】CPU−ICEによる変数のログファイルの具体的説明図。
【図11】出力情報のトレースファイルの具体的説明図。
【図12】制御ソフトの差分管理の説明図。
【図13】シミュレーション結果判断ファイル1101の具体的説明図。
【図14】デバイスに直接設定可能なシミュレータ1201のフォーマット変換の手順説明図。
【図15】操作部101が設定する構造体の内部宣言の説明図。
【図16】多機能化を実現した実機レスシミュレーション装置の模式図。
【図17】制御要求仕様追加時の実機レスシミュレーション装置の動作説明図。
【符号の説明】
101 操作部
102 制御ソフトウェア
201 実機レスシミュレーション装置
301 入力情報テキストファイル
302 読取り部
303 書込み部
304 出力情報テキストファイル
305 判断部
306 判定結果
307 処理部
308 期待値
309 シナリオファイル
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a control software-aware simulator for a digital signal processor, for example, and more particularly to a real machine-less simulation apparatus that performs simulation of control software in the absence of a real machine to be controlled by the control software.
[0002]
[Prior art]
For example, in a copying machine, functions of an embedded system have recently been diversified along with digitization and networking such as FAX and network terminals as well as a copy function. With the diversification of this embedded system, the control software (control program) for that system has become larger and more complex. As a result, more and more time is spent on evaluation and verification of control software.
[Patent Document 1] Japanese Patent Application Laid-Open No. 2001-043110
[Patent Document 2] Japanese Patent Application Laid-Open No. 11-053221
[Patent Document 3] Japanese Patent Publication No. 11-513512
[Patent Document 4] JP-A-10-320376
[Patent Document 5] Japanese Patent Laid-Open No. 11-149394
[0003]
[Problems to be solved by the invention]
However, in the past, control specifications are generally determined after the hardware that is the control target for an embedded system is completed, and control software is constructed according to the control specifications. Cannot be performed in parallel. For this reason, it has become difficult to make software design man-hours in time for delivery of product design.
For this reason, there has conventionally been a proposal for simulating control software in a state where there is no actual machine to be controlled by the control software, that is, in a state where there is no real machine. Patent Document 1 discloses a program debugging method particularly as a software simulation apparatus, Patent Document 2 discloses an information processing method and an information processing apparatus, and Patent Document 3 discloses a method of manufacturing a digital signal processor. Is disclosed. However, these are intended for computer application programs, electrical signals, and hardware, and are actually not suitable for simulation of control software embedded in an embedded system. In particular, at the present time when embedded systems are becoming more complex, there is a demand for an actual machine-less simulation apparatus specialized for the control software.
The digital signal processing development system disclosed in Patent Document 4 proposed by the present applicant and the control software verification method disclosed in Patent Document 5 are inventions related to a software simulation environment, but their objects are different.
In view of the above-described problems, the present invention enables an early stage design of control software that is large-scale and complicated in an embedded system, and has a high-performance simulation environment that is optimal for debugging. The purpose is to provide an actual machine-less simulation device that realizes quality software design.
[0004]
[Means for Solving the Problems]
The invention of claim 1 is a simulation device for control software of an embedded system, a reading unit for reading equivalent input information to be controlled in the embedded system, and a writing unit for writing contents processed by the control software And a determination unit for determining a control result of the control software.
According to the present invention, when the control specifications are determined at the stage where there is no embedded system that is an actual machine, the control software can be designed at an early stage, and optimal debugging information for the problem can be provided when a problem occurs. A simulation environment can be constructed. In addition, it is possible to minimize problems with the control software installed in the product.
According to a second aspect of the present invention, at least one of the reading unit, the writing unit, and the determining unit is divided into a fixed / variable unit to form a framework.
According to the present invention, when one real machine-less simulation apparatus is used for control software of an embedded system having the same control object but separated by fixing it to a fixed / variable part by making it into a framework, Changes can be clarified and changes can be minimized.
The invention according to claim 3 is characterized in that the processing section has a function of executing one process in the same manner as in an actual system.
According to the present invention, the debugging efficiency is increased by obtaining a result equivalent to the result of debugging using the actual machine by executing the control software by the actual machineless simulation apparatus in the same way as the flow of the actual embedded system, It is possible to minimize problems with the control software to be implemented. In addition, it is possible to minimize problems with the control software installed in the product.
[0005]
According to a fourth aspect of the present invention, the equivalent input information reading unit has a function of using a text file as input information of the control software.
According to the present invention, the input information reader can visualize the input information by using the text file as the input information of the control software, and can clarify what debugging is currently being performed. In addition, it is easy to change the test contents, improving the debugging efficiency, and minimizing the problems of the control software installed in the product.
According to a fifth aspect of the present invention, when the equivalent input information reading unit has an actual system, the trace result of the input information of the actual control software output by the CPU-ICE is directly used as the input information of the control software. It has a function.
According to the present invention, when there is an actual system, the trace result of the actual control software input information output by the CPU-ICE is used as input information of the control software as it is, thereby saving the trouble of creating the input text file. And accurate input information can be acquired.
The invention of claim 6 is characterized in that the writing unit for writing the contents processed by the control software has a function of outputting the control contents of the control software as a text file.
According to this invention, the writing unit of the content processed by the control software outputs the control content of the control software as a text file, thereby increasing the debugging efficiency by visualizing the output result, and the defect of the control software implemented in the product Can be minimized.
[0006]
The invention according to claim 7 is characterized in that the determination unit for determining the control result of the control software has a function of comparing with an expected value or a previous output result.
According to the present invention, the control result judgment unit of the control software can easily identify the change in the output result by changing the control software by comparing with the previous output result, and clarify whether the change is correct. It is possible to minimize problems with the control software installed in the product.
According to an eighth aspect of the present invention, the writing unit for writing the contents processed by the control software has a processing result of the control software in the format of the external input means when there is an external input means as a control target of the actual machine. It has the function to convert.
According to the present invention, when the writing unit of the content processed by the control software has an input unit from the outside as the control target of the actual machine, the simulation result is actually obtained by converting the result of the control software into the format of the input unit. It can be debugged as to whether it operates in an embedded system, the result of the test verification can be confirmed by the system operation, and the trouble of the control software installed in the product can be minimized.
The invention of claim 9 has a function of storing external input information.
According to the present invention, the actual machine-less simulation device stores external input information, so that the actual control software can be implemented without changing between the real machine environment and the real machine-less simulation environment, and it is possible to change the control software each time the environment is changed. It can be omitted. In addition, when the information is required, the information is not obtained from the input text file but is stored in the internal memory, thereby improving the simulation execution efficiency.
The invention of claim 10 is characterized in that a plurality of functions are realized in one actual machine-less simulation environment.
According to the present invention, it is possible to improve the debugging efficiency by realizing a plurality of functions in one actual machine-less simulation environment, and to minimize the problems of the control software installed in the product.
The invention of claim 11 has a function of holding the expected value every time input information is added and comparing all the results including the previous expected value.
According to the present invention, every time input information is added, the expected value is held, and it is possible to confirm whether the previously designed result is different in the new design by having a function of comparing all the results including the previous expected value. It is possible to minimize the side effects of the control software implemented in the product.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows the relationship between an embedded system and control software for an actual machine-less simulation apparatus of this embodiment. For example, in the case of a copying machine, as described above, in addition to the copy function, there are a FAX, an Internet terminal, and the like. Control software 102 is provided for each control target (corresponding to targets A, B... Z in FIG. 1). The contents of control for the control software 102 are determined based on information from the operation unit 101. In this case, in the operation unit 101, the user performs various settings and manages the set contents.
In the actual machine-less simulation, one of the control software is targeted. In the actual machine-less simulation, information created virtually by the operation unit 101 is used as input, for example, parameter setting of the target A is performed based on the information, and the control result is compared with, for example, an expected value after processing of the control software. evaluate.
[0008]
FIG. 2 shows the relationship between the actual machine-less simulation apparatus 201 and the control software 102 of the target A. The simulation apparatus executes embedded system control software in a simulation environment on a personal computer (PC). In this case, the input information is continuous set value information from the virtual operation unit 101, and the number of pieces of input information and the order information are input to the actual machine-less simulation apparatus 201. The actual machine-less simulation apparatus 201 reads this input information and performs conversion as set by the operation unit 101. The control software 102 of the target A reads the value set by the actual machine-less simulation apparatus 201 as if it was set by the operation unit 101 and executes the process. Then, the execution result is returned to the actual machine-less simulation apparatus 201, and the execution result is converted into text and output. In this case, if there is an expected value or a previous simulation result, the actual machine-less simulation apparatus 201 compares the result with the current result and outputs the difference. The evaluator performs debugging and evaluation based on the output information.
[0009]
FIG. 3 is a flowchart showing the configuration of the actual machine-less simulation apparatus 201 according to the present embodiment. The input information text file 301 and the scenario file 309 are sequentially input to the input information reading unit 302, the embedded system control software 102 is processed by the processing unit 307, and the contents processed by the control software 102 are stored in the writing unit 303. The writing process is performed to output a text file 304 of output information. Next, the control result determination unit 305 of the control software determines that the output information text file 304 and the expected value 308 such as the previous simulation result are input, outputs the determination result 306, and ends the process. Here, the components constituting the actual machine-less simulation include an input information reading unit 302, a processing unit 307, a writing unit 303 for contents processed by the control software, and a control software control result determining unit 305, and embedded system control. A source of control software to be simulated is incorporated into the processing unit 307 of the software 102.
[0010]
FIG. 4 shows a text file 301 of input information actually used. This is a part of the text file 301 of input information used for the simulation of the DSP (digital signal processor) control software 102 that performs image processing in the IPU (image processing unit) board of the copying machine. A sentence beginning with “//” is skipped as an invalid sentence up to a line feed code, and parameters from number 0 to number 8 indicating the order are shown. Based on this number, the input information reading unit 302 determines and reads the input information. The number in the second column of the 0th row is the actual parameter value, which indicates that the application type is the 0 copy mode. In this way, up to the eighth parameter in the eighth row can be input.
[0011]
FIG. 5 shows the scenario file 309 actually used. The scenario file 309 shown in FIG. 5 is used to specify the text file 301 (FIG. 4) of the input information used for the simulation of the DSP control software 102 that performs image processing in the IPU board of the copying machine. This is one part input to The contents of the sentence after “//” are ignored as comments, skipped to the line feed code, and indicate the file name of the text file 301 of the input information. Here, a comment function is provided so that the evaluator can visually understand what scenario is being debugged by viewing the scenario file 309. In FIG. 5, the actual machine-less simulation apparatus 201 obtains the input information as the contents of the file names “rapifile0.txt”, “rapfile1.txt”... Reading of the text file 301 is started. The actual machine-less simulation apparatus 201 specifies the number and order of the text files 301 of the input information based on the information of the scenario file 309. In accordance with the information in the scenario file 309, the input information reading unit 302 sequentially executes reading.
[0012]
Next, returning to FIG. 3, the input information reading unit 302 extracts the input information from the input information text file 301. As for the processing content in the reading unit 302, the actual parameter value is substituted into the structure so that the operation unit 101 of the actual embedded system sets the value. In the example of FIG. 4, the value indicating the order of the first column of the input information text file 301 is enum declared as an enumeration type, and the actual parameter of the second column is set by the operation unit 101 of the embedded system. Is assigned to the structure.
The control software 102 to be simulated refers to the set value in the same manner as the actual machine, and sets the control target. In addition to the process of reading the input information text file 301, the input information reading unit 302 calls a function for executing the process of the control software 102 in the same processing procedure as the embedded system, and performs the process of the control software 102. Since there is no control target in the simulation, the writing unit 303 of the contents processed by the control software 102 is activated by the compile switch, and is converted into a text file 304 of output information and output. The processing contents are stored as an array defined in the actual machine-less simulation apparatus 201, and the address and control contents specified by the control software 102 are stored in the array, and a series of processing of the control software 102 is performed. After completion, the output information is output as a text file 304.
[0013]
FIG. 6 shows a text file 304 of output information actually used. This is a part of the memory contents of the DSP that is the control target of the control software 102. All are hexadecimal values and set values are shown in order from the memory address C000. The writing unit 303 of the content processed by the control software 102 outputs a text file 304 of output information in this format. The control result judgment unit 305 of the control software 102 compares the text file 304 of the output information and the expected value (or the previous processing result) with the memory contents, and if the two match completely, finds the OK part and the different part. Then, it is judged as NG and the judgment result 306 is outputted. By this function, the contents of the change to the comparison with the expected value and the change of the process are confirmed.
In this way, a simulation environment that realizes early design of control software and provides optimal debugging information for problems when control specifications are determined even when there is no embedded system that is an actual machine. Can be built. In addition, since the actual machine-less simulation apparatus 201 supports continuous operation, which is a normal use of embedded systems, it guarantees including problems that occur only in continuous setting, and defects in the control software 102 that is implemented in the product. Can be minimized.
[0014]
In the above description, the simulation of the control software 102 in the case where the DSP that performs image processing in the IPU board of the copying machine, which is an embedded system, is set as the control target in the actual machine-less simulation apparatus 201 is taken as an example. In this case, when a change in model, a change in control target, or the like occurs, it is possible to process a part that is changed or not changed by this change as a framework. That is, the actual machine-less simulation apparatus 201 is implemented with an architecture having a framework structure in which fixation / variation is clarified. FIG. 7 shows the framework of the real machine-less simulation apparatus 201 of FIG. In FIG. 7, a part of the input information reading unit 302 of the input information text file 301 and the scenario file 309 and a part of the content writing unit 303 processed by the control software 102 are variable units.
In the DSP control software 102 that performs image processing in the IPU board of the actual copying machine, the operation unit 101 varies depending on the model, so that the set value and the value that the control software 102 refers to are different. Similarly to the text file 301 of input information necessary for executing processing in the processing unit 307, the input information reading unit 302 that reads the information varies depending on the model. However, if a structure is made in time for the setting of all models even if it fluctuates, if only necessary items are set, the input information reading unit 302 corresponding to the input text file 301 is set without additional changes. Can only be realized. If a structure in which values that are not referenced by the control software 102 are read by all models is created, all models can be realized with the same input if the model-specific control software 307 carefully sets only the values necessary for setting.
[0015]
Further, the writing unit 303 for the contents processed by the control software 102 becomes a variable unit when the control target of the control software 102 changes. If all the models are the same DSP as the same control target, the writing unit 303 is also a fixed unit and is not changed. However, if the control target is a different target from a DSP such as an ASIC, the output must be changed to correspond to the target. However, even if the writing unit 303 of the contents processed by the control software 102 changes, there is no overall change. It is only necessary to provide means for defining the control target information in the actual machine-less simulation and determining the control target of the control software 102 being simulated. This means can be a compile switch or a single variable. The actual machine-less simulation apparatus can change the output contents by referring to the value and changing the processing contents in the writing unit 303 of the contents processed by the control software 102 in order to obtain the output suitable for the control target. If a variety of control objects are prepared in this way, a structure in which the control object is read by the input text file 301 and the processing contents are changed by the writing unit 303 of the contents processed by the control software 102 can be used as a fixed part. Even if it is not conscious, it becomes the real machine-less simulation apparatus 201 which outputs suitable for a control object.
By separating into fixed / variable parts by making a framework in this way, when one real machine-less simulation device is used for control software of different embedded systems that have the same control object, a change point of the real machine-less simulation device 201 Clarifies and minimizes changes.
[0016]
FIG. 8 shows the processing contents of the input information reading unit 302. The input information reading unit 302 of the actual machine-less simulation apparatus 201 implemented in the present embodiment includes an input information reading process 701, input information determination 702, and control software execution 703 according to the input information. Of these, the input information reading process 701 is the above-described variable section. First, the scenario file 309 is read to identify the input information file 301 in this process. Based on this information, the input information reading process is looped to realize a continuous reading operation. In the input information reading process, the downstream process is executed according to the text file 301 of one input information determined without affecting the preceding and following input information.
In determining the execution sequence of the control software 102 for the control software execution 703 according to the input information, there is a parameter for determining the control sequence in the set value of the text file 301 of the input information. Input information determination 702 is made. In the input information reading process 701, the contents of the text file 301 of the input information are substituted into the structure set by the actual operation unit 101, and the input information determination 702 refers to a parameter for determining a control sequence. The processing to be executed by the control software 102 is changed. In the control software execution 703 according to the input information, the control software 102 is executed in accordance with the sequence determined by the input information determination 702.
With this function, the control software 102 can be developed in an early stage of development when the system is not completed, and processing can be realized and confirmed in the same manner as the embedded system. In this embodiment, there is no strict specification about the timing for executing the control software 102, and timing control is not included. However, in the case of the control software 102 of an embedded system in which timing is important, input information according to input information With the determination 702 and the control software execution 703, it is possible to cause the control software 102 to realize processing at a timing similar to that of an actual embedded system.
In this way, the actual machine-less simulation apparatus 201 executes the control software in the same manner as the flow of the actual embedded system, thereby obtaining a result equivalent to the result of debugging using the actual machine. Problems with the software 102 can be minimized. In addition, since the actual machine-less simulation apparatus 201 supports continuous operation, which is a normal use of embedded systems, it guarantees including problems that occur only in continuous setting, and defects in the control software 102 that is implemented in the product. Can be minimized.
[0017]
9 shows an actual example of the input information reading unit 302. In the format of the input information text file 301, (a) shows an enum declaration indicating the order corresponding to FIG. 4, and (b) shows FIG. Indicates the parameter to perform. The value indicating the order written in the first column of the input information text file 301 in FIG. 4 is stored in the actual machine-less simulation apparatus 201 with the enum declaration of the value indicating the order of the first column of the input information text file 301. Define it. Here, since the parameter used for every model differs, it becomes a fluctuation part. When the input parameter information is changed and added or deleted, the content of this enum declaration is also changed in accordance with the change. Further, when the contents of the enum declaration correspond to the input text file 301, the value indicating the order written in the first column of the input text file 301 in FIG. .
FIG. 9B shows a parameter substitution unit in the second column of the text file 301 of actually used input information. In FIG. 9B, DataId is a value indicating the order of the first column of the text file 301 of input information, and SData is a value indicating the actual parameter written in the second column of the text file 301 of input information. Corresponding to The input text file information is substituted into FilePtr (structure set by the operation unit 101) in the cases defined by the enum declaration. Thus, the actual machine-less simulation apparatus 201 has a structure capable of acquiring input information. In this way, the process from the reading of the input information to the determination of the control result of the control software 102 starting from the reading of the input information is repeated according to the scenario file 309.
Thus, the input information reading unit 302 can visualize the input information by using the text file as the input information of the control software, and can clarify what debugging is currently being performed. In addition, it is possible to easily change the test contents to improve the debugging efficiency, and to minimize the problems of the control software 102 mounted on the product. In addition, since the actual machine-less simulation apparatus 201 supports continuous operation, which is a normal use of embedded systems, it guarantees including problems that occur only in continuous setting, and defects in the control software 102 that is implemented in the product. Can be minimized.
[0018]
FIG. 10 exemplifies a log file of variables by CPU-ICE (CPU in-circuit emulator). This log file is obtained by tracing the value and time when one variable mapped to the memory address 00414204 is written in the actual machine environment. FIG. 10 shows actual values, and the format output by the CPU-ICE is different. In the case of the format shown in FIG. 10, this log file is handled as a text file 301 of input information. Valid input information is a line starting with a number, and “*” and “=” other than that are invalid sentences. Also, in the row starting with a number, the value in the second column is a memory address value to which this variable is mapped, and is not particularly necessary as input information, so it is skipped and the value in the third column is extracted as an actual parameter. As shown in FIG. 4, when the input information text file 301 is manually written, the first and second columns are effective information, whereas the CPU-ICE trace information as shown in FIG. 10 is used as the input information text file. In the case of 301, the input information reading unit 302 is modified so that the first and third columns are substituted into the structure set by the operation unit 101 as valid information.
[0019]
When tracing using the CPU-ICE in the actual environment, the CPU-ICE traces in the same way as the order of the enum declaration of the value indicating the order of the first column of the input information text file 301 shown in FIG. Since it is not possible to correspond to the enum declaration defined in the actual machine-less simulation apparatus 201 without writing to a variable and creating a log file, it is necessary to make them consistent. If not, input information is assigned to a different location in the structure of the operation unit 101, so that a correct simulation result cannot be obtained. Also, it is necessary to output the log file name of the variable by CPU-ICE to the same file name as the text file 301 name of the input information described in the scenario file 309 or to change it after the output.
Thus, when there is an actual system, the trace result of the actual control software input information output by the CPU-ICE or the like is directly used as the input information of the control software 102, thereby saving the trouble of creating the input text file. , Accurate input information can be obtained. In addition, since the actual machine-less simulation apparatus 201 supports continuous operation, which is a normal use of embedded systems, it guarantees including problems that occur only in continuous setting, and defects in the control software 102 that is implemented in the product. Can be minimized.
The actual machine-less simulation apparatus 201 implemented in the present embodiment outputs the output information text file 304 as the final memory map content of FIG. 6 and the output information indicating the result of tracing the content written in the order set by the control software 102. The trace file 1001 is output by the writing unit 303 of the contents processed by the control software 102. FIG. 11 shows an example of the trace result of the contents written in the control target by the control software 102. FIG. 11, which is a trace file 1001 of output information, shows the writing time of the written contents and their order. Whether or not the setting is correct or the same setting is duplicated is checked at the time of debugging by using the trace file 1001 of the output information.
[0020]
FIG. 12 shows an example of difference management of the control software 102. FIG. 12 shows an example in which the setting is performed three times. First, the setting value A of the operation unit 101 is set for the first time, the setting value A is referred to, and the control content at that time is set in the memory to be controlled. That the current setting is A is stored in the difference information 1601. The difference information is also referred to from the second setting. In the second setting, when the setting value of the operation unit 101 is A as in the first setting, there is no difference from the difference information, and no setting is made on the control target. In the third setting, since the setting of the operation unit 101 is changed to B and there is a difference from the difference information, the content of the setting B is set in the memory within the control target. Similarly to the first time, the fact that the current setting is B is stored in the difference information 1601.
When the control software 102 performs such difference management, it is not possible to determine whether the difference management is correctly performed based on one simulation result. When the control software 102 performs such difference management and determines that the current setting contents are the same as the previous setting and does not perform the setting, debugging is performed based on such trace information to determine whether the difference management is functioning correctly. Trace efficiency is also converted into text and visualized to improve debugging efficiency. When there are a plurality of control targets of the control software 102, the control information is divided into the output information text file 304 and the output information trace file 1001 as the final memory map file, and two files are output for one control target. To do. These files are the output of the writing unit 303 of the contents processed by the control software 102.
As described above, the writing unit 303 of the contents processed by the control software 102 outputs the control contents of the control software as a text file, visualizes the output result, thereby increasing the debugging efficiency, and implements the control software 307 mounted on the product. Can be minimized.
[0021]
FIG. 13 shows the simulation result judgment file 1101 actually used. The simulation result determination file 1101 includes a final memory map file, which is a text file 305 of output information, and a trace file 1001 of output information and an expected value output from the writing unit 303 of the contents processed by the control software 102. This file compares the output result with the control result judgment unit 305 of the control software and shows the result. The simulation result determination file 1101 has four examples of actual control targets, and is DEV0 (device abbreviation) to DEV3, respectively. As a result of the coincidence of the final memory map file, which is the text file 305 of the output information shown in FIG. 13A, and the trace file 1001 of the output information, the trace information 1001 of the output information shown in FIG. An example is shown in which the result of the final memory map file, which is the file 304, does not match. As described above, by determining and outputting the control result of the control result of the control software, it becomes easy to specify where the mismatch occurred.
In this way, the control result determination unit of the control software 102 can easily identify the change in the output result by changing the control software 102 by comparing with the previous output result, and clarify whether the change is correct, Problems of the control software 102 installed in the product can be minimized.
[0022]
FIG. 14 shows the format conversion procedure of the simulator 1201 that can be directly set in the device to be controlled. When there is no real machine and there is no control target, the real machine-less simulation apparatus 201 virtually operates the embedded system on the PC in order to develop the control software 102 in advance, and the processing result of the control software 102 at that time On the other hand, the simulator 1201 that is set directly on the device connects to the control target and sets the address and value to be set directly from the application installed on the PC. The actual machine-less simulation apparatus 201 outputs a trace file 1001 of output information suitable for the format of the simulator 1201 that can be directly set to the device. The format of FIG. 14 is one example. In this format, a “MemoryChange” instruction, an address, and a value to be set for the address are written. The simulator 1201 that can be directly set to the device inputs the output information trace file 1001 output by the actual machine-less simulation according to the format, and directly sets it from the outside to the device to be controlled. When the embedded system operates, the actual machine can be confirmed by directly using the simulation result by the actual machine-less simulation apparatus 201, and the actual machine output of the simulation result can be confirmed. Useful for debugging from both sides, with or without a real machine.
The writing unit 303 of the content processed by the control software 102 converts the result of the control software 102 into the format of the input means when the control target of the actual machine has an input means from the outside, and the simulation result is converted into the actual embedded system. It can be debugged whether it operates in the system, the result of the test verification can be confirmed by the system operation, and the trouble of the control software 102 mounted on the product can be minimized.
[0023]
FIG. 15 shows an internal declaration of a structure set by the operation unit 101. This declaration is made before the reading of the input information reading unit 302 is started, and the information in the text file 301 of the input information is substituted for the static IFFILE_t File defined in the actual machine-less simulation apparatus 201. Unlike an embedded system, the PC is considered to have a large amount of memory and a few restrictions. Therefore, an internal declaration is made, and the control software 102 refers to the value, determines the control content to be controlled, and controls it. Since the source of the control software 102 is not changed between the real machine environment and the real machine-less simulation environment, an operation equivalent to an actual embedded system can be performed. The control software 102 can be set with reference to the IFILE_t File structure without being conscious of whether it is set by the operation unit 101 or the real machine-less simulation apparatus 201.
By storing the external input information in the actual machine-less simulation apparatus 201, the actual control software 102 can be implemented without changing between the actual machine environment and the actual machine-less simulation environment, and it is possible to save the trouble of changing the control software 102 every time the environment is changed. it can. In addition, when the information is required, the information is not obtained from the input text file but is stored in the internal memory, thereby improving the simulation execution efficiency.
[0024]
FIG. 16 shows an actual machine-less simulation apparatus 201 that realizes multiple functions. In the actual machine-less simulation apparatus 201, input is a text file 301 and a scenario file 309 of input information, output is a text file 304 of output information, a trace file 1001 of output information, a simulation result determination file 1101 which is a file output of simulation results, The file output function converted to the format of the simulator 1201 that can be directly set to the device to be controlled is realized. These functions do not compete with each other and can be multi-functionalized by adding functions to one device. In this way, a plurality of simulation results can be obtained with one actual machine-less simulation apparatus 201, instead of repeatedly starting a plurality of actual machine-less simulation apparatuses 201 having only one function and obtaining a plurality of results. Debug using information.
By realizing a plurality of functions in one actual machine-less simulation environment, debugging efficiency can be improved, and problems of the control software 102 mounted on the product can be minimized.
[0025]
FIG. 17 shows an operation example of the actual machine-less simulation apparatus when the control requirement specification is added. As shown in FIG. 17A, scenario 1 according to control requirement specification 1 is created, and after the test environment is constructed, software is installed and verified. If the result does not match the expected value 1 of the control requirement specification 1 that is an external input and the result is NG, the mounting is performed again. If it matches the expected value 1 of the control requirement specification 1, the test has passed and the mounting is OK.
FIG. 17B shows an example in which the control request specification 1 of FIG. 17A is mounted and the control request specification 2 is newly mounted. First, scenario 2 and expected value 2 of control requirement specification 2 are created. For the control requirement specification 2, after the test environment is constructed, the software is installed and verified. In the test verification here, the scenario 1 of the control requirement specification 1 which is the external output is first tested and compared with the expected value 1. Next, scenario 2 of control requirement specification 2, which is an external input added this time, is tested and compared with expected value 2. The test pass criteria compares whether the results of all the registered scenarios including this added scenario match the expected value. If there is even one mismatch, it indicates a mismatch scenario and indicates NG. , Redo the implementation. If all scenarios match completely, the implementation is OK.
As the control requirement specifications are added in this manner, the number of scenarios increases, and all scenarios including the previous scenarios accumulated by the actual machine-less simulation apparatus 201 are tested and used for determining whether the software implementation is acceptable.
Each time input information is added, the expected value is retained, and it is implemented in the product by checking whether the previously designed result is different in the new design by having a function to compare all the results including the previous expected value. Side effects of the control software 102 can be minimized.
[0026]
【The invention's effect】
According to the first aspect of the present invention, software design can be performed even at a stage where control software cannot be designed because there is no actual machine, and debugging can be performed on an actual machine-less simulation. In addition, the actual machine-less simulation device supports continuous operation, which is the normal usage of embedded systems, guarantees problems that occur only in continuous settings, and minimizes problems in the control software installed in the product. It becomes possible to limit to the limit.
In addition, all the combinations of inputs from the operation unit can be verified in a simulation environment, so that products that are guaranteed to operate by test verification are provided for products that are difficult to verify by the combination of all inputs. Can do. For products with new functions added to the existing functions, the existing functions can be verified in the same simulation environment, so if the test is verified without changing the simulation device, the operation of the product is guaranteed. By adding verification conditions for new additional functions, test verification becomes possible, and all operations can be guaranteed by testing additional functions even for products that are complicated by high functionality.
According to the second aspect of the present invention, when the control object is the same, it can be constructed on the actual machine-less simulation only by corresponding to the control software incorporating only the fluctuating input unit. In addition, even if the control target is different, it can be dealt with by simply changing the writing unit to the format, so the change point is clarified.
According to the invention of claim 3, it is possible to cause the control software to perform an operation equivalent to that of the actual system in the actual machine-less simulation, and to debug the embedded system control software on the PC, thereby improving the debugging efficiency. Since test verification can be performed easily and rich debugging information is output, the control software incorporated in the product is improved, and it is possible to minimize the introduction of defects. In addition, all results can be tested and verified in a simulation environment for products with many combinations of inputs. By adding test verification items to additional functions, the operation of the product including the existing functions can be guaranteed.
[0027]
According to the invention of claim 4, by making the input text, it can be visualized and input information can be easily read. Since test verification can be performed easily and rich debugging information is output, the control software incorporated in the product is improved, and it is possible to minimize the introduction of defects. In addition, all results can be tested and verified in a simulation environment for products with many combinations of inputs. By adding test verification items to additional functions, the operation of the product including the existing functions can be guaranteed.
According to the invention of claim 5, the input result of the actual system becomes the input information as it is, and the labor of creating the text file for writing the input information at the time of debugging can be saved.
According to the sixth aspect of the present invention, the control contents of the control software can be visualized by converting the output of the actual machine-less simulation apparatus into text, and the debugging efficiency is improved. In addition, since test verification can be easily performed and rich debugging information is output, the control software incorporated in the product is improved, and it is possible to minimize the introduction of defects.
In addition, all results can be tested and verified in a simulation environment for products with many combinations of inputs. By adding test verification items to additional functions, the operation of the product including the existing functions can be guaranteed.
According to the invention of claim 7, it becomes easy to compare the difference with the result of the previous time and to identify the change point of the result due to the control software change, and to prevent an unexpected side effect due to the change of the control software. The software will be improved and it will be possible to minimize contamination.
In addition, all results can be tested and verified in a simulation environment for products with many combinations of inputs. By adding test verification items to additional functions, the operation of the product including the existing functions can be guaranteed.
[0028]
According to the invention of claim 8, since the output of the actual machine-less simulation, which is the result of the control software, can be written in the actual system environment, it can be debugged. It becomes possible to minimize contamination.
In addition, all results can be tested and verified in a simulation environment for products with many combinations of inputs. By adding test verification items to additional functions, the operation of the product including the existing functions can be guaranteed.
According to the ninth aspect of the present invention, the input information is saved by the actual machine-less simulation, so that it can be realized without being read many times and without affecting the actual control software.
According to the invention of claim 10, multi-functionalization can be realized by one actual machine-less simulation and debugging efficiency is improved, so that control software incorporated in a product can be improved, and mixing of defects can be minimized. become. In addition, all results can be tested and verified in a simulation environment for products with many combinations of inputs. By adding test verification items to additional functions, the operation of the product including the existing functions can be guaranteed.
According to the eleventh aspect of the present invention, each time input information is added, the expected value is retained, and the function of comparing all the results including the previous expected value is provided. It becomes possible to minimize the trouble. In addition, all results can be tested in a simulation environment for products with many combinations of inputs, including verification of continuous operation. By adding test verification items to additional functions, the operation of the product including the existing functions can be guaranteed.
[Brief description of the drawings]
FIG. 1 is a schematic diagram showing the relationship between an embedded system and control software.
FIG. 2 is a schematic diagram showing a relationship between an actual machine-less simulation apparatus and control software for an object A.
FIG. 3 is a configuration diagram of an actual machine-less simulation apparatus.
FIG. 4 is a specific explanatory diagram of a text file of input information.
FIG. 5 is a specific explanatory diagram of a scenario file.
FIG. 6 is a specific explanatory diagram of a text file of output information.
FIG. 7 is a configuration diagram showing the framework of an actual machine-less simulation apparatus.
FIG. 8 is a schematic diagram showing processing contents of a reading unit for input information.
FIG. 9 is a specific explanatory diagram of an input information reading unit.
FIG. 10 is a specific explanatory diagram of a log file of variables by CPU-ICE.
FIG. 11 is a specific explanatory diagram of a trace file of output information.
FIG. 12 is an explanatory diagram of difference management of control software.
13 is a specific explanatory diagram of a simulation result determination file 1101. FIG.
FIG. 14 is an explanatory diagram of the format conversion procedure of the simulator 1201 that can be directly set in the device.
15 is an explanatory diagram of an internal declaration of a structure set by the operation unit 101. FIG.
FIG. 16 is a schematic diagram of a real machine-less simulation apparatus realizing multi-function.
FIG. 17 is an operation explanatory diagram of an actual machine-less simulation apparatus when a control requirement specification is added.
[Explanation of symbols]
101 Operation unit
102 Control software
201 Machine-less simulation device
301 Input information text file
302 Reading unit
303 Writing section
304 Output information text file
305 Judgment part
306 judgment result
307 processing unit
308 Expected value
309 Scenario file

Claims (11)

組込み系システムの制御ソフトウェアのシミュレーション装置であって、
前記組込み系システムでの制御対象の等価入力情報を読取る読取り部と、前記制御ソフトウェアが処理した内容を書込む書込み部と、前記制御ソフトウェアの制御結果を判断する判断部と、を有することを特徴とする実機レスシミュレーション装置。
An embedded system control software simulation device,
A reading unit that reads equivalent input information to be controlled in the embedded system; a writing unit that writes the content processed by the control software; and a determination unit that determines a control result of the control software. An actual machine-less simulation device.
前記読取り部、書込み部及び判断部の少なくとも一つが固定/変動部に分かれてフレームワーク化されていることを特徴とする請求項1記載の実機レスシミュレーション装置。2. The actual machine-less simulation apparatus according to claim 1, wherein at least one of the reading unit, the writing unit, and the determining unit is divided into a fixed / variable unit to form a framework. 前記処理部は、1プロセスを実際のシステムと同様に実行する機能を有することを特徴とする請求項1記載の実機レスシミュレーション装置。The actual machine-less simulation apparatus according to claim 1, wherein the processing unit has a function of executing one process in the same manner as an actual system. 前記等価入力情報の読取り部は、テキストファイルを前記制御ソフトウェアの入力情報とする機能を有することを特徴とする請求項1記載の実機レスシミュレーション装置。2. The real machine-less simulation apparatus according to claim 1, wherein the equivalent input information reading unit has a function of using a text file as input information of the control software. 前記等価入力情報の読取り部は、実際のシステムが存在する場合、CPU−ICEで出力する実際の制御ソフトウェアの入力情報のトレース結果をそのまま前記制御ソフトウェアの入力情報とする機能を有することを特徴とする請求項1または4記載の実機レスシミュレーション装置。The equivalent input information reading unit has a function of using the trace result of the input information of the actual control software output by the CPU-ICE as the input information of the control software as it is when an actual system exists. The actual machine-less simulation apparatus according to claim 1 or 4. 前記制御ソフトウェアが処理した内容を書込む書込み部は、前記制御ソフトウェアの制御内容をテキストファイルとして出力する機能を有することを特徴とする請求項1記載の実機レスシミュレーション装置。2. The actual machine-less simulation apparatus according to claim 1, wherein the writing unit for writing the content processed by the control software has a function of outputting the control content of the control software as a text file. 前記制御ソフトウェアの制御結果を判断する判断部は、期待値または前回の出力結果と比較する機能を有することを特徴とする請求項1記載の実機レスシミュレーション装置。The actual machine-less simulation apparatus according to claim 1, wherein the determination unit that determines a control result of the control software has a function of comparing with an expected value or a previous output result. 前記制御ソフトウェアが処理した内容を書込む書込み部は、実機の制御対象に外部から入力手段がある場合、前記制御ソフトウェアの処理結果を前記外部からの入力手段のフォーマットに変換する機能を有することを特徴とする請求項1記載の実機レスシミュレーション装置。The writing unit for writing the contents processed by the control software has a function of converting the processing result of the control software into the format of the input means from the outside when the control target of the actual machine has an input means from the outside. The actual machine-less simulation apparatus according to claim 1, wherein: 外部入力情報を保存する機能を有することを特徴とする請求項1記載の実機レスシミュレーション装置。2. The actual machine-less simulation apparatus according to claim 1, further comprising a function of storing external input information. 複数の機能を1つの実機レスシミュレーション環境で実現することを特徴とする請求項1記載の実機レスシミュレーション装置。The real machine-less simulation apparatus according to claim 1, wherein a plurality of functions are realized in one real machine-less simulation environment. 入力情報が追加されるたびにその期待値を保持し、以前の期待値も含めすべての結果を比較する機能を有することを特徴とする請求項1記載の実機レスシミュレーション装置。2. The actual machine-less simulation apparatus according to claim 1, further comprising a function of holding an expected value every time input information is added and comparing all results including a previous expected value.
JP2003203205A 2003-07-29 2003-07-29 Simulation device without actual machine Pending JP2005049947A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003203205A JP2005049947A (en) 2003-07-29 2003-07-29 Simulation device without actual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003203205A JP2005049947A (en) 2003-07-29 2003-07-29 Simulation device without actual machine

Publications (1)

Publication Number Publication Date
JP2005049947A true JP2005049947A (en) 2005-02-24

Family

ID=34262659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003203205A Pending JP2005049947A (en) 2003-07-29 2003-07-29 Simulation device without actual machine

Country Status (1)

Country Link
JP (1) JP2005049947A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020562A (en) * 2008-07-10 2010-01-28 Ricoh Co Ltd Image processing device, information processing device, software operation testing method, software operation testing program, and recording medium to which the program is recorded
JP2010020561A (en) * 2008-07-10 2010-01-28 Ricoh Co Ltd Information-processing device, image-processing device, method for testing software operation, program for testing software operation, and recording medium with the recorded program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020562A (en) * 2008-07-10 2010-01-28 Ricoh Co Ltd Image processing device, information processing device, software operation testing method, software operation testing program, and recording medium to which the program is recorded
JP2010020561A (en) * 2008-07-10 2010-01-28 Ricoh Co Ltd Information-processing device, image-processing device, method for testing software operation, program for testing software operation, and recording medium with the recorded program

Similar Documents

Publication Publication Date Title
CN110008113B (en) Test method and device and electronic equipment
US8280713B2 (en) Automatic generation of test suite for processor architecture compliance
CN108132876B (en) Embedded software object code unit testing method based on injection mode
US20080177527A1 (en) Simulation system, simulation method and simulation program
US20220100637A1 (en) Debugging assistance system and debugging assistance method
CN112444731A (en) Chip testing method and device, processor chip and server
JPH0854907A (en) Verification support system
CN113742215A (en) Method and system for automatically configuring and calling test tool to perform test analysis
JP2005049947A (en) Simulation device without actual machine
CN114661615A (en) FPGA software testing method and device
Drenth et al. Consistent simulation environment with FMI based tool chain
JP5327019B2 (en) Software automatic test method
US20120167037A1 (en) Software static testing apparatus and method
JP2004326650A (en) Logic verification program and recording medium
JP4149047B2 (en) Simulator
JP2008310513A (en) Program test device
JP2004030514A (en) Method for analyzing performance
CN112783736B (en) Method and device for monitoring running body time of software component and electronic equipment
CN112084112B (en) Thermal patch testing method, device and server
JP2002014847A (en) Device for checking program and method for the same and recording medium with checking program stored
JP2018026067A (en) Simulation device and method of generating connection information in simulation device
JPH01307837A (en) Mpu simulation method and mpu simulator
JP2004145670A (en) Method and device for generating test bench, and computer program
WO2010095635A1 (en) Circuit design assistance device, circuit design assistance method, and computer readable recording medium
Lerner At the forge: testing javascript

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100223