JP6222058B2 - Image forming apparatus - Google Patents
Image forming apparatus Download PDFInfo
- Publication number
- JP6222058B2 JP6222058B2 JP2014237557A JP2014237557A JP6222058B2 JP 6222058 B2 JP6222058 B2 JP 6222058B2 JP 2014237557 A JP2014237557 A JP 2014237557A JP 2014237557 A JP2014237557 A JP 2014237557A JP 6222058 B2 JP6222058 B2 JP 6222058B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- program
- data
- application program
- storage unit
- 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
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
Description
本発明は、機能の実行に必要なアプリケーションプログラムを格納する画像形成装置に関する。 The present invention relates to an image forming apparatus that stores an application program necessary for executing a function.
画像形成装置には、搭載機能(アプリケーション)に対応するアプリケーションプログラムが格納される。そして、画像形成装置の処理部(CPU)は、機能の実行指示を受けると、実行対象の機能に対応するアプリケーションプログラムを読み出し、そのアプリケーションプログラムに基づき機能を実行するための処理を行う。 The image forming apparatus stores an application program corresponding to a mounted function (application). When receiving a function execution instruction, the processing unit (CPU) of the image forming apparatus reads an application program corresponding to the function to be executed, and performs processing for executing the function based on the application program.
ところで、コピー機能やプリンター機能など複数種の機能を搭載する画像形成装置(複合機)では、複数種の機能にそれぞれ対応する複数のアプリケーションプログラムが必要となるが、各アプリケーションプログラムをそれぞれ別個に開発(作成)すると、ソフトウェアの開発効率が低下する。 By the way, an image forming apparatus (multifunction machine) equipped with multiple types of functions such as a copy function and a printer function requires multiple application programs corresponding to multiple types of functions, but each application program is developed separately. (Creation) reduces software development efficiency.
そこで、特許文献1では、各アプリケーションプログラムのうち共通する部分を共通プログラムとして括りだし、その共通プログラムを画像形成装置に格納するようにしている。このようにすると、或る機能に対応するアプリケーションプログラムを作成した後、別の機能に対応するアプリケーションプログラムを作成するときには、共通プログラム以外の部分を作成するだけでよくなるので、ソフトウェアの開発を効率的に行える。 Therefore, in Patent Document 1, a common portion of each application program is bundled as a common program, and the common program is stored in the image forming apparatus. In this way, after creating an application program corresponding to a certain function, when creating an application program corresponding to another function, it is only necessary to create a part other than the common program. It can be done.
通常、画像形成装置のアプリケーションプログラムはC言語やC++言語などのプログラミング言語で作成されるが、そのようなプログラミング言語は構文が複雑であるため、アプリケーションプログラムの作成には時間がかかる。したがって、特許文献1のように、アプリケーションプログラムを共通部分とそれ以外の部分とに分離しても、ソフトウェアの開発効率は大きくは向上しない。また、構文が複雑なプログラミング言語でアプリケーションプログラムを作成すると、アプリケーションプログラムに不具合が発生し易くなり、品質の低下に繋がる。さらに、メンテナンス性も悪い。 Normally, an application program of the image forming apparatus is created in a programming language such as C language or C ++ language. However, since such a programming language has a complicated syntax, it takes time to create the application program. Therefore, even if the application program is separated into a common part and other parts as in Patent Document 1, the software development efficiency is not greatly improved. In addition, if an application program is created in a programming language with a complicated syntax, defects are likely to occur in the application program, leading to a reduction in quality. Furthermore, maintenance is also poor.
本発明は、上記課題を解決するためになされたものであり、ソフトウェアの開発効率、品質およびメンテナンス性を向上させることが可能な画像形成装置を提供することを目的とする。 SUMMARY An advantage of some aspects of the invention is that it provides an image forming apparatus capable of improving software development efficiency, quality, and maintainability.
上記目的を達成するために、本発明の画像形成装置は、画像形成装置が有する機能の実行に必要なアプリケーションプログラムのプログラム部分と、アプリケーションプログラムのプログラム部分の関数名とアプリケーションプログラムのプログラム部分の記憶部上のアドレスとを対応付けた変換テーブルと、タグを用いる所定のデータ記述言語で作成されたデータを解析するための構文解析プログラムと、アプリケーションプログラムのデータ部分を示すデータである機能データを外部から取得し、アプリケーションプログラムのプログラム部分とは別個に格納する取得部と、アプリケーションプログラムに基づき機能を実行するための処理を行う処理部と、を備える。機能データは、所定のデータ記述言語で作成されるとともに、コンパイルされずに記憶部に格納される。機能データには、対応するアプリケーションプログラムのプログラム部分の関数名が定義されている。そして、処理部は、機能を実行するための処理を行うとき、構文解析プログラムに基づき機能データを解析するとともに、変換テーブルを参照することによって機能データに定義されたアプリケーションプログラムのプログラム部分の関数名に対応する記憶部上のアドレスを判別し、判別した記憶部上のアドレスに記憶されたアプリケーションプログラムのプログラム部分を読み出す。なお、タグを用いる所定のデータ記述言語としては、たとえば、XML(Extensible Markup Language)などがある。 In order to achieve the above object, an image forming apparatus according to the present invention stores a program part of an application program necessary for executing a function of the image forming apparatus, a function name of the program part of the application program, and a program part of the application program. External conversion of functional data, which is data indicating the data part of the application program, and a conversion table that associates the addresses on the department with each other, a parsing program for analyzing data created in a predetermined data description language using tags And an acquisition unit that is stored separately from the program part of the application program, and a processing unit that performs a process for executing a function based on the application program. The function data is created in a predetermined data description language and stored in the storage unit without being compiled. In the function data, the function name of the program part of the corresponding application program is defined. When the processing unit performs the process for executing the function, the function unit analyzes the function data based on the syntax analysis program and refers to the conversion table, and the function name of the program part of the application program defined in the function data. The address on the storage unit corresponding to is determined, and the program part of the application program stored at the determined address on the storage unit is read. Note that examples of the predetermined data description language using tags include XML (Extensible Markup Language).
本発明の構成では、アプリケーションプログラムのプログラム部分の関数名(テキスト)と、アプリケーションプログラムのプログラム部分の記憶部上のアドレスとが対応付けられた変換テーブルが記憶部に記憶されるので、記憶部に格納されたアプリケーションプログラムのデータ部分(機能データ)の記述言語が所定のデータ記述言語であっても、変換テーブルを参照することにより、機能データに対応するアプリケーションプログラムのプログラム部分の記憶部上のアドレスを判別することができる。すなわち、機能データに対応するアプリケーションプログラムのプログラム部分を読み出すことができる。これにより、プログラム作成者からすると、アプリケーションプログラムのデータ部分については、所定のデータ記述言語で作成した機能データをそのまま記憶部に格納するだけでよくなる(コンパイルが不要となる)ので、利便性が良い。 In the configuration of the present invention, since the conversion table in which the function name (text) of the program part of the application program is associated with the address on the storage part of the program part of the application program is stored in the storage part, Even if the description language of the data part (functional data) of the stored application program is a predetermined data description language, the address on the storage unit of the program part of the application program corresponding to the functional data can be obtained by referring to the conversion table. Can be determined. That is, the program portion of the application program corresponding to the function data can be read. Thus, from the viewpoint of the program creator, it is only necessary to store the function data created in a predetermined data description language in the storage unit as it is for the data portion of the application program (compilation is unnecessary), which is convenient. .
ここで、所定のデータ記述言語(XMLなど)はプログラミング言語(C言語やC++言語など)のように複雑ではなく、所定のデータ記述言語でのアプリケーションプログラム(データ部分)の作成は簡単な規則(タグの使い方など)を覚えておくだけで行える。これにより、アプリケーションプログラムの作成にかかる時間が短縮され、ソフトウェアの開発効率が向上する。 Here, a predetermined data description language (such as XML) is not as complex as a programming language (such as C language or C ++ language), and the creation of an application program (data portion) in the predetermined data description language is simple ( Just remember how to use tags). As a result, the time taken to create the application program is shortened, and the software development efficiency is improved.
また、所定のデータ記述言語は制御コード(分岐や反復など)を含まないので、アプリケーションプログラム(データ部分)に不具合が発生し難くなり、品質が向上する。さらに、所定のデータ記述言語は制御コードを含まないので、アプリケーションプログラム(データ部分)の可読性が向上する。すなわち、メンテナンス性が向上する。 In addition, since the predetermined data description language does not include control codes (branch, repetition, etc.), it is difficult for the application program (data portion) to be defective and the quality is improved. Furthermore, since the predetermined data description language does not include a control code, the readability of the application program (data portion) is improved. That is, maintainability is improved.
なお、仮にアプリケーションプログラムのデータ部分にデバッグの必要が生じた場合には、機能データを修正し、その修正した機能データを記憶部に格納するだけでよく、アプリケーションプログラムのプログラム部分(分岐や反復などの制御コード)を修正する必要はない。このため、デグレードが発生し難くなる。また、修正した機能データのコンパイルは不要であるので、作業工数が短縮される。 If the data part of the application program needs to be debugged, it is only necessary to correct the function data and store the corrected function data in the storage unit. There is no need to modify the control code. For this reason, it is difficult for degradation to occur. In addition, since it is not necessary to compile the corrected function data, the number of work steps is reduced.
以上のように、本発明によれば、ソフトウェアの開発効率、品質およびメンテナンス性を向上させることができる。 As described above, according to the present invention, software development efficiency, quality, and maintainability can be improved.
以下、本発明の一実施形態について、複合機を例にとって説明する。 Hereinafter, an embodiment of the present invention will be described by taking a multifunction peripheral as an example.
[複合機の全体構成]
図1に示すように、複合機100(「画像形成装置」に相当)は、画像読取部101、印刷部102および操作パネル103を備える。
[Overall configuration of MFP]
As illustrated in FIG. 1, the multifunction peripheral 100 (corresponding to an “image forming apparatus”) includes an
画像読取部101は、原稿を読み取り、原稿の画像データを生成する。たとえば、画像読取部101の読み取りによって得られた原稿の画像データは、後述する主制御部110により各種処理が施される。そして、その画像データは、印刷画像の基データや、ファクシミリデータの基データとなる。
The
印刷部102は、給紙部21、用紙搬送部22、画像形成部23および定着部24によって構成される。給紙部21は、用紙カセットPCに収容された用紙を用紙搬送路PPに供給する。用紙搬送部22は、用紙搬送路PPに沿って用紙を搬送する。画像形成部23は、感光体ドラム1、帯電装置2、露光装置3、現像装置4、転写ローラー5およびクリーニング装置6を含む。そして、画像形成部23は、画像データに基づきトナー像を形成し、そのトナー像を用紙に転写する。定着部24は、用紙に転写されたトナー像を加熱および加圧して定着させる。
The
操作パネル103は、タッチパネル付きの液晶表示パネル31を含む。液晶表示パネル31は、各種設定などを受け付けるためのソフトキーやメッセージを表示する。また、操作パネル103には、スタートキー32やテンキー33などのハードキーが設けられる。たとえば、操作パネル103は、複合機100が有する機能の実行指示(操作)を受け付ける。
The
なお、複合機100は、コピー機能やプリンター機能など標準的な機能以外に、たとえば、装置状態などを示すレポートRP(図8参照)を印刷出力する機能、メンテナンスや調整を行うための機能、および、オプション装置やオプション言語を使用する機能などが備えられる。
In addition to the standard functions such as a copy function and a printer function, the
[複合機のハードウェア構成]
図2に示すように、複合機100は、主制御部110を備える。主制御部110は、CPU111、画像処理部112および記憶部113を含む。画像処理部112は、画像処理専用のASICなどからなり、画像データに対して画像処理(拡大/縮小、濃度変換およびデータ形式変換など)を施す。記憶部113は、ROM113aおよびRAM113bなどからなる。この記憶部113(ROM113a)には、制御用のプログラムやデータが格納される。なお、以下の説明では、複合機100が有する機能の実行に必要な制御用のプログラムをアプリケーションプログラム100Pと称する場合がある。これは、図3のアプリケーション層が外部装置200または外部メモリー300により、複合機100の記憶部113にダウンロードされたものである。
[Hardware configuration of MFP]
As shown in FIG. 2, the
そして、主制御部110は、記憶部113に記憶されたプログラムやデータに基づき、複合機100の動作を制御する。具体的には、主制御部110は、画像読取部101に接続され、画像読取部101の読取動作を制御する。また、主制御部110は、印刷部102に接続され、印刷部102の印刷動作を制御する。さらに、主制御部110は、操作パネル103に接続され、操作パネル103の表示動作を制御したり、操作パネル103に対して行われた操作を検知したりする。
The
また、複合機100は、通信部120および接続部130を備える。通信部120および接続部130は、主制御部110に接続される。
The
通信部120は、外部装置200(パーソナルコンピューターやサーバーなど)と通信可能に接続される。そして、通信部120は、主制御部110から指示を受け、外部装置200との間でファクシミリデータなど各種データの送受信を行う。
The
接続部130は、USBメモリーなどの外部メモリー300を接続するためのインターフェースである。たとえば、外部メモリー300には、画像データなど各種データが格納される。そして、主制御部110は、接続部130への外部メモリー300の接続を認識すると、その外部メモリー300に格納されたデータを取得するための処理を行う。
The
[複合機のソフトウェア構成]
図3に示すように、複合機100のソフトウェア構成は、プラットフォーム層の上位にアプリケーション層が配置されたものとなっている。アプリケーション層のプログラムやデータは外部装置200または外部メモリー300から読み出され、ROM113aに格納される。
[Software configuration of MFP]
As shown in FIG. 3, the software configuration of the multifunction peripheral 100 is such that an application layer is arranged above the platform layer. Application layer programs and data are read from the
プラットフォーム層には、DLL(ダイナミックリンクライブラリー)ファイル510が備えられる。 In the platform layer, a DLL (Dynamic Link Library) file 510 is provided.
また、プラットフォーム層には、オペレーティングシステム(OS)520などの基本プログラムも備えられる。 The platform layer also includes basic programs such as an operating system (OS) 520.
アプリケーション層には、ライブラリー530や機能データ540などが備えられる。ライブラリー530は、複数種の機能にそれぞれ対応する各アプリケーションプログラム100Pのプログラム部分のうち機能特有の処理を行うための部分を一つのファイルにまとめたものである。たとえば、レポート機能の実行時には、ライブラリー530から、レポート機能の実行に必要なアプリケーションプログラム100Pのプログラム部分が読み出される。なお、ライブラリー530に含まれるアプリケーションプログラム100Pのプログラム部分は、複数の機種間で共通して使用できるものである。
The application layer includes a
機能データ540は、複数種の機能にそれぞれ対応する各アプリケーションプログラム100Pのデータ部分を示すデータである。この機能データ540には、対応する機能特有のパラメータなどが定義される。レポート機能を例にとると、印字内容、印字位置、印字フォント、印字サイズおよび印字色などが機能特有のパラメータに相当する。
The
ここで、アプリケーションプログラム100Pのプログラム部分は、C言語やC++言語などのプログラミング言語で作成されたものである。一方で、機能データ540は、タグを用いる所定のデータ記述言語で作成されたものである。たとえば、機能データ540は、XML(Extensible Markup Language)形式で作成されたXMLデータである。そして、機能データ540は、コンパイルされず、XMLデータのまま記憶部113(ROM113a)に格納される。
Here, the program portion of the
以下に、図4および図5を参照し、機能データ540(XMLデータ)について、レポート機能(1番目のブロックA)を例にとって説明する。 Hereinafter, the function data 540 (XML data) will be described with reference to FIGS. 4 and 5 by taking the report function (first block A) as an example.
<Function>function_a</Function>
この記述は、「関数名(プログラム名)」が「function_a」であることを示している。「function_a」に対応するプログラム(関数)は、後述の「メッセージ」の内容を印字するためのアプリケーションプログラム100Pのプログラム部分である。すなわち、機能データ540(XMLデータ)には、対応するアプリケーションプログラム100Pのプログラム部分の関数名が定義されている。
<Function> function_a </ Function>
This description indicates that “function name (program name)” is “function_a”. A program (function) corresponding to “function_a” is a program part of an
<Message>ジョブエラーレポート</Message>
この記述は、「メッセージ」として「ジョブエラーレポート」という文字列を印字することを示している。「ジョブエラーレポート」という文字列は、「function_a」に対応するアプリケーションプログラム100Pによって印字される。
<Message> Job error report </ Message>
This description indicates that a character string “job error report” is printed as a “message”. The character string “job error report” is printed by the
<Position>0,0</Position>
この記述は、「メッセージ」としての文字列を(X座標,Y座標)=(0,0)の位置で印字することを示している。
<Position> 0,0 </ Position>
This description indicates that a character string as “message” is printed at a position of (X coordinate, Y coordinate) = (0, 0).
<Variable></Variable>
この記述は、参照する変数が無いことを示している。なお、参照する変数が有る場合には、その変数が記述される。
<Variable></Variable>
This description indicates that there is no variable to refer to. If there is a variable to be referenced, that variable is described.
<Font>MS Pゴシック</Font>
この記述は、「メッセージ」としての文字列の印字フォントをMSPゴシックにするということを示している。
<Font> MS P Gothic </ Font>
This description indicates that the print font of the character string as the “message” is MSP Gothic.
<FontSize>16</FontSize>
この記述は、「メッセージ」としての文字列の印字サイズを16ポイントにするということを示している。
<FontSize> 16 </ FontSize>
This description indicates that the print size of the character string as the “message” is 16 points.
<FontColor>Blue</FontColor>
この記述は、「メッセージ」としての文字列の印字色を青色にするということを示している。
<FontColor> Blue </ FontColor>
This description indicates that the print color of the character string as the “message” is blue.
<ExtFunction></ExtFunction>
この記述は、外部関数を使用しないことを示している。使用する外部関数が有る場合には、その外部関数名が記述される。
<ExtFunction></ExtFunction>
This description indicates that no external function is used. If there is an external function to be used, the external function name is described.
なお、2番のブロックBから7番目のブロックGについては、詳細な内容は1番目のブロックAと異なるが、タグの定義の仕方など基本的な内容は1番目のブロックAと同様である。 Although the detailed contents of the second block B to the seventh block G are different from those of the first block A, the basic contents such as how to define tags are the same as those of the first block A.
図3に戻って、アプリケーション層には、パーサープログラムなどと称される構文解析プログラム550が備えられる。構文解析プログラム550は、所定のデータ記述言語で作成された機能データ(XMLデータ)を解析し、単なるテキストをアプリケーションプログラム100Pで扱えるようなデータ構造の集合体に変換するためのプログラムである。このような構文解析プログラム550を備えることにより、機能データがXMLデータであっても、その機能データで定義された内容(パラメータなど)を認識することができる。
Returning to FIG. 3, the application layer is provided with a
また、アプリケーション層には、変換テーブル560が備えられる。この変換テーブル560では、複数種の機能にそれぞれ対応する各アプリケーションプログラム100Pについて、アプリケーションプログラム100Pのプログラム部分の関数名(プログラム名)を示すテキストデータ(文字列)と、そのアプリケーションプログラム100Pのプログラム部分の記憶部113上のアドレスとが対応付けられている。なお、変換テーブル560は、ライブラリー530とセットになっており、コンパイルされている。
The application layer includes a conversion table 560. In this conversion table 560, for each
ここで、図6に示すように、コンパイルされる前の変換テーブル560は、アプリケーションプログラム100Pのプログラム部分の関数名(テキスト)に関数ポインタを対応付けたテーブルとなっている。たとえば、関数名「function_a」に対応する関数ポインタは「(*function_a)()」である。
Here, as shown in FIG. 6, the conversion table 560 before being compiled is a table in which a function pointer is associated with a function name (text) of a program part of the
そして、この変換テーブル560は、コンパイルされることによって、アプリケーションプログラム100Pのプログラム部分の関数名にアプリケーションプログラム100Pのプログラム部分の記憶部113上のアドレス(番地)が対応付けられたテーブルとなる。たとえば、図6に示す例では、変換テーブル560がコンパイルされると、関数名「function_a」にアドレス「1200番地」が対応付けられる。
The conversion table 560 is a table in which the address (address) on the
なお、アプリケーションプログラム100Pのプログラム部分を書き換えた場合には、アプリケーションプログラム100Pのプログラム部分の記憶部113上のアドレスが変更されることがある。この場合には、変換テーブル560をコンパイルし直すことにより、アプリケーションプログラム100Pのプログラム部分の関数名に変更後のアドレスが対応付けられる。
In addition, when the program part of the
[機能を実行するための処理]
アプリケーションプログラム100Pのプログラム部分(ライブラリー530、変換テーブル560、構文解析プログラム550)と機能データ540(XMLデータ)は、別個に記憶部113に格納される。すなわち、機能データ540は、対応するアプリケーションプログラム100Pのプログラム部分と共にコンパイルされるわけではない。なお、アプリケーションプログラム100Pのプログラム部分(ライブラリー530、変換テーブル560、構文解析プログラム550)と機能データ540は、装置出荷前に記憶部113に格納される場合もあれば、装置出荷後にオプションとして記憶部113に格納される場合もある。
[Process to execute function]
The program part (
たとえば、機能データ540(XMLデータ)は、外部装置200からダウンロードされる。あるいは、機能データ540は、外部メモリー300からダウンロードされる。機能データ540が外部装置200からダウンロードされる場合では、機能データ540は通信部120により取得され、記憶部113に格納される。この場合には、通信部120が「取得部」に相当する。また、機能データ540が外部メモリー300からダウンロードされる場合では、機能データ540は接続部130により取得され、記憶部113に格納される。この場合には、接続部130が「取得部」に相当する。
For example, the function data 540 (XML data) is downloaded from the
そして、このように機能データがXMLデータのまま記憶部113に格納されることにより、対応する機能の実行が可能となる。すなわち、コンパイルは不要である。以下に、図7のフローチャートを参照し、レポート機能を例にとって、機能を実行するときの処理の流れを説明する。
Then, the function data is stored in the
まず、図7のフローチャートのスタート時点では、レポート機能の実行に必要なアプリケーションプログラム100Pのプログラム部分(ライブラリー530、変換テーブル560、構文解析プログラム550)と、実行対象の機能に対応する機能データ540(XMLデータ)が外部装置200または外部メモリー300からダウンロードされ、記憶部113に格納されているとする。この状態において、レポート機能の実行指示を受けたとき、図7のフローチャートがスタートする。
First, at the start of the flowchart of FIG. 7, the program portion (
ステップS1において、CPU111は、構文解析プログラム550に基づき機能データ540を解析し、タグ間のテキストを抽出する。たとえば、図4に示すブロックAを例にとると、「function_a」、「ジョブエラーレポート」「0,0」、「MS Pゴシック」、「16」および「Blue」の各テキストが抽出される。そして、アプリケーションプログラム100Pで扱えるようなデータ構造の集合体に変換される(RAM113bに読み出される)。
In step S1, the
続いて、ステップS2において、CPU111は、変換テーブル560を参照し、抽出した関数名(ここでは、「function_a」となる)に対応付けられた記憶部113上のアドレスを判別する。すなわち、CPU111は、実行対象のアプリケーションプログラム100Pの記憶部113上のアドレスを判別する。
Subsequently, in step S <b> 2, the
その後、ステップS3において、CPU111は、判別したアドレスに記憶されたアプリケーションプログラム100Pのプログラム部分を読み出す。そして、CPU111は、構文解析プログラム550による解析結果(機能データ540で定義されたパラメータなど)をアプリケーションプログラム100Pに渡し、そのアプリケーションプログラム100Pに基づきレポート機能を実行するための処理を行う。すなわち、レポート機能を実行するための処理は、機能データ540で定義された内容を反映したものとなる。これにより、図8に示すようなレポートRPが印刷出力される。
Thereafter, in step S3, the
ここで、印刷出力されたレポートRPの印刷内容がユーザー(装置開発者や装置出荷先ユーザー)の意図とは異なっていることがある。この場合には、レポートRPの印刷内容が正しいもとのなるようデバッグする必要がある。 Here, the printed content of the printed report RP may be different from the intention of the user (device developer or device shipping destination user). In this case, it is necessary to debug so that the print contents of the report RP are correct.
たとえば、「ジョブエラーレポート」というメッセージ内容が誤りで、正しくは「エラーレポート」であったとする。この場合のデバッグでは、図9に示すように、機能データ540(XMLデータ)の<Message>〜</Message>というタグ間に記述された「ジョブエラーレポート」を「エラーレポート」に変更する。そして、変更後の機能データ540をダウンロードし、変更前の機能データ540を変更後の機能データ540に書き換える。これにより、図10に示すように、レポートRPのメッセージ内容が「ジョブエラーレポート」から「エラーレポート」に変更される。
For example, it is assumed that the message content “job error report” is incorrect and is correctly “error report”. In debugging in this case, as shown in FIG. 9, the “job error report” described between the tags <Message> to </ Message> of the function data 540 (XML data) is changed to “error report”. Then, the
なお、デバッグを行うときには、アプリケーションプログラム100Pのプログラム部分に修正を加える必要はない。すなわち、機能データ540(XMLデータ)の書き換えだけでよく、結果として、コンパイルも不要となる。
When debugging, it is not necessary to modify the program part of the
本実施形態の複合機100(画像形成装置)は、機能(レポート機能など)の実行に必要なアプリケーションプログラム100Pのプログラム部分(ライブラリー530、変換テーブル560)と、XML(タグを用いる所定のデータ記述言語)で作成されたデータを解析するための構文解析プログラム550と、アプリケーションプログラム100Pのデータ部分を示すデータである機能データ540を外部から取得し、記憶部113に別個に格納する通信部120(取得部)または接続部130(取得部)と、アプリケーションプログラム100Pに基づき機能を実行するための処理を行うCPU111(処理部)と、を備える。機能データ540は、XMLで作成されるとともに、コンパイルされずに記憶部113に格納される。機能データ540には、対応するアプリケーションプログラム100Pのプログラム部分の関数名が定義されている。記憶部113には、アプリケーションプログラム100Pのプログラム部分の関数名と、アプリケーションプログラム100Pのプログラム部分の記憶部113上のアドレスとを対応付けた変換テーブル560が記憶される。そして、CPU111は、機能を実行するための処理を行うときに、構文解析プログラム550に基づき機能データ540を解析するとともに、変換テーブル560を参照することによって機能データ540に定義されたアプリケーションプログラム100Pのプログラム部分の関数名に対応する記憶部113上のアドレスを判別し、判別した記憶部113上のアドレスに記憶されたアプリケーションプログラム100Pのプログラム部分を読み出す。
The multifunction peripheral 100 (image forming apparatus) of the present embodiment includes a program part (a
本実施形態の構成では、アプリケーションプログラム100Pのプログラム部分の関数名(テキスト)と、アプリケーションプログラム100Pのプログラム部分の記憶部113上のアドレスとが対応付けられた変換テーブル560が記憶部113に記憶されるので、記憶部113に格納されたアプリケーションプログラム100Pのデータ部分(機能データ540)の記述言語がXMLであっても、変換テーブル560を参照することにより、機能データ540に対応するアプリケーションプログラム100Pのプログラム部分の記憶部113上のアドレスを判別することができる。すなわち、機能データ540に対応するアプリケーションプログラム100Pのプログラム部分を読み出すことができる。これにより、プログラム作成者からすると、アプリケーションプログラム100Pのデータ部分については、XMLで作成した機能データ540をそのまま記憶部113に格納するだけでよくなる(コンパイルが不要となる)ので、利便性が良い。
In the configuration of the present embodiment, a conversion table 560 in which the function name (text) of the program part of the
ここで、XMLはC言語やC++言語などのように複雑ではなく、XMLでのアプリケーションプログラム100P(データ部分)の作成は簡単な規則(タグの使い方など)を覚えておくだけで行える。これにより、アプリケーションプログラム100Pの作成にかかる時間が短縮され、ソフトウェアの開発効率が向上する。
Here, the XML is not as complex as the C language or the C ++ language, and the
また、XMLは制御コード(分岐や反復など)を含まないので、アプリケーションプログラム100P(データ部分)に不具合が発生し難くなり、品質が向上する。さらに、XMLは制御コードを含まないので、アプリケーションプログラム100P(データ部分)の可読性が向上する。すなわち、メンテナンス性が向上する。
In addition, since XML does not include control code (branch, repetition, etc.), it is difficult for the
なお、仮にアプリケーションプログラム100Pのデータ部分にデバッグの必要が生じた場合には、機能データ540(XMLデータ)を修正し、その修正した機能データ540を記憶部113に格納するだけでよく、アプリケーションプログラム100Pのプログラム部分(分岐や反復などの制御コード)を修正する必要はない。このため、デグレードが発生し難くなる。また、修正した機能データ540のコンパイルは不要であるので、作業工数が短縮される。
If the data portion of the
また、本実施形態では、上記のように、アプリケーションプログラム100Pのプログラム部分は、複数の機種間で共通して使用できるプログラムである。このように構成すれば、或る複合機100のアプリケーションプログラム1000Pを作成した後、機種が異なる別の複合機100のアプリケーションプログラム100Pを作成する場合、アプリケーションプログラム100Pのプログラム部分については、既に作成されたアプリケーションプログラム100Pのプログラム部分を流用することができる。すなわち、アプリケーションプログラム100Pのデータ部分だけを作成すればよい。これにより、ソフトウェアの開発効率がより向上する。
In the present embodiment, as described above, the program portion of the
今回開示された実施形態は、すべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記実施形態の説明ではなく特許請求の範囲によって示され、さらに、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる It should be thought that embodiment disclosed this time is an illustration and restrictive at no points. The scope of the present invention is shown not by the description of the above-described embodiment but by the scope of claims for patent, and further includes meanings equivalent to the scope of claims for patent and all modifications within the scope.
たとえば、制御コード(if文などの分岐処理やfor文などのループ処理)を構文解析プログラムで解釈できるようにしてもよい。これにより、たとえば、「オプション機能が搭載されているときには所定テキストを印刷し、オプション機能が搭載されていないときには所定テキストを印刷しない」といった処理を機能データの中で定義することができるようになる。 For example, a control code (a branch process such as an if statement or a loop process such as a for statement) may be interpreted by a syntax analysis program. As a result, for example, processing such as “print a predetermined text when an optional function is installed and do not print a predetermined text when an optional function is not installed” can be defined in the function data. .
100 複合機(画像形成装置)
100P アプリケーションプログラム
111 CPU(処理部)
113 記憶部
120 通信部(取得部)
130 接続部(取得部)
540 機能データ
550 構文解析プログラム
560 変換テーブル
100 MFP (image forming device)
113
130 Connection unit (acquisition unit)
540
Claims (4)
前記アプリケーションプログラムのデータ部分を示すデータである機能データを外部から取得し、前記アプリケーションプログラムのプログラム部分とは別個に格納する取得部と、
前記アプリケーションプログラムに基づき前記機能を実行するための処理を行う処理部と、を備え、
前記機能データは、前記所定のデータ記述言語で作成されるとともに、コンパイルされずに前記記憶部に格納され、
前記機能データには、対応する前記アプリケーションプログラムのプログラム部分の関数名が定義されており、
前記処理部は、前記機能を実行するための処理を行うとき、前記構文解析プログラムに基づき前記機能データを解析するとともに、前記変換テーブルを参照することによって前記機能データに定義された前記アプリケーションプログラムのプログラム部分の関数名に対応する前記記憶部上のアドレスを判別し、判別した前記記憶部上のアドレスに記憶された前記アプリケーションプログラムのプログラム部分を読み出すことを特徴とする画像形成装置。 A conversion table that associates a program part of an application program required to execute a function of the image forming apparatus, a function name of the program part of the application program, and an address on a storage unit of the program part of the application program, and a tag A syntax analysis program for analyzing data created in a predetermined data description language using
Obtaining functional data that is data indicating the data part of the application program from the outside, and storing the data separately from the program part of the application program;
A processing unit that performs processing for executing the function based on the application program,
The functional data is created in the predetermined data description language and stored in the storage unit without being compiled,
In the function data, a function name of a program part of the corresponding application program is defined,
When the processing unit performs processing for executing the function, the processing unit analyzes the function data based on the syntax analysis program and refers to the conversion table to determine whether the application program is defined in the function data. An image forming apparatus comprising: determining an address on the storage unit corresponding to a function name of a program part; and reading the program part of the application program stored at the determined address on the storage unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014237557A JP6222058B2 (en) | 2014-11-25 | 2014-11-25 | Image forming apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014237557A JP6222058B2 (en) | 2014-11-25 | 2014-11-25 | Image forming apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016097621A JP2016097621A (en) | 2016-05-30 |
JP6222058B2 true JP6222058B2 (en) | 2017-11-01 |
Family
ID=56076577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014237557A Expired - Fee Related JP6222058B2 (en) | 2014-11-25 | 2014-11-25 | Image forming apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6222058B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3992916B2 (en) * | 2000-09-29 | 2007-10-17 | 富士通株式会社 | Label printing method and apparatus, and recording medium |
JP2002222081A (en) * | 2000-11-22 | 2002-08-09 | Ricoh Co Ltd | Device and method for program generation, program implementing the same method on computer, image forming device, and address solving method |
US20050076064A1 (en) * | 2003-10-01 | 2005-04-07 | Ge Medical Systems Global Technology Company, Llc | Mr application save and restore system |
JP2006085620A (en) * | 2004-09-17 | 2006-03-30 | Ricoh Co Ltd | Electronic apparatus system, its electronic apparatus, control method, program and recording medium |
JP4872986B2 (en) * | 2008-08-19 | 2012-02-08 | 富士ゼロックス株式会社 | Information processing apparatus, image forming apparatus, and program |
JP4793419B2 (en) * | 2008-09-25 | 2011-10-12 | 富士ゼロックス株式会社 | Information processing apparatus, image forming apparatus, and program |
-
2014
- 2014-11-25 JP JP2014237557A patent/JP6222058B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2016097621A (en) | 2016-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4355639B2 (en) | Image processing apparatus and control method thereof | |
US20130074048A1 (en) | System, information processing apparatus and control method thereof, image forming apparatus and control method thereof, and computer-readable medium | |
JP2005235034A (en) | Image forming device | |
JP5518904B2 (en) | System and method for introducing runtime programming code into a printing device | |
JP2015089681A (en) | Printing job correction method and system | |
JP4790043B2 (en) | Image processing apparatus and control method thereof | |
JP5879276B2 (en) | Information processing apparatus and creation program | |
JP6222058B2 (en) | Image forming apparatus | |
JP5049952B2 (en) | Image processing apparatus and control method thereof | |
JP5140708B2 (en) | Electronic device program and electronic device system | |
JP2008027171A (en) | Image forming apparatus | |
JP4956509B2 (en) | Image processing apparatus and control method thereof | |
JPH11110256A (en) | Device and method for debugging program, and computer readable recording medium recorded with the method for the same | |
JP6199758B2 (en) | Embedded system, image forming device | |
JP5337686B2 (en) | Application program generation method and image forming apparatus | |
JP2011170576A (en) | Method, program and apparatus for creation of installation package, and installation system | |
JP5216624B2 (en) | Software development system and software development method | |
JP2011060236A (en) | Information processor, development support program, and software integrated development environment | |
JP2008027172A (en) | Image forming apparatus | |
JP5902971B2 (en) | Copy phrase management apparatus and copy phrase management method | |
JP2008021067A (en) | Tracing function adding method for image forming apparatus, its program, and image forming apparatus having this program installed | |
JP2008021066A (en) | Tracing function adding method for image forming apparatus, its program, and image forming apparatus having program installed | |
JP2011170577A (en) | Method, program and apparatus for creating installation package and installation system | |
CN113138730A (en) | CSS rule-based transmission method of electronic template among multiple devices | |
JP2023000683A (en) | Application program and image processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161026 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170815 |
|
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: 20170905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170918 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6222058 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |