JP5309773B2 - 画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体 - Google Patents

画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体 Download PDF

Info

Publication number
JP5309773B2
JP5309773B2 JP2008200036A JP2008200036A JP5309773B2 JP 5309773 B2 JP5309773 B2 JP 5309773B2 JP 2008200036 A JP2008200036 A JP 2008200036A JP 2008200036 A JP2008200036 A JP 2008200036A JP 5309773 B2 JP5309773 B2 JP 5309773B2
Authority
JP
Japan
Prior art keywords
operation mode
information
image forming
job
mode
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
JP2008200036A
Other languages
English (en)
Other versions
JP2009076061A (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.)
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 JP2008200036A priority Critical patent/JP5309773B2/ja
Priority to US12/194,569 priority patent/US8384921B2/en
Publication of JP2009076061A publication Critical patent/JP2009076061A/ja
Application granted granted Critical
Publication of JP5309773B2 publication Critical patent/JP5309773B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体に関する。
従来から、画像形成装置におけるジョブの種類毎に、そのジョブを構成する処理のそれぞれに対して動作条件を設定して保持し、その保持した動作条件によりジョブを実行するモードプログラム機能を有する画像形成装置がある。
例えば、特開2006−67328号公報(特許文献1)には、ユーザの操作に対して同期するイベントと非同期なイベントを含むマクロを確実に動作させるために、操作者による操作手順を順次記録する記録手段と、非同期に発生するイベントによるステータスを記録する記録手段とを設けた画像処理装置等の技術が開示されている。なお、上記特許文献1に記載のマクロ機能は、上記のモードプログラム機能に対応する。
ところで、画像形成装置が実行するジョブを構成する複数の処理毎に対応するアプリケーションと、それらのアプリケーションから共通に利用される制御のプログラムとを設けた画像形成装置の技術が、特許第3679349号公報(特許文献2)に開示されている。特許文献2に記載の画像形成装置によれば、アプリケーションの拡張や変更が容易な画像形成装置を提供することができる。
特開2006−67328号公報 特許第3679349号公報
しかしながら、上記特許文献1に記載されているマクロ機能を、上記特許文献2に記載の画像形成装置に適用する場合、アプリケーション毎にモードプログラム機能によって設定される動作条件を保持しなくてはならない。そこで、動作条件を保持する手段を別途設け、各アプリケーションから共通に利用する構成が考えられるが、そのような構成では、共通に利用される記憶手段へのインタフェースを利用した処理の実装がアプリケーション毎に必要となる。
これらの構成では、何れも、アプリケーションがモードプログラム機能に対応する処理を行わなくてはならず、画像形成装置毎に異なるアプリケーションが搭載される場合には、モードプログラム機能の処理の部分を、画像形成装置毎に変更しなくてはならない。
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、搭載されるソフトウェア部品の構成が異なる場合でも、モードプログラム機能を容易に実現することができる画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体を提供することを目的としている。
上記目的を達成するために、本発明の画像形成装置は次の如き構成を採用した。
本発明の画像形成装置は、ジョブに対して設定された動作モード情報より構成されるモードプログラムを登録し、該モードプログラムを呼び出してジョブを実行する画像形成装置であって、前記ジョブに対して設定された動作モード情報の取得の指示を出力し、動作モード情報を取得するモードプログラム登録手段と、前記モードプログラム登録手段からの指示に基づいて、前記ジョブを構成する処理に対応するソフトウェア部品に対して前記動作モード情報の取得を要求し、該ソフトウェア部品から出力される返り値である所定の型の動作モード情報を取得して前記モードプログラム登録手段に出力する動作モード取得手段と、前記モードプログラム登録手段によって取得された動作モード情報と当該前記モードプログラムの識別情報とを含むモードプログラム情報を生成し、モードプログラム情報保持手段に格納させるモードプログラム情報管理手段と、を有する構成とすることができる。
これにより、搭載されるソフトウェア部品の構成が異なる場合でも、モードプログラム機能を容易に実現することができる画像形成装置を提供することができる。
なお、上記課題を解決するため、本発明は、さらに、上記画像形成装置が備える各手段によって実行される画像形成方法、上記画像形成方法をコンピュータに実行させるためのコンピュータプログラム、そのコンピュータプログラムを格納した情報記録媒体としてもよい。
本発明の画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体によれば、搭載されるソフトウェア部品の構成が異なる場合でも、モードプログラム機能を容易に実現することができる画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体を提供することが可能になる。
以下、本発明の実施の形態を図面に基づき説明する。
〔第一の実施の形態〕
図1は、本発明の第一の実施の形態に係る画像形成装置の機能構成の例である。図1の画像形成装置100は、例えば、アプリケーションフレームワーク部110、ソフトウェア部品150、モードプログラム情報保持部180を有する。
アプリケーションフレームワーク部110は、モードプログラム機能を実現し、画像形成装置100が有するソフトウェア部品に対して、動作モードの取得の指示、及びモードプログラムに対応するジョブの制御を行う。ここで、モードプログラム機能とは、アプリケーションによって実行されるジョブに対して設定されている動作モードをモードプログラムとして保存しておき、後に保存されているモードプログラムを呼び出すことで同じ動作モードによるジョブの実行する機能をいう。したがって、モードプログラムとは、ジョブに対して設定された動作モードが関連付けられたデータをいう。また、動作モードとは、ジョブの動作条件をいう。
アプリケーションフレームワーク部110は、例えば、モードプログラム登録手段120、動作モード取得手段130、及びジョブ制御手段140を有する。モードプログラム登録手段120は、操作者によって入力されるモードプログラムの登録(保存)の指示を受け付け、モードプログラムを登録するための処理を制御する。モードプログラム登録手段120は、また、モードプログラムの登録の指示に基づいて、動作モード取得手段130に対して対応するソフトウェア部品150に対して設定されている動作モードの取得を指示する。
モードプログラム登録手段120は、また、動作モードの取得指示の返り値として動作モード情報(動作モードを構成する設定項目に対する設定値等を含む情報)を取得する。取得された動作モード情報等は、後述するモードプログラム情報保持部180に格納される。
動作モード取得手段130は、モードプログラム登録手段120から入力される動作モードの取得指示に基づいて、対応するソフトウェア部品150に対し、設定されている動作モード情報の取得(提供)を指示する。動作モード取得手段130は、当該取得指示に応じてソフトウェア部品150から出力される動作モード情報を取得し、モードプログラム情報管理手段180に出力する。
ジョブ制御手段140は、モードプログラム情報保持手段180に保持されているモードプログラム情報のうち、図示しない入力手段から入力された識別情報に対応するモードプログラム情報を取得して、そのモードプログラム情報に基づいて、対応するソフトウェア部品に対して、そのモードプログラム情報に設定されている動作モードに基づく処理の実行指示を出力する。
ソフトウェア部品150は、例えば、動作モード部160及び処理実行手段170を有する。動作モード部160は、動作モード情報の取得の指示に基づいて、動作モード情報を出力する手段である。動作モード部160は、例えば、動作モード受付手段161及び動作モード情報出力手段162を有する。
動作モード受付手段161は、動作モード取得手段130からの動作モード情報の取得の指示を受け付ける。動作モード情報出力手段162は、動作モード情報の取得の指示に基づいて、動作モード情報を生成して出力する。
処理実行手段170は、ジョブ制御手段140からの処理の指示に基づいて、対応する動作モードに基づく処理を実行する。処理実行手段170は、ジョブを構成する処理に対応し、ソフトウェア部品の種類毎に異なる処理を行う。
モードプログラム情報管理部180は、例えば、モードプログラム情報管理手段181、及びモードプログラム情報保持手段182を有する。モードプログラム情報管理手段181は、動作モード取得手段130から出力される動作モード情報をモードプログラム情報保持手段182に格納させる。モードプログラム情報管理手段181はまた、その動作モード情報に対して識別情報を付与し、その識別情報を動作モード取得手段130に出力する。モードプログラム情報管理手段181は、また、モードプログラム登録手段120から入力されたモードプログラムの生成(登録)の指示毎に、モードプログラム情報保持手段182に保持された動作モード情報の識別情報と、モードプログラムの識別情報とを対応づけて、モードプログラムを生成(登録)する。
モードプログラム情報管理手段181は、さらに、生成したモードプログラムに識別情報を付与し、モードプログラム登録手段120に出力する。
モードプログラム情報保持手段182は、モードプログラム情報管理手段181によって出力される、動作モード情報、動作モード情報の識別情報、及びモードプログラムの識別情報を、モードプログラムに対応づけて保持する。これらの情報を、モードプログラム情報という。
モードプログラム情報保持手段182は、例えば、不揮発性の記憶手段として構成される。これにより、操作者によって設定が指示されたモードプログラムのモードプログラム情報を「永続化」することができる。なお、「永続化」とは、データを、不揮発性の記憶手段であるNVRAMやハードディスク装置等に格納することである。
(第一の実施形態のモードプログラム機能を実現するソフトウェアの構成(その1))
図2は、本実施形態のモードプログラム機能を実現するソフトウェアの構成図である。図2では、アプリケーションフレームワーク(F/W)210、具象アプリケーション250、及びデータ管理部250が示されている。
アプリケーションフレームワーク210は、図1のアプリケーションフレームワーク部110に、具象アプリケーション250は、図1のソフトウェア部品150に、データ管理部280は、図1のモードプログラム保持手段180に、それぞれ対応する。
アプリケーションフレームワーク210は、各アプリケーション(ソフトウェア部品150)に共通の処理が実装されたコンポーネントであり、モードプログラム機能クラス220、及び動作モードクラス230を有する。モードプログラム機能クラス220は、図1のモードプログラム登録手段120に、動作モードクラス230は、図1の動作モード取得手段130に、それぞれ対応する。
モードプログラム機能クラス220は、モードプログラムの扱いについて各アプリケーションに共通な処理が実装されたクラスである。例えば、モードプログラム機能クラス220は、モードプログラムの登録を行い、その返り値として、モードプログラムの識別情報を出力する。動作モードクラス230は、動作モード情報の扱いについて各アプリケーションに共通な処理が実装されたクラスである。例えば、動作モードクラス230は、アプリケーションに設定されている動作モード情報の取得を行い、その返り値として、後述される抽象シンタックス型による動作モード情報を出力する。
具象アプリケーション250は、各アプリケーションに固有の処理が実装されたコンポーネントであり、動作モードクラス260と処理制御クラス270とを有する。動作モードクラス260は、図1の動作モード部160に、処理制御クラス270は、図1の処理実行手段170に、それぞれ対応する。
動作モードクラス260は、アプリケーションフレームワーク210の動作モードクラス230を継承し、アプリケーションに設定されている動作モード情報の取得について具体的な処理を行い、その返り値として、後述される抽象シンタックス型にアップキャストされた動作モード情報を出力する。処理制御クラス270は、ジョブの実行制御を行う。
データ管理部280は、データ全般の管理を行うコンポーネントであり、データ永続化機能クラス281を有する。データ永続化機能クラスは、図1のモードプログラム情報管理手段181に対応する。データ永続化機能クラス281は、動作モード情報やモードプログラム情報の永続化を行う。永続化する動作モード情報及びモードプログラム情報毎に、識別情報を付与して出力してもよい。
(動作モード情報のデータ構造)
続いて、動作モード情報のデータ構造について説明する。図3は、動作モード情報のデータ構造の例を説明するクラス図である。なお、図3の説明では、各クラスを識別する名称の末尾に付す「クラス」を省略する。図3では、数字型シンタックス、文字列型シンタックス、真偽値型シンタックス、及び列挙型シンタックスが、抽象シンタックスに汎化され、また、数字型シンタックス、文字型シンタックス、真偽値型シンタックス、列挙型シンタックスは、抽象シンタックスを継承する。
数字型シンタックス、文字列型シンタックス、真偽値型シンタックス、及び列挙型シンタックスは、それぞれ動作モード情報を表現する具象クラスである。すなわち、動作モード情報は、その値のデータ型に応じてこれらのいずれかのクラスのインスタンスとして扱われる。これらの各クラスは、設定項目の値の設定又は取得に関する操作(メソッド)を有する。
抽象シンタックスは、動作モード情報を表現する抽象クラスである。抽象シンタックスが定義されていることにより、アプリケーションフレームワーク210は、データ型(具象クラス)が異なりうる各動作モード情報(各具象クラスのインスタンス)を抽象シンタックス型にアップキャストして共通的に扱うことができる。抽象シンタックスは、アプリ名、属性名、及び属性の型の3つの属性を有する。アプリ名とは、具象アプリケーション250(ソフトウェア部品150)を識別する名称であり、例えば、ソフトウェア部品の個別の名称である。具象アプリケーション250は、一つのジョブを構成する処理を実行する。したがって、コピージョブを実行する具象アプリケーション250のアプリ名は、例えば「コピーアプリケーション」である。
属性名は、設定項目の名称であり、例えば、「印刷」アプリにおける「部数」、「解像度」、又は「原稿サイズ」等である。属性の型は、設定項目のデータ型である。図3では、数字型、文字列型、真偽値型、列挙型、及び原稿サイズ型が定義された例が示されているため、これらのいずれかの型を示す値が設定される。
図3のaは、具象アプリケーション250で定義される型の例である。図3のaは、「原稿サイズ」の属性名を有し、タテサイズ及びヨコサイズが「整数型」の属性の型を有する。ここで、具象アプリケーション250を識別する情報は、抽象シンタックスに含まれる。これにより、後にこの抽象シンタックスにより具象アプリケーション250を特定することができる。
なお、具象アプリケーション250で定義されるデータ型が複雑な構成をしており永続化可能が困難な場合は、ListやSet等、STL(Standard Template Library)におけるCollectionに対応するデータ型をアプリケーションフレームワーク210において予め定義し、データの階層構造を実現することで永続化可能なオブジェクトを定義するようにしてもよい。
例えば、図4は、階層的構造を実現するデータ型の例を示すクラス図である。同図では、Set型シンタックスが追加されている。Set型シンタックスは、抽象型シンタックスを継承する全てのクラス(データ型)をSet形式で格納可能なクラス(データ型)である。
図3における原稿サイズ型をSet型シンタックスによって代替すると例えば次のようになる。図5は、Set型シンタックスを用いて原稿サイズ型を表現した例を示す図である。
同図では、属性名として「原稿サイズ」が設定されたSet型シンタックスが、タテサイズ、ヨコサイズに対応する二つの数字型シンタックスをSet形式で格納している。
なお、Set型シンタックスにSet型シンタックスを格納する等、Collectionクラスを組み合わせることで階層構造を自由に構築することが可能となる。これにより、アプリケーションフレーム210において定義されるデータ型の組み合わせによって具象アプリケーション250に固有のデータ型を定義することができる。したがって、具象アプリケーション250において当該固有のデータ型を扱うための特別な処理を実装する必要を無くすことができる。
なお、図3又は図4における各クラスのインスタンスを総称する場合、「シンタックスオブジェクト」という。
以下、画像形成装置100によって実行される処理手順について説明する。
(アプリケーションの設定画面を表示する処理の例)
図6は、アプリケーションの設定画面を表示する処理の例のシーケンス図である。同図において、操作デバイス950は、画像形成装置100が備える入力手段及び表示手段を含むデバイス(例えば、オペレーションパネル)である。また、具象アプリUI251は、具象アプリケーション250において操作デバイス950に対する入出力制御を行う部分である。なお、図6のシーケンス図における各オブジェクトは、図2における同名のクラスのインスタンスである。
画像形成装置100は、起動されると、アプリケーション一覧画面を操作デバイス950に表示させる。図7は、アプリケーション一覧画面の表示例を示す図である。同図のアプリケーション一覧画面710にはコピーボタン711、送信ボタン712、及びマルチボタン713等のアプリケーション選択ボタンと、プログラム展開ボタン714とが配置されている。アプリケーション選択ボタンは、利用対象とするアプリケーションを選択させるためのボタンである。プログラム展開ボタン714については後述する。
ステップS101では、操作者によってアプリケーション一覧画面710における任意のアプリケーション選択ボタン(ここでは、コピーボタン711であるとする。)が押下され、コピーボタン711に対応する具象アプリUI251が呼び出される。ステップS101に続いてステップS102に進み、具象アプリUI251は、動作モードオブジェクト360の生成をコピーアプリケーションに対応する具象アプリケーション250に要求する。ステップS102に続いてステップS103に進み、具象アプリケーション250は動作モードオブジェクト360を生成し、当該動作モードオブジェクト360を具象アプリUI251に出力する(S104)。なお、当該動作モードオブジェクト360には、コピーアプリケーションに対する各設定項目の初期値が動作モード情報として当該動作モードオブジェクト360の生成時に設定される。
ステップS104に続いて具象アプリUI251は、出力された動作モードオブジェクト360より設定項目の一覧(シンタックスオブジェクトの一覧)を取得する(S105、S106)。ここで取得されるシンタックスオブジェクトの一覧は、抽象シンタックスクラスの配列であるが、各シンタックスオブジェクトはそれぞれの属性の型に応じたクラス(図3参照)によってインスタンス化されている。
ステップS106に続いて具象アプリUI251は、取得された各シンタックスオブジェクトより値(ここでは初期値)を取得する(S107、S108)。この際、具象アプリUI251は、シンタックスオブジェクトを当該シンタックスオブジェクトの属性の型に応じたクラスにキャストし、キャストされたクラスのインスタンスより値を取得する。したがって、各設定項目のデータ型に応じた値が取得される。続いて、具象アプリUI251は、各シンタックスオブジェクトの属性名と各初期値とに基づいてコピーアプリケーションの設定画面を表示させる。
図8は、コピーアプリケーションの設定画面の表示例を示す図である。同図の設定画面720には、コピーアプリケーションの各設定項目について初期値が表示されている。
(動作モード情報を設定する処理の例)
続いて、操作者によって設定画面720を介して動作モード(各設定項目の値)が設定される。図9は、動作モードを設定する処理の例のシーケンス図である。同図ではコピーアプリケーションについてソートの要否(ON/OFF)の設定が行われる例について説明する。なお、図9のシーケンス図における各オブジェクトは、図2における同名のクラスのインスタンスである。
ステップS201では、設定画面720において操作者によってソートボタン721が押下され、ソートがONに設定されたことがコピーアプリケーションの具象アプリUI251に通知される。ステップS201に続いてステップS202に進み、具象アプリUI251は、「sort」をキーとしてコピーアプリケーションの動作モードオブジェクト360に対してソートの設定項目に対応するシンタックスオブジェクト(以下、「ソートシンタックスオブジェクト」という。)の取得を要求する。ステップS202に続いてステップS203に進み、動作モードオブジェクト360は、属性名が「sort」であるシンタックスオブジェクトを検索し、当該シンタックスオブジェクト(ソートシンタックスオブジェクト)を具象アプリUI251に出力する。なお、ソートシンタックスオブジェクトは、真偽値型シンタックスクラスのインスタンスであるが、ここでは抽象シンタックスクラスとして出力される。
ステップS203に続いてステップS204に進み、具象アプリUI251は、出力されたソートシンタックスオブジェクトをその属性の型に基づいて真偽値型シンタックスクラスにキャストし、キャストされたソートシンタックスオブジェクトに対して値(ここでは、「true」)を設定する。ステップS204に続いてステップS205に進み、具象アプリUI251は、値(true)が設定されたソートシンタックスオブジェクトを動作モードオブジェクト360に設定する。これにより、動作モードオブジェクト360内においてソートシンタックスオブジェクトが更新される。ステップS205に続いてステップS206に進み、具象アプリUI251は、設定画面720の表示状態を更新する。
図10は、ソートがONに設定された後のコピーアプリケーションの設定画面の表示例を示す図である。同図の設定画面720では、ソートボタン721に「ON」が表示されている。
(ジョブを実行する処理の例)
図11は、ジョブを実行する処理の例のシーケンス図である。なお、図11のシーケンス図における各オブジェクトは、図2における同名のクラスのインスタンスである。
ステップS301では、設定画面720を介した動作モードの設定後、操作デバイス950を介して操作者によってジョブの実行が指示され。その旨がコピーアプリケーションの具象アプリUI251に通知される。ステップS301に続いてステップS302に進み、具象アプリUI251は、コピーアプリケーションの動作モードオブジェクト360(すなわち、動作モード情報が設定されている動作モードオブジェクト360)を引数に指定してジョブを制御するための処理制御オブジェクト370の生成を具象アプリケーション250(コピーアプリケーション)に要求する。ステップS302に続いてステップS303に進み、具象アプリケーション250は、コピーアプリケーションの処理制御オブジェクト370を生成し、当該処理制御オブジェクト370に動作モードオブジェクト360を設定する。ステップS303に続いてステップS304に進み、具象アプリケーション250は生成された処理制御オブジェクト370を具象アプリUI251に出力する。
ステップS304に続いてステップS305に進み、具象アプリUI251は、処理制御オブジェクト370に対してジョブの実行を要求する。当該要求に応じ、処理制御オブジェクト370は、設定された動作モードオブジェクト360に基づく動作モードに基づいてジョブ(コピージョブ)を実行する。その後、処理制御オブジェクト370は、ジョブの進捗状況(例えば、ジョブの完了)を具象アプリUI251に通知する(S306)。
(モードプログラムを登録する処理の例)
図12は、モードプログラムを登録する処理の例のシーケンス図である。図12のシーケンス図における各オブジェクトは、図2において同名のクラスのインスタンスである。
ステップS401では、動作モードの設定が行われた後(すなわち、図9の処理の後)、設定画面720において操作者により条件保存ボタン724が押下され、その旨がモードプログラム機能UI321に通知される。モードプログラム機能UI321は、モードプログラム機能に関して操作デバイス950に対する入出力制御を行うソフトウェアである。モード機能プログラムUI321は、当該通知に応じ、モードプログラム登録画面を操作デバイス950に表示させる。
図13は、モードプログラム登録画面の表示例を示す図である。同図において、モードプログラム登録画面730は、プログラム名入力領域731及び保存ボタン732等を有する。
ステップS402では、モードプログラム登録画面730のプログラム名入力領域731に登録対象とされるモードプログラムの名前(プログラム名)が入力され、保存ボタン732が押下される。ステップS402に続いてステップS403に進み、モードプログラム機能UI321は、入力されたプログラム名(図13の例では「コピー001」)を引数として、モードプログラムの登録をモードプログラム機能オブジェクト320に要求する。ステップS403に続いてステップS404に進み、モードプログラム機能オブジェクト320から動作モードオブジェクト330に対し、一つの設定項目に関する動作モード情報(シンタックスオブジェクト)を取得する指示が出力される。
ステップS404に続いてステップS405に進み、動作モードオブジェクト330から動作モードオブジェクト360に対し、一つの設定項目に対する動作モード情報を取得する指示が出力される。ステップS405に続いてステップS406に進み、動作モードオブジェクト360から動作モードオブジェクト330に対し、一つの設定項目に対する抽象シンタックスクラスのシンタックスオブジェクトが出力される。
なお、ここで出力される情報は、例えば、リンクリストのようなコンテナの形式を有してもよい。これにより、動作モードオブジェクト330は、動作モード情報を構成する全ての設定項目に対するシンタックスオブジェクトを一度に取得することができる。
ステップS406に続いてステップS407に進み、動作モードオブジェクト330からモードプログラム機能オブジェクト320に対し、一つのシンタックスオブジェクトが出力される。
ステップS407に続いてステップS408に進み、モードプログラム機能オブジェクト320からデータ永続化機能オブジェクト381に対し、取得されたシンタックスオブジェクトを永続化する指示が、シンタックスオブジェクトとともに出力される。この指示に基づいて、モードプログラム機能オブジェクト320は、当該シンタックスオブジェクトに格納されている動作モード情報を不揮発性の記憶手段に格納させる。
図14は、動作モード情報の永続化形式を示す図である。同図に示されるように永続化された動作モード情報には動作モードIDが割り当てられる。動作モードIDは、永続化された各動作モード情報の識別情報であり、動作モード情報が永続化される際に割り当てられる。なお、動作モード情報の永続化は、例えば、シリアライズ等によって行えばよい。
ステップS408に続いてステップS409に進み、データ永続化機能オブジェクト381からモードプログラム機能オブジェクト320に対し、永続化された動作モード情報に対して割り当てられた動作モードIDが出力される。
ステップS404からステップS409の処理は、各設定項目に対して行われる。したがって、各設定項目のシンタックスオブジェクトが永続化され、当該シンタックスオブジェクトに対して割り当てられた動作モードIDがモードプログラム機能320に収集される。
ステップS409に続いてステップS410に進み、モードプログラム機能オブジェクト320は、収集された動作モードIDを引数として、モードプログラム情報の永続化をデータ永続化機能オブジェクト381に対して要求する。当該要求に応じ、データ永続化機能オブジェクト381は、モードプログラム情報を不揮発性の記憶手段に格納させる。
図15は、モードプログラム情報の永続化形式を示す図である。同図に示されるようにモードプログラム情報は、プログラムIDと動作モードIDとの集合とより構成される。プログラムIDは、登録されたモードプログラムごとに割り当てられる識別情報である。すなわち、モードプログラム情報は、モードプログラムと動作モードIDとを関連付けるための情報である。
ステップS410に続いてステップS411に進み、データ永続化機能オブジェクト381からモードプログラム機能オブジェクト320に対し、登録対象のモードプログラムに対して割り当てられたプログラムIDが出力される。ステップS411に続いてステップS412に進み、モードプログラム機能オブジェクト320は、モードプログラム機能UI321に対して当該プログラムIDを出力する。
ステップS412に続いてモードプログラム機能UI321は、動作モードオブジェクトよりアプリケーション名(例えば、「コピーアプリ」)を取得する(S413、S414)。ステップS414に続いてステップS415に進み、モードプログラム機能UI321は、プログラムID、アプリケーション名、及びプログラム名をデータ永続化機能オブジェクト381に出力する。データ永続化機能オブジェクト381は、これらの情報をモードプログラム表示情報として不揮発性の記憶手段に格納させる。
図16は、モードプログラム表示情報の永続化形式を示す図である。モードプログラム表示情報は、利用対象とするモードプログラムを操作者に選択させる際の表示情報として利用される。日付は永続化された年月日である。
なお、モードプロプログラム表示情報又はモードプログラム情報(図15)が、操作者の識別情報と対応づけられてもよい。これにより、登録されたモードプログラムを操作者毎に区別することができ、利便性を高めることができる。
(モードプログラムを展開する処理の例)
図17は、モードプログラムを展開する処理の例のシーケンス図である。図17のシーケンス図における各オブジェクトは、図2において同名のクラスのインスタンスである。なお、モードプログラムの展開とは、モードプログラムを利用するために呼び出すことをいう。
ステップS501では、アプリケーション一覧画面710(図7参照)が操作デバイス950に表示されている状態においてプログラム展開ボタン714が押下され、モードプログラムの一覧の表示がモードプログラム機能UI321に指示される。ステップS501に続いてステップS502に進み、モードプログラム機能UI321は、データ永続化機能オブジェクト381よりモードプログラム表示情報の一覧を取得する(S502、S503)。ステップS503に続いてステップS504に進み、モードプログラム機能UI321は、取得されたモードプログラム表示情報の一覧に基づいてモードプログラム一覧画面を操作デバイス950に表示させる。
図18は、モードプログラム一覧画面の表示例を示す図である。同図に示されるように、モードプログラム一覧画面740には、登録されているモードプログラムのプログラム名及び日付の一覧が表示される。
ステップS504に続いてステップS505では、モードプログラム一覧画面740において展開対象とするモードプログラムが操作者によって選択され、展開ボタン741が押下される。ステップS505に続いてステップS506に進み、モードプログラム機能UI321は、選択されたモードプログラムに係るアプリケーション(ここでは、コピーアプリケーション)の具象アプリUI251に対して動作モード情報の復元を要求する。この際、選択されたモードプログラムのプログラムIDが指定される。なお、選択されたモードプログラムに係るアプリケーション及びプログラムIDは、モードプログラム表示情報に基づいて判定される。
ステップS506に続いてステップS507に進み、具象アプリUI251は、プログラムIDを指定して、動作モード情報の復元を動作モードオブジェクト330に要求する。ステップS507に続いてステップS508に進み、動作モードオブジェクト330は、データ永続化機能オブジェクト381より、永続化されているモードプログラム情報(図15参照)において当該プログラムIDに関連付けられている動作モードIDの集合を取得する。ステップS508に続いてステップS509に進み、動作モードオブジェクト330は、永続化されている動作モード情報(図14参照)の中で、取得された動作モードIDに対応する動作モード情報をデータ永続化機能オブジェクト381より取得する。
ステップS509に続いて、動作モードオブジェクト330は、動作モードオブジェクト360より各設定項目に対するシンタックスオブジェクトを取得する(S510、S511)。図17では、ソートに対するシンタックスオブジェクト(ソートシンタックスオブジェクト)が取得された例が示されている。ステップS511に続いて、ステップS512に進み、動作モードオブジェクト330は、取得されたソートシンタックスオブジェクトに対して、ステップS509において取得された動作モード情報に含まれている値を設定する。ステップS512に続いてステップS513に進み、動作モードオブジェクト330は、値が更新された(永続化されていた値が設定された)ソートシンタックスオブジェクトを動作モードオブジェクト330に設定する。これによりソートに関する設定内容はモードプログラムとして永続化されていた値に復元される。なお、ステップS510〜S513は、他の設定項目のそれぞれについて行われる。
ステップS513に続いてステップS514に進み、具象アプリUI251は、動作モードオブジェクト330に基づいて、コピーアプリケーションの設定画面710を表示させる(S514)。この際、設定画面710における設定状態は、モードプログラムに対して登録されていた動作モード情報に応じたものとなる。したがって、この状態において、図11の処理が実行されることにより、モードプログラムに基づいてジョブが実行される。
(第一の実施形態のモードプログラム機能を実現するソフトウェアの構成(その2))
図19は、本実施形態のモードプログラム機能を実現するソフトウェアの構成図であって、図2とは異なる機能を有するクラスが含まれる場合の例である。図19において、図2と同一部分には同一符号を付し、その説明を省略する。
図19の具象アプリケーション250aに含まれる動作モードクラス260aは、図2の動作モードクラス260と同様に、動作モード情報の取得指示に応じ、抽象シンタックスで表される動作モード情報を出力する。但し、動作モードクラス260aは、所定の条件が満たされる場合に、データ永続化機能オブジェクト381に対して動作モード情報を出力して永続化を指示する。
所定の条件が満たされる場合とは、例えば、動作モードクラス260aが、抽象シンタックスクラスを継承できない場合に、直接「整数型」、「文字列型」、「真偽値型」又は「列挙型」等にキャストしようとすると丸めの誤差が生じるとき等である。なお、抽象シンタックスクラスを継承できない場合とは、例えば、具象アプリケーション250aがJAVA(登録商標)言語によって実装されている場合に、抽象シンタックスクラスの他のクラスを継承しているとき等である。これは、JAVA(登録商標)言語の規定において、多重継承が禁止されていることにより生じる。
(具象アプリケーション側で、永続化を行う場合の処理)
図20は、図19で説明した具象アプリケーション250aの動作モードクラス260aによって永続化が行われる場合の処理の例のシーケンス図である。図20では、データ永続化機能オブジェクト381に対する動作モード情報の永続化の指示が、具象アプリケーション250aの動作モードオブジェクト360aによっても行われうる。なお、図20のシーケンス図における各オブジェクトは、図19の同名を付されたクラスのインスタンスである。また、図20では、図12において破線で囲まれた部分についてのみ説明する。
ステップS601において、モードプログラム機能UI321は、モードプログラム登録画面730において操作者によって入力されたプログラム名を引数として、モードプログラムの登録をモードプログラム機能オブジェクト320に要求する。ステップS601に続いてステップS602に進み、モードプログラム機能オブジェクト320から動作モードオブジェクト330に対し、一つの設定項目に関する動作モード情報(シンタックスオブジェクト)を取得する指示が出力される。
ステップS602に続いてステップS603に進み、動作モードオブジェクト330から動作モードオブジェクト360aに対し、一つの設定項目に対する動作モード情報を取得する指示が出力される。
ステップS603に続いてステップS604に進み、動作モードオブジェクト360aが、自身によって永続化を行うか否かを判断する。ここでは、動作モードオブジェクト360aによって永続化を行うと判断されたとする。
ステップS604に続いてステップS605に進み、動作モードオブジェクト360aからデータ永続化機能オブジェクト381に対し、動作モード情報と、その動作モード情報の永続化の指示が出力される。この指示に基づいて、データ永続化機能オブジェクト381が、動作モード情報(シンタックスオブジェクト)とその識別情報である動作モードIDとを永続化する(図14参照)。
ステップS605に続いてステップS606に進み、データ永続化機能オブジェクト381から動作モードオブジェクト360aに対し、動作モード情報の識別情報である動作モードIDが出力される。ステップS606に続いてステップS607に進み、動作モードオブジェクト360aから動作モードオブジェクト330に対し、既に動作モード情報が永続化済みであることの通知が出力される。なお、この通知は、動作モードIDを含む。またこの通知は、動作モードIDを出力することにより、既に永続化済みであることの通知に代えてもよい。
ステップS607に続いてステップS608に進み、動作モードオブジェクト330からモードプログラム機能オブジェクト381に対し、既に動作モード情報が永続化済みであることの通知が出力される。ステップS608で入力された通知により、符号bが付された箇所では、モードプログラム機能オブジェクト381は、永続化の処理の指示を出力しない。
以上のステップS602からステップS608の処理であるステップS60が、具象アプリケーション側で永続化処理が行われる場合のシーケンスである。
一方、ステップS61は、モードプログラム機能オブジェクト320が永続化の指示を出力する場合の処理であって、図12のステップS404からステップS409の処理と略同一である。
ここで図12と異なる点は、動作モードオブジェクト360aが、自身によって永続化処理を行うか否かを判断するステップであるステップS611が含まれることである。このステップS611は、動作モードオブジェクト360aが動作モード情報を取得する指示を受け取るステップS610の後に、さらに、動作モード情報を生成した後に、実行される。なお、ステップS610は、図12のステップS405に対応する。
図20のステップS61におけるその他のステップは、図12のステップS404からステップS409と同一の処理であるので、ここでは説明を省略する。同様に、図20のステップS616からステップS618の処理も、図12のステップS410からステップS412の処理と同一であるので、ここでは説明を省略する。
なお、各設定項目の動作モード情報の永続化を指示する主体は、当該設定項目が具象アプリケーション250aにおいて固有なものであるか、又は各アプリケーションに共通なものであるかに基づいて決定してもよい。前者については具象アプリケーション250a側が永続化の指示を行い、後者についてはアプリケーションフレームワーク210側が永続化の指示を行えばよい。
また、具象アプリケーション250aによる永続化の手順及び永続化の形式は、具象アプリケーション250aごとに自由に定義可能としてもよい。この場合、具象アプリケーション250aの動作モードオブジェクト360aは、自由に定義した形式によって永続化された動作モード情報の集合に対して永続化IDを付与し、当該永続化IDをステップS607においてアプリケーションフレームワーク210に通知すればよい。アプリケーションフレームワーク210のモードプログラム機能320は、当該永続化IDを、アプリケーションフレームワーク210において永続化した動作モード情報に対する動作モードIDとともに、図14及び図15の形式で永続化すればよい。
具象アプリケーション250aによって永続化が必要なケースとしては、具体的には、具象アプリケーション250aにおいて固有に定義されたデータ型による設定項目の動作モード情報を永続化する場合や、設定項目の値をそのまま永続化するのが適切でない場合等が考えられる。
ここで、値をそのまま永続化するのが適切でない設定項目の一例として、選択トレイ(給紙トレイとして選択されたトレイ)が挙げられる。例えば、印刷ジョブの設定項目として、操作者がA4LEFがセットされたトレイ1を選択した場合、当該設定項目に関しては「選択トレイ=トレイ1」といった内容が動作モード情報として永続化される。しかし、永続化された動作モード情報を展開(復元)する際に、トレイ1にセットされている用紙のサイズがA3であるとすると、当該動作モード情報を利用したモードプログラムの実行結果は、操作者の意図と異なったものとなってしまう。
そこで、斯かる不都合を回避するため、選択トレイについてはトレイ番号ではなく、永続化の際に選択トレイにセットされている用紙サイズを永続化する値とする。上記の例では、「選択トレイ=A4LEF」といった内容を動作モード情報として永続化しておく。復元時には、サイズがA4LEFの用紙がセットされている給紙トレイのトレイ番号を選択トレイに設定する。このような判断は、具象アプリケーション250aに固有の設定項目に関してはアプリケーションフレームワーク210において行うのは困難であるため、具象アプリケーション250a側で行う必要がある。
なお、図20に対応するモードプログラムの展開処理は、図17とほぼ同様でよい。但し、図17のステップS507において呼び出されるメソッドを動作モードクラス260aにおいてオーバーライドする必要がある。オーバーライドされたメソッド内において具象アプリケーション250aに固有の永続化形式等に対応した処理を実装すればよい。
〔第二の実施の形態〕
図21は、本発明の第二の実施の形態に係る画像形成装置の機能構成の例である。図21の画像形成装置400は、例えば、アプリケーションロジックフレームワーク部410、提供機能フレームワーク部411、ソフトウェア部品450、モードプログラム情報保持部480、及びジョブ構成部490を有する。ソフトウェア部品部450及びモードプログラム情報保持部480の機能及び構成は、それぞれ、図1のソフトウェア部品部150及びモードプログラム情報保持部180と同一であるので、ここでは説明を省略する。
図21の画像形成装置400が、図1の画像形成装置100と異なる点は、図1では、アプリケーションフレームワークにソフトウェア部品が組み込まれる構成であったのに対し、図21では、フレームワークが、ジョブモジュールのフレームワークに対応するアプリケーションロジックフレームワーク部410と、ソフトウェア部品に対応する提供機能フレームワーク部411とに分かれていることである。これにより、ジョブの種類であるアプリケーション毎に、ソフトウェア部品の組合せを定義して実行することができる。
アプリケーションロジックフレームワーク部410は、例えば、モードプログラム登録手段420、ジョブモジュールインタフェース424、モジュール格納手段431、及びジョブ構成取得手段432を有する。モードプログラム登録手段420の機能及び構成は、図1のモードプログラム登録手段120と同一であるので、ここでは説明を省略する。
ジョブモジュールインタフェース424は、ジョブの種類毎に対応するジョブモジュール(ジョブ構成部490)が接続されるインタフェースである。
モジュール格納手段431は、後述するジョブ構成部490に含まれている動作モード取得モジュール492を格納する手段である。モジュール格納手段431が、動作モード取得モジュール492を格納することにより、図1の動作モード取得手段130と同一の機能を実現する。
ジョブ構成取得手段432は、操作者によって入力されたジョブの種類毎に、そのジョブを構成するソフトウェア部品の一覧を、ジョブモジュールインタフェース424を介して、そのジョブの種類に対応するジョブ構成部490から取得する。
提供機能フレームワーク部411は、ジョブ制御手段440とソフトウェア部品インタフェース441とを有する。
ジョブ制御手段440は、ジョブを実行する指示にしたがって、ソフトウェア部品を制御する。ジョブ制御手段440は、モードプログラムによるジョブの実行が指示された場合には、対応するモードプログラム情報にしたがって、ソフトウェア部品インタフェース441を介してソフトウェア部品を制御する。ソフトウェア部品インタフェース441は、ジョブを構成する処理毎に対応するソフトウェア部品が接続されるインタフェースである。
ジョブ構成部490は、例えば、ジョブ構成保持手段491及び動作モード取得モジュール492を有する。ジョブ構成保持手段491は、ジョブ構成部490が対応するジョブの種類毎に、そのジョブを構成する処理に対応するソフトウェア部品の一覧と、そのソフトウェア部品の実行順の情報を保持する。
動作モード取得モジュール492は、モジュール格納手段431に格納されることにより、図1の動作モード取得手段130と同一の機能を実現する。動作モード取得モジュール492がモジュール格納手段431に格納されることにより、ソフトウェア部品に対して、動作モードの取得を指示し、動作モード情報及びその動作モード情報の識別情報を取得する。動作モード取得モジュール429によって実現される動作モード取得手段の機能は、またさらに、モードプログラム情報保持部480に対して、動作モード情報等の永続化を指示する。
(第二の実施形態のモードプログラム機能を実現するソフトウェアの構成)
図22は、第二の実施形態のモードプログラム機能を実現するソフトウェアの構成図である。図22では、アプリケーションロジックフレームワーク510、提供機能フレームワーク526、具象アプリケーションロジック590、及び具象提供機能550が示されている。
図22において図2と異なる点は、図2ではフレームワークの部分がアプリケーションフレームワーク210のみであったのに対し、図22では、アプリケーションロジックフレームワーク510と提供機能フレームワーク526とに分かれていることである。これにより、ジョブの種類毎に異なる構成であるアプリケーションロジックの部分を、それぞれのジョブの種類毎に対応する具象アプリケーションロジックとして実現することができる。
なお、図22においてデータ管理部580は、図2のデータ管理部280と同一の機能及び構成であるので、ここでは説明を省略する。
図22のアプリケーションロジックフレームワーク510は、例えば、モードプログラム機能クラス520,動作モードクラス530、及び接続構成クラス532を有する。アプリケーションロジックフレームワーク510は、図21のアプリケーションロジックフレームワーク部410に対応する。
モードプログラム機能クラス520は、動作モードを登録する操作を行い、その返り値としてモードプログラムの識別情報であるプログラムIDを出力する。動作モードクラス530は、動作モードを取得する操作を行い、その返り値として、抽象シンタックスによる動作モード情報を出力する。接続構成クラス532は、ジョブを構成する処理である提供機能の一覧を取得する操作を行い、その返り値である提供機能一覧を出力する。
具象アプリケーションロジック590は、図21のジョブ構成部490に対応する。具象アプリケーションロジック590は、アプリケーションロジックフレームワーク510を継承し、接続構成クラス591及び動作モードクラス592を有する。接続構成クラス591は、ジョブの種類であるアプリケーション毎に対応する提供機能の一覧を取得する操作を行う。提供機能は、ソフトウェア部品によって実現される。そこで、接続構成クラス591は、ソフトウェア部品の一覧とその実行順を取得してもよい。接続構成クラス591は、接続構成クラス532を継承する。
動作モードクラス592は、動作モードを取得する操作を行い、その返り値である抽象シンタックスで表記される動作モード情報と、その動作モードの識別情報とを出力する。動作モードクラス592は、アプリケーションフレームワーク510に組み込まれることにより、これらの操作を実現する。
提供機能フレームワーク526は、図21の提供機能フレームワーク部411に対応し、例えば、動作モードクラス527を有する。動作モードクラス527は、動作モードクラス530を継承し、また後述する具象提供機能550によって継承される。これにより、ジョブの種類に対応する具象アプリケーションロジック590毎に、動作モードクラス592が、アプリケーションロジックフレームワーク510に組み込まれ、それが、提供機能フレームワーク526から具象提供機能550に継承される。
具象提供機能550は、図21のソフトウェア部品450に対応し、それぞれジョブを構成する処理の一部を実現する。具象提供機能550は、動作モードクラス560と処理制御クラス570とを有する。動作モードクラス560は、動作モードクラス526を継承し、動作モードを取得する操作を行い、抽象シンタックスで表される動作モード情報を出力する。処理制御クラス570は、ジョブを構成する処理の一部の実行制御を行う。
(具象アプリケーションロジックと具象提供機能の具体例(その1))
図23及び図24は、具象アプリケーションロジックと具象提供機能の具体例を説明する図である。図23及び図24において、アプリケーションロジック510、提供機能フレームワーク526、及びデータ管理部580は、図22と同一の機能及び構成であるので、ここでは説明を省略する。
図23では、具象アプリケーションロジック590の例として、送信アプリケーションロジック590a及びコピーアプリケーションロジック590bが示されている。また、具象提供機能550の例として、原稿読み取り提供機能550a、印刷提供機能550b、及び送信提供機能550cが示されている。
送信アプリケーションロジック590aは、例えば、接続構成クラス591a及び動作モードクラス592aを有する。接続構成クラス591aは、「送信」アプリケーションが、入力を「原稿読み取り」処理とし、出力を「送信」処理とすることを表す情報を保持し、これらを出力する操作を行う。動作モードクラス591aは、送信アプリケーションを構成する処理を実行する提供機能毎に、動作モードを設定する操作を行う。
コピーアプリケーションロジック590bは、送信アプリケーションロジック590aと同様に、接続構成クラス591b及び動作モードクラス592bを有する。接続構成クラス591bは、「コピー」アプリケーションが、入力を「原稿読み取り」処理とし、出力を「印刷」処理とすることを表す情報を保持し、これらを出力する操作を行う。動作モードクラス591bは、コピーアプリケーションを構成する処理を実行する提供機能毎に、動作モードを設定する操作を行う。
原稿読み取り提供機能550aは、動作モードクラス560aを、印刷提供機能550bは、動作モードクラス560bを、送信提供機能550cは、動作モードクラス560cを有する。各提供機能に設けられている動作モードクラスは、それぞれの提供機能毎に、動作モードの設定を行い、抽象シンタックスで表記される動作モード情報を出力する。なお、これらの提供機能には、さらに、各処理に対応する図示しない処理制御クラスが設けられている。
図23において、送信のジョブは、送信アプリケーションロジック590a、原稿読み取り提供機能550a、送信提供機能550cが、それぞれフレームワークに組み込まれ、クラスを継承することにより実現される。
一方、図24において、原稿読み取り提供機能550dは、図23の原稿読み取り提供機能550aが有する動作モードクラス560aに加えて、拡張された動作モードクラス561を有する。図24におけるその他のソフトウェア部品は、図23と同一の機能及び構成であるので、ここでは説明を省略する。
図23より、一の提供機能に含まれるクラスが変更された場合でも、アプリケーションロジックは変更する必要がない。これにより、画像形成装置の開発を効率よく行うことができ、開発コストの低減、開発期間の短縮等を実現することができる。
(コピーアプリケーションの設定画面を表示する処理の例)
図25は、第二の実施の形態におけるコピーアプリケーションの設定画面を表示する処理の例を示すシーケンス図である。同図において、コピーアプリケーションロジックUI593bは、コピーアプリケーションロジック590bにおいて操作デバイス950に対する入出力制御を行う部分である。また、原稿読み取り提供機能UI551aは、原稿読み取り提供機能550aにおいて操作デバイス950に対する入出力制御を行う部分である。なお、図25のシーケンス図における各オブジェクトは、図23における同名のクラスのインスタンスである。
ステップS701では、操作者によってアプリケーション一覧画面710におけるコピーボタン711が押下され、コピーボタン711に対応するコピーアプリケーションロジックUI593bが呼び出される。ステップS701に続いてステップS702に進み、コピーアプリケーションロジックUI593bは、動作モードオブジェクト692bの生成をコピーアプリケーションロジック590bに要求する。ステップS702に続いてステップS703に進み、コピーアプリケーションロジック590bは動作モードオブジェクト692bを生成する。ステップS703に続いてステップS704に進み、コピーアプリケーションロジック590bは、動作モードオブジェクト660aの生成を原稿読み取り提供機能550aに要求する。ステップS704に続いてステップS705に進み、原稿読み取り提供機能550aは、動作モードオブジェクト660aを生成し、当該動作モードオブジェクト660aをコピーアプリケーションロジック590bに出力する。ステップS705に続いてステップS706に進み、コピーアプリケーションロジック590bは、動作モードオブジェクト692bに動作モードオブジェクト660aを関連付け、当該動作モードオブジェクト692bをコピーアプリケーションロジックUI593bに出力する。
ステップS706に続いてコピーアプリケーションロジックUI593bは、出力された動作モードオブジェクト692bより設定項目の一覧(シンタックスオブジェクトの一覧)を取得する(S707、S708)。ここで取得されるシンタックスオブジェクトの一覧は、抽象シンタックスクラスの配列であるが、各シンタックスオブジェクトはそれぞれの属性の型に応じたクラス(図3参照)によってインスタンス化されている。ステップS708に続いてステップS709に進み、コピーアプリケーションロジックUI593bは、取得されたシンタックスオブジェクトに基づいて設定画面の一部を操作デバイス950に描画する。ここで、設定画面の一部とは、コピージョブにおいて設定される全ての設定項目のうちコピーアプリケーションロジック590bに対する設定項目に係る部分をいう。
ステップS709に続いてステップS710に進み、コピーアプリケーションロジックUI593は、動作モードオブジェクト692bに関連付けられている動作モードオブジェクト560aを取得する。ステップS710に続いてステップS711に進み、コピーアプリケーションロジックUI593は、取得された動作モードオブジェクト560aを原稿読み取り提供機能UI551aに対して設定する。
ステップS711に続いて、原稿読み取り提供機能UI551aは、設定された動作モードオブジェクト560aより設定項目の一覧(シンタックスオブジェクトの一覧)を取得する(S712、S713)。ステップS713に続いてステップS714に進み、コピーアプリケーションロジックUI593は、原稿読み取り提供機能UI551aに設定画面への描画を要求する(S714)。当該要求に応じ、原稿読み取り提供UI551aは、自らが取得したシンタックスオブジェクトに基づいて、読み取り提供機能550aに対する設定項目に関する部分を設定画面に描画する。
なお、図25において、原稿読み取り提供機能550aに関して行われた処理は印刷提供機能550bについても行われる。したがって、設定画面には、印刷提供機能550bに対する設定項目に関する部分も描画される。その結果、当該設定画面は、図8に示されるように表示される。図8の設定画面720において、読み取り設定領域722は、読み取り提供機能550aに対する設定項目に関する部分であり、印刷設定領域723は、印刷提供機能550bに対する設定項目に関する部分である。
(動作モード情報を設定する処理の例)
図26は、第二の実施の形態における動作モード情報を設定する処理の例のシーケンス図である。同図ではコピーアプリケーションについてソートの要否(ON/OFF)の設定が行われる例について説明する。なお、図25のシーケンス図における各オブジェクトは、図23における同名のクラスのインスタンスである。
ステップS801では、設定画面720において操作者によってソートボタン721が押下され、ソートがONに設定されたことが印刷提供機能UI551bに通知される。ステップS801に続いてステップS802に進み、印刷提供機能UI551bは、「sort」をキーとして印刷提供機能550bの動作モードオブジェクト660bに対してソートの設定項目に対応するシンタックスオブジェクト(ソートシンタックスオブジェクト)の取得を要求する。ステップS802に続いてステップS803に進み、動作モードオブジェクト660bは、属性名が「sort」であるシンタックスオブジェクトを検索し、当該シンタックスオブジェクト(ソートシンタックスオブジェクト)を印刷提供機能UI551bに出力する。なお、ソートシンタックスオブジェクトは、真偽値型シンタックスクラスのインスタンスであるが、ここでは抽象シンタックスクラスとして出力される。
ステップS803に続いてステップS804に進み、印刷提供機能UI551bは、出力されたソートシンタックスオブジェクトをその属性の型に基づいて真偽値型シンタックスクラスにキャストし、キャストされたソートシンタックスオブジェクトに対して設定値(ここでは、「true」)を設定する。ステップS804に続いてステップS805に進み、印刷提供機能UI551bは、設定値(true)が設定されたソートシンタックスオブジェクトを動作モードオブジェクト660bに設定する。これにより、動作モードオブジェクト660b内においてソートシンタックスオブジェクトが更新される。ステップS805に続いてステップS806に進み、印刷提供機能UI551bは、設定画面720の表示状態を図10に示されるように更新する。
(コピージョブにおいてモードプログラムを登録する処理の例)
図27は、コピージョブにおいて、モードプログラムを登録する処理の例のシーケンス図である。図27では、図12において破線で囲まれた部分についてのみ説明する。
ステップS901では、モードプログラム機能UI321からコピーアプリケーションロジックの接続構成オブジェクト691に対し、操作者によって入力されたコピージョブを実現する提供機能の一覧の取得要求が出力される。ステップS901に続いてステップS902に進み、接続構成オブジェクト691から図示しない表示手段に対し、コピージョブの提供機能の一覧とその処理順の情報が出力される。これに基づいて、表示手段に、提供機能の一覧が表示される。
ステップS902に続いてステップS903に進み、図示しない入力手段からモードプログラム機能オブジェクト620に対し、操作者によって入力された提供機能毎の動作モードの登録要求が出力される。ここでは、コピージョブに含まれる処理のうち、原稿読み取り処理に対して、動作モードの登録が要求される。
ステップS903に続いてステップS904に進み、モードプログラム機能オブジェクト620からコピーアプリケーションロジックに含まれる動作モードオブジェクト631に対し、動作モード情報の取得要求が出力される。ステップS904に続いてステップS905に進み、動作モードオブジェクト631からコピー提供機能に含まれる動作モードオブジェクト660aに対し、動作モードの取得要求が出力される。この要求に基づいて、動作モードオブジェクト660aは、抽象シンタックスで表される動作モード情報を生成する。
ステップS905に続いてステップS906に進み、動作モードオブジェクト660aから動作モードオブジェクト631に対し、抽象シンタックスで表される動作モード情報が出力される。ステップS906に続いてステップS907に進み、動作モードオブジェクト631からモードプログラム機能オブジェクト620に対し、動作モード情報が出力される。
ステップS907に続くステップS908の処理は、図1のステップS410及びステップS411の処理と同一であるので、ここでは説明を省略する。ステップS908に続いてステップS909に進み、モードプログラム機能オブジェクト602からモードプログラム機能UI321に対し、プログラムIDが出力される。
なお、図27の例では、動作モードオブジェクト660aは、永続化の処理を行わないが、本発明の実施の形態はこの例に限らない。図20で説明したように、動作モードオブジェクト660aが永続化の処理を行う構成でもよい。
(コンピュータの構成)
図28は、本実施形態の画像形成装置を実現するコンピュータの構成図である。図28のコンピュータは、主処理部900、入力デバイス910、表示装置920、プリンタ930、スキャナ940、及びHDD990を有する。主処理部900は、コンピュータの機能を実現する主たる部分であり、CPU901、ROM908、及びRAM909を有する。CPU901は、コンピュータプログラムをROM908等から読み出し、RAM909に展開することにより、本発明の実施の形態に係るコンピュータプログラムを実行する。ROM908は不揮発性のメモリであり、コンピュータプログラム等のCPU901によって実行されるプログラム、及び画像形成装置の制御に必要なパラメータ等を保持する。RAM909は、CPU901が処理を行う際の、ワークメモリである。
入力デバイス910は、例えば、キーボード等であり、操作者が指示の入力を行う際に使用する。表示装置920は、コンピュータの状態等の表示を行う。プリンタ930は、画像を媒体に形成して出力する装置であり、スキャナ940は、媒体上に形成された画像を光学的に読み取る装置である。HDD990は、画像のデータ等の大容量のデータを格納する。
本発明の実施の形態に係るコンピュータプログラムは、HDD990、又はROM908に格納される他に、その他図示しないドライブ装置に挿入可能な記録媒体に格納されてもよい。
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
本発明の第一の実施の形態に係る画像形成装置の機能構成の例の図。 モードプログラム機能を実現するソフトウェアの構成図(その1)。 動作モード情報のデータ構造の例を説明するクラス図。 階層的構造を実現するデータ型の例を示すクラス図。 Set型シンタックスを用いて原稿サイズ型を表現した例を示す図。 アプリケーションの設定画面を表示する処理の例のシーケンス図。 アプリケーション一覧画面の表示例を示す図。 コピーアプリケーションの設定画面の表示例を示す図。 動作モードを設定する処理の例のシーケンス図。 ソートがONに設定された後のコピーアプリケーションの設定画面の表示例を示す図。 ジョブを実行する処理の例のシーケンス図。 モードプログラムを登録する処理の例のシーケンス図。 モードプログラム登録画面の表示例を示す図。 動作モード情報の永続化形式を示す図。 モードプログラム情報の永続化形式を示す図。 モードプログラム表示情報の永続化形式を示す図。 モードプログラムを展開する処理の例のシーケンス図。 モードプログラム一覧画面の表示例を示す図。 モードプログラム機能を実現するソフトウェアの構成図(その2)。 具象アプリケーションによって永続化が行われる場合の処理の例のシーケンス図。 本発明の第二の実施の形態に係る画像形成装置の機能構成の例の図。 モードプログラム機能を実現するソフトウェアの構成図(その3)。 具象アプリケーションロジックと具象提供機能の具体例を説明する図(その1)。 具象アプリケーションロジックと具象提供機能の具体例を説明する図(その2)。 第二の実施の形態におけるコピーアプリケーションの設定画面を表示する処理の例を示すシーケンス図。 第二の実施の形態における動作モード情報を設定する処理の例のシーケンス図。 コピージョブにおいてモードプログラムを登録する処理の例のシーケンス図。 本実施形態の画像形成装置を実現するコンピュータの構成の例の図。
符号の説明
100、400 画像形成装置
110 アプリケーションフレームワーク部
120、420 モードプログラム登録手段
130 動作モード取得手段
140、440 ジョブ制御手段
150、450 ソフトウェア部品
160、460 動作モード部
161、461 動作モード受付手段
162、462 動作モード情報出力手段
170、470 処理実行手段
180、480 モードプログラム情報管理部
181、481 モードプログラム情報管理手段
182、482 モードプログラム情報保持手段
210 アプリケーションフレームワーク
220、520 モードプログラム機能クラス
230、260、527、530、560、560a、560b、560c、561、592、592a、592b、 動作モードクラス
250、250a 具象アプリケーション
270、570 処理制御クラス
280、580 データ管理部
281、581 データ永続化機能クラス
410 アプリケーションロジックフレームワーク部
411 提供機能フレームワーク部
431 モジュール格納手段
432 ジョブ構成取得手段
433 ジョブモジュールインタフェース
441 ソフトウェア部品インタフェース
490 ジョブ構成部
491 ジョブ構成保持手段
492 動作モード取得モジュール
510 アプリケーションロジックフレームワーク
532、591、591a、591b 接続構成クラス
526 提供機能フレームワーク
550a、550d 原稿読み取り提供機能
550b 印刷提供機能
550c 送信提供機能
900 コンピュータの主処理部
901 CPU
908 ROM
909 RAM
910 入力デバイス
920 表示装置
930 プリンタ
940 スキャナ
990 HDD

Claims (17)

  1. 複数のソフトウェア部品と、前記複数のソフトウェア部品より共通に利用されるアプリケーションフレームワークとを有する画像形成装置であって、
    前記アプリケーションフレームワークは、
    いずれかの前記ソフトウェア部品に基づくジョブに対して設定された動作モード情報の取得の指示を出力し、動作モード情報を取得するモードプログラム登録手段と、
    前記モードプログラム登録手段からの指示に基づいて、前記ジョブを構成する処理に対応するソフトウェア部品に対して前記動作モード情報の取得を要求し、該ソフトウェア部品から出力される返り値である所定の型の動作モード情報を取得して前記モードプログラム登録手段に出力する動作モード取得手段として当該画像形成装置を機能させ
    前記モードプログラム登録手段によって取得された動作モード情報と当該動作モード情報が構成するモードプログラムの識別情報とを含むモードプログラム情報を生成し、モードプログラム情報保持手段に格納させるモードプログラム情報管理手段を有する画像形成装置。
  2. 前記アプリケーションフレームワークは、
    前記モードプログラムの識別情報に基づくジョブの実行指示に応じ、前記モードプログラムの識別情報に対応する前記モードプログラム情報に含まれる前記動作モード情報を、前記モードプログラム識別情報に対応する前記ソフトウェア部品に設定する設定手段として当該画像形成装置を機能させ
    前記ソフトウェア部品は、前記設定手段によって設定された前記動作モード情報に基づくジョブを当該画像形成装置に実行させる請求項1記載の画像形成装置。
  3. 前記動作モード情報は、前記ソフトウェア部品の識別情報、該ソフトウェア部品において設定される設定項目の識別情報、及び前記設定項目のデータ型を示す情報を有する請求項1又は2記載の画像形成装置。
  4. 前記ジョブは複数のソフトウェア部品による処理から構成され、
    一のモードプログラム情報は、前記ソフトウェア部品のうちの何れか一以上のソフトウェア部品に対して設定された動作モード情報に係る情報を含む請求項1ないし3何れか一項に記載の画像形成装置。
  5. 前記モードプログラム情報保持手段は、不揮発性の記憶手段である請求項1ないし4何れか一項に記載の画像形成装置。
  6. ジョブの種類毎に対応するジョブモジュールを接続するジョブモジュールインタフェースと、
    前記ジョブを構成する処理に対応するソフトウェア部品の一覧及び前記ソフトウェア部品の実行順を前記ジョブモジュールから取得するジョブ構成取得手段と、
    を有し、
    前記動作モード取得手段は、前記ジョブ構成取得手段によって取得されたソフトウェア部品の一覧に含まれる前記ソフトウェア部品に対して、前記動作モード情報の取得を要求する請求項1ないし5何れか一項に記載の画像形成装置。
  7. 前記アプリケーションフレームワークは、前記モードプログラム登録手段、前記動作モード取得手段を格納するモジュール格納手段、及び前記ジョブモジュールインタフェースとして当該画像形成装置を機能させ
    前記画像形成装置は、前記ソフトウェア部品を接続するソフトウェア部品インタフェースを有する提供機能フレームワークを有し、
    前記ジョブモジュールは、ジョブの種類毎に対応し前記モジュール格納手段に格納されることにより動作モード取得手段となる動作モード取得モジュールを有する請求項6記載の画像形成装置。
  8. 前記ジョブモジュールは、
    前記ジョブの種類毎に対応するソフトウェア部品の一覧及び前記ソフトウェア部品の実行順に係る情報を保持するジョブ構成保持手段を有する請求項6又は7記載の画像形成装置。
  9. 前記ソフトウェア部品は、
    前記動作モード取得手段から動作モード情報の取得の要求を受けつける動作モード受付手段と、
    前記動作モード受付手段によって受けつけられた動作モード情報の取得の要求に基づいて、所定の型の動作モード情報を、前記動作モード取得手段に出力する動作モード情報出力手段と、
    記動作モード情報に基づいて、前記ジョブを構成する処理の一部を実行する処理実行手段と、
    として当該画像形成装置を機能させる請求項1ないし8何れか一項に記載の画像形成装置。
  10. 複数のソフトウェア部品と、前記複数のソフトウェア部品より共通に利用されるアプリケーションフレームワークとを有する画像形成装置が実行する画像形成方法であって、
    前記アプリケーションフレームワークが、
    いずれかの前記ソフトウェア部品に基づくジョブに対して設定された動作モード情報の取得の指示を出力するモードプログラム登録開始ステップと、
    前記モードプログラム登録開始ステップによる指示に基づいて、前記ジョブを構成する処理に対応するソフトウェア部品に対して前記動作モード情報の取得を要求する動作モード取得要求ステップと、
    該ソフトウェア部品から出力される返り値である所定の型の動作モード情報を取得する動作モード応答ステップと、
    前記動作モード応答ステップによって取得された動作モード情報と当該動作モード情報が構成するモードプログラムの識別情報とを含むモードプログラム情報を生成するモードプログラム生成ステップとを当該画像形成装置に実行させ
    当該画像形成装置が、前記モードプログラム情報を、モードプログラム情報保持手段に格納させるモードプログラム情報管理ステップ実行する画像形成方法。
  11. 前記アプリケーションフレームワークが、
    前記モードプログラムの識別情報に基づくジョブの実行指示に応じ、前記モードプログラムの識別情報に対応する前記モードプログラム情報に含まれる前記動作モード情報を、前記モードプログラム識別情報に対応する前記ソフトウェア部品に設定する設定手順を当該画像形成装置に実行させ
    前記ソフトウェア部品が、前記設定手によって設定された前記動作モード情報に基づくジョブを当該画像形成装置に実行させる請求項10記載の画像形成方法。
  12. 前記動作モード情報は、前記ソフトウェア部品の識別情報、該ソフトウェア部品において設定される設定項目の識別情報、及び前記設定項目のデータ型を示す情報を有する請求項10又は11記載の画像形成方法。
  13. 前記ジョブは複数のソフトウェア部品による処理ステップから構成され、
    一のモードプログラム情報は、前記ソフトウェア部品のうちの何れか一以上のソフトウェア部品に対して設定された動作モード情報に係る情報を含む請求項10ないし12何れか一項に記載の画像形成方法。
  14. 前記画像形成装置が、
    前記ジョブを構成する処理に対応するソフトウェア部品の一覧及び前記ソフトウェア部品の実行順をジョブモジュールから取得するジョブ構成取得ステップを実行し、
    前記動作モード取得要求ステップは、前記ジョブ構成取得ステップにおいて取得されたソフトウェア部品の一覧に含まれる前記ソフトウェア部品に対して、前記動作モード情報の取得を要求する請求項10ないし13何れか一項に記載の画像形成方法。
  15. 前記ソフトウェア部品が、前記動作モード取得要求ステップによる前記動作モード情報の取得の要求を受けつける動作モード受付ステップと、
    前記ソフトウェア部品が、前記動作モード受付ステップによって受けつけられた動作モード情報の取得の要求に基づいて、所定の型の動作モード情報を出力する動作モード情報出力ステップと、
    前記ソフトウェア部品が、前記動作モード情報に基づいて、前記ジョブを構成する処理の一部を実行する処理実行ステップと、
    を当該画像形成装置に実行させる請求項10ないし14何れか一項に記載の画像形成方法。
  16. 請求項1ないし9何れか一項に記載のアプリケーションフレームワークとして前記画像形成装置を機能させるコンピュータプログラム。
  17. 請求項16記載のコンピュータプログラムを格納したコンピュータ読み取り可能な情報記録媒体。
JP2008200036A 2007-08-24 2008-08-01 画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体 Expired - Fee Related JP5309773B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008200036A JP5309773B2 (ja) 2007-08-24 2008-08-01 画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体
US12/194,569 US8384921B2 (en) 2007-08-24 2008-08-20 Image forming apparatus and method for managing a mode program constituted by operation mode information set to a job performed by the image forming apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007218595 2007-08-24
JP2007218595 2007-08-24
JP2008200036A JP5309773B2 (ja) 2007-08-24 2008-08-01 画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体

Publications (2)

Publication Number Publication Date
JP2009076061A JP2009076061A (ja) 2009-04-09
JP5309773B2 true JP5309773B2 (ja) 2013-10-09

Family

ID=40610919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008200036A Expired - Fee Related JP5309773B2 (ja) 2007-08-24 2008-08-01 画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体

Country Status (1)

Country Link
JP (1) JP5309773B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5268597B2 (ja) * 2008-11-28 2013-08-21 キヤノン株式会社 アプリケーションプラットフォーム、情報処理装置、情報処理装置の制御方法、プログラム、及び記憶媒体
JP4830003B2 (ja) * 2009-05-27 2011-12-07 シャープ株式会社 画像形成装置、及びその画像形成装置を含む画像形成システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001243137A (ja) * 2000-02-28 2001-09-07 Nippon Telegr & Teleph Corp <Ntt> ネットワーク管理オブジェクト実装方式および実装方法
JP2003099256A (ja) * 2001-09-19 2003-04-04 Fuji Xerox Co Ltd 情報処理装置
JP2005301985A (ja) * 2004-02-26 2005-10-27 Ricoh Co Ltd 情報処理装置、オブジェクト生成方法、オブジェクト変換方法、オブジェクト生成プログラム、オブジェクト変換プログラム及び記録媒体
JP4478535B2 (ja) * 2004-08-27 2010-06-09 キヤノン株式会社 画像処理装置、並びにその制御方法、プログラム、及び記憶媒体
JP2006338507A (ja) * 2005-06-03 2006-12-14 Fujifilm Holdings Corp 処理装置及び処理方法
JP2007006287A (ja) * 2005-06-24 2007-01-11 Ricoh Co Ltd 画像形成装置
JP2007158929A (ja) * 2005-12-07 2007-06-21 Ricoh Co Ltd 設定管理装置及び設定管理プログラム
JP4849631B2 (ja) * 2007-05-24 2012-01-11 株式会社リコー 画像形成装置、制御方法およびプログラム

Also Published As

Publication number Publication date
JP2009076061A (ja) 2009-04-09

Similar Documents

Publication Publication Date Title
US8438567B2 (en) Information processing device and image processing apparatus
US20070038946A1 (en) Systems, methods and devices for controlling a multifunctional product using a scriptable user interface
JP5914442B2 (ja) データ処理装置及び方法、並びに、画像処理装置
CN103312923B (zh) 信息处理装置及控制方法
JP2005316770A (ja) ジョブ情報管理システム及び方法、並びにプログラム及び記憶媒体
US20080307428A1 (en) Image forming apparatus, application execution method, and storage medium
JP5309773B2 (ja) 画像形成装置、画像形成方法、コンピュータプログラム、及び情報記録媒体
JP2007094533A (ja) データ処理方法
JP2008066887A (ja) 画像処理装置、画像処理方法、及び、画像処理プログラム
US8384921B2 (en) Image forming apparatus and method for managing a mode program constituted by operation mode information set to a job performed by the image forming apparatus
JP2009123114A (ja) 情報処理装置及び情報処理方法
JP2010068038A (ja) 情報処理装置、操作マニュアル作成方法、及び操作マニュアル作成プログラム
JP2008065479A (ja) 画像処理装置、画像処理方法、及び、画像処理プログラム
JP2008305021A (ja) 情報処理装置及びアプリケーション管理方法
JP5956963B2 (ja) 画像形成装置及び表示プログラム
JP2005117544A (ja) 画像形成装置、操作パネル制御方法およびその方法をコンピュータに実行させるプログラム
JP2018005695A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP5541144B2 (ja) 支援プログラム、支援方法および支援装置
JP6724630B2 (ja) 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP2019020954A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6144100B2 (ja) 文書管理システムおよび文書管理方法
JP2012032880A (ja) 情報処理装置およびその動作方法
JP2005208370A (ja) プレゼンテーション装置、プレゼンテーション方法およびプログラム
WO2020179837A1 (en) Cooperation processing apparatus and method
JP2018018139A (ja) 情報処理装置、情報処理方法、および情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130517

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: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

LAPS Cancellation because of no payment of annual fees