JP3652307B2 - プリントエンジンシミュレータ、開発システム、シュミレート方法、コンピュータプログラム製品、及びコンピュータプログラム - Google Patents

プリントエンジンシミュレータ、開発システム、シュミレート方法、コンピュータプログラム製品、及びコンピュータプログラム Download PDF

Info

Publication number
JP3652307B2
JP3652307B2 JP2001390341A JP2001390341A JP3652307B2 JP 3652307 B2 JP3652307 B2 JP 3652307B2 JP 2001390341 A JP2001390341 A JP 2001390341A JP 2001390341 A JP2001390341 A JP 2001390341A JP 3652307 B2 JP3652307 B2 JP 3652307B2
Authority
JP
Japan
Prior art keywords
print engine
print
communication
code
communications
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.)
Expired - Fee Related
Application number
JP2001390341A
Other languages
English (en)
Other versions
JP2002326430A (ja
Inventor
ジェイコブス コンラッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2002326430A publication Critical patent/JP2002326430A/ja
Application granted granted Critical
Publication of JP3652307B2 publication Critical patent/JP3652307B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
[著作権について]
本特許出願は著作権保護対象物を含む。著作権者は関連特許庁ファイルからの、閲覧を目的とした本特許明細書又は関連物の複製については異議を唱えないが、それ以外の全著作権についてはいかなるものであれ権利を留保する。
【0002】
[発明が属する技術分野]
本発明は全体としてソフトウェア開発システムシミュレータに関し、特に、プリントエンジンのシミュレータに関する。本発明はプリントエンジンをシミュレートする方法及び装置に関する。本発明はさらに、プリントエンジンをシミュレートするコンピュータプログラムを記録したコンピュータ読み取り可能な媒体を含む、コンピュータプログラム製品に関する。
【0003】
[商標の認知について]
以下の説明には商品名又は商標、もしくはそれらであるとの主張を受ける語を含みうる。それら語の包含は、それらの語が法的目的において非独占的又は一般的な意味を獲得したことを暗示するものではない。さらに、それらの法的状態に関する判断も暗示しない。語に独占権が付属すると思われる場合、上付き文字proprによって表記するが、これはそれらの語に関する法的状態に関する判断を暗示しない。
【0004】
[背景技術]
ソフトウェア開発は時間のかかる仕事となり得、様々なシステム構成要素が並行して開発される事実によりしばしば交錯する。プリントエンジンの開発が終了していない状態で、しかしながらプロジェクトスケジュールに合わせるため、そのプリントエンジンに対するプリントエンジンコントローラの開発は進めなければならないような状況でのプリントエンジンコントローラの開発はそのような開発の一例である。このようなプリントエンジンコントローラの開発を行う従来の方法は、開発中のプリントエンジンコントローラ及びプリントエンジンからデータ信号をキャプチャするためにプロトコルアナライザを用いるものである。プロトコルアナライザは基本的に、個々のビット及びフロー制御信号の両方について、キャプチャしたビットのデータ再構成、データストリームの記録を行うことができ、プリントエンジンコントローラ開発者に有用な情報を提供する。
【0005】
しかし、万能非同期送受信器(UART)レベルにおける典型的な物理層通信はプリントエンジンコントローラの開発開始時に既に検証されているため、プロトコルアナライザは必要以上の情報を供給する。プロトコルアナライザはまた、一般にプログラミング性が限られており、カスタマイズされたイベントシーケンスの開発及び/又は制御に容易に適合させることができない。多種多様なメーカ独自のデータパケットについて正しくデータを送信するためには、プロトコルアナライザを1バイトずつプログラムする必要があるであろう。プリントコントローラから受信したデータ翻訳にも、プロトコルアナライザのカスタムプログラミングが必要であろう。
【0006】
プロトコルアナライザは開発中のプリントエンジンコントローラと実際のプリントエンジンとの間を流れる生データの解析に用いることができる。各データパケットについて送信されたバイト値を手動でチェックすることにより、プロトコルアナライザはコントローラ及びエンジンにおける低レベル通信ソフトウェアのデバッグに使用可能である。これは、特にパケットが16ビット及び/又は32ビット値へ再組立する必要のあるバイトを多く含み、特にコントローラとエンジン間での低レベル通信ソフトウェア動作を確認するためにチェックサム値を手動計算する必要のある場合において、冗漫かつ繰り返しの多い作業となりうる。
【0007】
この方法において生じるさらなる問題は、一旦低レベル通信ソフトウェアが完全にデバッグされても、プロトコルアナライザは個々のバイトレベルで動作しているため、依然として非常に多量のデータを供給することである。これは開発者を混乱させ、一般に開発者が関連する高位レイヤプロトコルメッセージをマスクしてしまう。
【0008】
プリントエンジンコントローラの別の開発方法は開発中のプリントエンジンコントローラと合わせて実際のプリントエンジンを用いることである。このような方法の短所は、プリントエンジンがプリントエンジンコントローラに対して正しい方法で応答したと仮定しても、この方法はプリントエンジンコントローラとプリントエンジンの間で送信されつつあるデータパケットに関する情報表示を提供しない。低レベル通信ソフトウェア正しく動作していることを保証するため、開発者が個々のバイトをチェックする必要のある場合、コードデバックの初期段階にある開発者に対しては必須では無いが、そのような情報の表示は便利である。
【0009】
[発明の要約]
本発明の1つの目的は、既存装置の1つ又は複数の短所を実質的に解消するか、少なくとも改善することにある。
【0010】
本発明の第1の見地によれば、プリントエンジンと通信を行うように適合され、それによって前記プリントエンジンを制御するプリントコントローラを含む開発システムのための、前記プリントエンジンのシミュレートを行う方法を実行するようにプロセッサに指示するコンピュータプログラムであって、
前記プリントエンジンの状態機械表現を提供するコードであり、前記状態機械が前記プリントコントローラからの通信に応答し、
前記プリントコントローラからの前記通信を階層的な通信エレメントに翻訳するコードと、
前記プリントコントローラからの通信、階層的な通信エレメント及び状態機械からの関連する通信、の少なくとも1つを表示するコード、
を有するコンピュータプログラムが提供される。
【0011】
本発明の別の見地によれば、プリントエンジンとの通信に適合され、それによって前記プリントエンジンを制御するプリントコントローラを有する開発システムのための、前記プリントエンジンをシミュレートする方法をプロセッサに実行させるコンピュータプログラムが記録されたコンピュータ読み取り可能な媒体を含むコンピュータプログラム製品であって、
前記プリントエンジンの状態機械表現表現を提供するコードであり、前記状態機械が前記プリントコントローラからの通信に応答し、
前記プリントコントローラからの前記通信を階層的な通信エレメントに翻訳するコードと、
前記プリントコントローラからの通信、階層的な通信エレメント及び状態機械からの関連する通信、の少なくとも1つを表示するコード、
を有するコンピュータプログラム製品が提供される。
【0012】
本発明の別の見地によれば、プリントエンジンとの通信に適合され、それによって前記プリントエンジンを制御するプリントコントローラを有する開発システムのための、プリントエンジンシミュレータであって、
前記プリントコントローラからの通信を階層的な通信エレメントに翻訳するコードと、
前記プリントエンジンの状態機械表現であり、前記状態機械が前記通信に応答し、
前記プリントコントローラからの通信、前記階層的通信エレメント及び前記状態機械からの関連する通信の少なくとも1つを表示するように適合された表示手段とを有することを特徴とするプリントエンジンシミュレータが提供される。
【0013】
本発明の別の見地によれば、プリントエンジンとの通信に適合され、それによって前記プリントエンジンを制御するプリントコントローラを有する開発システムのための、プリントエンジンシミュレータであって、
プログラムを格納するメモリと、
前記プログラムを実行するプロセッサを有し、
前記プログラムが、
前記プリントエンジンの状態機械表現を提供するコードであり、前記状態機械が前記プリントコントローラからの通信に応答し、
前記プリントコントローラからの前記通信を階層的な通信エレメントに翻訳するコードと、
前記プリントコントローラからの前記通信、前記階層的通信エレメント及び、前記状態機械からの関連する通信の少なくとも1つを表示するコードとを含むプリントエンジンシミュレータが提供される。
【0014】
本発明の別の見地によれば、プリントエンジンシミュレータと、プリントエンジンとの通信に適合されたプリントコントローラとを含む開発システムであって、
前記シミュレータが、
前記プリントコントローラからの通信を階層的な通信エレメントに翻訳する翻訳手段と、
前記プリントエンジンの状態機械表現であって、前記状態機械が前記通信に応答し、
前記プリントコントローラからの通信、前記階層的通信エレメント及び前記状態機械からの関連する通信の少なくとも1つの表示に適合した表示手段とを有する開発システムが提供される。
【0015】
本発明の別の見地によれば、プリントエンジンと通信を行うように適合され、それによって前記プリントエンジンを制御するプリントコントローラを含む開発システムのための、前記プリントエンジンのシミュレートを行う方法であって、前記プリントエンジンの状態機械表現を提供するステップであり、前記状態機械が前記プリントコントローラからの通信に応答し、
前記プリントコントローラからの通信を階層的な通信エレメントに翻訳するステップと、
前記プリントコントローラからの通信、前記階層的通信エレメント及び、前記状態機械からの関連する通信の少なくとも1つを表示するステップとを有する方法が提供される。
【0016】
[ベストモードを含む詳細な説明]
添付図面のいずれか1つ又は複数のステップ及び/又は機能に対してなされる参照において、逆の意図が開示されない限り、同一の参照数字が付与されたステップ及び/又は機能は本説明の目的において同一の機能又は動作を行う。
【0017】
以下の説明のいくつかの部分は、コンピュータメモリ内部のデータに対するアルゴリズム及びシンボル表現という形式で明示的又は暗示的に表されている。これらのアルゴリズム的記述及び表現は、データ処理技術における当業者によって、それらの動作の実体を他の当業者に最も効率的に伝達するために用いられる手段である。アルゴリズムはここで、また一般的に、所望の結果を導く、自己一貫性を有するステップの系列であると想像される。ステップは物理量の物理操作を必要とする。通常、必須ではないけれども、それらの量は格納、転送、結合、比較及び他の操作が可能な電気的又は磁気的形式を有する。主に共通利用という理由から、時折便宜的にそれら信号をビット、値、要素、シンボル、文字、言葉、数字等として参照する。
【0018】
しかしながら、上述の、又は類似の言葉は適切な物理量に関連するべきものであり、それら適用される便宜的なラベルに過ぎないことに留意されたい。別の意味で説明されない限り、また以下の説明から明らかなように、本明細書を通じて、「スキャン」、「計算」、「決定」、「置換」、「生成」、「初期化」、「出力」等の言葉を用いる検討は、コンピュータシステムのレジスタ及びメモリ内部の物理(電子)量として表されるデータを、コンピュータシステムメモリ、レジスタ又は他の情報記憶、伝送又は表示装置内部の物理量として同様に表される他のデータへの操作及び変形するコンピュータシステム又は類似の電子装置の動作又は処理を参照する。
【0019】
本明細書は、本発明の方法の工程を実行するための装置をも開示する。そのような装置は必要とされる目的に対して特別に構築されても、コンピュータ内に格納されたコンピュータプログラムによって選択的に活性化される、あるいは再構成される汎用コンピュータや他の装置から構成されても良い。ここで示されるアルゴリズム及びディスプレイは特定のコンピュータ又は他の装置に本質的に関連しない。様々な汎用装置が本明細書の教示に従ったプログラムと共に利用可能である。代わりに、必要な方法のステップを実行するためのより特化した構成を用いることも好ましい。従来の汎用コンピュータの構成は以下の説明から明らかになるであろう。
【0020】
さらに、本明細書は本発明の方法の工程を実行するためのコンピュータプログラムを有するコンピュータ装置読み取り可能な媒体をも開示する。ここで、コンピュータ装置読み取り可能な媒体には送信元と送信先との間でコンピュータプログラムを通信するための任意の伝送媒体を含みうる。伝送媒体は磁気又は光ディスク、メモリチップ、又は汎用コンピュータとのインタフェースに好適な他の記憶装置等の記憶装置を含みうる。伝送媒体はまた、インターネットシステムにおいて例示されるハードワイヤード媒体や、GSM移動電話システムにおいて例示されるような無線媒体をも含みうる。コンピュータプログラムはいかなる特定のプログラム言語及びその実装への限定を意図されていない。様々なプログラミング言語及びそのコーディングが本明細書に含まれる開示の教示を実施するために利用可能である。
【0021】
添付図面の任意の1つ又は複数において、ステップ及び/又は機能に参照がなされる場合、同一の参照数字を有するものは、特に断りのない限り、本明細書の目的上、同一の機能又は工程を有する。
【0022】
ここで説明される好ましい方法の原理は、システム要素間においてシリアル又は他の通信を用いるシステムにおけるソフトウェア開発に広く適用可能である。しかし、説明を簡単にするため、好ましい方法のステップはプリントエンジンコントローラ及びプリントエンジンを有するシステムについて説明される。本発明を説明される方法に限定することは意図していない。
【0023】
図1は、プリントエンジンコントローラ100及びプリントエンジン106を有するプリンタ開発システム構成を示す。プリントエンジン106は、紙に記録する電気機械装置であり、コントローラ100は典型的にはプリントエンジン106へシリアル接続を介して制御コマンドを送信する、マイクロプロセッサベースのシングルボードコンピュータである。図1におけるシリアル接続は一方向矢印102及び104でそれぞれ表される。プリントエンジン106は一般に標準的な非同期低速(9600〜38400ビット/秒)シリアルリンクプロトコルを用いて制御され、ビデオデータは一般にパラレルインタフェース(図示せず)を用い、高速バス108によってプリントエンジンに供給される。
【0024】
装置開発の過程では、プリントエンジン106が利用可能になる前にプリントエンジンコントローラ100を開発しなくてはならないことがよくある。そのような場合、プリントエンジンシミュレータ110をプリントエンジンコントローラ100の開発を補助するために利用することができる。シミュレータ110はシリアルリンク102、104(プリントエンジン106でなくシミュレータに接続される際には点線矢印114及び112で表される)を用いてプリントエンジンコントローラ100に接続される。
【0025】
図2はプリントエンジンコントローラ100及びプリントエンジンシミュレータ110の内部を示す。プリントエンジンコントローラ100は典型的には組み込みされた、LiNUXproprオペレーティングシステムが稼働するpowerPC200を有し、PCは接続202によってハードウェア描画アクセラレータ204へ接続される。本シナリオにおいて開発されるべき特定のソフトウェアはコントローラプロセッサ上で稼働するプリントジョブスケジュールソフトウェア206である。
【0026】
プリントエンジンシミュレータ110は一般に、状態機械表現を用い、少なくともシリアルコマンドプロトコル及びプリントスケジュールについてシミュレートするLinuxpropr box208を用いて実現される。本明細書はLinuxproprオペレーティングシステムが稼働する特定のハードウェアプラットフォームを想定して説明するが、他のプラットフォーム及びオペレーティングシステムを用いることができる。従って、例えば、プリントエンジンシミュレータは図8に関連して説明されるような汎用コンピュータシステム700上で実現することもできる。
【0027】
通信コンセプト及び技術用語の簡単な概要は以後の説明についてのシーン設定において有用である。ISO/OSI(International Standard Organization's Open System Interconnect)は通信を7つのレイヤに分割し、物理的には1つのレイヤにのみ物理的に接続され、仮想的に他のレイヤ全てに接続される。
【0028】
システム設計者はめったにこれらレイヤの全てを用いない。それらは非常に複雑な大規模システムにおいてのみ有用である。何人かの設計者は非常に薄いレイヤ表現や、より少ないレイヤを形成するため、複数のレイヤを結合したりする。これらレイヤのうち、3つのみ(レイヤ1,2及び7)が本発明において用いられる。
【0029】
物理層(レイヤ1)はコントローラのシリアルポート102,104及びエンジンシミュレータ114,112との間を接続するために用いられるケーブルである。データリンクレイヤであるレイヤ2は、到着するデータが最大パケットサイズ、ヘッダ、チェックサム、確認及び再送方法を特定し、誤りなくデータが到着することを保証する。これはこれらエキストラにおけるカプセル化されたデータパケットとは独立している。Layer2上のプロトコルはレイヤ7におけるプロトコルとは異なる、レイヤ2及びレイヤ7の両方は、一般に前もって指定された入力を開発処理に入力し、変更することはできない。
【0030】
図3は上述した3層通信モデルによる通信フラグメントを示す。例として、コントローラ100がXバイトを有するパケット300をエンジン/シミュレータ106、110におけるアプリケーションレイヤに送信するものと仮定する。最大データリンクレイヤパケットサイズはNバイトに過ぎず、従ってソフトウェアが2つのパケット302,304に分割する。そして、送信のためにヘッダ308及びチェックサム310を各パケット302,304に付加する。エンジン/シミュレータ106/100における受信機(図示せず)は生データをチェックサムの計算に十分になるまで組み立てる。ヘッダ308の情報から、受信機は高レベルデータパケットを完成するのに別のパケットが必要であることを知り、第2のパケットが受信されるのを待つ。そして、受信機は全データを組み立て、それをアプリケーションレイヤに渡す。アプリケーションレイヤはデータを最初の2バイトからなるコマンドに基づいて翻訳する。コマンドは、例えばエンジンから受信した所定のパラメータを設定する指示であって良い。
【0031】
これらレイヤの両方におけるプロトコルは一般的にメーカ固有であるため、カスタマイズされたプログラミング無しでプロトコルを翻訳可能であるような、標準的なプロトコルアナライザは存在しない。しかし、説明した組み立て及び翻訳を実行し、並びに好ましくはデータバイト、ヘッダ及びチェックサムの値を表示するための専用コードを書くことは可能である。
【0032】
プリントエンジンシミュレータ110の目的はコントローラ100上でコードのデバッグを行うことであるため、コントローラ100がデータリンクレイヤパケットを組み立てるための正しいバイトストリームを送信しているか否か、またコントローラ100が入来バイトを正しく翻訳しているか否かを始めにチェックすることは有益である。そのような特定の処理を簡略化するため、シミュレータ110はシリアルポートで受信した1バイト毎に表示可能でなければならない。
【0033】
図4は、所望のプリントエンジンシミュレータ機能を提供する、好適な処理612を示す。Linuxpropボックス208又はコンピュータシステム700を用いて実現可能なシミュレータ110で稼働するシミュレーション処理612は、開始ステップ600から始まる。その後、処理はステップ602でアプリケーションパケットを通信コネクション112、114から取得する。コネクション112上のアプリケーションパケットはシミュレータ110で稼働する状態機械表現によって生成され、コネクション114上のアプリケーションパケットはプリントエンジンコントローラ100によって生成される。その後、ステップ604において、処理612はアプリケーションパケットを翻訳し、その後アプリケーションパケットの通信エレメントがステップ606で表示される。その後、判定ステップ608において、処理612を継続すべきであれば、処理は「はい」の矢印に従ってステップ602へ戻される。処理612が継続すべきでない場合には、処理は「いいえ」矢印に従って、処理612が終了するステップ610へ導かれる。
【0034】
図5は、開発者が興味のある階層的通信エレメントを示す図である。図5はまた、エンジンシミュレータの1つの構成の機能を予め示し、開発者がシミュレータ使用時に呼び出し可能な複雑な5つの”レベル”424を示す。
【0035】
要するに、大きなアプリケーションパケットが送信される際には、2つかそれより多いデータリンクレイヤパケットに分割される。これら個々のパケット404a、412aはシミュレータにおいて別々に調べたり検査しても良い。プログラマはデータリンクレイヤでの動作に満足したら、スクリーン上の散乱物の総量を削減するため、レベル3へ再びデバッグレベルを1つ下げることができ、以下同様に動作する。図3と図5を併せて参照すると、コントローラにおけるアプリケーションレイヤによってエンジン/シミュレータのアプリケーションレイヤへ送信されたパケットがXバイト長であり、データ416によって表されることに留意されたい。最大データリンクレイヤパケットサイズはNバイトに過ぎず、通信ソフトウェアはアプリケーションパケットを参照数字404A、412Aで示される2つのパケットに分割する。通信ソフトウェアは、参照数字400及び408で示されるように、上述のパケット404A及び412Aの各々に、ヘッダ及びチェックサムを付加する。以下、更に詳細に説明する。
【0036】
コントローラコードがまさしく最初に動作する際、開発者はデータリンクレイヤのコードにバグがないことすら確証できず、そのため、開発者はシリアルポートで送信される各バイトの全てを調べる必要がある。最高デバッグレベル、すなわちレベル5に設定することにより、シミュレータ110はそれら生バイトを表示することができる。データリンクレイヤ(すなわち、レイヤ5)において、リンクパケット400,408は、それぞれヘッダ402,410、データ404、412及びチェックサム406,414を含む。個々のリンクパケット400及び408のこれら内容は、本構成が開発者に表示を許す最高レベルの階層通信エレメントである。図5において、これは「レベル5」シミュレーションレベルとして表され、利用可能なシミュレーションレベルの範囲が参照数字424により表されている。
【0037】
シミュレータをレベル5に設定して使用しているコントローラ開発者が、データレイヤパケットが正しく組み立てられており、ヘッダが正しく、チェックサムが正しく計算されていることに満足した場合、開発者は送信される実データに注目を開始することが可能になる。そのため、デバッグレベルをレベル4へ1つ下げてもよい。レベル4においては、対応するデータ要素404A及び412Aのみが表示されるため、提供される内容(detail)の量を削減することによって、開発者にこれらパケット中のコマンドバイトの意味がどのようなものかを調べることを可能にする。しかしながら、実際は、データ要素404Aには、そのデータ要素がレベル4シミュレーションにおいて表示されるべきデータ要素を表すため、新しい参照数字、すなわち404Aを与えられている。
【0038】
開発者がレベル4においてデバッグ作業を完了すると、開発者はレベル3へ落として再び提供される内容量を削減することが可能になる。レベル3においては、点線の箱416で表されるように、上述のデータ要素(404B及び412B)が再組立される。
【0039】
上述したように、開発者がレベル3においてデバッグ作業を完了すると、レベルをレベル2へ落とすことが可能であり、レベル2では参照数字418で示すように、通信されたコマンドに付随する意味引数(semantics arguments)が表示される。次のレベル、すなわちレベル1では、コマンドそれ自身420の意味指定(semantic designation)のみが表示される。これは抽象化の最高レベルであることを示し、開発者に表示される内容量が最小であることと等しい。次のレベル、すなわちレベル0では、不正なコマンドコードや無効なコマンドシーケンス等のエラーが存在しない限り、付随データは全く表示されない。何かが表示される場合には常にタイムスタンプ422が表示される。
【0040】
要するに、図5によって示される取り決めは、通信の階層的表現を選択的に開発者に見せることを可能にする。この手法はテキスト形式により付録Aに示される。
【0041】
操作の利便性という観点から、キーを押下することによりシミュレータレベルを都合良く変更することが可能であり、再コンパイルは不要である。
【0042】
上述の機能を実現するための例示的な擬似コードが付録Bに与えられる。このコードはアプリケーションレイヤパケットへ戻るために、関数”GetApplPacket”をコールする。別の関数”InterpretPacket”はパケットを翻訳するために用いられる。GetApplPacket関数はデータリンクレイヤパケットを組み立てるのに十分なバイト数を集めるため、別の関数”GetLinkPacket”をコールする。
【0043】
コントローラ及びシミュレータの両方が動作している際、リアルタイムで読まれるべきデータが多く生成されすぎる。特にシーケンスの初期にエラーが起きた場合、後でログファイルを読むのは面倒である。シミュレータが実際のエンジンのようには応答しないが、キーの押下に応答して特定のデータパケットをコントローラへ送信するモードを持たせるのは便利である。コントローラの「テンポラリデバッグプリントステータス」はこのモードにおいて受信した応答を表示可能である。
【0044】
図6は要約された疑似スタティック情報及びダイナミック情報の両方を同時に表示するための表示配置を示す。
【0045】
データリンクレイヤについての図6における例示的な画面表示は付録Cに記載される。画面表示のテキストの始めの4行は”スクロールしない”画面500を表す。テキストの第1行は画面名、日付、時間(時/分/秒/10分の1秒表記)及び切り捨てられた秒(truncated seconds)表記の時間を示す。第2行はシミュレータによって受信したバイト数及び対応するリンク数及びアプリケーションパケット数を示す。第3行はシミュレータが送信したバイト数及び対応するリンク数及びアプリケーションパケット数を示す。第4行は様々な制御ラインの論理状態を示す。
【0046】
続く行は”スクロールする”画面502を表す。各行はミリ秒単位のタイムスタンプ、通信エレメントがシミュレータによって送信されたか受信されたかを示すタグ”Tx”又は”Rx”、通信エレメントに関連する具体的な応答メッセージ、印刷されたページのID番号及び、印刷結果を有する。
他の例示的な画面が付録Dで説明される。
【0047】
シミュレータが単独のコントローラよりも多いサブシステムに接続されている場合、所望の内容量で2つの間のデータフローを表示するため、分離、独立して設定されたデバッグレベルを有する追加デバッグ画面モードを用いることができる。
【0048】
上述の配置は以下のように更に拡張することが可能である。デアサートされた際に通信インタフェースをリセットするのはDTR/DSR行の標準機能であるが、プリンタにおいて更にエンジン状態機械をリセットし、また再びレディ状態になった際に表示する。シミュレータはコントローラソフトウェアの開発中有用なこの機能を組み込む。不正な状態が検出された際、コントローラはエラーメッセージを表示し、シリアルポートを閉じて終了する。これはシミュレータをリセットする。この単純な処理はシミュレータを手動でリセットする代わりに、開発者がコントローラのデバッグに自由に集中できる状態に保つ。
【0049】
図7は上述の構成の別の変形例を示し、ここでシミュレータはエンジンが応答するようには応答せず、シリアルポートのモニタ、ログの記録及びコマンドの時間記録のみを行う。これは、付録Bのコードにおける”モニタモードでないならば”ステートメントによって達成される。実際のコントローラ802及びプリントエンジン806間でのコマンドトラフィックを解析するため、モニタモードにあるシミュレータの2つのインスタンス814及び816は、より上位のプロトコルアナライザとほぼ同じ方法によって1つのLinuxproprボックス802で動作可能である。
【0050】
プリントエンジンをシミュレートする方法は、図8に示すような汎用コンピュータシステム700を用いて実施することが可能であり、図4の処理をコンピュータシステム700内部で実行されるアプリケーションプログラム等のソフトウェアとして実装可能である。特に、プリントエンジンをシミュレートする方法のステップはコンピュータで実行されるソフトウェア中の命令によって成立する。ソフトウェアはプリントエンジン方法のシミュレートを行う部分と、ユーザインタフェース及びユーザ間の管理を行う部分の2つの部分に分割しても良い。ソフトウェアは例えば以下に記載する記憶装置を含む、コンピュータが読み取り可能な媒体に格納されても良い。ソフトウェアはコンピュータが読み取り可能な媒体からコンピュータへロードされ、コンピュータによって実行される。そのようなソフトウェアを有するコンピュータ読み取り可能な媒体又は、コンピュータ読み取り可能な媒体に記録されたコンピュータプログラムはコンピュータプログラム製品である。コンピュータプログラム製品の使用はプリントエンジンをシミュレートするために都合の良い装置を好適に実現する。
【0051】
コンピュータシステム700はコンピュータモジュール701、キーボード702及びマウス703等の入力装置、プリンタ715及び表示装置714を含む出力装置を有する。変復調器(モデム)送受信装置716は、例えば電話回線721や他の機能媒体(functional medium)を介して接続可能な、通信ネットワーク720との間で双方向通信を行うためにコンピュータモジュール701が使用する。モデム716はインターネットや、局所ネットワーク(LAN)又は広域ネットワーク(WAN)等の他のネットワークへアクセスするために用いることが可能である。
【0052】
コンピュータモジュール701は一般に少なくとも1つのプロセッサユニット705、例えば半導体ランダムアクセスメモリ(RAM)及び読み出し専用メモリ(ROM)から構成されるメモリユニット706、ビデオインタフェース707を含む入出力(I/O)インタフェース及び、キーボード702及びマウス703並びにオプションのジョイスティック(図示せず)用のインタフェース713及び、モデム716用のインタフェース708を含む。I/Oインタフェース713はエンジンコントローラ100と、図8では点線で示されるコネクション112、114上で通信を行うために設けられている。一般にハードディスクドライブ710及びフロッピーディスクドライブ711を含む記憶装置709が設けられる。磁気テープドライブ(図示せず)もまた用いることができる。CD−ROMドライブ712は不揮発的なデータ源として一般に設けられる。コンピュータモジュール701の部品705〜713は一般に相互接続バス704を介し、関連技術分野に属する当業者に知られる、コンピュータシステム700の従来の方法の動作における方法で通信する。説明した構成を実施可能なコンピュータの例にはIBM−PC及びその互換機、SunSparcstation及びそれらから発展した同様のコンピュータシステムを含みうる。
【0053】
一般に、アプリケーションプログラムはハードディスクドライブ710に常駐し、プロセッサ705による実行において読み込まれ、また制御される。プログラム及びネットワーク720からフェッチした任意のデータの中間記憶(intermediate storage)は、半導体メモリ706を用いて、おそらくはハードディスクドライブ710とともに用いて達成することができる。いくつかの例において、アプリケーションプログラムはCD−ROM又はフロッピーディスク上にエンコードされ、対応するドライブ712又は711を介して読み込まれるか、代わりにモデム装置716を介してネットワーク720からユーザによって読み込まれてユーザに供給されても良い。さらに、ソフトウェアは磁気テープ、ROM又はIC、光磁気ディスク、コンピュータモジュール701及び他の装置間の無線又は赤外線伝送チャネル、PCMCIAカード等のコンピュータ読み取り可能なカード及び、電子メール伝送及びウェブサイト等に記録された情報を含むインターネット及びイントラネットからコンピュータシステム700へロードされても良い。他のコンピュータ読み取り可能な媒体を代わりに用いてもよい。
【0054】
プリントエンジンをシミュレートする方法はまた、プリントエンジンの機能又は副機能(subfunctions)を実行する1つ又は複数のIC等の専用ハードウェアにおいて実施されても良い。このような専用ハードウェアはグラフィックプロセッサ、ディジタル信号プロセッサ、1つ又は複数のマイクロプロセッサと関連するメモリを含んでよい。
【0055】
[産業上の用途]
上述の説明から明らかなように、説明された構成はコンピュータ及びデータ処理産業に適用可能である。
【0056】
上述の説明は本発明の一部の実施形態のみを説明したものであり、本発明の範囲及び精神を離れることなく変形及び/又は変更が可能であって、実施形態は例示的かつ非限定的なものである。
【0057】
付録A
シミュレータ動作及び機能のテキスト形式例
例:
16進数で表される、16バイトから構成されるアプリケーションレイヤパケット
00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF
データリンクレイヤパケットは10バイト長であるため、以下の2つのパケットに分割される
[00 11 22 33 44 55 66 77 88 99] 及び [AA BB CC DD EE FF]
各パケットにヘッダ及びチェックサムを付加
[AA 55 01 0A] [00 11 22 33 44 55 66 77 88 99][45 3A] 及び
[AA 55 02 06] [AA BB CC DD EE FF][A4 F7]
標準的なプロトコルアナライザでの表示はこのようになる
AA 55 01 0A 00 11 22 33 44 55 66 77 88 99 45 3A AA 55 02 06 AA BB CC DD EE FF A4 F7
パケット間に切れ目がないので、混乱しやすい
【0058】
デバッグレベル5が選択されると、表示はこのようになる
[AA 55 01 0A] [00 11 22 33 44 55 66 77 88 99][45 3A] (ヘッダ及びチェックサムを有するリンクパケット1)
[00 11 22 33 44 55 66 77 88 99] (リンクパケット1)
[AA 55 02 06] [AA BB CC DD EE FF][A4 F7] (ヘッダ及びチェックサムを有するリンクパケット2)
[AA BB CC DD EE FF] (リンクパケット2)
[00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF] (アプリケーションパケット)
コマンド #1 + タイムスタンプ
パラメータ #1 = XXX
パラメータ #2 = YYY
パラメータ #3 = ZZZ
パラメータ #4 = ABC
パラメータ #5 = KLM
【0059】
デバッグレベル4が選択されると、表示はこのようになる
[00 11 22 33 44 55 66 77 88 99] (リンクパケット1)
[AA BB CC DD EE FF] (リンクパケット2)
[00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF] (アプリケーションパケット)
コマンド #1 + タイムスタンプ
パラメータ #1 = XXX
パラメータ #2 = YYY
パラメータ #3 = ZZZ
パラメータ #4 = ABC
パラメータ #5 = KLM
【0060】
デバッグレベル3が選択されると、表示はこのようになる
[00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF] (アプリケーションパケット)
コマンド #1 + タイムスタンプ
パラメータ #1 = XXX
パラメータ #2 = YYY
パラメータ #3 = ZZZ
パラメータ #4 = ABC
パラメータ #5 = 600 dpi
【0061】
デバッグレベル2が選択されると、表示はこのようになる
コマンド #1 + タイムスタンプ
パラメータ #1 = XXX
パラメータ #2 = YYY
パラメータ #3 = ZZZ
パラメータ #4 = ABC
パラメータ #5 = 600 dpi
【0062】
デバッグレベル1が選択されると、表示はこのようになる
コマンド #1 + タイムスタンプ
【0063】
そして、デバッグレベル0ではエラー以外何も表示されない
全情報とともにタイムスタンプが表示され、以後の調査のためにログファイルへセーブされる。コードを簡単にするため、行中に現れる実際の順番は交換可能である。
【0064】
付録B
Figure 0003652307
【0065】
Figure 0003652307
【0066】
Figure 0003652307
【0067】
Figure 0003652307
【0068】
Figure 0003652307
【0069】
Figure 0003652307
【0070】
付録C
例示的なシミュレータデータリンクレイヤ表示画面
リンクレイヤ Wed 20/12/2000 13:19:21.2 2321056423
Rx: Bytes 2198 LnkPk 138 Packs 95
Tx: Bytes 2150 LnkPk 135 Packs 132
DSR 1 CTS 1 DTR 1 RTS 1
50813 Tx 応答#1. ページID 38 Result OK
50993 Tx 応答#2. ページID 37 Status 0
51033 Tx 応答#3. ページID 38
51063 Rx コマンド#1 ページID = 38
51073 Rx コマンド#2 ページID = 39
51893 Tx 応答#1. ページID 39 ResultOK
52073 Tx 応答#2. ページID 38 Status 0
52113 Tx 応答#3. ページID 39
52143 Rx コマンド#1 ページID = 39
52153 Rx コマンド#2 ページID = 40
52973 Tx 応答#1. ページID 40 Result OK
53153 Tx 応答#2. ページID 39 Status 0
53193 Tx 応答#3. ページID 40
53223 Rx コマンド#1 ページID = 40
53233 Tx コマンド#2 ページID = 41
54053 Tx 応答#1. ページID 41 Result OK
54233 Tx 応答#2. ページID 40 Status 0
54273 Tx 応答#3. ページID 41
54303 Rx コマンド#1 ページID = 41
54314 Rx コマンド#2 ページID = 42
55133 Tx 応答#1. ページID 42 Result OK
55313 Tx 応答#2. ページID 41 Status 0
55353 Tx 応答#3. ページID 42
55383 Rx コマンド#1 ページID = 42
56393 Tx 応答#2. ページID 42 Status 0
56423 Rx コマンド#3 ページID = 42
【0071】
付録D
他のシミュレータ表示画面の例
データリンクレイヤ画面
この画面は低レベル通信に関する全ての結果を取り扱う。
非スクロール領域500に、バイト数、送受信されたリンクレイヤパケット及びアプリケーションレイヤパケット等の事項を表示する。また、この画面はフロー制御ライン及びモデム制御ラインのステータスも表示する。
キーボードがモニタモード、すなわちパケットへの自動応答又はパケットの手動伝送のオン/オフを行う。
【0072】
アプリケーションレイヤ画面
非スクロール領域500はデータリンクレイヤ画面と同様の表示を行う。
画面は依然として通信を処理するが、異なるキーストロークとともに異なるパケットをコントローラへ送信する。例えば、
I = 応答 #1
M = 応答 #2
N = 応答 #3
E = 応答 #4
等...
D/d = 図5に関連して説明され、擬似コード例によって例示される、通信のためのデバッグレベル上昇/低下
【0073】
ステータス設定画面
この画面は時間及び、ステータス値が入力された際のユーザ入力を除き、非スクロール領域500に表示すべき物があまり無い。
一部のパケット共にコントローラへ返送される以下のステータス値は、この画面モードに設定される。
g = 応答 #1
w = 応答 #2
o = 応答 #3
s = 応答 #4
【0074】
ファイル及びエラー画面
以下の機能がこのモードで利用可能である。
f (最新の要素を読見込み可能とするために)ログファイルを消去する
r = 応答#1
c/C 応答#2の前/後にページキャンセルを導入
j/J 応答#3の前/後にジャムを導入
e 応答#4を送信
【0075】
ページ保存画面
この画面はコマンドを持たないが、様々なページの状態を非スクロール領域500に表示する。
状態は以下の通り:キャンセル、新規、ピックアップ、ビットマップ処理済み(Bitmap_Done)、印刷中、完了
このモードはシステム内の3ページまでを、そのページID番号と共に表示する。例えば、
3 ピックアップ
2 ビットマップ処理済み
1 完了
そして、数ミリ秒後に:
4 ピックアップ
3 ビットマップ処理済み
2 完了
【0076】
コントローラエミュレーション画面
このモードは手動でコントローラコマンドを実際のプリントエンジンへ、あるいはシミュレータ自体の開発中に、シミュレータの振る舞いを実際にテストするためにシミュレータの他のインスタンスへ送信するために使用可能である。このモードはシミュレータ開発のブートストラップ法であり、プリントコントローラそれ自体のための簡単なシミュレータを提供するという更なる利点を有する。
【0077】
プリントジョブを行うには:
e コマンド#1 (そして応答#1を待機)
v コマンド#2 (そして応答#2及び応答#3を待機)
p コマンド#3 (そして応答#4を待機)
P コマンド#4 (オプション)
【図面の簡単な説明】
【図1】開発中の印刷システムのブロック図である。
【図2】プリントエンジンコントローラ及びプリントエンジンシミュレータの詳細を示す図である。
【図3】コントローラ及びプリントエンジン間のパケット化された通信のフラグメントを示す図である。
【図4】プリントエンジンシミュレータの1構成によるシミュレーション手順を示す図である。
【図5】開発者に関心のある階層的な通信エレメントを示す図である。
【図6】疑似静的及び動的データの同時表示を提供する2部構成表示構成を示す図である。
【図7】プロトコル解析モードにおいて用いられるシミュレータの複数利用例を示す図である。
【図8】説明する構成を実施可能な汎用コンピュータを示す図である。

Claims (14)

  1. プリントエンジンと通信するために適合されたプリントコントローラを含み、それによって前記プリントエンジンを制御する開発システムのためのプリントエンジンシミュレータであって、
    前記プリントコントローラからの通信を階層的通信エレメントに翻訳する翻訳手段と、
    前記通信に応答する、前記プリントエンジンの状態機械表現及び、
    前記プリントコントローラからの通信、前記階層的通信エレメント及び、前記状態機械からの関連する通信の少なくとも1つを表示するように適合された表示手段とを有することを特徴とするプリントエンジンシミュレータ。
  2. 前記プリントコントローラからの通信がデータリンクレイヤパケット列を有し、
    前記階層的通信エレメントが、
    (i)前記リンクレイヤパケット、
    (ii)前記リンクレイヤパケットに関するヘッダ、
    (iii)前記リンクレイヤパケットに関するチェックサム、
    (iv)前記リンクレイヤパケットから形成されるアプリケーションレイヤパケット、
    (v)前記アプリケーションレイヤパケットに関するプリントエンジンコマンド、及び
    (vi)前記プリントエンジンコマンドに関する引数
    の少なくとも1つを有することを特徴とする請求項1記載のプリントエンジンシミュレータ。
  3. 前記状態機械表現が、
    各々が1つ又は複数の状態値を仮定可能な第1の複数のプリントエンジン状態と、
    第2の複数の状態遷移及び関連する時間遅延とを有し、
    前記プリントコントローラからの通信に応答する前記状態機械からの通信が、
    ・前記プリントエンジンシミュレータが前記プリントコントローラからの通信を受信する前の前記第1の複数のプリントエンジン状態値と、
    ・前記プリントコントローラからの通信及び、
    ・時間の満了
    の少なくとも1つに依存することを特徴とする請求項1記載のプリントエンジンシミュレータ。
  4. 前記表示手段が前記階層的通信エレメントの少なくとも1つを表示するように適合されていることを特徴とする請求項2記載のプリントエンジンシミュレータ。
  5. 前記表示手段が、
    前記少なくとも1つの階層的通信エレメントに関する静的情報を表示する非スクロール表示領域と、
    前記プリントコントローラからの通信を動的に表示するスクロール領域とを有することを特徴とする請求項2記載のプリントエンジンシミュレータ。
  6. 前記階層的通信エレメントの少なくとも1つにおける不正状態を検出するエラー検出手段と、
    前記検出された不正状態を前記表示手段に提示するエラー表示手段及び、
    前記プリントエンジンの前記状態機械表現をリセットするリセット手段とを更に有することを特徴とする請求項2記載のプリントエンジンシミュレータ。
  7. プリントエンジンと通信するために適合されたプリントコントローラを含み、それによって前記プリントエンジンを制御する開発システムのためのプリントエンジンシミュレータであって、
    プログラムを格納するメモリ及び、
    前記プログラムを実行するプロセッサを有し、前記プログラムが、
    前記プリントコントローラからの通信に応答する、前記プリントエンジンの状態機械表現を提供するコードと、
    前記プリントコントローラからの通信を階層的通信エレメントに翻訳するコード及び、
    前記プリントコントローラからの通信、前記階層的通信エレメント及び、前記状態機械からの関連する通信の少なくとも1つを表示するコードとを有することを特徴とするプリントエンジンシミュレータ。
  8. プリントエンジンシミュレータ及び、プリントエンジンとの通信に適合されたプリントコントローラであって、それによって前記プリントエンジンを制御するプリントコントローラ、を含む開発システムであって、
    前記プリントエンジンシミュレータが、
    前記プリントコントローラからの通信を階層的通信エレメントに翻訳する翻訳手段と、
    前記通信に応答する、前記プリントエンジンの状態機械表現及び、
    前記プリントコントローラからの通信、前記階層的通信エレメント及び、前記状態機械からの関連する通信の少なくとも1つを表示するように適合された表示手段とを有することを特徴とする開発システム。
  9. プリントエンジンとの通信に適合されたプリントコントローラを含み、それによって前記プリントエンジンを制御する開発システムにおける前記プリントエンジンのシミュレート方法であって、
    前記プリントコントローラからの通信に通信に応答する、前記プリントエンジンの状態機械表現を提供するステップと、
    前記プリントコントローラからの通信を階層的通信エレメントへ翻訳するステップ及び、
    前記プリントコントローラからの通信、前記階層的通信エレメント及び、前記状態機械からの関連する通信の少なくとも1つを表示するステップとを有することを特徴とするシミュレート方法。
  10. プリントエンジンとの通信に適合されたプリントコントローラを含み、それによって前記プリントエンジンを制御する開発システムにおける前記プリントエンジンのシミュレート方法を実行するようにプロセッサを導くコンピュータプログラムが記録されたコンピュータ読み取り可能な媒体を含むコンピュータプログラム製品であって、前記プログラムが、
    前記プリントコントローラからの通信に応答する、前記プリントエンジンの状態機械表現を提供するコードと、
    前記プリントコントローラからの通信を階層的通信エレメントに翻訳するコード及び、
    前記プリントコントローラからの通信、前記階層的通信エレメント及び、前記状態機械からの関連する通信の少なくとも1つを表示するコードとを有することを特徴とするコンピュータプログラム製品。
  11. プリントエンジンとの通信に適合されたプリントコントローラを含み、それによって前記プリントエンジンを制御する開発システムにおける前記プリントエンジンのシミュレート方法を実行するようにプロセッサを導くコンピュータプログラムであって、
    前記プリントコントローラからの通信に応答する、前記プリントエンジンの状態機械表現を提供するコードと、
    前記プリントコントローラからの通信を階層的通信エレメントに翻訳するコード及び、
    前記プリントコントローラからの通信、前記階層的通信エレメント及び、前記状態機械からの関連する通信の少なくとも1つを表示するコードとを有することを特徴とするコンピュータプログラム。
  12. 前記プリントコントローラからの通信がデータリンクレイヤパケット列を有し、前記プリントコントローラからの通信を前記階層的通信エレメントに翻訳する前記コードが、
    (i)前記リンクレイヤパケットを翻訳するコード、
    (ii)前記リンクレイヤパケットに関するヘッダを翻訳するコード、
    (iii)前記リンクレイヤパケットに関するチェックサムを翻訳するコード、
    (iv)前記リンクレイヤパケットから形成されるアプリケーションレイヤパケットを翻訳するコード、
    (v)前記アプリケーションレイヤパケットに関するプリントエンジンコマンドを翻訳するコード、及び
    (vi)前記プリントエンジンコマンドに関する引数を翻訳するコード
    の少なくとも1つを有することを特徴とする請求項11記載のコンピュータプログラム。
  13. 前記状態機械表現を提供するコードが、
    各々が1つ又は複数の状態値を仮定可能な第1の複数のプリントエンジン状態に対するコードと、
    第2の複数の状態遷移及び関連する時間遅延とに対するコードを有し、
    前記プリントコントローラからの通信に応答する前記状態機械からの通信が、
    ・前記プリントエンジンシミュレータが前記プリントコントローラからの通信を受信する前の前記第1の複数のプリントエンジン状態値と、
    ・前記プリントコントローラからの通信及び、
    ・時間の満了
    の少なくとも1つに依存することを特徴とする請求項11記載のコンピュータプログラム。
  14. 前記階層的通信エレメントの少なくとも1つにおける不正状態を検出するコードと、
    前記検出された不正状態を前記表示手段に提示するコード及び、
    前記プリントエンジンの前記状態機械表現をリセットするコードとを更に有することを特徴とする請求項12記載のコンピュータプログラム。
JP2001390341A 2000-12-22 2001-12-21 プリントエンジンシミュレータ、開発システム、シュミレート方法、コンピュータプログラム製品、及びコンピュータプログラム Expired - Fee Related JP3652307B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2309 2000-12-22
AUPR2309A AUPR230900A0 (en) 2000-12-22 2000-12-22 Print engine simulator

Publications (2)

Publication Number Publication Date
JP2002326430A JP2002326430A (ja) 2002-11-12
JP3652307B2 true JP3652307B2 (ja) 2005-05-25

Family

ID=3826343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001390341A Expired - Fee Related JP3652307B2 (ja) 2000-12-22 2001-12-21 プリントエンジンシミュレータ、開発システム、シュミレート方法、コンピュータプログラム製品、及びコンピュータプログラム

Country Status (3)

Country Link
US (1) US7035779B2 (ja)
JP (1) JP3652307B2 (ja)
AU (1) AUPR230900A0 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060074725A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Method and apparatus for simulating implementation models of business solutions
AT501432B1 (de) * 2005-02-08 2008-04-15 Durst Phototech Digital Tech Tintenstrahldruckvorrichtung und verfahren zum drucken von mehrfarbigen bildern
US7773597B2 (en) * 2005-04-20 2010-08-10 Cisco Technology, Inc. Method and system for dynamic stashing for cryptographic operations using beginning packet information
US20080259375A1 (en) * 2007-04-23 2008-10-23 Brandon Ashey Adding features to electronic image files mimicking physical output of electronic printing data to assist testing and verification
US9311221B2 (en) * 2013-03-15 2016-04-12 Ab Initio Technology Llc Recording program execution

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835688A (en) * 1995-06-07 1998-11-10 Xerox Corporation Generic method for automatically generating finite-state machines for schedudling from print engine capabilities
US5771339A (en) 1995-06-07 1998-06-23 Xerox Corporation Method for automatically deriving print engine capabilities for incremental scheduling from compositional print engine models
US6111886A (en) * 1997-03-07 2000-08-29 Advanced Micro Devices, Inc. Apparatus for and method of communicating among devices interconnected on a bus
US6081856A (en) * 1997-12-02 2000-06-27 Bellsouth Intellectual Property Corporation Adapter and method for emulating the operation of a peripheral device of a computer
US6344901B1 (en) * 1998-10-19 2002-02-05 Hewlett-Packard Company Method and apparatus for using a rasterizer and a print engine of incompatible bit-depth representation

Also Published As

Publication number Publication date
US20020157087A1 (en) 2002-10-24
AUPR230900A0 (en) 2001-01-25
JP2002326430A (ja) 2002-11-12
US7035779B2 (en) 2006-04-25

Similar Documents

Publication Publication Date Title
US6769077B2 (en) System and method for remotely creating a physical memory snapshot over a serial bus
US7185321B1 (en) Method and system for debugging through supervisory operating codes and self modifying codes
JP4418137B2 (ja) ネットワークブラウザー装置、コンピュータ、コンピュータを診断および補修する方法
US6188975B1 (en) Programmatic use of software debugging to redirect hardware related operations to a hardware simulator
US20070288937A1 (en) Virtual Device Driver
WO1996002039A1 (en) Hardware design verification system and method
US8838838B2 (en) Universal driving method and system for peripherals
CN111831538A (zh) 调试方法、装置以及存储介质
US6785884B1 (en) Symbolic debug interface for register transfer simulator debugger
JP3652307B2 (ja) プリントエンジンシミュレータ、開発システム、シュミレート方法、コンピュータプログラム製品、及びコンピュータプログラム
CN113360379A (zh) 程序测试方法和程序测试装置
US7296187B1 (en) Hardware debug device having script-based host interface
JP4171240B2 (ja) プログラム検証システム
AU771270B2 (en) Print engine simulator
WO2006069491A1 (en) Remote logging mechanism
US20040220795A1 (en) System and method for emulating serial port communication
EP1234235B1 (en) Method and apparatus for remotely debugging computer software over a serial bus
JP3613930B2 (ja) Ieee1394プロトコル検査方法及び装置
CN115098402B (zh) 调试方法以及调试装置
JPH11272494A (ja) ワイドバンドスイッチファームウエアのデバック/コシミュレーション方式
JP2004252585A (ja) プログラム検証システム
KR20040076097A (ko) 홈 네트워크 개발용 에뮬레이팅 장치
JP2965058B2 (ja) Cpu命令エミュレートシステム
US20050097404A1 (en) Systems and methods for identifying erroneous transactions
CN110865960B (zh) 在网络上模拟PCIe总线

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050222

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080304

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090304

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120304

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130304

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees