(57)【要約】      （修正有）【課題】モジュールから構成される印刷装置において、装置の利用性及び構成のしやすさを強化する。【解決手段】プリントエンジン装置構成のモデルを提供し、モデルの少なくとも一つの出力ポートに、第１の印刷シートの仕様を適用することにより、該モデルのイベントにもとづく後戻りシミュレーションを実行し、イベントにもとづく後戻りシミュレーションの結果にもとづいて、第１の印刷シートの仕様により記述された第１の印刷シートをアセンブルするために、プリントエンジン装置の能力を決定する。前記モデルは、前記プリントエンジン装置構成を特徴付ける関数の相互連結されたセットを含む。【選択図】図２
2008260286.tif 000002
【特許請求の範囲】
【請求項１】
プリントエンジン装置において、第１の印刷シートの仕様によって記述される第１の印刷シートをアセンブルするために、該プリントエンジン装置の能力を決定する方法であって、
該方法は、
プリントエンジン装置構成のモデルを提供し、
前記モデルの少なくとも一つの出力ポートに前記第１の印刷シートの仕様を適用することにより、該モデルのイベントにもとづく後戻りシミュレーションを実行し、
前記イベントにもとづく後戻りシミュレーションの結果にもとづいて、前記第１の印刷シートの仕様により記述された前記第１の印刷シートをアセンブルするために、前記プリントエンジン装置の能力を決定する、
方法であって、
前記モデルは、前記プリントエンジン装置構成を特徴付ける関数の相互連結されたセットを含み、
関数の前記セットの関数の各々が、前記プリントエンジン装置構成の少なくとも一つのコンポーネントデバイスの出力ポートから入力ポートまでを生成するための能力を記述し、
少なくとも一つの前記コンポーネントデバイスは、フィードトレイ、トランスポートベルト、転写コンポーネント、インバータ、ゲートの一つである、
方法。
【請求項２】
プリントエンジン装置において、第１の印刷シートの仕様によって記述される第１の印刷シートをアセンブルするために、該プリントエンジン装置の能力を決定する方法であって、
該方法は、
プリントエンジン装置構成のモデルを提供し、
前記モデルの少なくとも一つの出力ポートに前記第１の印刷シートの仕様を適用することにより、該モデルのイベントにもとづく後戻りシミュレーションを実行し、
前記イベントにもとづく後戻りシミュレーションの結果にもとづいて、前記第１の印刷シートの仕様により記述された前記第１の印刷シートをアセンブルするために、前記プリントエンジン装置の能力を決定する、
方法であって、
前記モデルは、前記プリントエンジン装置構成を特徴付ける関数の相互連結されたセットを含み、
関数の前記セットの関数の各々が、前記プリントエンジン装置構成の少なくとも一つのコンポーネントデバイスの出力ポートから入力ポートまでを生成するための能力を記述し、
プリントエンジンコンポーネントの少なくとも一つは、前記プリントエンジン装置の物理的な構成要素であり、
前記プリントエンジンコンポーネントの各々は、他のコンポーネントの記述および他のコンポーネントとの相互作用の記述の参照とは独立に記述され、
前記後戻りシミュレーションは、属性制約、リソース割当およびタイミング制約、道のりリストに記憶された実行能力のネームおよびアーギュメントを累積することにより、前記プリントエンジンコンポーネントの各々の能力を構成するように動作し、
前記プリントエンジン装置の能力は、前記プリントエンジンコンポーネントの第２のコンポーネントが前記プリントエンジン装置のモデルの出力ポートである場合に、該プリントエンジンコンポーネントの第１のコンポーネントから、該プリントエンジンコンポーネントの該第２のコンポーネントの出力ポートへ、伝達されたワークユニットの配送の存在にもとづいて、実現される、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷装置技術に関し、特に複写装置のような写真式複製装置に関する。
【０００２】
本発明は特に、コンポーネントをそれらの環境又は他のコンポーネントとの相互作用に依らず記述する一般的な記述フォーマットに適用可能である。本発明のシステムは、印刷装置を形成するモジュール方式コンポーネントに関連した能力に従うプリントジョブの自動化スケジューリングを可能とし、特にそのようなことに関して記述される。しかし、モジュール方式コンポーネントを考慮した装置能力の自動化アセスメントの提供や、同様のことを考慮したジョブの特定な効率的利用のような幅広いアプリケーションを本発明が有することが認められる。
【背景技術】
【０００３】
写真式複写装置のような今日の装置は、予め製造されたコンポーネントから頻繁に製造される。そのような製造は、装置の各サブアセンブリの大量生産を可能にすると同時に、消費者のニーズに対してカスタム化を可能にする。さらに、消費者は、既存のベース装置の能力を変更することができるか又はアップグレードすることができる手段を与えられる。
【０００４】
本発明と共通の譲り受け人によって所有される特許文献１及び特許文献２において、分散型印刷及び分散型ジョブスケジューリングのための初期のシステムが見いだされる。
【０００５】
集積化装置のモジュール方式アセンブリの１つの関心事項は、完成されたシステムの利用の構成及び最適化である。このことは初期装置の製造者に対する関心事項である一方、おそらくエンドユーザーに対してもより大きい関心事項である。エンドユーザーは、技術的に充分な知識を有していないことがほとんどである。しかし、エンドユーザーは、初期投資値を維持することを所望する一方で装置能力の増加を所望する。消費者はまた、既存の装置をアップグレードするか又は構成するために専門家を雇うことに関連する出費を望まない。
【特許文献１】米国特許第５，２８７，１９４号明細書
【特許文献２】米国特許第５，３６３，１７５号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、自動的に装置能力を確認し装置を利用する新たな改良されたシステムに関し、このシステムは前述及びその他の問題を克服する。本発明は、装置の工場出荷前及び出荷後の両方において利用性及び構成のしやすさが強化されたシステムを供給する。
【課題を解決するための手段】
【０００７】
本発明に従って、プリントエンジンスケジューリングのために一般的に及びユニークに多様な個々のモジュール方式装置コンポーネントの能力を記述するシステムが提供される。
【０００８】
本発明の他の態様に従って、そのような一般的コンポーネント記述を統合し、自動的に１つ以上のサブアセンブリの存在を認識し、それらのいろいろな機能の記述をアセスメントと分析のための中央プロセッサユニットに伝達するシステムが提供される。
【０００９】
本発明の他の態様に従って、本システムは、多様な又は変化する特性の複数のプリントジョブの効率的な、自動化されたスケジューリングのための環境を提供する。
【００１０】
本発明の利点は、多様な又は変化するサブアセンブリに簡単に、そして、自動的に構成されることができる印刷装置モデルの提供である。
【００１１】
本発明の他の利点は、エンドユーザによって最大ポテンシャルに簡単に構成されることができる印刷装置の提供である。
【００１２】
本発明の他の利点は、ユーザーにより指定されたプリントジョブに従ってモジュール方式サブアセンブリを効率的にスケジューリング及び利用することによって印刷スループットを最大にする印刷装置の提供である。
【００１３】
本発明の第１の態様は、プリントエンジン装置において、第１の印刷シートの仕様によって記述される第１の印刷シートをアセンブルするために、該プリントエンジン装置の能力を決定する方法であって、該方法は、プリントエンジン装置構成のモデルを提供し、前記モデルの少なくとも一つの出力ポートに前記第１の印刷シートの仕様を適用することにより、該モデルのイベントにもとづく後戻りシミュレーションを実行し、前記イベントにもとづく後戻りシミュレーションの結果にもとづいて、前記第１の印刷シートの仕様により記述された前記第１の印刷シートをアセンブルするために、前記プリントエンジン装置の能力を決定する、方法であって、前記モデルは、前記プリントエンジン装置構成を特徴付ける関数の相互連結されたセットを含み、関数の前記セットの関数の各々が、前記プリントエンジン装置構成の少なくとも一つのコンポーネントデバイスの出力ポートから入力ポートまでを生成するための能力を記述し、少なくとも一つの前記コンポーネントデバイスは、フィードトレイ、トランスポートベルト、転写コンポーネント、インバータ、ゲートの一つである。
【００１４】
本発明の第２の態様は、プリントエンジン装置において、第１の印刷シートの仕様によって記述される第１の印刷シートをアセンブルするために、該プリントエンジン装置の能力を決定する方法であって、該方法は、プリントエンジン装置構成のモデルを提供し、前記モデルの少なくとも一つの出力ポートに前記第１の印刷シートの仕様を適用することにより、該モデルのイベントにもとづく後戻りシミュレーションを実行し、前記イベントにもとづく後戻りシミュレーションの結果にもとづいて、前記第１の印刷シートの仕様により記述された前記第１の印刷シートをアセンブルするために、前記プリントエンジン装置の能力を決定する、方法であって、前記モデルは、前記プリントエンジン装置構成を特徴付ける関数の相互連結されたセットを含み、関数の前記セットの関数の各々が、前記プリントエンジン装置構成の少なくとも一つのコンポーネントデバイスの出力ポートから入力ポートまでを生成するための能力を記述し、プリントエンジンコンポーネントの少なくとも一つは、前記プリントエンジン装置の物理的な構成要素であり、前記プリントエンジンコンポーネントの各々は、他のコンポーネントの記述および他のコンポーネントとの相互作用の記述の参照とは独立に記述され、前記後戻りシミュレーションは、属性制約、リソース割当およびタイミング制約、道のりリストに記憶された実行能力のネームおよびアーギュメントを累積することにより、前記プリントエンジンコンポーネントの各々の能力を構成するように動作し、前記プリントエンジン装置の能力は、前記プリントエンジンコンポーネントの第２のコンポーネントが前記プリントエンジン装置のモデルの出力ポートである場合に、該プリントエンジンコンポーネントの第１のコンポーネントから、該プリントエンジンコンポーネントの該第２のコンポーネントの出力ポートへ、伝達されたワークユニットの配送の存在にもとづいて、実現される。
【００１５】
本発明の更なる利点は、本明細書により当業者に対して明らかとなる。
【発明の効果】
【００１６】
本発明により、モジュールから構成される印刷装置において、装置の利用性及び構成のしやすさが強化される。
【発明を実施するための最良の形態】
【００１７】
本発明は、特定の部分において及び特定の部分構成において物理的な形態をとることが可能である。それらの好ましい実施の形態は、本明細書において図面に例示され、詳細に記述される。
【００１８】
以下、図面を参照して説明を行う。図は、本発明の好ましい実施の形態の例示のみを目的としており、本発明を制限するものでない。図１は、モジュール方式プリントエンジンＡを有する本発明の実施の形態を示す。プリントエンジンＡは、複数のモジュール又はサブアセンブリＢを含み、構成及びスケジューリングのためのデータプロセッサユニットＣを含む。本明細書において、"プリントエンジン"は、プリンタ、複写装置、ファクシミリ装置等のような任意の複製装置を含む。
【００１９】
以下に記述されるように、モジュールＢの各々に与えられる様々な能力は、データプロセッサユニットＣにおいて確認され相互に関連付けられる。そのような相互に関連付けられ分析されたデータは、所望のプリンタ動作又は一連のプリンタ動作を定義するユーザー入力を考慮してさらに分析される。これらは次に、印刷装置の動作を最適化、スケジュール、及び制御するために使用され、一連の印刷タスクがほぼ効率的に達成される。本発明のシステムは、例示として複写装置によって記述される。任意のモジュール方式マテリアルハンドリングシステムに対して、一般的な記述、リソースアセスメント、及びスケジューリングが実行可能であることが理解される。
【００２０】
図１の特別な例により、モジュールＢは複数のペーパーストレージビン（ｂｉｎ）を含んで図示される。この図において、これらはビン１０、１２、及び１４を含む。複数のビンは、異なるペーパーサイズの、又は２次的な、又は確保されたストレージ能力を有することが可能である。シートフィーダーメカニズムが概略的に１６に示される。当業者にとって明らかなように、１６に示されるようなシートフィーダーは、１つ以上のビンからシートストックを得るために機能する。
【００２１】
フィーダー１６は、コンベヤー１８へシートストックをフィードする。次にコンベヤーは、プリントメカニズム２０へシートストックをフィードする。該メカニズムの特定な構成は当業者にとって周知である。同じく、コンベヤー１８に沿って進行するシートストックを選択的に反転するか又はフリップすることができるインバーターメカニズム３０が図に示される。両面印刷のためにシートストックをプリンターメカニズム２０へ戻すためのフィードバックユニット３２が提供される。
【００２２】
図において、コンベヤー１８は、印刷されたドキュメントの選択的なステープリングを行うためのステープリングメカニズム３４に対してパスを提供する。モジュールＢグループの最後のコンポーネントは、ビン３８と４０によって表される複数の出力ビンである。
【００２３】
いくつかのモジュールは完全にメカニカルであることが可能であり、いくつかはメカニカル及びコンピュータデバイスの混合で構成可能であり、そしていくつかはコンピュータデバイスのみで構成可能であることが理解される。後者の例として、モジュールは、プロセッサ、データストレージ及びインストラクションストレージ、及び１セットの機能から構成可能である。該機能は、ユーザーインプットからイメージデータを受入れて処理し、それを印刷するために他のモジュールに送り出すことが可能である。これらの機能の速度に基づいて、そのようなモジュールは、他の全てのモジュールＢと同様にスケジュール及び制御される。いくつかのモジュールの例が、以下に図４と関連して記述される。
【００２４】
データプロセッサユニットＣは、データ入力／出力（Ｉ／Ｏ）ユニットを含み、該ユニットは、中央プロセッサユニット（ＣＰＵ）／ストレージスケジューリングユニット４２とデータ通信を行う。この詳細について以下に記述される。モジュールＢの各々とデータＩ／Ｏユニット４０との間にデータ経路が提供される。
【００２５】
好ましい実施の形態において、各モジュールＢは様々な機能と能力に関連した記述を含む。そのような一般的な記述の例が以下に詳述される。図に示されたモジュールの各々とデータＩ／Ｏユニットの間のデータ経路は、データプロセッサーユニットＣへの全てのそのような記述の取得を可能にする。好ましい実施の形態において、任意のモジュールＢは、モジュール方式プリントエンジンＡとの接続に際して、その関連する記述をデータＩ／Ｏユニットに伝達する。この能力は、本発明のシステムの"プラグアンドプレイ（ｐｌｕｇ−ａｎｄ−ｐｌａｙ）"能力を可能にする。
【００２６】
データプロセッサーＣのデータＩ／Ｏユニット４０と様々なモジュールＢとの間のデータ相互接続は、コントローラの起動を可能にする。従って、データプロセッサーユニットＣは、有効なモジュールからモジュール方式プリントエンジンＡの能力の完全なセットを確認する。ユーザー入力４４からＩ／Ｏユニット４０へ結合されるこの情報は、有効なモジュール方式リソースを効率的にスケジューリングし有効なコンポーネントの使用によって一連の印刷ジョブを達成することを可能にする。
【００２７】
図２を参照し、一般的なプリントエンジンの記述のための基本的フォーマットとスケジューリングについて記述する。先に述べたように、自動プリントエンジンスケジューリングソフトウェアのための過去の試みは、完全なエンジン構成の分析に基づくものであった。この分析の結果は、特別なユニット構成に対して仕様化された専用のソフトウェアの書込みのために必要とされる。逆に言えば、本発明のシステムは、スケジューリングソフトウェアを２つの部分に分離する。第１の部分において、スケジューラアーキテクチャは汎用アルゴリズムを備えている。第２の部分において、以下に詳述されるフォーマットで装置固有の情報が提供される。
【００２８】
与えられたプリントエンジンに印刷されるドキュメントが与えられると、ドキュメントを生成するための装置動作を識別し、スケジュールし、初期化するためのスケジューラが提供される。図１において、そのような動作は、シートのフィード、シートの移動、画像の生成、シートへの画像の転写等を含む。印刷されるドキュメントは、通常は増分的に（例えば１枚ずつ）到着することが理解される。スケジューリングとスケジュールの実行（印刷）は通常並列に発生する。結果として、スケジューラによって使用される装置固有の情報は、所望のシートを生成する動作をスケジューラが識別可能なように構造化される。さらに、システムは、動作をスケジューリングする際に必ず発生する制約を認識していなければならない。さらに、システムは、適切なコマンドをモジュールに与えてモジュールの有効な動作を達成する手段を備えている。
【００２９】
図２において、装置固有の情報を与える特別なシステムが示される。該システムは、ブロック１００においてプリントエンジンモジュールの宣言記述（モデル）を使用することによって始まる。そのようなモデルは、モジュール構造の記述とそのコンポーネントの潜在的な動作を含む。図１の例において示されるように、可能なコンポーネントは、フィードトレイ、トランスポートベルト、転写コンポーネント、インバータ、ゲート、その他を含む。潜在的な動作は、例えば、インバータのバイパス、又はシートを逆転するためのインバータの使用を含むことができる。モデル化のステップは、モデル化を行う言語を使用してエンジニアによって通常は実行される。これに関する好ましい実施の形態の詳細が以下に記述される。
【００３０】
ブロック１０２において、モジュールはそのコンポーネントによってすでにモデル化されている。次に、コンポーネントモデルから得られた情報からモジュール全体の潜在的な動作の自動的導出が実行される。例えば、この導出は、シミュレーション又は部分的な評価によって、及び推定（エンビジョンメント）によって実行可能である。シミュレーションは、現実のシステムの実行を反映するモデルの実行として一般的に理解される。部分的な評価は、プログラムの部分的な実行として一般的に理解され、プログラムの特定の部分は後に評価されるものとして未実行のまま残される。推定は、システムの全ての潜在的な動作の探査として一般的に理解され、これは例えば、システムのモデルのシミュレーション又は部分的評価を繰り返し多様な方法で実行することによって行われる。結果として生ずる全体的モジュール動作は、特定の動作によって生成される出力、その出力が生成される入力、その全体的動作を生成するために必要な個別動作（その"道のり"）、及び、個別動作を実行する際に観測されるリソース及びタイミングに対する多様な制約から構成される。この情報の特定の部分又は全ては、有利にプリコンパイルされることができる。例えば、これは有限状態マシンにコンパイルされることができる。
【００３１】
複数のプリントエンジンモジュールＢ（図１）がいっしょにプラグインされて新たな構成を形成する場合、異なるモジュール動作はデータプロセッサＣを介して収集及び自動的に合成され、プリントエンジンＡ全体の潜在的動作が生成される。
【００３２】
前述の合成は、ダイナミックに（即ち、１つの動作がスケジューラによって選択されるたびごとに）発生するよう適切にイネーブルにされ、前述の合成によってモジュール動作が装置動作中に合成される。従って、合成は、（モジュールがいっしょにプラグインされた後に）一度だけ、又はそれが必要とされるたびごとに実行されることが可能である。後者のオプションは、ダイナミックなモジュール変更を可能とする利点を有する。従って、装置動作が選択されるたびごとに、システムは図２のシーケンスを完了することができる。時間のかかるコンピュータ処理のために、そうすることが禁止されることができる。しかし、これは特定の状況においてはより効率的なアプローチであり得る。
【００３３】
ブロック１０４において、前述の全体的動作は、前述の個々のモジュール動作と関連するフォーマットに類似のフォーマットで有利にモデル化される。異なる全体的動作ごとに、システムは、（動作識別のための）出力記述、（シーケンス化のための）リソース及びタイミング制約、及び（装置動作の次の制御のための）道のりを含むデータを提供する。
【００３４】
次に、システムはブロック１０６へ進み、マッチングスケジューラアルゴリズムにおける効率的使用のために装置動作情報部分は有利にコンパイルされる。例えば、タイミング及びリソース制約の潜在的なインタラクションのコンパイルは、有限状態マシンに形成されることができる。ブロック１０８において、コンパイルされた動作のフルセットが得られる。
【００３５】
最後に、ブロック１１０において、装置動作の出力記述が汎用スケジューラによって使用され、（オリジナルフォーム又はコンパイルされたフォームで）オリジナルな制約を与えられた出力ドキュメントを生成する動作が識別される。これらが使用されて、特定の全体的動作に必要とされる個別動作の各々に対する適正なタイミング、及び、モジュールＢに必要な動作を実行させるために使用される道のりが見いだされる。
【００３６】
前述の説明は好ましい実施例によって与えられたが、有用なシステムを提供するために前述のステップ全てが必ずしも必要とされないことが理解される。例えば、全てのコンポーネントの内の一部のみがモデル化されることが必要とされ、全ての制約のコンパイルは必ずしも必要とされない。
【００３７】
前述のシステムにより、プリントエンジンモジュールのモジュール方式（"プラグアンドプレイ"）スケジューリングが容易にされる。該システムはまた、広範囲にわたる構成のためのスケジューリングソフトウェアの再利用を可能にする。該システムはまた、装置を形成している離散的なモジュールの初期記述を得るステップを除く全てのステップの自動化、及び、一般的なスケジューリングアルゴリズムの形成を提供する。
【００３８】
図３を参照し、コンポーネント動作をモデル化するための特別なシステムが記載される。好ましい実施例としてのこの特別なシステムは、プリントエンジン分析、シミュレーション、及びスケジューリングのためのプリントエンジンコンポーネント動作の記述のためのものである。前述のように、基本的、一般的な記述方法は多様な他のモジュラーシステムに等しく適用できる。
【００３９】
本発明の記述方法において、コンポーネントの構造及び動作は能力（潜在的動作）に関して記述され、この能力に対して、ワークユニット、タイミング、及びリソースについての制約が記述される。このモデル化システムは、プリントエンジンにおけるコンポーネントインタラクションの分析とシミュレーションのためのコンポーネントの構造及び動作の合成を可能にする。本システムは、モジュール方式プリントエンジンのスケジューリング動作に特に適用可能である。
【００４０】
本発明の方法によって、形成されるプリントエンジンがコンポーネント記述の合成によって記述可能となるようプリントエンジンコンポーネントが記述される。さらに、結果として生ずるプリントエンジン記述の上で多様なアプリケーションが自動的に実行されることができる。これによって、そのような情報を分析、シミュレーション、スケジューリング、及び関連するプリントエンジンアプリケーションのために自動的に使用することが可能になる。図３の実施例において、（図１のインバータ３０に類似の）インバータ１５０に関連する記述にモデル１５０'が与えられる。モデル化された構造のコンポーネント及び動作は、コンポーネント自体の物理的特性、及びモデルが使用されるアプリケーションの内容の両方によって決定される。
【００４１】
本システムにおいて、コンポーネントの構造モデルは、その物理的なインターフェース、ソフトウェアインターフェース、及び内部リソースから構成されるものとして定義される。例えば、物理的なインターフェースは、ワークユニット（シート）が入力される入力ポート１５２、及び前記ワークユニットが出力されるる出力ポート１５４である。関連するソフトウェアインターフェースは、主に制御コマンドとパラメータに対して機能する。内部リソースは、特定の動作を実行するために必要とされるオブジェクトとして定義され、この場合、動作の反復実行によるオブジェクトの複数使用が限定される。図３の例において、関連するゲート１５６の位置としてリソースが定義される。リソースのもう一つの例は、インバータ１５０の対向する出力ローラー間のスペース１５８である。ここで、ペーパーパスのほとんどのポイントと同様に、任意の単一ポイントにおいて時間内に１つのシートに対してのみ充分なスペースが存在する。従って、スペース１５８はリソースとして定義される。
【００４２】
コンポーネントの動作モデルは、当該コンポーネントを介して移動するワークユニットに対して当該コンポーネントがどのように作用するかに関して特定のコンポーネントの能力を記述するために使用される。さらに、動作モデルは、関連する動作を行う際にどのような制約が観測されなければならないかを示す。
【００４３】
コンポーネント能力は、ワークユニットの記述、ワークユニットの処理の記述、ワークユニットの入力及び出力のようなタイミングのとられたイベントの記述、処理に対するリソースの割当の記述、及びイベントのタイミング及びリソース割当に対する制約の記述から構成されるものとして定義される。ワークユニットは、それらの属性に関して有利に記述される。ワークユニットの制限及び処理は、それらの属性に対する制約に関して有利に記述される。
【００４４】
図３において、いくらかの付加的モデル記述が提供される。これらは、１６４で示されたシートのような特定のワークユニットに関連した記述を含む。インバータ１５０をバイパスするかしないか、もしくは反転のためにそれを使用するかしないかといったような制御状態が１６６に示される。パスの長さやローラー速度の仕様のようなタイミングパラメータが１６８で提供される。例えば、関連するタイミング制約は、パスの長さとローラー速度に基づく規則を使用して適切に得られ、例えば、出力時間は、パスの長さをローラー速度で除算した値に入力時間を加えたものとして定義されることができる。特定の値は同じく適切に当該モデルのパラメータである。例えば、与えられたインバータのパスの長さが固定される一方で、ローラー速度が変化することができて、従って使用されるモデルに対する環境によって設定されることができる。ローラー速度パラメータは１７０で示される。
【００４５】
例えば、以下のリストは、図３に関連して示されたインバータの適切なモデルを提供する。
【００４６】
【数１】
2008260286.tif 000003
【００４７】
このモデルは、２つのパラメータ（ｌｅｎｇｔｈ及びｓｐｅｅｄ）、１つの入力ポート（ｉｎ）、１つの出力ポート（ｏｕｔ）、３つのリソース（ｉｎＲ、ｏｕｔＲ、及びｇａｔｅＲ）、及び６つの変数を宣言する。また、このモデルは２つの能力（ｂｙｐａｓｓ（バイパス）及びｉｎｖｅｒｔ（反転））を定義する。バイパス能力に対して、シートｓが時間ｔ＿ｉｎで入力されて時間ｔ＿ｏｕｔで出力されること、３つのリソースの全てにおいてｔ＿ｉｎ、ｔ＿ｏｕｔ、及びｔ＿ｇａｔｅのそれぞれで割当がなされること、及び、入力から出力までの移動時間を反映する多くのタイミング制約がインターバル間で維持されることが定義される。シートがその配勾を１８０°変えること（ｙ軸の回りに回転されること）と移動時間がより長いこと（そのシートサイズに比例する）とを除いて反転能力も同様に定義される。このように、任意のコンポーネントの完全な機能の記述が提供されることが理解される。
【００４８】
本発明のモデル化システムにより、他のコンポーネントの記述及び他のコンポーネントとの相互作用の記述の参照に依らずにコンポーネント構造が記述される。そのようなコンポーネント動作は、他のワークユニットに依らず１つのワークユニットに対して記述される。さらに、本発明のモデル化システムは、プリントエンジンの一般的な増分的分析、シミュレーション、及びスケジューリングに対するコンポーネント能力の自動的な動作的合成を可能にする。この記述フォーマットは、連結されたコンポーネント（例えば、プリントエンジンモジュール）を記述するモデルに対して、コンポーネントモデルの自動的な構造上の合成を可能とする。
【００４９】
逆に言えば、従来のアプローチでは、能力及び制約は、コンポーネント間の特定な相互作用及びシート又はイメージシーケンス間の相互作用の両方に関して表現されていた。このことは、それらを定義するのをより困難にし、それらを再使用不可能にし、さらにそれらを合成不可能にする。システムをモデル化するフォーマットは、前述の自動的な構成、最適化、及びスケジューリングを可能にする。
【００５０】
前述の説明から理解されるように、プリントエンジンのスケジューリングはその大部分が関連リソースのスケジューリングである。これを効果的に行うために、プリントエンジン動作の適正なシーケンスを増分的にスケジューリングために情報が使用可能となるよう、プリントエンジン動作によって使用されるリソースをモデル化しなければならない。広範囲のプリントエンジン動作に適用可能であることに加えて、リソースはまた、スケジューラと、装置内の変化の情報を伝えるプリントエンジン制御ソフトウェアの残りの部分との間の一般的なインターフェイスとして適切に作用することができる。
【００５１】
プリントエンジンのような装置のコンポーネントは、それらの能力を実行するためのリソースを通常必要とする。例えば、特に印刷装置に関して、リソースは、ベルト上のスペース、特定の位置になければならないゲート、又は、複数又はオーバーラップ使用のために配置されるいくつかのエレメントであり得る。ペーパービンの容量はそのような複数又はオーバーラップ使用の１例である。
【００５２】
リソースの割当は、コンポーネント動作記述の一部分として明示的に適切にモデル化される。本明細書において、リソース割当は、リソースについての要求の仕様として定義され、この要求はその期間中に特定のリソースが必要とされる時間インターバルを伴う。例えば、画像形成能力は、特定の時間について受光体ベルト上にスペースを必要とする。この他の例として、インバータ能力は、シートが反転されている期間中にインバータゲートが適正位置になければならないことを必要とする。
【００５３】
本明細書において定義されるリソース要求は、特定のリソースタイプに依存して選択される。可能なリソースタイプは、ブーリアン（Ｂｏｏｌｅａｎ）リソース（使用されるかされないかいづれかのリソース）、計数された又は状態リソース（有効な状態の内の１つに置かれたリソース）、容量リソース（同時使用が追加される）、等のアイテムを含む。このようなリソースタイプはリソース制約によって一般的に有利に記述される。リソース制約は、同一リソースに対する複数割当に対してそれ自体で整合性を決定する。
【００５４】
例えば、ベルト上のスペースのようなブーリアンリソース割当は、同時にオーバーラップしてはならない。逆に、状態リソース割当は、同一の状態が必要とされる場合はオーバーラップ可能である。容量リソース割当は、要求の合計が所与の容量を越えない限りオーバーラップ可能である。このようなリソースタイプは前述のリソース制約を変更又はそれに特定の制約を付加することによって容易に拡張可能である。
【００５５】
リソース割当の時間インターバルは、インターバル制約によって適切に連結される。本明細書において、リソース制約システムとインターバル制約システムは相互に直交する。リソース割当とタイミング制約の記述は、スケジューリングに対する合成によるモデル化パラダイムに良好にフィットする。
【００５６】
全てのコンポーネントが完全にモデル化されると、プリントエンジンは最終的にランタイム状態に移行される。図４を特に参照すると、プリントエンジンモジュール２０２とデータ通信状態にあるスケジューラ２００が示される。プリントエンジンモジュール２０２はいくつかのコンポーネントから構成され、コンポーネントの各々はペーパー／画像パス２０４に沿って選択的に配置されたリソースを使用する。そのようなリソースは、コンポーネント２１０、２１２、２１４、２１６、２１８、及び２２０で示される（それぞれは各コンポーネントに対応するリソースである）。これらリソースの各々は同一の形態で適切に記述され、その内の１つが２１６'で詳細に示される。このシステムは、制御コード部分２２０、コンポーネント／モデル部分２２２、及び多くの通信パスを含む。制御パス２２４は、制御コマンドを制御コード部分２２０からコンポーネント／モデル部分２２２へ伝送することを可能にする。同様に、センサーパス２２６は、センサーデータをコンポーネント／モデル部分２２２から制御コード部分２２０へ伝送することを可能とする。パス２２８は、コンポーネントによるリソースのスケジューリングされた使用を表す。より詳細には、パス２２８は、コンポーネントを記述するモデル２２２から知識をスケジューラへ伝送し、この知識が使用されてリソースの適正な使用がスケジューリングされる。パス２３０は、制御及びセンサー情報を同様にスケジューラ２００へ伝送することを可能とする。
【００５７】
ランタイムにおいて、スケジュール動作が行われている場合、スケジューラ２００は、同一のリソースに対する対応する割当が、要求されたリソース制約を満たすようインターバルを保証する。このことはまた、過去のリソース割当を記録することによって適切に増分的に実行される。
【００５８】
通常動作期間中において、スケジューラ２００は自身の割当のみを考慮する。これを行うために、スケジューラ２００は、システムのモデルを使用して該スケジューラがすでにスケジューリングした動作に対するリソースの使用を記述する。
【００５９】
このシステムはまた、リアルタイムでリアクティブな環境に容易に適用可能であり、そのような環境では、リソースが時々無効になるか又は通常容量のサブセットに限定される。現実のハードウェアにおけるそのような変化は、例えば制御コード部分２２０に設けられたモジュールの制御ソフトウェアによって通常はモニターされる。従来のシステムにおいては、スケジューラに特別なインターフェイスをもたせてモデルと現実のハードウェアとの間の変移を伝送するために、又は制御されたソフトウェアにスケジューラをアクセス可能とするために制御ソフトウェアが必要とされていた。
【００６０】
スケジューラ２００内のリソース管理は、適切に環境にアクセス可能にされる。より詳細には、これはコンポーネント制御コード２２０に対して有効とされる。スケジューラ２００と同様に、制御コード２２０は、そのようなリソースの計算を補助してハードウェアの変化を反映することを可能にされる。このことは、スケジューラ２００が自動的にシステムの変化を考慮することを可能とする。
【００６１】
モデルが使用されてコンポーネント能力のデフォルト動作（リソース割当）が定義される。一方、制御コード自体は現行の状況を反映するようその動作を適応させる。このことは、環境によってリソース制約が変化する場合においても適切に拡張される。一般的に、このことは、スケジューラがリソースを使用しつつ（デフォルト定義から開始して）制御ソフトウェアがリソースを制御するように見える。
【００６２】
現実のオンラインによる実施において、スケジューラはそのような未来の割当を自動的に作成し、それらを考慮する。スケジューラが先を見越してさらに割当を作成する場合、割当は、それがスケジューラ２００（それぞれモデル２２２）からのものか又は制御コード２２０からのものかに依存して異なる優先度を適切にタグ付けされる。これによって、環境による割当と矛盾するスケジューラによる任意の割当は、適切に自動的に識別されて修正される。
【００６３】
本発明のシステムは、スケジューリング及び制御ソフトウェアのためにプリントエンジン構成の能力を自動的に導出する新たな方法を提供する。例えば、プリントエンジンモジュールの能力は、プリントエンジンがモジュールから構成可能となるようにモジュールのコンポーネントの能力から導出され、結果となるプリントエンジンがスケジューリング及び制御されることが可能となる。
【００６４】
先に詳述したモデル化システムは、ワークユニットに対して特定の動作を行うコンポーネントからプリントエンジンモジュールが一般的に構成されるというコンセプト、及び、モジュールのコンポーネントを記述してその記述から完全なモジュールの記述を導出することによってモジュールが最良に記述されるというコンセプトに基づく。特に、モジュールコンポーネントは、それらを通過するワークユニットに対してそれらが適用可能な特定の能力を有するものとしてモデル化される。モジュールにおいて、そのようなコンポーネントは機能的に接続される。従って、モジュールは、ワークユニットをその入力ポートから接続点に沿ってコンポーネントからコンポーネントへと最終的にその出力ポートまで選択的に移動させることによってワークユニットを生成し、ワークユニットに対して動作する。このプロセスの間、各コンポーネントはその能力の内の１つをワークユニットに適用する。完全なモジュールの能力は、そのようなコンポーネント能力の合成から生じる。
【００６５】
例えば、モジュールは、画像と共にペーパーシートを移動させるコンポーネント、そのようなシート上に画像を転写するコンポーネント、そのようなシートをバイパス又は反転するコンポーネント等のコンポーネントを含むことが可能である。これらコンポーネント能力から生じるモジュール能力の内の１つは、１つのブランクペーパーシート、モジュールに入力される画像、及び画像を有してモジュールを離れる同じペーパーシートによって特徴付けられる。この能力は、（シート及び画像のような）ワークユニットに対する制約、リソースに対する制約、及びこれらリソースの割当のタイミングによってさらに特徴付けられ、これらの制約はコンポーネント能力における対応する制約から生じる。
【００６６】
先に詳述したように、コンポーネントはその能力を記述することによってモデル化され、この場合、どのワークユニットがコンポーネントに入出力されるか、ワークユニットに対してどのような処理が行われるか、ワークユニットに対するどの属性制約が満たされなければならないか、どのようなリソース割当が作成されなければならないか、及び、これら割当のタイミングに対してどのような制約が満たされなければならないかを定義することによって各能力が記述される。そのようなコンポーネントの構成（例えばプリントエンジンモジュール）は、どのコンポーネントが使用されるか、及びどのようにそれらのポートが接続されるかを記述することによってモデル化される。コンポーネントポートは、相互接続されるか又はモジュールポートに接続される。
【００６７】
次に、コンポーネント能力からモジュール能力を導出する方法について説明を行う。
【００６８】
コンポーネントから構成されるモジュールの１つの能力を導出するために、全てのコンポーネントは、入力イベントを待機しているものとして開始及び記録される。次に、１つのワークユニットと可変時間インターバルから成る１つのイベントがモジュールの入力ポートの内の１つに与えられる。次に、そのポートに接続されるコンポーネントの能力の内の１つがワークユニットを使用して実行される。能力の実行中において、属性制約が実行され（この制約はワークユニットの属性に対する制約に付加される）、この一方でリソース割当及びタイミング制約が制約記憶において収集され、実行された能力のネーム及びアーギュメントが道のりリストに記憶される。
【００６９】
次に、（処理される可能性のある）ワークユニットとその出力時間インターバルから成る１つのイベントがコンポーネントの出力ポートに与えられ、能力が実行されたコンポーネントは入力イベントを待機しているものとして再開始及び記録される。出力イベントが与えられた出力ポートがモジュールの出力ポートである場合、モジュールの能力が導出されたことになる。そうでない場合は、出力ポートは連結されたコンポーネントの入力ポートであり、そのコンポーネントの能力を実行するステップが前述のように繰り返される。一般的に、１つの能力は１つ以上の入力ポートでイベントを予期することが可能であり、１つの能力は１つ以上の出力ポートでイベントを与えることが可能である。コンポーネント能力は、それが予期する全てのイベントが入力ポートに現れる場合に実行されることが可能である。任意の入力ポートでイベント待機状態にない場合、モジュール能力が導出されたことになる。
【００７０】
モジュール能力を導出する前述の方法はまた、最初にイベントを出力ポートで与えて全ての能力を後戻りして翻訳することによって後戻りして実行可能であることが理解される。
【００７１】
そのコンポーネントの能力を前進か後戻りかのいづれかで実行することによってモジュールの動作をシミュレートする方法において、コンポーネント能力によって予期された全てのイベントが１つ以上の連結コンポーネントによって生成される場合にのみ、モジュール能力が導出されることが可能である。しかし、例えば、前進形態で能力を導出する場合、１つの能力が２つ以上の入力イベントを予期しているにもかかわらず１つのみが生成されて他の能力が実行不可能となり、従って他のコンポーネントが残りのイベントを生成不可能となることが起こり得る。そのような場合、導出システムは、生成されなかったイベントが生成されたものと"仮想"し、それらを連結された先行コンポーネントのポートで与える。次に、これら連結コンポーネント能力が実行され、同様に、生成されなかった入力イベントが生成されたものとして"仮想"される。このことは、もし必要ならば、"仮想"された入力イベントがモジュールの入力ポートに与えられるまで繰り返される。制約は潜在的な方向を有しておらず、従って属性及びタイミング制約はいづれの方向にも実行可能であり、入力及び出力イベントを適切に連結する。全体的導出が終了した場合、入力及び出力イベントはワークユニット記述を有することとなり、該記述は、導出された能力が実行される場合にモジュールによって受け取られる入力及びモジュールによって生成される出力を反映する。
【００７２】
入力及び出力イベントに加えて、システムは制御コマンドも考慮することが理解される。即ち、モジュールポートに与えられた１つ以上のイベントと共にシステムが開始するだけでなく、ユーザーもまた実行されるコンポーネント能力セットを提供する場合、システムはこれらも同様に考慮することが可能である。全ての（正確にはいくつかの）能力が（最大限に）実行されなければならないか、さもなくば少なくとも与えられた能力が（最大限に）実行されなければならないようにこの能力セットが翻訳される。
【００７３】
コンポーネント能力を前進及び後戻りの両方で実行可能な方法が与えられる場合、能力を導出する目的に対して主方向は無関係であることが理解される。一般的に、コンポーネントポートでイベントが待機状態にあるために導出が終了していないにもかかわらずコンポーネントで１つ以上の予期されたイベントが生成されないために導出が先に進めない時にはいつでも、そのポートの内の１つで少なくとも１つのイベントが与えられたコンポーネントが選択され、選択されたコンポーネント能力の生成されないイベントが現れたものと仮定されて能力の定義に基づいて対応するポートで該イベントが与えられる。導出の好ましい主方向は前進方向であることが頻繁であるが、初期イベントが与えられる好ましいポートはモジュールの出力ポートであることが頻繁である。
【００７４】
前述の方法は、モジュールが１つのコンポーネントのみから成る場合にも動作することが理解される。
【００７５】
前述のように、リソース割当とタイミング制約Ｒは制約記憶において収集され、実行されたコンポーネント能力のネーム及びアーギュメントが導出期間中に道のりリストＣに記憶される。この情報は、モジュールの入力及び出力ポートでそれぞれ与えられた全てのイベントＩ及びＯの累積された属性制約及び時間インターバルと共に、モジュール能力＜Ｉ，Ｏ，Ｒ，Ｃ＞として記録される。
【００７６】
前述の方法は１つのモジュール能力を導出して記録する。この方法はさらに、推定及びバックトラッキングシステムが付加される。１つのモジュール能力が導出されて記録された後、導出がバックトラックされる、即ち、過去に実行された能力の内の１つが取り消されて同一コンポーネントの他の能力が選択されて実行されるようシステムは動作する。そのような能力が存在しないか又は現在の制約で実行不可能な場合、代替的な能力が実行可能になるまでシステムはさらにバックトラックを行う。この時点から導出が続行される。同様に、イベントの初期の付与まで導出がバックトラックされる場合、他のモジュールポートでイベントが与えられる。このような方法において、さらなるモジュール能力が導出されて記録されることが可能である。全てのモジュールの入力ポートかさもなくば全てのモジュールの出力ポートで全てのイベントに対して全てのコンポーネントのコンポーネント能力の全ての代替が導出された場合、全てのモジュール能力の導出が完了する。
【００７７】
特に、モジュールが１つより多くのコンポーネントから構成される場合、結果として得られるモジュール能力情報は簡略化され得ることが頻繁である。例えば、２つのリソースが同一タイプであり、これらのリソースにおける全ての割当が全てのモジュール能力における等しい制約によって連結される場合、２つのリソースの内の１つにおける割当は冗長であり、情報を失うことなく除去されることが可能である。さらなる簡素化が制約処理において発生し得る。
【００７８】
モジュールがループを有する場合、ループを介する複数の繰り返しをいつ終了するかをシステムがそれ自体で決定不可能な場合がある。このような場合において、前述のようにコンポーネント能力の最大セットが与えられていない場合、少なくとも１つのコンポーネントの実行をモニターする付加的機能がユーザーによって与えられることが可能である。例えば、そのような機能は、転写コンポーネントをモニターして導出期間中に多くとも２回だけプリント能力を実行可能とすることができる。そのようなモニター機能が失敗する場合、導出が停止されてバックトラックが行われる。
【００７９】
前述のシステムを実施可能ないくつかの方法が存在することが理解される。例えば、コンポーネントは、先に詳述した、コンポーネント能力をシミュレートするモデルから生成される同時制約プログラムとして実施可能であり、また、モジュールは、合成及び連結されたそのようなプログラムのセットとして実施可能である。導出はプログラムを部分的に評価することによって実行され、特に、イベントアクション及び属性制約が評価される。この一方で、リソース割当及びタイミング制約は翻訳なしに累積される。必要な場合には、イベント又は制御コマンドの存在が仮想的に仮定される。モニター機能は同時プロセスとして実施可能である。本発明を実施するこれら及び他の方法は、制約プログラミングの技術分野の知識を有するものにとって明らかである。
【００８０】
本発明は、好ましい実施例に関して記述された。明らかに、本明細書の理解によって変形と代替が生じる。そのような全ての変形と代替は、請求項及びその同等物の範囲内となる限り本発明に含まれることが意図される。
【図面の簡単な説明】
【００８１】
【図１】本発明の自動化構成及びスケジューリングを組み込んだモジュール方式印刷装置の概略図である。
【図２】本発明の自動化構成及びスケジューリングを実行するための動作の階層的順序付けの詳細を表すフローチャートである。
【図３】本発明の自動化構成及びスケジューリングに関連して使用される印刷装置コンポーネントの一般的記述を表す図である。
【図４】本発明において与えられるリソースを使用するスケジューラと制御コードの相互作用を示すブロック図である。
【符号の説明】
【００８２】
Ａ  プリントエンジン
Ｂ  モジュール
Ｃ  データプロセッサユニット
【図１】
2008260286.tif 000004
【図２】
2008260286.tif 000005
【図３】
2008260286.tif 000006
【図４】
2008260286.tif 000007