JP2002222081A - Device and method for program generation, program implementing the same method on computer, image forming device, and address solving method - Google Patents

Device and method for program generation, program implementing the same method on computer, image forming device, and address solving method

Info

Publication number
JP2002222081A
JP2002222081A JP2001280642A JP2001280642A JP2002222081A JP 2002222081 A JP2002222081 A JP 2002222081A JP 2001280642 A JP2001280642 A JP 2001280642A JP 2001280642 A JP2001280642 A JP 2001280642A JP 2002222081 A JP2002222081 A JP 2002222081A
Authority
JP
Japan
Prior art keywords
address
function
program
application
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001280642A
Other languages
Japanese (ja)
Inventor
Yoshiaki Irino
祥明 入野
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 JP2001280642A priority Critical patent/JP2002222081A/en
Publication of JP2002222081A publication Critical patent/JP2002222081A/en
Priority to EP02256419A priority patent/EP1293895A3/en
Priority to US10/242,702 priority patent/US20030074656A1/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve operation efficiency and to reduce the size of a program by making it easy to develop respective modules individually. SOLUTION: A service common library 840 includes one or more functions called in common from a plurality of control services and function arrangement information 844 showing the absolute memory addresses of the respective functions. Each control service has an address reference conversion part 842 where the absolute address of a function called by a run-time loader 843 is stored when the function is executed.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、コンピュータに
実行させるプログラムを作成するプログラム作成装置、
プログラム作成方法、その方法をコンピュータに実行さ
せるプログラム、プリンタ、コピーまたはファクシミリ
などの画像形成処理にかかるユーザサービスを提供する
際に動作するコントロールサービスやアプリケーション
を共通のライブラリとリンクして生成した画像形成装置
およびコントロールサービスやアプリケーションから呼
び出される関数のアドレス解決方法に関する。
[0001] The present invention relates to a program creating apparatus for creating a program to be executed by a computer,
A program creation method, a program for causing a computer to execute the method, an image formation generated by linking a control service or an application that operates when providing a user service related to image formation processing such as a printer, a copy or a facsimile with a common library The present invention relates to an address resolution method of a function called from a device and a control service or an application.

【0002】[0002]

【従来の技術】近年、プリンタ、コピー、ファクシミ
リ、スキャナなどの各装置の機能を1つの筐体内に収納
した画像形成装置(以下、「複合機」という。)が一般
的に知られている。この複合機は、1つの筐体内に表示
部、印刷部および撮像部などを設けるとともに、プリン
タ、コピーおよびファクシミリ装置にそれぞれ対応する
3種類のソフトウェアを設け、ソフトウェアの切り替え
によって、当該装置をプリンタ、コピー、スキャナまた
はファクシミリ装置として動作させるものである。
2. Description of the Related Art In recent years, an image forming apparatus (hereinafter, referred to as a "multifunction machine") in which functions of respective apparatuses such as a printer, a copier, a facsimile, and a scanner are housed in one housing is generally known. This multifunction peripheral includes a display unit, a printing unit, an imaging unit, and the like in a single housing, and three types of software corresponding to a printer, a copying machine, and a facsimile machine, respectively. It operates as a copier, scanner or facsimile machine.

【0003】このような従来の複合機では、内部にプリ
ンタ、コピー、スキャナおよびファクシミリ装置に対応
するソフトウェア(汎用OSを含む)をそれぞれ別個に
設ける構成となっており、各ソフトウェアの開発に多大
の時間を要する。しかも、このような複合機で動作する
アプリケーションソフトウェアは、複合機開発元の一カ
所で開発を行うことが一般的であった。
In such a conventional multifunction peripheral, software (including a general-purpose OS) corresponding to a printer, a copier, a scanner, and a facsimile machine is provided separately, and a great deal of development is required for each software. Takes time. Moreover, application software that operates on such a multifunction peripheral is generally developed at a single location of the multifunction peripheral developer.

【0004】このため、出願人は、表示部、印刷部およ
び撮像部などの画像形成処理で使用されるハードウェア
資源を有し、プリンタ、コピーまたはファクシミリなど
の各ユーザサービスにそれぞれ固有の処理を行うアプリ
ケーションを複数搭載し、これらのアプリケーションと
ハードウェア資源との間に介在して、ユーザサービスを
提供する際に、アプリケーションの少なくとも2つが共
通的に必要とするハードウェア資源の管理、実行制御並
びに画像形成処理を行う各種コントロールサービスから
なるプラットホームを備えた画像形成装置を発明した。
この画像形成装置によれば、アプリケーションの少なく
とも2つが共通的に必要とするハードウェア資源の管
理、実行制御並びに画像形成処理を行うプラットホーム
を備えた構成とすることによって、ソフトウェア開発の
効率化を図るとともに、装置全体としての生産性を向上
させることが可能となる。
[0004] For this reason, the applicant has hardware resources used in image forming processing such as a display unit, a printing unit, and an imaging unit, and performs processing unique to each user service such as a printer, a copy or a facsimile. A plurality of applications to be installed are mounted, and between these applications and hardware resources, when providing a user service, management of hardware resources commonly required by at least two of the applications, execution control, and An image forming apparatus including a platform including various control services for performing image forming processing has been invented.
According to this image forming apparatus, the efficiency of software development is improved by providing a platform for performing management, execution control, and image forming processing of hardware resources commonly required by at least two applications. At the same time, it is possible to improve the productivity of the entire apparatus.

【0005】このような複合機で動作するソフトウェア
を開発する場合、複数のモジュールから共通して呼び出
される外部関数などを共通ライブラリとして共有にして
おき、開発対象のモジュールのソースファイルからオブ
ジェクトファイルを生成する際に、当該モジュールと外
部関数モジュールを結合(リンク)してモジュールを完
成することが開発作業効率およびプログラムサイズの低
減を図る上で好ましい。
When developing software that operates on such a multifunction peripheral, external functions and the like that are commonly called from a plurality of modules are shared as a common library, and an object file is generated from a source file of a module to be developed. In doing so, it is preferable to combine (link) the module and the external function module to complete the module in order to reduce development work efficiency and program size.

【0006】このような開発対象のモジュールと外部関
数モジュールとを結合する方式としては、従来から以下
の(1)スタティックリンク(実行前結合)方式および
(2)ダイナミックリンク(実行時結合)方式が一般的
に知られている。
Conventionally, the following (1) static link (link before execution) method and (2) dynamic link (link at execution) method are used as a method of connecting such a module to be developed and an external function module. Generally known.

【0007】(1)スタティックリンク(実行前結合)
方式:これは、必要となる可能性のあるモジュールを、
すべて実行前にあらかじめ結合しておく方式である。こ
のスタティックリンク方式では、開発対象のモジュール
側で共通ライブラリの中の関数の仮想メモリ上での絶対
アドレスが直接参照される。モジュールがあらかじめ結
合されている。したがって、必要が生じたときに必要な
モジュールを迅速に実行することができるという利点が
ある。
(1) Static link (join before execution)
Scheme: This is a module that may be needed,
This is a method in which all are combined before execution. In the static link method, an absolute address on a virtual memory of a function in a common library is directly referenced on a module to be developed. Modules are pre-connected. Therefore, there is an advantage that necessary modules can be quickly executed when the need arises.

【0008】(2)ダイナミックリンク(実行時結合)
方式 これは、実行時に、必要の生じたモジュールを随時結合
する方式である。同一のモジュールを複数のプログラム
から参照することができる。そのため、共通に利用する
モジュールのライブラリを用意することで、プログラム
全体のサイズを小さくできるという利点がある。
[0008] (2) Dynamic link (execution connection)
Method This is a method in which necessary modules are combined as needed at the time of execution. The same module can be referenced from multiple programs. Therefore, there is an advantage that the size of the entire program can be reduced by preparing a library of commonly used modules.

【0009】[0009]

【発明が解決しようとする課題】しかしながら、上記
(1)スタティックリンク(実行前結合)方式、(2)
ダイナミックリンク(実行時結合)方式ともに、複合機
で動作するソフトウェアを開発する場合には、上記の利
点に対して下記のような技術的課題を有している。
However, the above (1) static link (pre-execution combining) method and (2)
In the case of developing software that operates on a multifunction peripheral, both of the dynamic link (run-time connection) method have the following technical problems with respect to the above advantages.

【0010】まず、スタティックリンク(実行前結合)
方式では、すべてのモジュールをあらかじめ実行プログ
ラムに結合しておくため、プログラム全体のサイズが増
大するという問題がある。
First, static link (join before execution)
In the method, since all the modules are combined in advance with the execution program, there is a problem that the size of the entire program increases.

【0011】また、上記の複合機では、複数のアプリケ
ーションと、アプリケーションの少なくとも2つが共通
的に必要とするサービスを提供する複数のコントロール
サービスを有するという各モジュールが独立した構成と
なっているため、各アプリケーションごとあるいは各コ
ントロールサービスごとに開発を別個に行えることが好
ましい。たとえば、コントロールサービスのモジュール
の開発を複合機の開発元で行う一方、アプリケーション
の開発をサードベンダなどの第三者に委託するという開
発方法も考えられる。
Further, in the above-described multifunction peripheral, each module having a plurality of applications and a plurality of control services for providing services commonly required by at least two of the applications has an independent configuration. It is preferable that development can be performed separately for each application or each control service. For example, a development method may be considered in which a control service module is developed by a multifunction device developer, while application development is outsourced to a third party such as a third vendor.

【0012】しかしながら、スタティックリンク方式を
採用した場合には、開発対象のモジュール側で外部関数
の仮想メモリ上での絶対アドレスが直接参照されるよう
に開発を行う必要があるため、各モジュールを別個に作
成することが困難になるという問題がある。特に、共通
ライブラリの外部関数の仕様を変更したり、新たな外部
関数を追加するような複合機のバーションアップを行う
場合には、共通ライブラリだけでなく、共通ライブラリ
を呼び出す各アプリケーションや各コントロールサービ
スのモジュールも、関数の絶対アドレスの変更が必要と
なるので作業効率が悪いという問題がある。
However, when the static link method is adopted, since it is necessary to perform development so that the absolute address of the external function on the virtual memory is directly referenced on the module to be developed, each module is separately provided. However, there is a problem that it is difficult to create the image. In particular, when changing the specifications of the external functions of the common library or upgrading the MFP to add new external functions, not only the common library but also each application and each control that calls the common library The service module also has a problem that the work efficiency is poor because the absolute address of the function needs to be changed.

【0013】また、ダイナミックリンク(実行時結合)
方式では、モジュールの結合処理にともなうオーバヘッ
ドがあるために、実行プログラムの性能が低下しやすい
という問題と、実行時にモジュールの結合処理を行なう
ために、アドレス解決のための処理をモジュールごとに
組み込んでおかなければならず、スタティックリンク方
式のモジュールと比較してダイナミックリンク方式のモ
ジュールの方がサイズが肥大するという問題があった。
[0013] Also, dynamic link (run-time connection)
In the method, the performance of the execution program is liable to be reduced due to the overhead associated with the module combining process, and the process for address resolution is incorporated into each module in order to perform the module combining process at the time of execution. Therefore, there is a problem that the size of the dynamic link module is larger than that of the static link module.

【0014】この点、たとえば特開平6−250828
号公報では、結合するモジュールを利用頻度の高低によ
って分類しておき、利用頻度の高いモジュール群はあら
かじめ実行プログラムにスタティックリンクしておき、
利用頻度の低いモジュール群は実行時にダイナミックリ
ンクするようにすることで、プログラムの実行速度の向
上をはかっている。
In this respect, for example, Japanese Patent Application Laid-Open No. 6-250828
In the publication, the modules to be combined are classified according to the frequency of use, and the modules that are frequently used are statically linked to the execution program in advance,
Modules that are infrequently used are dynamically linked at the time of execution to improve the execution speed of the program.

【0015】しかし、とくに組み込み型の実行プログラ
ムでは外部からの入力事象によって処理内容が変化する
ために、モジュールの利用頻度をあらかじめ予想するこ
とは困難であるという問題がある。また、上記によって
も実行時に結合するモジュールのサイズが肥大するとい
う問題は解決されていない。
[0015] However, in the case of a built-in type execution program in particular, there is a problem that it is difficult to predict the use frequency of a module in advance because the processing content changes depending on an external input event. In addition, the above problem does not solve the problem that the size of the module to be combined at the time of execution increases.

【0016】この発明は上記従来技術による問題点を解
決するため、画像形成装置の組み込み型の実行プログラ
ムについて、各モジュールごとに別個に開発することを
容易にして作業効率の向上を図るとともに、プログラム
サイズの低減を図ることができ、かつ各モジュールの更
新・修正などにも柔軟に対応することが可能なプログラ
ム作成装置、プログラム作成方法、その方法をコンピュ
ータに実行させるプログラム、画像形成装置およびアド
レス解決方法を提供することを目的とする。
According to the present invention, in order to solve the above-mentioned problems of the prior art, it is easy to separately develop each execution module of an embedded type execution program of an image forming apparatus, thereby improving work efficiency and improving program efficiency. A program creation apparatus, a program creation method, a program for causing a computer to execute the method, an image forming apparatus, and an address solution that can reduce the size and can flexibly cope with updating and correction of each module The aim is to provide a method.

【0017】[0017]

【課題を解決するための手段】上述した課題を解決し、
目的を達成するため、請求項1に記載の発明にかかるプ
ログラム作成装置は、コンピュータに実行させるプログ
ラムを作成するプログラム作成装置において、前記プロ
グラムが参照する外部関数モジュールへのジャンプ命令
からなるアドレス参照変換モジュールを作成する作成手
段と、前記プログラムをコンピュータで実行可能な形式
に変換する変換手段と、前記変換手段により変換された
プログラムに、前記作成手段により作成された、当該プ
ログラムが参照する外部関数モジュールへのジャンプ命
令からなるアドレス参照変換モジュールを結合する結合
手段と、を備えたことを特徴とする。
Means for Solving the Problems The above-mentioned problems are solved,
According to another aspect of the present invention, there is provided a program creating apparatus for creating a program to be executed by a computer, wherein the program comprises a jump instruction to an external function module referred to by the program. Creating means for creating a module, converting means for converting the program into a computer-executable format, and an external function module created by the creating means and referred to by the program to the program converted by the converting means Connecting means for connecting an address reference conversion module comprising a jump instruction to

【0018】この請求項1に記載の発明によれば、プロ
グラムから参照される外部関数モジュールは、当該モジ
ュールに代えて上記プログラムにスタティックリンクさ
れた、当該モジュールへのジャンプ命令からなるアドレ
ス参照変換モジュールを経由して実行されることにな
る。
According to the first aspect of the present invention, the external function module referred to from the program is an address reference conversion module comprising a jump instruction to the module, statically linked to the program instead of the module. Will be executed via

【0019】また、請求項2に記載の発明にかかるプロ
グラム作成装置は、前記請求項1に記載の発明におい
て、さらに、前記プログラムの実行時に前記結合手段に
より結合されたアドレス参照変換モジュールのジャンプ
先の外部関数モジュールのアドレスを検索する検索手段
と、前記検索手段により検索されたアドレスを前記結合
手段により結合されたアドレス参照変換モジュールに設
定する設定手段と、を備えたことを特徴とする。
According to a second aspect of the present invention, there is provided the program creating apparatus according to the first aspect, further comprising a jump destination of the address reference conversion module coupled by the coupling means when the program is executed. And a setting means for setting the address retrieved by the retrieval means in the address reference conversion module coupled by the coupling means.

【0020】この請求項2に記載の発明によれば、アド
レス参照変換モジュールのジャンプ先のアドレスは、当
該モジュールがスタティックリンクされたプログラムの
実行時に確定される。
According to the second aspect of the present invention, the jump destination address of the address reference conversion module is determined at the time of executing a program in which the module is statically linked.

【0021】また、請求項3に記載の発明にかかるプロ
グラム作成方法は、コンピュータに実行させるプログラ
ムを作成するプログラム作成方法において、前記プログ
ラムが参照する外部関数モジュールへのジャンプ命令か
らなるアドレス参照変換モジュールを作成する作成工程
と、前記プログラムをコンピュータで実行可能な形式に
変換する変換工程と、前記変換工程で変換されたプログ
ラムに、前記作成工程で作成された、当該プログラムが
参照する外部関数モジュールへのジャンプ命令からなる
アドレス参照変換モジュールを結合する結合工程と、を
含んだことを特徴とする。
According to a third aspect of the present invention, in the program creating method for creating a program to be executed by a computer, an address reference conversion module comprising a jump instruction to an external function module referred to by the program. And a conversion step of converting the program into a computer-executable format; and converting the program converted in the conversion step into an external function module created in the creation step and referenced by the program. And a coupling step of coupling an address reference conversion module consisting of a jump instruction.

【0022】この請求項3に記載の発明によれば、プロ
グラムから参照される外部関数モジュールは、当該モジ
ュールに代えて上記プログラムにスタティックリンクさ
れた、当該モジュールへのジャンプ命令からなるアドレ
ス参照変換モジュールを経由して実行されることにな
る。
According to the third aspect of the present invention, the external function module referred to by the program is an address reference conversion module comprising a jump instruction to the module statically linked to the program instead of the module. Will be executed via

【0023】また、請求項4に記載の発明にかかるプロ
グラム作成方法は、前記請求項3に記載の発明におい
て、さらに、前記結合工程で結合されたアドレス参照変
換モジュールのジャンプ先の外部関数モジュールのアド
レスを検索する検索工程と、前記検索工程で検索された
アドレスを前記結合工程で結合されたアドレス参照変換
モジュールに設定する設定工程と、を含んだことを特徴
とする。
According to a fourth aspect of the present invention, in the program creating method according to the third aspect of the present invention, the external function module as a jump destination of the address reference conversion module combined in the combining step is further provided. A search step of searching for an address; and a setting step of setting the address searched in the search step in the address reference conversion module combined in the combining step.

【0024】この請求項4に記載の発明によれば、アド
レス参照変換モジュールのジャンプ先のアドレスは、当
該モジュールがスタティックリンクされたプログラムの
実行時に確定される。
According to the fourth aspect of the present invention, the jump destination address of the address reference conversion module is determined at the time of executing a program in which the module is statically linked.

【0025】また、請求項5に記載の発明は、前記請求
項3または請求項4に記載された方法をコンピュータに
実行させるプログラムであるので、請求項3または請求
項4のいずれか一つの動作をコンピュータによって実行
することができる。
According to a fifth aspect of the present invention, there is provided a program for causing a computer to execute the method according to the third or fourth aspect. Can be performed by a computer.

【0026】また、請求項6に記載の発明にかかる画像
形成装置は、画像形成処理で使用されるハードウェア資
源と、画像形成処理にかかるユーザサービスにそれぞれ
固有の処理を行うアプリケーションと、前記アプリケー
ションと前記ハードウェア資源との間に介在し、ユーザ
サービスを提供する際に、アプリケーションの少なくと
も2つが共通的に必要とする前記ハードウェア資源の獲
得要求、管理、実行制御並びに画像形成処理を行う複数
のコントロールサービスを含むプラットホームとを備え
た画像形成装置であって、複数の前記アプリケーション
から共通に呼び出される一または複数の関数と、各関数
のメモリ上での絶対アドレスを示す関数配置情報を含む
アプリ共通ライブラリを備え、前記アプリケーション
は、呼び出す関数の絶対アドレスが実行時に格納される
アドレス参照変換部を有することを特徴とする。
According to a sixth aspect of the present invention, there is provided an image forming apparatus comprising: a hardware resource used in an image forming process; an application for performing a process unique to a user service related to the image forming process; And a plurality of hardware resources acquisition requests, management, execution control, and image forming processes that are commonly required by at least two of the applications when providing a user service. An image forming apparatus comprising: a platform including a control service according to any one of claims 1 to 3, wherein the application includes one or more functions commonly called from the plurality of applications, and function arrangement information indicating an absolute address of each function on a memory. A common library is provided, and the application Characterized in that it has an address reference conversion unit pair address is stored at runtime.

【0027】この請求項6に記載の発明によれば、複数
のアプリケーションから共通に呼び出される一または複
数の関数と、各関数のメモリ上での絶対アドレスを示す
関数配置情報を含むアプリ共通ライブラリを備えてお
り、アプリケーションでは呼び出す関数の絶対アドレス
が実行時に格納されるアドレス参照変換部を有している
ので、アプリケーションにアドレス参照変換部を設けれ
ば、呼び出す関数の絶対アドレスを意識した開発を行う
必要がなくアプリケーションの開発をアプリ共通ライブ
ラリや他のアプリケーションと別個に行うことが容易と
なる。また、アプリケーションの開発はアドレス参照変
換部を設けることで呼び出す関数の絶対アドレスを開発
時に決定する必要がないので、アプリケーションのバー
ジョンアップを容易に行える。従って、アプリケーショ
ンの開発の作業効率を向上させることができる。
According to the sixth aspect of the present invention, there is provided an application common library including one or a plurality of functions commonly called from a plurality of applications and function arrangement information indicating an absolute address of each function on a memory. Since the application has an address reference conversion unit that stores the absolute address of the function to be called at the time of execution, if the application has an address reference conversion unit, development with awareness of the absolute address of the function to be called will be performed. It is not necessary, and it is easy to develop the application separately from the application common library and other applications. In addition, in developing an application, it is not necessary to determine the absolute address of a function to be called by providing an address reference conversion unit at the time of development, so that the application can be easily upgraded. Therefore, the work efficiency of application development can be improved.

【0028】また、請求項7にかかる発明は、請求項6
に記載の画像形成装置において、前記複数のコントロー
ルサービスから共通に呼び出される一または複数の関数
と、各関数のメモリ上での絶対アドレスを示す関数配置
情報とを有するサービス共通ライブラリをさらに備え、
前記コントロールサービスは、呼び出す関数の絶対アド
レスが実行時に格納されるアドレス参照変換部を有する
ことを特徴とする。
The invention according to claim 7 is based on claim 6.
The image forming apparatus according to claim 1, further comprising a service common library having one or more functions commonly called from the plurality of control services, and function arrangement information indicating an absolute address of each function on a memory,
The control service includes an address reference conversion unit that stores an absolute address of a function to be called at the time of execution.

【0029】この請求項7に記載の発明によれば、複数
のコントロールサービスから共通に呼び出される一また
は複数の関数と、各関数のメモリ上での絶対アドレスを
示す関数配置情報とを有するサービス共通ライブラリを
さらに備え、前記コントロールサービスは、呼び出す関
数の絶対アドレスが実行時に格納されるアドレス参照変
換部を有することで、コントロールサービスにアドレス
参照変換部を設ければ、呼び出す関数の絶対アドレスを
意識した開発を行う必要がなく、コントロールサービス
の開発をサービス共通ライブラリや他のコントロールサ
ービスと別個に行うことが容易となる。また、コントロ
ールサービスの開発はアドレス参照変換部を設けること
で呼び出す関数の絶対アドレスを開発時に決定する必要
がないので、コントロールサービスのバージョンアップ
を容易に行える。従って、コントロールサービスの開発
の作業効率を向上させることができる。
According to the seventh aspect of the present invention, a service common having one or a plurality of functions commonly called from a plurality of control services and function arrangement information indicating an absolute address of each function on a memory. Further comprising a library, the control service has an address reference conversion unit in which the absolute address of the function to be called is stored at the time of execution, and if the control service is provided with an address reference conversion unit, the control service is aware of the absolute address of the function to be called There is no need to perform development, and it is easy to develop control services separately from the service common library and other control services. In addition, since the absolute address of the function to be called does not need to be determined during development of the control service by providing the address reference conversion unit, the version of the control service can be easily upgraded. Therefore, the work efficiency of control service development can be improved.

【0030】また、請求項8にかかる発明は、請求項7
に記載の画像形成装置において、前記サービス共通ライ
ブラリは、前記アプリ共通ライブラリから呼び出される
一または複数の関数と、各関数のメモリ上での絶対アド
レスを示す関数配置情報とを有し、前記アプリ共通ライ
ブラリは、呼び出す関数の絶対アドレスが実行時に格納
されるアドレス参照変換部を有することを特徴とする。
The invention according to claim 8 is the invention according to claim 7
Wherein the service common library has one or a plurality of functions called from the application common library, and function arrangement information indicating an absolute address of each function on a memory. The library is characterized in that it has an address reference converter for storing the absolute address of the function to be called at the time of execution.

【0031】この請求項8に記載の発明によれば、サー
ビス共通ライブラリはさらにアプリ共通ライブラリから
呼び出される一または複数の関数と各関数のメモリ上で
の絶対アドレスを示す関数配置情報とを有し、アプリ共
通ライブラリは呼び出す関数の絶対アドレスが実行時に
格納されるアドレス参照変換部を有することで、アプリ
共通ライブラリにアドレス参照変換部を設ければ、呼び
出す関数の絶対アドレスを意識した開発を行う必要がな
く、アプリ共通ライブラリの開発をサービス共通ライブ
ラリと別個に行うことが容易となる。また、アプリ共通
ライブラリの開発はアドレス参照変換部を設けることで
呼び出す関数の絶対アドレスを開発時に決定する必要が
ないので、アプリ共通ライブラリのバージョンアップを
容易に行える。従って、アプリ共通ライブラリの開発の
作業効率を向上させることができる。
According to the invention described in claim 8, the service common library further has one or a plurality of functions called from the application common library and function arrangement information indicating an absolute address of each function on the memory. Since the application common library has an address reference conversion unit that stores the absolute address of the function to be called at the time of execution, if the application common library has an address reference conversion unit, it is necessary to develop with consideration for the absolute address of the function to be called This makes it easy to develop the application common library separately from the service common library. In addition, in the development of the application common library, it is not necessary to determine the absolute address of the function to be called by providing the address reference conversion unit at the time of development, so that the application common library can be easily upgraded. Therefore, the work efficiency of developing the application common library can be improved.

【0032】また、請求項9にかかる発明は、請求項6
〜8のいずれか一つに記載の画像形成装置において、画
像形成装置の起動時に、前記関数配置情報に基づいて、
前記呼び出す関数の絶対アドレスを前記アドレス参照変
換部に格納するアドレス参照解決手段をさらに備えたこ
とを特徴とする。
The invention according to claim 9 is based on claim 6.
In the image forming apparatus according to any one of the above-described items, when the image forming apparatus is activated, based on the function arrangement information,
An address reference resolving means for storing the absolute address of the function to be called in the address reference conversion unit is further provided.

【0033】この請求項9に記載の発明によれば、アド
レス参照解決手段によって、画像形成装置の起動時に関
数配置情報に基づいて、呼び出す関数の絶対アドレスを
アドレス参照変換部に格納するので、実行時のアドレス
解決の処理が簡易なものとなり、プログラム実行時のオ
ーバヘッドを短縮することができる。
According to the ninth aspect of the present invention, the absolute address of the function to be called is stored in the address reference conversion unit based on the function arrangement information when the image forming apparatus is started up by the address reference resolution means. In this case, the address resolution process is simplified, and the overhead during program execution can be reduced.

【0034】また、請求項10にかかる発明は、請求項
9に記載の画像形成装置において、前記アドレス参照解
決手段は、前記サービス共通ライブラリまたは前記アプ
リ共通ライブラリの先頭の絶対アドレスと該先頭の絶対
アドレスからの関数のオフセットを前記アドレス参照変
換部に格納することを特徴とする。
According to a tenth aspect of the present invention, in the image forming apparatus according to the ninth aspect, the address reference resolving means includes a first absolute address of the service common library or the application common library and a first absolute address of the first common library. The offset of the function from the address is stored in the address reference conversion unit.

【0035】この請求項10に記載の発明によれば、ア
ドレス参照解決手段がサービス共通ライブラリまたはア
プリ共通ライブラリの先頭の絶対アドレスと該先頭の絶
対アドレスからの関数のオフセットをアドレス参照変換
部に格納することで、共通ライブラリやアプリ共通ライ
ブラリの先頭の絶対アドレスを定めておけば、関数配置
情報には先頭アドレスからのオフセットを格納しておけ
ばよく、サービス共通ライブラリまたはアプリ共通ライ
ブラリの開発の作業効率を向上させることができる。
According to the tenth aspect of the present invention, the address reference resolution means stores the leading absolute address of the service common library or the application common library and the offset of the function from the leading absolute address in the address reference conversion unit. By defining the absolute address at the beginning of the common library or application common library, it is sufficient to store the offset from the start address in the function allocation information, and work on the development of the service common library or application common library Efficiency can be improved.

【0036】また、請求項11にかかる発明は、請求項
6〜10のいずれか一つに記載の画像形成装置におい
て、前記コントロールサービスおよび前記アプリケーシ
ョンは、一または複数のスレッドを含むプロセスとして
動作し、前記サービス共通ライブラリは、前記スレッド
に関する処理を実行する関数を含んでいることを特徴と
する。
According to an eleventh aspect of the present invention, in the image forming apparatus according to any one of the sixth to tenth aspects, the control service and the application operate as a process including one or a plurality of threads. The service common library includes a function for executing a process related to the thread.

【0037】この請求項11に記載の発明によれば、サ
ービス共通ライブラリがスレッドに関する処理を実行す
る関数を含んでいることで、スレッドに関する関数を共
通化してコントロールサービスのアプリケーションの開
発の作業効率を向上させることができる。
According to the eleventh aspect of the present invention, since the service common library includes the function for executing the process related to the thread, the function related to the thread is standardized and the work efficiency of the control service application development is improved. Can be improved.

【0038】また、請求項12にかかる発明は、画像形
成処理で使用されるハードウェア資源と、画像形成処理
にかかるユーザサービスにそれぞれ固有の処理を行うア
プリケーションと、前記アプリケーションと前記ハード
ウェア資源との間に介在し、ユーザサービスを提供する
際に、アプリケーションの少なくとも2つが共通的に必
要とする前記ハードウェア資源の獲得要求、管理、実行
制御並びに画像形成処理を行う複数のコントロールサー
ビスを含むプラットホームと、複数の前記アプリケーシ
ョンから共通に呼び出される一または複数の関数と各関
数のメモリ上での絶対アドレスを示す関数配置情報とを
含むアプリ共通ライブラリと、前記複数のコントロール
サービスから共通に呼び出される一または複数の関数と
各関数のメモリ上での絶対アドレスを示す関数配置情報
とを有するサービス共通ライブラリとを備えた画像形成
装置を起動する際に、前記コントロールサービスおよび
前記アプリケーションから呼び出される関数のアドレス
を解決するアドレス解決方法において、前記呼び出す関
数のメモリ上での絶対アドレスを、前記関数配置情報に
基づいて、前記アプリケーションおよび前記コントロー
ルサービスのアドレス参照変換部に格納するアドレス参
照解決ステップを含んだことを特徴とする。
Further, according to the twelfth aspect of the present invention, there are provided a hardware resource used in the image forming process, an application for performing a process unique to a user service related to the image forming process, the application and the hardware resource. And a plurality of control services for performing acquisition request, management, execution control, and image forming processing of the hardware resources required by at least two of the applications in common when providing a user service. An application common library including one or more functions commonly called from the plurality of applications and function arrangement information indicating an absolute address of each function on the memory; Or multiple functions and each function in memory In the address resolution method for resolving an address of a function called from the control service and the application when starting an image forming apparatus including a service common library having function allocation information indicating an absolute address of the function to be called, Address reference resolution step of storing the absolute address in the memory of the application and the control service in the address reference conversion unit based on the function allocation information.

【0039】この請求項12に記載の発明によれば、呼
び出す関数のメモリ上での絶対アドレスを、前記関数配
置情報に基づいて、前記アプリケーションおよび前記コ
ントロールサービスのアドレス参照変換部に格納するア
ドレス参照解決ステップを含んだことで、実行時のアド
レス解決の処理が簡易なものとなり、プログラム実行時
のオーバヘッドを短縮することができる。
According to the twelfth aspect of the present invention, an address reference for storing the absolute address of the function to be called on the memory in the address reference conversion unit of the application and the control service based on the function allocation information. By including the solution step, the process of address resolution at the time of execution is simplified, and the overhead at the time of program execution can be reduced.

【0040】また、請求項13にかかる発明は、請求項
12に記載のアドレス解決方法において、前記アドレス
参照解決ステップは、前記サービス共通ライブラリまた
は前記アプリ共通ライブラリの先頭の絶対アドレスと該
先頭の絶対アドレスからの関数のオフセットを前記アド
レス参照変換部に格納することを特徴とする。
According to a thirteenth aspect of the present invention, in the address resolution method according to the twelfth aspect, the address reference resolving step comprises the step of: determining an absolute address of a head of the service common library or the application common library; The offset of the function from the address is stored in the address reference conversion unit.

【0041】この請求項13に記載の発明によれば、ア
ドレス参照解決ステップがサービス共通ライブラリまた
はアプリ共通ライブラリの先頭の絶対アドレスと該先頭
の絶対アドレスからの関数のオフセットを前記アドレス
参照変換部に格納することで、共通ライブラリやアプリ
共通ライブラリの先頭の絶対アドレスを定めておけば、
関数配置情報には先頭アドレスからのオフセットを格納
しておけばよく、サービス共通ライブラリまたはアプリ
共通ライブラリの開発の作業効率を向上させることがで
きる。
According to the thirteenth aspect of the present invention, the address reference resolving step includes the step of transmitting the absolute address at the head of the service common library or the application common library and the offset of the function from the head absolute address to the address reference conversion unit. By storing, if you define the absolute address of the beginning of the common library and the application common library,
The offset from the start address may be stored in the function allocation information, and the work efficiency of the development of the service common library or the application common library can be improved.

【0042】[0042]

【発明の実施の形態】以下に添付図面を参照して、この
発明によるプログラム作成装置、プログラム作成方法、
その方法をコンピュータに実行させるプログラム、画像
形成装置およびアドレス解決方法の好適な実施の形態を
詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS With reference to the accompanying drawings, a program creation device, a program creation method,
Preferred embodiments of a program for causing a computer to execute the method, an image forming apparatus, and an address resolution method will be described in detail.

【0043】(実施の形態1) (プログラム作成装置のハードウエア構成)まず、この
発明の実施の形態によるプログラム作成装置のハードウ
エア構成について説明する。図1は、この発明の実施の
形態によるプログラム作成装置のハードウエア構成を示
す説明図である。
Embodiment 1 (Hardware Configuration of Program Creation Apparatus) First, a hardware configuration of a program creation apparatus according to an embodiment of the present invention will be described. FIG. 1 is an explanatory diagram showing a hardware configuration of a program creating device according to an embodiment of the present invention.

【0044】同図において、101は装置全体を制御す
るCPUを、102は基本入出力プログラムを記憶した
ROMを、103はCPU101のワークエリアとして
使用されるRAMを、それぞれ示している。
In FIG. 1, reference numeral 101 denotes a CPU for controlling the entire apparatus, 102 denotes a ROM storing a basic input / output program, and 103 denotes a RAM used as a work area of the CPU 101.

【0045】また、104はCPU101の制御にした
がってHD(ハードディスク)105に対するデータの
リード/ライトを制御するHDD(ハードディスクドラ
イブ)を、105はHDD104の制御にしたがって書
き込まれたデータを記憶するHDを、それぞれ示してい
る。
Reference numeral 104 denotes an HDD (hard disk drive) that controls reading / writing of data from / to an HD (hard disk) 105 under the control of the CPU 101; 105, an HD that stores data written under the control of the HDD 104; Each is shown.

【0046】また、106はCPU101の制御にした
がってFD(フロッピー(登録商標)ディスク)107
に対するデータのリード/ライトを制御するFDD(フ
ロッピーディスクドライブ)を、107はFDD106
の制御にしたがって書き込まれたデータを記憶する着脱
自在のFDを、それぞれ示している。
Reference numeral 106 denotes an FD (floppy (registered trademark) disk) 107 under the control of the CPU 101.
FDD (Floppy Disk Drive) 107 for controlling read / write of data with respect to
2 shows a detachable FD for storing data written according to the above control.

【0047】また、108はカーソル、メニュー、ウィ
ンドウ、あるいは文字や画像などの各種データを表示す
るディスプレイを、109は通信回線110を介してネ
ットワークNETに接続され、そのネットワークとCP
U101とのインターフェースとして機能するネットワ
ークボードを、それぞれ示している。また、111は文
字、数値、各種指示などの入力のための複数のキーを備
えたキーボードを、112は各種指示の選択や実行、処
理対象の選択、カーソルの移動などをおこなうマウス
を、それぞれ示している。
A display 108 displays a cursor, a menu, a window, or various data such as characters and images. A display 109 is connected to a network NET via a communication line 110 and communicates with the network NET.
The network boards functioning as an interface with U101 are shown. Reference numeral 111 denotes a keyboard having a plurality of keys for inputting characters, numerical values, various instructions, etc., and 112 denotes a mouse for selecting and executing various instructions, selecting a processing target, moving a cursor, and the like. ing.

【0048】また、113は文字や画像を光学的に読み
取るスキャナを、114はCPU101の制御にしたが
って文字や画像を印刷するプリンタを、115は着脱可
能な記録媒体であるCD−ROMを、116はCD−R
OM115に対するデータのリードを制御するCD−R
OMドライブを、100は上記各部を接続するためのバ
スまたはケーブルを、それぞれ示している。
Reference numeral 113 denotes a scanner for optically reading characters and images; 114, a printer for printing characters and images under the control of the CPU 101; 115, a CD-ROM as a removable recording medium; CD-R
CD-R for controlling data read from OM115
The OM drive 100 and a bus or a cable for connecting each of the above components are shown.

【0049】(プログラム作成装置の機能的構成)つぎ
に、この発明の実施の形態によるプログラム作成装置の
機能的構成について説明する。図2は、この発明の実施
の形態によるプログラム作成装置の構成を機能的に示す
説明図である。この発明の実施の形態によるプログラム
作成装置は、プログラム記憶部200と、アドレス参照
変換モジュール作成部201と、プログラム変換部20
2と、プログラム結合部203と、プログラムロード部
204とを含む構成である。
(Functional Configuration of Program Creation Apparatus) Next, a functional configuration of the program creation apparatus according to the embodiment of the present invention will be described. FIG. 2 is an explanatory diagram functionally showing the configuration of the program creating device according to the embodiment of the present invention. A program creation device according to an embodiment of the present invention includes a program storage unit 200, an address reference conversion module creation unit 201, and a program conversion unit 20.
2, a program combining unit 203, and a program loading unit 204.

【0050】200は、プログラム記憶部であり、実行
プログラム記憶部200aと、アドレス参照変換モジュ
ール記憶部200bとを含む構成である。まず、実行プ
ログラム記憶部200aは、実行可能な形式のプログラ
ムを複数のファイルに分類・整理して記憶している。こ
こに記憶されるプログラムファイルには、大別して
(a)他の複数のプログラムファイルから共通に参照さ
れるモジュール群が記述されたファイル、すなわち共有
プログラムファイルと、(b)上記モジュールを、後述
するアドレス参照変換モジュールを介して参照するプロ
グラムの記述されたファイルとがある。
A program storage unit 200 includes an execution program storage unit 200a and an address reference conversion module storage unit 200b. First, the executable program storage unit 200a classifies and organizes executable programs into a plurality of files and stores them. The program files stored here are roughly divided into (a) a file in which a group of modules commonly referred to by a plurality of other program files are described, that is, a shared program file, and (b) the module described above. There is a file in which a program referred to via the address reference conversion module is described.

【0051】図3は、実行プログラム記憶部200aに
記憶される共有プログラムファイル300の一例を模式
的に示す説明図である。この共有ファイルには、他のプ
ログラムから呼び出されて利用される外部関数モジュー
ルf1、f2、f3およびf4があらかじめスタティッ
クリンクされ、それぞれアドレスA1、A2、A3およ
びA4に格納されているものとする。また、各共有ファ
イルには当該ファイルに含まれる外部関数モジュールの
名称とアドレスとを対応づけた、シンボルテーブル30
0aが格納されている。
FIG. 3 is an explanatory diagram schematically showing an example of the shared program file 300 stored in the execution program storage section 200a. In this shared file, it is assumed that external function modules f1, f2, f3 and f4 called and used by other programs are statically linked in advance and stored at addresses A1, A2, A3 and A4, respectively. Further, each shared file has a symbol table 30 in which names and addresses of external function modules included in the file are associated with each other.
0a is stored.

【0052】また、アドレス参照変換モジュール記憶部
(アドレス参照変換モジュールアーカイブ)200b
は、後述するアドレス参照変換モジュール作成部201
により作成されたアドレス参照変換モジュールを記憶し
ている。このアドレス参照変換モジュールについてはす
ぐ後に説明する。
The address reference conversion module storage unit (address reference conversion module archive) 200b
Is an address reference conversion module creation unit 201 described later.
The address reference conversion module created by the above is stored. This address reference conversion module will be described shortly.

【0053】つぎに201は、アドレス参照変換モジュ
ール作成部であり、実行プログラム記憶部200aに記
憶された共有プログラムファイル内の、それぞれの外部
関数モジュールに対応するアドレス参照変換モジュール
を作成する。そして、作成したアドレス参照変換モジュ
ールを上述のアドレス参照変換モジュール記憶部200
bに格納する。
Next, reference numeral 201 denotes an address reference conversion module creation unit, which creates an address reference conversion module corresponding to each external function module in the shared program file stored in the execution program storage unit 200a. Then, the created address reference conversion module is stored in the address reference conversion module storage unit 200 described above.
b.

【0054】図4は、アドレス参照変換モジュール作成
部201により作成され、アドレス参照変換モジュール
記憶部200bに格納されたアドレス参照変換モジュー
ルの一例を模式的に示す説明図である。たとえば、40
0は図3に示す外部関数f1に対応するアドレス参照変
換モジュールであり、外部関数f1と同名のアドレス参
照変換f1’と、外部関数f1の実行時のアドレス値が
格納されるデータ領域d1とが定義されている。この関
数f1’は、「データ領域d1に格納されているアドレ
スにジャンプする」という処理のみをおこなう関数であ
る。
FIG. 4 is an explanatory diagram schematically showing an example of the address reference conversion module created by the address reference conversion module creation section 201 and stored in the address reference conversion module storage section 200b. For example, 40
0 is an address reference conversion module corresponding to the external function f1 shown in FIG. 3, and has an address reference conversion f1 ′ having the same name as the external function f1 and a data area d1 storing an address value at the time of execution of the external function f1. Is defined. This function f1 ′ is a function that performs only the processing of “jump to the address stored in the data area d1”.

【0055】また、データ領域d1にはこの時点では
0、すなわちありえないアドレス値が格納されており、
後述のようにプログラムの実行時に、プログラムロード
部204により外部関数f1の現実のアドレス値が設定
される。なお、外部関数f2〜f4に対応するアドレス
参照変換モジュール401〜403も形式は同一であ
り、関数名称さえわかれば機械的に作成することができ
る。
At this time, 0, that is, an impossible address value is stored in the data area d1.
As will be described later, when the program is executed, the actual address value of the external function f1 is set by the program load unit 204. The address reference conversion modules 401 to 403 corresponding to the external functions f2 to f4 have the same format, and can be mechanically created as long as the function names are known.

【0056】202は、プログラム変換部(コンパイ
ラ)であり、キーボード111から入力されたりHD1
05から読み出されたりしたソースプログラムを、コン
ピュータで実行可能な形式のオブジェクトプログラムに
変換する。
Reference numeral 202 denotes a program conversion unit (compiler), which is input from the keyboard 111 or
05 is converted into an object program in a format executable by a computer.

【0057】203は、プログラム結合部(スタティッ
クリンカ)であり、上記プログラムが参照している外部
関数に対応するアドレス参照変換モジュール、すなわち
当該外部関数と同名の関数を有するアドレス参照変換モ
ジュールを、アドレス参照変換モジュール記憶部200
bから検索して上記プログラムに結合する。そして、必
要な関数が結合された実行可能なプログラムファイル
を、上述の実行プログラム記憶部200aに格納する。
Numeral 203 denotes a program linking unit (static linker) which converts an address reference conversion module corresponding to an external function referred to by the program, that is, an address reference conversion module having a function having the same name as the external function, into an address. Reference conversion module storage unit 200
b and link to the above program. Then, the executable program file in which the necessary functions are combined is stored in the above-described execution program storage unit 200a.

【0058】図5は、プログラム変換部202により機
械語に変換され、プログラム結合部203により必要な
関数が結合された後、実行プログラム記憶部200aに
格納されたプログラムの一例を模式的に示す説明図であ
る。このプログラムがもともと外部関数f1、f2およ
びf3を参照していたものとすると、変換・結合後のプ
ログラムにはそれらの外部関数の代わりに、対応するア
ドレス参照変換モジュールf1’、f2’およびf3’
が結合されている。d1、d2およびd3の各データ領
域の値は、まだ設定されないままである。
FIG. 5 is a schematic diagram showing an example of a program which is converted into a machine language by the program converting unit 202 and necessary functions are connected by the program connecting unit 203 and stored in the execution program storing unit 200a. FIG. Assuming that this program originally referred to the external functions f1, f2, and f3, the converted / combined program includes corresponding address reference conversion modules f1 ', f2', and f3 'instead of those external functions.
Are combined. The values of the data areas d1, d2 and d3 have not been set yet.

【0059】つぎに204は、プログラムロード部(ラ
ンタイムローダ)であり、アドレス検索部204aとア
ドレス設定部204bとを含む構成である。このプログ
ラムロード部204は、実行プログラム記憶部200a
に記憶されたプログラムの起動処理をおこなう。ここで
は、図5に示すプログラムを起動する場合を例として説
明する。
Reference numeral 204 denotes a program load unit (runtime loader), which includes an address search unit 204a and an address setting unit 204b. The program loading unit 204 includes an execution program storage unit 200a
Of the program stored in the storage device. Here, a case where the program shown in FIG. 5 is started will be described as an example.

【0060】まず、プログラムロード部204は、上記
プログラムが参照しているプログラムファイル、この例
では図3に示す共有プログラムファイル300を実行プ
ログラム記憶部200aから検索する。そして、この共
有プログラムファイル300のシンボルテーブル300
aをアドレス検索部204aにより検索し、上記プログ
ラムに結合されているアドレス参照変換と同名の関数、
すなわち当該アドレス参照変換に対応する外部関数のア
ドレス値を取得する。この例では、アドレス参照変換f
1’、f2’およびf3’に対応する、外部関数f1、
f2およびf3のアドレス値A1、A2およびA3が取
得される。
First, the program loading section 204 searches the execution program storage section 200a for a program file referred to by the above program, in this example, the shared program file 300 shown in FIG. Then, the symbol table 300 of the shared program file 300
a is searched by the address search unit 204a, and a function having the same name as the address reference conversion coupled to the program,
That is, the address value of the external function corresponding to the address reference conversion is obtained. In this example, the address reference conversion f
External functions f1, corresponding to 1 ′, f2 ′ and f3 ′,
Address values A1, A2 and A3 of f2 and f3 are obtained.

【0061】つぎに、プログラムロード部204はアド
レス設定部204bにより、上記アドレス値を上記プロ
グラムのデータ領域d1、d2およびd3にそれぞれ格
納する。これにより、アドレス参照変換f1’、f2’
およびf3’によるジャンプ先が確定され、上記プログ
ラムを実行する準備が整う。このプログラムの実行時に
は、結合されたアドレス参照変換モジュールを経由し
て、対応する外部関数が実行されることになる。
Next, the program load section 204 stores the address values in the data areas d1, d2 and d3 of the program by the address setting section 204b. As a result, the address reference conversions f1 'and f2'
And the jump destination by f3 'are determined, and preparation for executing the above program is completed. When this program is executed, the corresponding external function is executed via the combined address reference conversion module.

【0062】なお、アドレス参照変換モジュール作成部
201、プログラム変換部202、プログラム結合部2
03およびプログラムロード部204は、それぞれHD
105やFD107、あるいはCD−ROM115など
の各種記録媒体からRAM103に読み出されたプログ
ラムの命令にしたがって、CPU101などが命令処理
を実行することにより、各部の機能を実現するものであ
る。
The address reference conversion module creating section 201, the program conversion section 202, the program connection section 2
03 and the program loading unit 204 are
The CPU 101 and the like execute the instruction processing in accordance with the instructions of the program read from various recording media such as the 105, the FD 107, and the CD-ROM 115 into the RAM 103, thereby realizing the functions of the respective units.

【0063】(プログラム作成から実行までの処理の流
れ)つぎに、この発明の実施の形態によるプログラム作
成装置における、プログラムの作成から実行までの処理
の流れを説明する。図6は、この発明の実施の形態によ
るプログラム作成装置の、プログラム作成〜実行処理の
流れを示すフローチャートである。
(Flow of Processing from Program Creation to Execution) Next, the flow of processing from program creation to execution in the program creation apparatus according to the embodiment of the present invention will be described. FIG. 6 is a flowchart showing a flow of program creation to execution processing of the program creation device according to the embodiment of the present invention.

【0064】なお、下記(1)〜(3)の処理は必ずし
も連続しておこなわれるものでなく、各処理の間に時間
的な間隔があくこともあるが、同図では分かりやすく全
体の流れを示した。
The following processes (1) to (3) are not always performed continuously, and there may be a time interval between the processes. showed that.

【0065】(1)前準備 ステップS601〜S603で、まずアドレス参照変換
モジュール作成部201において、それぞれの外部関数
モジュールに対応するアドレス参照変換モジュールを準
備しておく。ステップS601で、アドレス参照変換モ
ジュール作成部201は実行プログラム記憶部200a
に保持されている共有プログラムファイル300のシン
ボルテーブルを検索して、それらのファイルに記述され
ている外部関数の名称を順次取得する。
(1) Preparation In steps S601 to S603, the address reference conversion module creating unit 201 prepares address reference conversion modules corresponding to the respective external function modules. In step S601, the address reference conversion module creation unit 201
Of the shared program file 300 stored in the file, and sequentially obtains the names of the external functions described in those files.

【0066】続くステップS602で、各外部関数への
ジャンプ命令からなる、当該外部関数と同一名称の関数
と、当該関数のジャンプ先のアドレスが格納されるデー
タ領域とからなるアドレス参照変換モジュールを作成す
る。そして、作成したアドレス参照変換モジュールを、
ステップS603でアドレス参照変換モジュール記憶部
200bに格納しておく。
In the following step S602, an address reference conversion module comprising a function having the same name as the external function, which is composed of a jump instruction to each external function, and a data area storing the jump destination address of the function is created. I do. Then, the created address reference conversion module is
In step S603, it is stored in the address reference conversion module storage unit 200b.

【0067】(2)変換と結合 この後この装置に、変換・結合が必要なプログラムが入
力すると、ステップS604でプログラム変換部202
は入力したソースコードをオブジェクトコードに変換す
る(コンパイル)。そして、ステップS605でプログ
ラム結合部203は、上記プログラムで参照されている
外部関数と同名の関数をアドレス参照変換モジュール記
憶部200bから検索し、検索された関数を含むアドレ
ス参照変換モジュールを、ステップS606で上記プロ
グラムに結合する(リンク)。そして、機械語に変換さ
れ、必要なアドレス参照変換モジュールが結合された上
記プログラムを、ステップS607で実行プログラム記
憶部200aに格納しておく。
(2) Conversion and Combination Thereafter, when a program requiring conversion and combination is input to this device, the program conversion unit 202 is executed in step S604.
Converts the input source code into object code (compile). Then, in step S605, the program combination unit 203 searches the address reference conversion module storage unit 200b for a function having the same name as the external function referred to in the program, and stores the address reference conversion module including the searched function in step S606. To link to the above program (link). Then, the program converted into the machine language and combined with the necessary address reference conversion module is stored in the execution program storage unit 200a in step S607.

【0068】(3)実行 そして、この後この装置に上記プログラムの実行指示が
入力すると、ステップS608でプログラムロード部2
04は、実行プログラム記憶部200aから指示された
プログラムを読み込む。そして、ステップS609でま
ず当該プログラムが参照している共有プログラムファイ
ル300を、実行プログラム記憶部200aから読み込
む。
(3) Execution Then, when an instruction to execute the program is input to this device, the program loading unit 2 executes the processing in step S608.
A step 04 reads the designated program from the execution program storage section 200a. Then, in step S609, the shared program file 300 referred to by the program is read from the execution program storage unit 200a.

【0069】さらに、ステップS610でプログラムロ
ード部204のアドレス検索部204aは、ステップS
609で検索されたファイルのシンボルテーブルを検索
して、上記プログラムに結合されているアドレス参照変
換と同名の外部関数のアドレスを順次取得する。そし
て、このアドレスをステップS611で、アドレス設定
部204bにより上記プログラムのアドレス参照変換モ
ジュールに設定する。そして、このアドレスの確定によ
り完全に実行可能となった上記プログラムを、ステップ
S612で実行する。
Further, in step S610, the address search unit 204a of the program load unit 204
In step 609, the symbol table of the file searched is searched, and the addresses of the external functions having the same name as the address reference conversion linked to the program are sequentially obtained. Then, in step S611, the address is set in the address reference conversion module of the program by the address setting unit 204b. Then, the above-mentioned program which has become completely executable by the determination of the address is executed in step S612.

【0070】以上説明した実施の形態によれば、外部関
数の実体を含む共有プログラムファイルも、アドレス参
照変換モジュールを経由して当該外部関数を参照するプ
ログラムも、完全にスタティックリンクされているた
め、オブジェクトを再配置可能にするための命令コード
が一切含まれず、プログラムのサイズがダイナミックリ
ンク方式の場合よりも小さくなる。
According to the above-described embodiment, both the shared program file containing the substance of the external function and the program that refers to the external function via the address reference conversion module are completely statically linked. It does not include any instruction code to make the object relocatable, and the size of the program is smaller than in the case of the dynamic link method.

【0071】また、従来のスタティックリンク方式とは
異なり、外部関数の実体を含むプログラムファイルを複
数のプログラムから参照することができるため、複数の
プログラムで共通に利用する外部関数群を共有ライブラ
リとしてまとめることにより、プログラム全体のサイズ
を削減することができる。
Further, unlike the conventional static link method, since a program file containing the substance of an external function can be referred to from a plurality of programs, a group of external functions commonly used by a plurality of programs is collected as a shared library. Thus, the size of the entire program can be reduced.

【0072】さらに、外部関数を参照するプログラムに
は当該関数の実体が含まれていないので、不具合などの
理由により外部関数の内部が修正された場合でも、共有
プログラムファイルだけを更新すればよく、プログラム
の開発効率が向上する。
Furthermore, since the program that refers to the external function does not include the substance of the function, even if the inside of the external function is modified due to a defect or the like, only the shared program file needs to be updated. Program development efficiency is improved.

【0073】さらに、本発明のスタティックリンク方式
は、ソフトウエア開発ツールであるコンパイラやスタテ
ィックリンカに一切変更を加える必要なく実現できるた
め、従来の開発環境と共存させることが可能であり、ソ
フトウエア開発の効率を落とすことなく、上述したメリ
ットを享受できる。
Further, since the static link method of the present invention can be realized without making any changes to the software development tools, such as the compiler and the static linker, it is possible to coexist with the conventional development environment. The above-mentioned advantages can be enjoyed without lowering the efficiency.

【0074】(実施の形態2)図7は、この発明の実施
の形態2である画像形成装置(以下、「複合機」とい
う)の構成を示すブロック図である。図7に示すよう
に、複合機700は、白黒ラインプリンタ(B&W LP)7
01と、カラーラインプリンタ(Color LP)702と、
スキャナ、ファクシミリなどのハードウェアリソース7
03などを有するとともに、プラットホーム720とア
プリケーション730とから構成されるソフトウェア群
710とを備えている。
(Embodiment 2) FIG. 7 is a block diagram showing a configuration of an image forming apparatus (hereinafter, referred to as a "multifunction machine") according to Embodiment 2 of the present invention. As shown in FIG. 7, the MFP 700 includes a black and white line printer (B & W LP) 7.
01, a color line printer (Color LP) 702,
Hardware resources 7 such as scanner and facsimile
03 and a software group 710 composed of a platform 720 and an application 730.

【0075】プラットホーム720は、アプリケーショ
ンからの処理要求を解釈してハードウェア資源の獲得要
求を発生させるコントロールサービスと、一または複数
のハードウェア資源の管理を行い、コントロールサービ
スからの獲得要求を調停するシステムリソースマネージ
ャ(SRM)723と、汎用OS721とを有する。
The platform 720 interprets a processing request from an application to generate a hardware resource acquisition request, manages one or more hardware resources, and arbitrates the acquisition request from the control service. It has a system resource manager (SRM) 723 and a general-purpose OS 721.

【0076】コントロールサービスは、複数のサービス
モジュールから形成され、SCS(システムコントロー
ルサービス)722と、ECS(エンジンコントロール
サービス)724と、MCS(メモリコントロールサー
ビス)725と、OCS(オペレーションパネルコント
ロールサービス)726と、FCS(ファックスコント
ロールサービス)727と、NCS(ネットワークコン
トロールサービス)728とから構成される。なお、こ
のプラットホーム720は、あらかじめ定義された関数
により前記アプリケーション730から処理要求を受信
可能とするアプリケーションプログラムインタフェース
(API)を有する。
The control service is formed from a plurality of service modules, and includes an SCS (system control service) 722, an ECS (engine control service) 724, an MCS (memory control service) 725, and an OCS (operation panel control service) 726. , FCS (fax control service) 727, and NCS (network control service) 728. The platform 720 has an application program interface (API) that enables a processing request to be received from the application 730 by a predefined function.

【0077】汎用OS721は、UNIX(登録商標)
などの汎用オペレーティングシステムであり、プラット
ホーム720並びにアプリケーション730の各ソフト
ウェアをそれぞれプロセスとして並列実行する。
The general-purpose OS 721 is a UNIX (registered trademark)
A general-purpose operating system such as the above, executes each software of the platform 720 and the application 730 as a process in parallel.

【0078】コントロールサービスのそれぞれは、プロ
セスとして動作し、プロセス内に一または複数のスレッ
ドを並列実行している。
Each of the control services operates as a process, and one or a plurality of threads are executed in parallel in the process.

【0079】SRM723のプロセスは、SCS722
とともにシステムの制御およびリソースの管理を行うも
のであり、スキャナ部やプリンタ部などのエンジン、メ
モリ、HDDファイル、ホストI/O(セントロI/
F、ネットワークI/F、IEEE1394 I/F、
RS232C I/Fなど)のハードウェア資源を利用
する上位層からの要求にしたがって調停を行い、実行制
御を行う。
The process of SRM 723 is SCS 722
In addition, it controls the system and manages resources, such as an engine such as a scanner unit and a printer unit, a memory, an HDD file, a host I / O (Centro I / O).
F, network I / F, IEEE 1394 I / F,
It performs arbitration according to a request from an upper layer using hardware resources such as an RS232C I / F, and controls execution.

【0080】具体的には、このSRM723は、要求さ
れたハードウェア資源が利用可能であるか(他の要求に
より利用されていないかどうか)を判断し、利用可能で
あれば要求されたハードウェア資源が利用可能である旨
を上位層に伝える。また、SRM723は、上位層から
の要求に対してハードウェア資源の利用スケジューリン
グを行い、要求内容(例えば、プリンタエンジンにより
紙搬送と作像動作、メモリ確保、ファイル生成など)を
直接実施している。
More specifically, the SRM 723 determines whether the requested hardware resource is available (whether or not it is used by another request), and if available, the requested hardware resource is determined. Inform upper layers that resources are available. Also, the SRM 723 schedules the use of hardware resources in response to a request from an upper layer, and directly implements the content of the request (for example, paper transport and image forming operation, memory reservation, file generation, and the like by a printer engine). .

【0081】SCS722のプロセスは、アプリ管理、
操作部制御、システム画面表示、LED表示、リソース
管理、割り込みアプリ制御を行う。
The process of SCS 722 includes application management,
It performs operation unit control, system screen display, LED display, resource management, and interrupt application control.

【0082】ECS724のプロセスは、白黒ラインプ
リンタ(B&W LP)701、カラーラインプリンタ(Colo
r LP)702、スキャナ、ファクシミリなどからなるハ
ードウェアリソース703のエンジンの制御を行う。
The process of the ECS 724 includes a monochrome line printer (B & W LP) 701 and a color line printer (Colo
r LP) 702 and an engine of a hardware resource 703 including a scanner, a facsimile, and the like.

【0083】MCS725のプロセスは、画像メモリの
取得および解放、ハードディスク装置(HDD)の利
用、画像データの圧縮および伸張などを行う。
The process of MCS 725 performs acquisition and release of an image memory, use of a hard disk drive (HDD), compression and decompression of image data, and the like.

【0084】OCS726のプロセスは、オペレータと
本体制御間の情報伝達手段となる操作パネル(オペレー
ションパネル)の制御を行う。
The process of the OCS 726 controls an operation panel (operation panel) serving as information transmission means between the operator and the main body control.

【0085】FCS727のプロセスは、システムコン
トローラの各アプリ層からPSTN/ISDN網を利用
したファクシミリ送受信、BKM(バックアップSRA
M)で管理されている各種ファクシミリデータの登録/
引用、ファクシミリ読みとり、ファクシミリ受信印刷、
融合送受信を行うためのAPIを提供する。
The process of FCS 727 includes facsimile transmission / reception using PSTN / ISDN from each application layer of the system controller, and BKM (backup SRA
Registration of various facsimile data managed in M) /
Quotation, facsimile reading, facsimile reception printing,
An API for performing integrated transmission and reception is provided.

【0086】NCS728は、ネットワークI/Oを必
要とするアプリケーションに対して共通に利用できるサ
ービスを提供するためのプロセスであり、ネットワーク
側から各プロトコルによって受信したデータを各アプリ
ケーションに振り分けたり、アプリケーションからデー
タをネットワーク側に送信する際の仲介を行う。
The NCS 728 is a process for providing a service that can be used in common to applications that require network I / O. The NCS 728 distributes data received from the network by each protocol to each application, Mediates when transmitting data to the network side.

【0087】アプリケーション730は、プリンタ、コ
ピー、スキャナまたはファクシミリなどの画像形成処理
にかかるユーザサービスにそれぞれ固有の処理を行うも
のである。アプリケーション730は、ページ記述言語
(PDL)、PCLおよびポストスクリプト(PS)を
有するプリンタ用のアプリケーションであるプリンタア
プリ711と、コピー用アプリケーションであるコピー
アプリ712と、ファクシミリ用アプリケーションであ
るファックスアプリ713と、スキャナ用アプリケーシ
ョンであるスキャナアプリ714と、ネットワークファ
イル用アプリケーションであるネットファイルアプリ7
15と、工程検査用アプリケーションである工程検査ア
プリ716とを有している。
The application 730 performs processing unique to each user service related to image forming processing such as printer, copy, scanner, and facsimile. The application 730 includes a printer application 711 that is a printer application having a page description language (PDL), PCL, and PostScript (PS), a copy application 712 that is a copy application, and a fax application 713 that is a facsimile application. , A scanner application 714 as a scanner application, and a net file application 7 as a network file application
15 and a process inspection application 716 which is a process inspection application.

【0088】図8は、実施の形態2にかかる複合機にお
けるコントロールサービスとサービス共通ライブラリと
ランタイムローダの関係を示す模式図である。サービス
共通ライブラリ840は、ECS724、MCS72
5、SCS722などの複数のコントロールサービスか
ら共通して呼び出される複数の関数を一つのファイルに
まとめ、複数のコントロールサービスから利用できるよ
うにしたものである。このサービス共通ライブラリ84
0には、プロセスの生成、オープンおよびクローズなど
のプロセスに関する処理を行う関数、スレッドの生成、
オープンおよびクローズなどのスレッドに関する処理を
行う関数、ファイルのオープンやクローズなどのファイ
ル操作の関数などが登録されている。また、サービス共
通ライブラリ840には、登録された関数の絶対アドレ
スを示す関数配置情報844が格納されている。
FIG. 8 is a schematic diagram showing a relationship between a control service, a service common library, and a runtime loader in the multifunction peripheral according to the second embodiment. The service common library 840 includes ECS 724, MCS 72
5, a plurality of functions commonly called from a plurality of control services such as SCS722 are collected into one file, and can be used by a plurality of control services. This service common library 84
0 is a function that performs processes related to processes such as process creation, open and close, thread creation,
Functions for performing processes related to threads such as opening and closing, and functions for file operations such as opening and closing files are registered. Also, the service common library 840 stores function arrangement information 844 indicating the absolute address of the registered function.

【0089】コントロールサービスは、実行時に呼び出
す関数の絶対アドレスが格納される領域と、当該領域に
格納された絶対アドレスにジャンプする命令が記述され
たアドレス参照変換部を有している。
The control service has an area for storing an absolute address of a function to be called at the time of execution, and an address reference conversion unit in which an instruction for jumping to the absolute address stored in the area is described.

【0090】ランタイムローダ843は、アプリケーシ
ョン730およびシステムコントロールサービスの実行
時に、サービス共通ライブラリ840の関数配置情報8
44から各関数の絶対アドレスを取得して、各コントロ
ールサービスのアドレス参照変換部842に取得した関
数の絶対アドレスを格納することにより、アドレス解決
を行うものである。このランタイムローダ843は、本
発明におけるアドレス参照解決手段を構成する。
The runtime loader 843 executes the application 730 and the system control service when executing the application 730 and the system control service.
The address resolution is performed by obtaining the absolute address of each function from 44 and storing the obtained absolute address of the function in the address reference conversion unit 842 of each control service. This runtime loader 843 constitutes an address reference resolution unit in the present invention.

【0091】図10は、実施の形態2にかかる複合機に
おけるサービス共通ライブラリ840の構造を示す模式
図である。このサービス共通ライブラリ840には、各
関数の実体部分と、各関数の仮想メモリ空間上での絶対
アドレスを示す関数配置情報844とを有している。図
10では、関数の一例として、thread_crea
te関数と、file_open関数がサービス共通ラ
イブラリ840に登録されている。
FIG. 10 is a schematic diagram showing the structure of the service common library 840 in the multifunction peripheral according to the second embodiment. The service common library 840 has a substantial part of each function and function arrangement information 844 indicating an absolute address of each function in the virtual memory space. In FIG. 10, as an example of the function, thread_clear
The te function and the file_open function are registered in the service common library 840.

【0092】サービス共通ライブラリ840の関数配置
情報844には、thread_create関数の絶
対アドレスであるaddr1と、file_open関
数の絶対アドレスであるaddr2が格納されている。
なお、サービス共通ライブラリ840の先頭の絶対アド
レスをaddr0、thread_create関数の
サービス共通ライブラリ840先頭からのオフセットを
offset1、file_open関数のサービス共
通ライブラリ840先頭からのオフセットをoffse
t2として、thread_create関数の配置情
報をaddr0+offset1、file_open
関数の配置情報をaddr0+offset2のように
格納しても良い。
The function arrangement information 844 of the service common library 840 stores an addr1 which is an absolute address of the thread_create function and an addr2 which is an absolute address of the file_open function.
The absolute address at the beginning of the service common library 840 is addr0, the offset of the thread_create function from the beginning of the service common library 840 is offset1, and the offset of the file_open function from the beginning of the service common library 840 is offse.
As t2, the arrangement information of the thread_create function is addedr0 + offset1, file_open
Function allocation information may be stored as addr0 + offset2.

【0093】アプリ共通ライブラリ841は、プリンタ
アプリ711、コピーアプリ710などの複数のアプリ
ケーションから共通して呼び出される複数の関数を一つ
のファイルにまとめ、複数のアプリケーションから利用
できるようにしたものである。このアプリ共通ライブラ
リ841にも、プロセスに関する処理を行う関数、スレ
ッドに関する処理を行う関数、ファイル操作の関数など
が登録されている。アプリ共通ライブラリ841も、各
関数の実体と関数配置情報844とを有しており、その
構造についてはサービス共通ライブラリ840と同様で
ある。
The application common library 841 collects a plurality of functions commonly called from a plurality of applications such as the printer application 711 and the copy application 710 into one file so as to be used by the plurality of applications. The application common library 841 also registers functions for performing processes related to processes, functions for performing processes related to threads, functions for file operations, and the like. The application common library 841 also has an entity of each function and function arrangement information 844, and the structure is the same as that of the service common library 840.

【0094】つぎに、このように構成された実施の形態
2にかかる複合機におけるコントロールサービス実行時
の動作について、SCS722を例にあげて説明する。
図9は、SCS722のプロセス起動時における仮想メ
モリ上の配置を示す模式図である。図9に示すように。
SCS722の本体プログラムがアドレスの下位に配置
され、サービス共通ライブラリ840がアドレスの上位
に配置される。
Next, the operation of the multifunction device having the above-described configuration according to the second embodiment when the control service is executed will be described with reference to the SCS 722 as an example.
FIG. 9 is a schematic diagram showing the arrangement on the virtual memory when the process of the SCS 722 is started. As shown in FIG.
The main program of the SCS 722 is located below the address, and the service common library 840 is located above the address.

【0095】図11は、SCS722の本体プログラム
の内容を示す説明図である。なお、図11では、サービ
ス共通ライブラリ840の関数呼び出しを中心に示して
いる。
FIG. 11 is an explanatory diagram showing the contents of the main program of the SCS 722. Note that FIG. 11 mainly shows function calls of the service common library 840.

【0096】図11に示すように、SCS722の本体
プログラムでは、サービス共通ライブラリ840のth
read_create関数を呼び出している。そし
て、SCS722の本体プログラムは、当該関数呼び出
しのためのアドレス参照変換部842を有している。こ
のアドレス参照変換部842には、thread_cr
eate関数の絶対アドレスが格納される領域d1が確
保され、d1に格納される絶対アドレスの関数を呼び出
す旨の処理が記述されている。
As shown in FIG. 11, in the main program of the SCS 722, the th of the service common library 840
The read_create function is called. The main program of the SCS 722 has an address reference conversion unit 842 for calling the function. This address reference conversion unit 842 includes thread_cr
An area d1 for storing the absolute address of the eate function is secured, and processing for calling the function of the absolute address stored in d1 is described.

【0097】図12は、実施の形態2の複合機における
ランタイムローダ843のアドレス解決処理の手順を示
すフローチャートである。SCS722が起動される
と、ランタイムローダ843がSCS722の本体プロ
グラムの中から、外部関数として定義されている関数シ
ンボルを検索する(ステップS1201)。これによ
り、thread_create関数が検索されそのシ
ンボルthread_createが検索結果として得
られる。なお、この時点では、SCS722の本体プロ
グラムのアドレス参照変換部842の領域d1には現実
には存在しないアドレス(たとえば、0x000000
00など)が格納されており、まだアドレス解決がなさ
れていない状態となっている。
FIG. 12 is a flowchart showing a procedure of an address resolution process of the runtime loader 843 in the multifunction peripheral of the second embodiment. When the SCS 722 is activated, the runtime loader 843 searches the main program of the SCS 722 for a function symbol defined as an external function (step S1201). As a result, the thread_create function is searched, and the symbol thread_create is obtained as a search result. At this time, an address that does not actually exist in the area d1 of the address reference conversion unit 842 of the main program of the SCS722 (for example, 0x000000)
00 etc.), and the address has not yet been resolved.

【0098】そして、外部関数の関数シンボルの有無を
判断し(ステップS1202)、関数シンボルがある場
合には、サービス共通ライブラリ840の関数配置情報
844を参照し、検索された関数シンボルの関数の絶対
アドレスを関数配置情報844から取得する(ステップ
S1203)。
Then, it is determined whether or not there is a function symbol of the external function (step S1202). If there is a function symbol, reference is made to the function arrangement information 844 of the service common library 840 to determine the absolute value of the function of the searched function symbol. The address is obtained from the function arrangement information 844 (step S1203).

【0099】つぎに、取得した絶対アドレスを本体プロ
グラムのアドレス参照変換部842の該当する関数の領
域d1に格納する(ステップS1204)。これによ
り、絶対アドレスaddr1が領域d1に格納され、t
hread_create関数のアドレス解決がなされ
る。
Next, the obtained absolute address is stored in the corresponding function area d1 of the address reference conversion unit 842 of the main program (step S1204). As a result, the absolute address addr1 is stored in the area d1, and t
Address resolution of the "read_create" function is performed.

【0100】ステップS1201で検索されたすべての
関数シンボルに対して、上述のステップS1203およ
びS1204の処理を繰り返すことにより(ステップS
1205)、SCS722の本体プログラムの外部関数
のアドレス解決処理が完了する。
By repeating the processing of steps S1203 and S1204 for all the function symbols retrieved in step S1201, (step S1201)
1205), the address resolution processing of the external function of the main program of the SCS722 is completed.

【0101】そして、すべての関数のアドレス解決が完
了すると、SCS722の本体プログラムのmainの
実行が開始される。mainの実行中に、スレッドを生
成するためにthread_create関数が呼び出
されると、アドレス参照変換部842によってthre
ad_create関数の絶対アドレスaddr1に制
御が移り、サービス共通ライブラリ840のthrea
d_create関数の実体が呼び出されてスレッドが
生成される。
When the address resolution of all the functions is completed, the execution of the main of the main program of the SCS 722 is started. If the thread_create function is called to generate a thread during the execution of main, the address reference conversion unit 842 causes the thread_create
The control is transferred to the absolute address addr1 of the ad_create function, and the
The entity of the d_create function is called to generate a thread.

【0102】なお、実施の形態2では、SCS722の
実行について説明したが、他のコントロールサービスや
アプリケーションの実行についても同様の処理が行われ
る。ただし、アプリケーションの実行の際には、アプリ
共通ライブラリ841の中の関数との間でアドレス解決
処理がなされることになる。
Although the execution of the SCS 722 has been described in the second embodiment, the same processing is performed for the execution of other control services and applications. However, when the application is executed, an address resolution process is performed with a function in the application common library 841.

【0103】このように、実施の形態2にかかる複合機
では、複数のコントロールサービスから共通に呼び出さ
れる関数の実体と、各関数の仮想メモリ上での絶対アド
レスを示す関数配置情報844とを有するサービス共通
ライブラリ840を備え、各コントロールサービスは、
ランタイムローダ843により関数の絶対アドレスが実
行時に格納されるアドレス参照変換部842を有してい
るので、関数の絶対アドレスを意識した開発を行う必要
がなく、コントロールサービスの開発を共通ライブラリ
や他のコントロールサービスと別個に行うことが容易に
行える。また、コントロールサービスの開発はアドレス
参照変換部842を設けることで呼び出す関数の絶対ア
ドレスを開発時に決定する必要がないので、コントロー
ルサービスのバージョンアップを容易に行え、コントロ
ールサービスの開発の作業効率を向上させることができ
る。
As described above, the multifunction peripheral according to the second embodiment has the substance of functions commonly called from a plurality of control services and the function arrangement information 844 indicating the absolute address of each function on the virtual memory. A service common library 840 is provided.
Since the runtime loader 843 has the address reference conversion unit 842 in which the absolute address of the function is stored at the time of execution, there is no need to perform development in consideration of the absolute address of the function. It can be easily performed separately from the control service. In addition, since the control service is developed by providing the address reference conversion unit 842, it is not necessary to determine the absolute address of the function to be called at the time of development, so that the control service can be easily upgraded and the work efficiency of the control service development is improved. Can be done.

【0104】また、実施の形態2にかかる複合機では、
ランタイムローダ843によって、コントロールサービ
スの起動時に関数配置情報844に基づいて関数の絶対
アドレスをアドレス参照変換部842に格納するので、
実行時のアドレス解決の処理が簡易なものとなり、プロ
グラム実行時のオーバヘッドが短縮される。
Further, in the MFP according to the second embodiment,
Since the runtime loader 843 stores the absolute address of the function in the address reference conversion unit 842 based on the function arrangement information 844 when the control service is started,
Address resolution processing at the time of execution is simplified, and overhead at the time of program execution is reduced.

【0105】(実施の形態3)実施の形態2の複合機で
は、複数のコントロールサービスから呼び出される関数
を登録したサービス共通ライブラリ840と、複数のア
プリケーションから呼び出される関数を登録したアプリ
共通ライブラリ841とを設け、各共通ライブラリは独
立したものであったが、この実施の形態3にかかる複合
機は、アプリ共通ライブラリ841に登録された関数か
らさらにサービス共通ライブラリ840に登録されてい
る関数を呼び出しているものである。
(Embodiment 3) In the multifunction peripheral of Embodiment 2, a service common library 840 in which functions called from a plurality of control services are registered, and an application common library 841 in which functions called from a plurality of applications are registered, are provided. The multifunction peripheral according to the third embodiment calls a function registered in the service common library 840 further from a function registered in the application common library 841. Is what it is.

【0106】実施の形態3にかかる複合機の構成は、実
施の形態2の複合機と同様であるので説明を省略する。
図14は、実施の形態3にかかる複合機におけるアプリ
共通ライブラリ841の構造を示す模式図である。この
アプリ共通ライブラリ841には、各関数の実体部分
と、各関数の仮想メモリ空間上での絶対アドレスを示す
関数配置情報844とを有している。図14では、関数
の一例として、font_search関数がアプリ共
通ライブラリ841に登録されており、font_se
arch関数の絶対アドレスaddr3を示す関数配置
情報844を有している。さらに、図14に示すよう
に、アプリ共通ライブラリ841のfont_sear
ch関数の中から、サービス共通ライブラリ840のf
ile_open関数を呼び出すようになっている。こ
のため、アプリ共通ライブラリ841には、file_
open関数呼び出しのためのアドレス参照変換部84
2を有している。このアドレス参照変換部842には、
file_open関数の絶対アドレスが格納される領
域d2が確保され、d2に格納される絶対アドレスの関
数を呼び出す旨の処理が記述されている。
The configuration of the multifunction peripheral according to the third embodiment is the same as that of the multifunction peripheral according to the second embodiment, and a description thereof will be omitted.
FIG. 14 is a schematic diagram illustrating a structure of the application common library 841 in the multifunction peripheral according to the third embodiment. The application common library 841 has a substantial part of each function and function arrangement information 844 indicating an absolute address of each function in the virtual memory space. In FIG. 14, as an example of the function, the font_search function is registered in the application common library 841, and the font_search
It has function arrangement information 844 indicating the absolute address addr3 of the arch function. Further, as shown in FIG. 14, the font_search of the application common library 841 is used.
From the ch function, f of the service common library 840
The ile_open function is called. Therefore, the application common library 841 includes file_
Address reference conversion unit 84 for open function call
Two. This address reference conversion unit 842 includes:
An area d2 in which the absolute address of the file_open function is stored is secured, and processing for calling the function of the absolute address stored in d2 is described.

【0107】つぎに、このように構成された実施の形態
3にかかる複合機におけるアプリケーション実行時の動
作について、プリンタアプリ711を例にあげて説明す
る。図13は、プリンタアプリ711のプロセス起動時
における仮想メモリ上の配置を示す模式図である。図1
3に示すように、プリンタアプリ711の本体プログラ
ムがアドレスの下位に配置され、その上位側にアプリ共
通ライブラリ841が、さらにその上位側にサービス共
通ライブラリ840が配置される。なお、サービス共通
ライブラリ840が配置されるアドレスは、実施の形態
2におけるサービス共通ライブラリ840と同一アドレ
スに固定されている。すなわち、各ライブラリの配置は
絶対アドレスで固定された位置に配置されるようになっ
ている。
Next, the operation of the MFP according to the third embodiment configured as above when the application is executed will be described using the printer application 711 as an example. FIG. 13 is a schematic diagram showing an arrangement on the virtual memory when the process of the printer application 711 is started. Figure 1
As shown in FIG. 3, the main program of the printer application 711 is arranged below the address, the application common library 841 is arranged above the address, and the service common library 840 is arranged above the address. The address where the service common library 840 is located is fixed to the same address as the service common library 840 in the second embodiment. That is, each library is arranged at a position fixed by an absolute address.

【0108】図15は、プリンタアプリ711の本体プ
ログラムの内容を示す説明図である。なお、図15で
は、アプリ共通ライブラリ841およびービス共通ライ
ブラリの関数呼び出しを中心に示している。
FIG. 15 is an explanatory diagram showing the contents of the main program of the printer application 711. FIG. 15 mainly shows function calls of the application common library 841 and the service common library.

【0109】図15に示すように、プリンタ711の本
体プログラムでは、アプリ共通ライブラリ841のfo
nt_search関数とサービス共通ライブラリ84
0のthread_create関数を呼び出してい
る。そして、プリンタアプリ711の本体プログラム
は、これらの関数呼び出しのためのアドレス参照変換部
842を有している。このアドレス参照変換部842に
は、font_search関数の絶対アドレスが格納
される領域d3が確保され、領域d3に格納される絶対
アドレスの関数を呼び出す旨の処理が記述されている。
また、このアドレス参照変換部842には、threa
d_create関数の絶対アドレスが格納される領域
d4が確保され、d4に格納される絶対アドレスの関数
を呼び出す旨の処理が記述されている。なお、プリンタ
アプリ711の起動前は、領域d3、d4には、現実に
存在しないアドレス(たとえば、0x00000000
など)が格納され、アドレスは解決されていない状態と
なっている。
As shown in FIG. 15, the main program of the printer 711 includes the fo of the application common library 841.
nt_search function and service common library 84
A thread_create function of 0 is called. The main program of the printer application 711 has an address reference conversion unit 842 for calling these functions. In the address reference conversion unit 842, a process for securing an area d3 in which an absolute address of the font_search function is stored and calling a function of the absolute address stored in the area d3 is described.
Also, this address reference conversion unit 842 includes
An area d4 where the absolute address of the d_create function is stored is secured, and processing for calling the function of the absolute address stored in d4 is described. Before the printer application 711 is activated, addresses that do not actually exist (for example, 0x00000000) are stored in the areas d3 and d4.
Etc.) are stored, and the address is in an unresolved state.

【0110】プリンタアプリ711の本体プログラムが
起動されると、ランタイムローダ843はの関数のアド
レス解決処理が行われる。すなわち、アプリ共通ライブ
ラリ841から呼び出される外部関数の関数シンボルを
検索する。そして、検索された関数シンボルfile_
openの関数の絶対アドレスを、サービス共通ライブ
ラリ840の関数配置情報844を参照して取得する。
これにより絶対アドレスaddr2が取得され、この絶
対アドレスaddr2をアプリ共通ライブラリ841内
のアドレス参照変換部842の領域d2に格納する。
When the main program of the printer application 711 is activated, the runtime loader 843 performs an address solution process of the function. That is, a function symbol of an external function called from the application common library 841 is searched. Then, the searched function symbol file_
The absolute address of the open function is acquired with reference to the function arrangement information 844 of the service common library 840.
Thereby, the absolute address addr2 is obtained, and the absolute address addr2 is stored in the area d2 of the address reference conversion unit 842 in the application common library 841.

【0111】つぎに、ランタイムローダ843は、プリ
ンタアプリ711の本体プログラム内のアドレス解決処
理を行う。すなわち、プリンタアプリ711の本体プロ
グラムからから呼び出される外部関数の関数シンボルを
検索する。このとき、関数シンボルとして、font_
searchとthread_createが検索され
る。
Next, the runtime loader 843 performs address resolution processing in the main program of the printer application 711. That is, the function symbol of the external function called from the main program of the printer application 711 is searched. At this time, font_
Search and thread_create are searched.

【0112】そして、ランタイムローダ843は、まず
検索された関数シンボルfont_searchの関数
の絶対アドレスを、アプリ共通ライブラリ841の関数
配置情報844を参照して取得する。これにより絶対ア
ドレスaddr3が取得され、この絶対アドレスadd
r3をプリンタアプリ711の本体プログラム内のアド
レス参照変換部842の領域d3に格納する。
Then, the runtime loader 843 first obtains the absolute address of the function of the searched function symbol font_search by referring to the function arrangement information 844 of the application common library 841. Thus, the absolute address addr3 is obtained, and the absolute address addr is obtained.
r3 is stored in the area d3 of the address reference conversion unit 842 in the main program of the printer application 711.

【0113】つぎに、ランタイムローダ843は、もう
一つの検索された関数シンボルthread_crea
teの関数の絶対アドレスを得るために、アプリ共通ラ
イブラリ841の関数配置情報844を参照する。アプ
リ共通ライブラリ841の関数配置情報844には、t
hread_createは登録されていないため、つ
いでサービス共通ライブラリ840の関数配置情報84
4が参照される。そして、サービス共通ライブラリ84
0の関数配置情報844からthread_creat
eの絶対アドレスaddr1を取得し、プリンタアプリ
711の本体プログラムのアドレス参照変換部842の
領域d4に、絶対アドレスaddr1を格納する。これ
により、すべてのアドレス解決処理が完了する。
Next, the runtime loader 843 executes another search for the function symbol thread_clear
In order to obtain the absolute address of the function of te, the function arrangement information 844 of the application common library 841 is referred to. The function arrangement information 844 of the application common library 841 includes t
Since head_create is not registered, the function arrangement information 84 of the service common library 840
4 is referenced. Then, the service common library 84
Thread_create from function arrangement information 844 of 0
The absolute address addr1 of e is acquired, and the absolute address addr1 is stored in the area d4 of the address reference conversion unit 842 of the main program of the printer application 711. This completes all address resolution processing.

【0114】すべてのアドレス解決が完了すると、プリ
ンタアプリ711の本体プログラムのmainの実行が
開始される。main実行中に、フォントを検索するた
めのfont_search関数が呼び出されると、ア
ドレス参照変換部842によってfont_searc
h関数の絶対アドレスaddr3に制御が移り、アプリ
共通ライブラリ841のfont_search関数の
実体が呼び出され、実行される。
When all address resolutions are completed, the execution of the main of the main program of the printer application 711 is started. When the font_search function for searching for a font is called during execution of main, the address reference conversion unit 842 causes the font_search to be performed.
The control is transferred to the absolute address addr3 of the h function, and the font_search function entity of the application common library 841 is called and executed.

【0115】そして、font_search関数の実
行中に、ファイルオープンのためのfile_open
関数が呼び出されると、アドレス参照変換部842によ
ってfile_open関数の絶対アドレスaddr2
に制御が移り、サービス共通ライブラリ840のfil
e_open関数の実体が呼び出され、実行される。
Then, during execution of the font_search function, file_open for opening a file is executed.
When the function is called, the absolute address addr2 of the file_open function is
Is transferred to the service common library 840 file.
The entity of the e_open function is called and executed.

【0116】つぎに、プリンタアプリ711の本体プロ
グラムがスレッドを生成するためにthread_cr
eate関数が呼び出されると、アドレス参照変換部8
42によってthread_create関数の絶対ア
ドレスaddr1に制御が移り、サービス共通ライブラ
リ840のthread_create関数の実体が呼
び出されて実行される。
Next, thread_cr is used by the main program of the printer application 711 to generate a thread.
When the eate function is called, the address reference conversion unit 8
By 42, control transfers to the absolute address addr1 of the thread_create function, and the entity of the thread_create function of the service common library 840 is called and executed.

【0117】なお、実施の形態3では、プリンタアプリ
711の実行について説明したが、他のアプリケーショ
ンの実行についても同様の処理が行われる。
Although the execution of the printer application 711 has been described in the third embodiment, the same processing is performed for the execution of another application.

【0118】このように、実施の形態3にかかる複合機
では、サービス共通ライブラリ840がアプリ共通ライ
ブラリ841から呼び出される関数と各関数のメモリ上
での絶対アドレスを示す関数配置情報844とを有して
おり、アプリ共通ライブラリ841は呼び出す関数の絶
対アドレスが実行時に格納されるアドレス参照変換部8
42を有しているので、呼び出す関数の絶対アドレスを
意識した開発を行う必要がなく、アプリ共通ライブラリ
841の開発をサービス共通ライブラリ840と別個に
行うことが容易になる。また、アプリ共通ライブラリ8
41の開発はアドレス参照変換部842を設けることで
呼び出す関数の絶対アドレスを開発時に決定する必要が
ないので、アプリ共通ライブラリ841のバージョンア
ップを容易に行え、アプリ共通ライブラリ841の開発
の作業効率を向上させることが可能となる。
As described above, in the MFP according to the third embodiment, the service common library 840 has the functions called from the application common library 841 and the function arrangement information 844 indicating the absolute address of each function on the memory. The application common library 841 stores the absolute address of the function to be called at the time of execution.
Since the application common library 841 is provided, there is no need to perform development in consideration of the absolute address of the function to be called, and it becomes easy to develop the application common library 841 separately from the service common library 840. In addition, application common library 8
The development of the application common library 841 can be easily upgraded because the absolute address of the function to be called does not need to be determined at the time of development by providing the address reference conversion unit 842 in the development of the application common library 841. It can be improved.

【0119】[0119]

【発明の効果】以上説明したように請求項1に記載の発
明にかかるプログラム作成装置は、コンピュータに実行
させるプログラムを作成するプログラム作成装置におい
て、前記プログラムが参照する外部関数モジュールへの
ジャンプ命令からなるアドレス参照変換モジュールを作
成する作成手段と、前記プログラムをコンピュータで実
行可能な形式に変換する変換手段と、前記変換手段によ
り変換されたプログラムに、前記作成手段により作成さ
れた、当該プログラムが参照する外部関数モジュールへ
のジャンプ命令からなるアドレス参照変換モジュールを
結合する結合手段と、を備えたので、プログラムから参
照される外部関数モジュールは、当該モジュールに代え
て上記プログラムにスタティックリンクされた、当該モ
ジュールへのジャンプ命令からなるアドレス参照変換モ
ジュールを経由して実行されることになり、これによっ
て、組み込み型の実行プログラムのサイズを抑え、かつ
各モジュールの更新・修正などにも柔軟に対応すること
が可能なプログラム作成装置が得られるという効果を奏
する。
As described above, the program creating apparatus according to the first aspect of the present invention is a program creating apparatus for creating a program to be executed by a computer, in which a jump instruction to an external function module referred to by the program is issued. Creating means for creating an address reference conversion module, converting means for converting the program into a computer-executable format, and referring to the program created by the creating means for the program converted by the converting means. Coupling means for coupling an address reference translation module consisting of a jump instruction to an external function module to be executed, so that the external function module referenced from the program is statically linked to the program in place of the module. Ja to module It is executed via the address reference conversion module consisting of backup instructions, which makes it possible to reduce the size of the embedded execution program and flexibly cope with updating and modifying each module. There is an effect that a program creating device can be obtained.

【0120】また、請求項2に記載の発明にかかるプロ
グラム作成装置は、前記請求項1に記載の発明におい
て、さらに、前記プログラムの実行時に前記結合手段に
より結合されたアドレス参照変換モジュールのジャンプ
先の外部関数モジュールのアドレスを検索する検索手段
と、前記検索手段により検索されたアドレスを前記結合
手段により結合されたアドレス参照変換モジュールに設
定する設定手段と、を備えたので、アドレス参照変換モ
ジュールのジャンプ先のアドレスは、当該モジュールが
スタティックリンクされたプログラムの実行時に確定さ
れ、これによって、組み込み型の実行プログラムについ
て、当該プログラムに組み込まれる各モジュールの更新
・修正などにも柔軟に対応することが可能なプログラム
作成装置が得られるという効果を奏する。
According to a second aspect of the present invention, there is provided the program creating apparatus according to the first aspect, further comprising: a jump destination of the address reference conversion module coupled by the coupling means when the program is executed. Search means for searching for the address of the external function module, and setting means for setting the address searched by the search means in the address reference conversion module connected by the connection means. The jump destination address is determined at the time of execution of the program in which the module is statically linked, so that the embedded execution program can flexibly cope with updating / modifying each module incorporated in the program. A possible program creation device is obtained The effect say.

【0121】また、請求項3に記載の発明にかかるプロ
グラム作成方法は、コンピュータに実行させるプログラ
ムを作成するプログラム作成方法において、前記プログ
ラムが参照する外部関数モジュールへのジャンプ命令か
らなるアドレス参照変換モジュールを作成する作成工程
と、前記プログラムをコンピュータで実行可能な形式に
変換する変換工程と、前記変換工程で変換されたプログ
ラムに、前記作成工程で作成された、当該プログラムが
参照する外部関数モジュールへのジャンプ命令からなる
アドレス参照変換モジュールを結合する結合工程と、を
含んだので、プログラムから参照される外部関数モジュ
ールは、当該モジュールに代えて上記プログラムにスタ
ティックリンクされた、当該モジュールへのジャンプ命
令からなるアドレス参照変換モジュールを経由して実行
されることになり、これによって、組み込み型の実行プ
ログラムのサイズを抑え、かつ各モジュールの更新・修
正などにも柔軟に対応することが可能なプログラム作成
方法が得られるという効果を奏する。
According to a third aspect of the present invention, in the program creating method for creating a program to be executed by a computer, an address reference conversion module comprising a jump instruction to an external function module referred to by the program. And a conversion step of converting the program into a computer-executable format; and converting the program converted in the conversion step into an external function module created in the creation step and referenced by the program. And an external function module referred to from the program, wherein the external function module referred to from the program is a jump instruction to the module statically linked to the program instead of the module. Address consisting of The program is executed via the reference conversion module, which makes it possible to obtain a program creation method that can reduce the size of the embedded executable program and flexibly cope with updating and modifying each module. The effect is that it can be done.

【0122】また、請求項4に記載の発明にかかるプロ
グラム作成方法は、前記請求項3に記載の発明におい
て、さらに、前記結合工程で結合されたアドレス参照変
換モジュールのジャンプ先の外部関数モジュールのアド
レスを検索する検索工程と、前記検索工程で検索された
アドレスを前記結合工程で結合されたアドレス参照変換
モジュールに設定する設定工程と、を含んだので、アド
レス参照変換モジュールのジャンプ先のアドレスは、当
該モジュールがスタティックリンクされたプログラムの
実行時に確定され、これによって、組み込み型の実行プ
ログラムについて、当該プログラムに組み込まれる各モ
ジュールの更新・修正などにも柔軟に対応することが可
能なプログラム作成方法が得られるという効果を奏す
る。
According to a fourth aspect of the present invention, in the program creating method according to the third aspect of the present invention, further, the external function module to which the address reference conversion module jumped in the linking step is jumped. Since the method includes a search step of searching for an address and a setting step of setting the address searched in the search step in the address reference conversion module combined in the combining step, the jump destination address of the address reference conversion module is A program creation method which is determined at the time of execution of a program in which the module is statically linked, thereby enabling the embedded execution program to flexibly cope with updating / modifying each module incorporated in the program. Is obtained.

【0123】また、請求項5に記載の発明は、前記請求
項3または請求項4に記載された方法をコンピュータに
実行させるプログラムであるので、請求項3または請求
項4のいずれか一つの動作をコンピュータによって実行
することができるという効果を奏する。
Further, the invention according to claim 5 is a program for causing a computer to execute the method according to claim 3 or 4, and therefore, the operation according to any one of claims 3 and 4 Can be executed by a computer.

【0124】また、請求項6にかかる画像形成装置は、
複数のアプリケーションから共通に呼び出される一また
は複数の関数と、各関数のメモリ上での絶対アドレスを
示す関数配置情報を含むアプリ共通ライブラリを備えて
おり、アプリケーションでは呼び出す関数の絶対アドレ
スが実行時に格納されるアドレス参照変換部を有してい
るので、アプリケーションにアドレス参照変換部を設け
れば、呼び出す関数の絶対アドレスを意識した開発を行
う必要がなくアプリケーションの開発をアプリ共通ライ
ブラリや他のアプリケーションと別個に行うことが容易
に行え、また、アプリケーションの開発はアドレス参照
変換部を設けることで呼び出す関数の絶対アドレスを開
発時に決定する必要がないので、アプリケーションのバ
ージョンアップを容易に行え、これによって、アプリケ
ーションの開発の作業効率を向上させることができると
いう効果を奏する。
Further, according to the image forming apparatus of the present invention,
One or more functions that are commonly called from multiple applications and an application common library that contains function allocation information that indicates the absolute address of each function on the memory.The application stores the absolute address of the function to be called at the time of execution. Since the application has an address reference conversion unit, if the application is provided with an address reference conversion unit, it is not necessary to perform development with consideration to the absolute address of the function to be called. It can be easily performed separately, and application development can be performed easily by providing an address reference conversion unit, so that it is not necessary to determine the absolute address of the function to be called at the time of development. Application development An effect that it is possible to improve the work efficiency.

【0125】また、請求項7にかかる画像形成装置は、
前記請求項6に記載の発明において、複数のコントロー
ルサービスから共通に呼び出される一または複数の関数
と、各関数のメモリ上での絶対アドレスを示す関数配置
情報とを有するサービス共通ライブラリをさらに備え、
前記コントロールサービスは、呼び出す関数の絶対アド
レスが実行時に格納されるアドレス参照変換部を有する
ことで、コントロールサービスにアドレス参照変換部を
設ければ、呼び出す関数の絶対アドレスを意識した開発
を行う必要がなく、コントロールサービスの開発をサー
ビス共通ライブラリや他のコントロールサービスと別個
に行うことが容易となり、コントロールサービスの開発
はアドレス参照変換部を設けることで呼び出す関数の絶
対アドレスを開発時に決定する必要がないので、コント
ロールサービスのバージョンアップを容易に行えるの
で、コントロールサービスの開発の作業効率を向上させ
ることができるという効果を奏する。
Further, according to the image forming apparatus of the present invention,
The invention according to claim 6, further comprising a service common library having one or a plurality of functions commonly called from a plurality of control services and function arrangement information indicating an absolute address of each function on a memory,
Since the control service has an address reference conversion unit in which the absolute address of the function to be called is stored at the time of execution, if the control service is provided with an address reference conversion unit, it is necessary to perform development in consideration of the absolute address of the function to be called. It is easy to develop the control service separately from the service common library and other control services, and the control service development does not need to determine the absolute address of the function to be called at the time of development by providing an address reference conversion unit Therefore, it is possible to easily upgrade the version of the control service, so that the control service development work efficiency can be improved.

【0126】また、請求項8にかかる画像形成装置は、
請求項7に記載の発明において、サービス共通ライブラ
リはさらにアプリ共通ライブラリから呼び出される一ま
たは複数の関数と各関数のメモリ上での絶対アドレスを
示す関数配置情報とを有し、アプリ共通ライブラリは呼
び出す関数の絶対アドレスが実行時に格納されるアドレ
ス参照変換部を有することで、アプリ共通ライブラリに
アドレス参照変換部を設ければ、呼び出す関数の絶対ア
ドレスを意識した開発を行う必要がなく、アプリ共通ラ
イブラリの開発をサービス共通ライブラリと別個に行う
ことが容易となり、また、アプリ共通ライブラリの開発
はアドレス参照変換部を設けることで呼び出す関数の絶
対アドレスを開発時に決定する必要がないので、アプリ
共通ライブラリのバージョンアップを容易に行え、これ
により、アプリ共通ライブラリの開発の作業効率を向上
させることができるという効果を奏する。
The image forming apparatus according to claim 8 is
In the invention described in claim 7, the service common library further has one or more functions called from the application common library and function arrangement information indicating an absolute address of each function on the memory, and the application common library calls the service common library. By providing an address reference conversion unit that stores the absolute address of the function at the time of execution, if the application common library is provided with an address reference conversion unit, there is no need to develop with consideration to the absolute address of the function to be called. It is easy to develop the application common library separately from the service common library, and the application common library development does not need to determine the absolute address of the function to be called by providing the address reference conversion unit at the time of development. Upgrading can be easily performed, which allows An effect that it is possible to improve the working efficiency of the library development.

【0127】また、請求項9にかかる画像形成装置は、
請求項6〜8のいずれか一つに記載の発明において、画
像形成装置の起動時に関数配置情報に基づいて、呼び出
す関数の絶対アドレスをアドレス参照変換部に格納する
アドレス参照解決手段を備えたことで、実行時のアドレ
ス解決の処理が簡易なものとなり、プログラム実行時の
オーバヘッドを短縮することができるという効果を奏す
る。
Further, the image forming apparatus according to claim 9 is
The invention according to any one of claims 6 to 8, further comprising address reference resolution means for storing the absolute address of the function to be called in the address reference conversion unit based on the function arrangement information when the image forming apparatus is started. Thus, there is an effect that the address resolution processing at the time of execution is simplified, and the overhead at the time of program execution can be reduced.

【0128】また、請求項10にかかる画像形成装置
は、請求項9に記載の発明において、アドレス参照解決
手段がサービス共通ライブラリまたはアプリ共通ライブ
ラリの先頭の絶対アドレスと該先頭の絶対アドレスから
の関数のオフセットをアドレス参照変換部に格納するこ
とで、サービス共通ライブラリやアプリ共通ライブラリ
の先頭の絶対アドレスを定めておけば、関数配置情報に
は先頭アドレスからのオフセットを格納しておけばよ
く、サービス共通ライブラリまたはアプリ共通ライブラ
リの開発の作業効率を向上させることができるという効
果を奏する。
According to a tenth aspect of the present invention, in the image forming apparatus according to the ninth aspect, the address reference resolving means is configured to execute a function based on a leading absolute address of the service common library or application common library and the leading absolute address. If the absolute address of the top of the service common library or application common library is determined by storing the offset of the service reference address in the address reference conversion unit, the offset from the top address may be stored in the function allocation information. This has the effect that the work efficiency of developing the common library or the application common library can be improved.

【0129】また、請求項11にかかる画像形成装置
は、請求項6〜10のいずれか一つに記載の発明におい
て、サービス共通ライブラリがスレッドに関する処理を
実行する関数を含んだことで、スレッドに関する関数を
共通化してコントロールサービスのアプリケーションの
開発の作業効率を向上させることができるという効果を
奏する。
An image forming apparatus according to an eleventh aspect of the present invention is the image forming apparatus according to any one of the sixth to tenth aspects, wherein the service common library includes a function for executing a thread-related process, thereby providing a thread-related function. An effect is achieved in that the functions can be shared and the work efficiency of control service application development can be improved.

【0130】また、請求項12にかかるアドレス解決方
法は、呼び出す関数のメモリ上での絶対アドレスを、関
数配置情報に基づいて、アプリケーションおよびコント
ロールサービスのアドレス参照変換部に格納するアドレ
ス参照解決ステップを含んだことで、実行時のアドレス
解決の処理が簡易なものとなり、プログラム実行時のオ
ーバヘッドを短縮することができるという効果を奏す
る。
An address resolution method according to a twelfth aspect of the present invention includes an address reference resolution step of storing an absolute address of a function to be called on a memory in an address reference conversion unit of an application and a control service based on function allocation information. By including this, it is possible to simplify the address resolution processing at the time of execution, and it is possible to reduce the overhead at the time of program execution.

【0131】また、請求項13にかかるアドレス解決方
法は、請求項12に記載の発明において、アドレス参照
解決ステップがサービス共通ライブラリまたはアプリ共
通ライブラリの先頭の絶対アドレスと該先頭の絶対アド
レスからの関数のオフセットをアドレス参照変換部に格
納することで、共通ライブラリやアプリ共通ライブラリ
の先頭の絶対アドレスを定めておけば、関数配置情報に
は先頭アドレスからのオフセットを格納しておけばよ
く、これによってサービス共通ライブラリまたはアプリ
共通ライブラリの開発の作業効率を向上させることがで
きるという効果を奏する。
According to a thirteenth aspect of the present invention, in the address resolution method according to the twelfth aspect, the address reference resolving step comprises the step of: determining the first absolute address of the service common library or the application common library and a function from the first absolute address. By storing the offset in the address reference conversion unit, the absolute address of the head of the common library or the application common library is determined, and the offset from the head address may be stored in the function allocation information. This has the effect that the work efficiency of development of the service common library or the application common library can be improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明の実施の形態によるプログラム作成装
置のハードウエア構成を示す説明図である。
FIG. 1 is an explanatory diagram showing a hardware configuration of a program creating device according to an embodiment of the present invention.

【図2】この発明の実施の形態によるプログラム作成装
置の構成を機能的に示す説明図である。
FIG. 2 is an explanatory diagram functionally showing a configuration of a program creating device according to the embodiment of the present invention.

【図3】この発明の実施の形態による実行プログラム記
憶部200aに記憶される共有プログラムファイル30
0の一例を模式的に示す説明図である。
FIG. 3 is a shared program file 30 stored in an execution program storage unit 200a according to the embodiment of the present invention.
It is explanatory drawing which shows an example of 0 typically.

【図4】この発明の実施の形態によるアドレス参照変換
モジュール作成部201により作成され、アドレス参照
変換モジュール記憶部200bに格納されたアドレス参
照変換モジュールの一例を模式的に示す説明図である。
FIG. 4 is an explanatory diagram schematically showing an example of an address reference conversion module created by an address reference conversion module creation unit 201 according to an embodiment of the present invention and stored in an address reference conversion module storage unit 200b.

【図5】この発明の実施の形態によるプログラム変換部
202により機械語に変換され、プログラム結合部20
3により必要な関数が結合された後、実行プログラム記
憶部200aに格納されたプログラムの一例を模式的に
示す説明図である。
FIG. 5 is a diagram illustrating a program conversion unit 202 according to an embodiment of the present invention, which converts the program language into machine language,
FIG. 4 is an explanatory diagram schematically showing an example of a program stored in an execution program storage unit 200a after necessary functions are combined by 3.

【図6】この発明の実施の形態によるプログラム作成装
置の、プログラムの作成から実行までの処理の流れを示
すフローチャートである。
FIG. 6 is a flowchart showing the flow of processing from program creation to execution by the program creation device according to the embodiment of the present invention.

【図7】実施の形態2にかかる複合機の構成を示すブロ
ック図である。
FIG. 7 is a block diagram illustrating a configuration of a multifunction peripheral according to a second embodiment;

【図8】実施の形態2にかかる複合機におけるコントロ
ールサービスとサービス共通ライブラリとランタイムロ
ーダの関係を示す模式図である。
FIG. 8 is a schematic diagram illustrating a relationship between a control service, a service common library, and a runtime loader in the multifunction peripheral according to the second embodiment.

【図9】実施の形態2にかかる複合機のSCSのプロセ
ス起動時における仮想メモリ上の配置を示す模式図であ
る。
FIG. 9 is a schematic diagram illustrating an arrangement in a virtual memory when a process of an SCS of the multifunction peripheral according to the second embodiment is started;

【図10】実施の形態2にかかる複合機におけるサービ
ス共通ライブラリの構造を示す模式図である。
FIG. 10 is a schematic diagram illustrating a structure of a service common library in the multifunction peripheral according to the second embodiment;

【図11】実施の形態2にかかる複合機におけるSCS
の本体プログラムの内容を示す説明図である。
FIG. 11 is an SCS in the multifunction peripheral according to the second embodiment.
FIG. 4 is an explanatory diagram showing the contents of a main program of FIG.

【図12】実施の形態2の複合機におけるランタイムロ
ーダのアドレス解決処理の手順を示すフローチャートで
ある。
FIG. 12 is a flowchart illustrating a procedure of an address resolution process of a runtime loader in the multifunction peripheral of the second embodiment.

【図13】実施の形態2の複合機のプリンタアプリのプ
ロセス起動時における仮想メモリ上の配置を示す模式図
である。
FIG. 13 is a schematic diagram illustrating an arrangement in a virtual memory when a process of a printer application of the multifunction peripheral according to the second embodiment is started.

【図14】実施の形態3にかかる複合機におけるアプリ
共通ライブラリの構造を示す模式図である。
FIG. 14 is a schematic diagram illustrating a structure of an application common library in the multifunction peripheral according to the third embodiment;

【図15】実施の形態3の複合機におけるプリンタアプ
リの本体プログラムの内容を示す説明図である。
FIG. 15 is an explanatory diagram showing contents of a main program of a printer application in the multifunction peripheral of the third embodiment.

【符号の説明】[Explanation of symbols]

100 バスまたはケーブル 101 CPU 102 ROM 103 RAM 104 HDD 105 HD 106 FDD 107 FD 108 ディスプレイ 109 I/F 110 通信回線 111 キーボード 112 マウス 113 スキャナ 114 プリンタ 115 CD−ROM 116 CD−ROMドライブ 200 プログラム記憶部 200a 実行プログラム記憶部 200b アドレス参照変換モジュール記憶部 201 アドレス参照変換モジュール作成部 202 プログラム変換部 203 プログラム結合部 204 プログラムロード部 204a アドレス検索部 204b アドレス設定部 700 複合機 701 白黒ラインプリンタ 702 カラーラインプリンタ 703 ハードウェアリソース 710 ソフトウェア群 711 プリンタアプリ 712 コピーアプリ 713 ファックスアプリ 714 スキャナアプリ 715 ネットファイルアプリ 716 工程検査アプリ 720 プラットホーム 721 汎用OS 722 SCS 723 SRM 724 ECS 725 MCS 726 OCS 727 FCS 728 NCS 730 アプリケーション 840 サービス共通ライブラリ 841 アプリ共通ライブラリ 842 アドレス参照変換部 843 ランタイムローダ 844 関数配置情報 100 Bus or cable 101 CPU 102 ROM 103 RAM 104 HDD 105 HD 106 FDD 107 FD 108 Display 109 I / F 110 Communication line 111 Keyboard 112 Mouse 113 Scanner 114 Printer 115 CD-ROM 116 CD-ROM drive 200 Program storage unit 200a Execution Program storage unit 200b Address reference conversion module storage unit 201 Address reference conversion module creation unit 202 Program conversion unit 203 Program combining unit 204 Program loading unit 204a Address search unit 204b Address setting unit 700 MFP 701 Monochrome line printer 702 Color line printer 703 Hardware Ware resource 710 Software group 711 Printer application 712 P-appli 713 Fax application 714 Scanner application 715 Net file application 716 Process inspection application 720 Platform 721 General-purpose OS 722 SCS 723 SRM 724 ECS 725 MCS 726 OCS 727 FCS 728 NCS 730 Application 840 Address common library 8421 Application common library 842 Application conversion library 8421 Runtime loader 844 Function allocation information

Claims (13)

【特許請求の範囲】[Claims] 【請求項1】 コンピュータに実行させるプログラムを
作成するプログラム作成装置において、 前記プログラムが参照する外部関数モジュールへのジャ
ンプ命令からなるアドレス参照変換モジュールを作成す
る作成手段と、 前記プログラムをコンピュータで実行可能な形式に変換
する変換手段と、 前記変換手段により変換されたプログラムに、前記作成
手段により作成された、当該プログラムが参照する外部
関数モジュールへのジャンプ命令からなるアドレス参照
変換モジュールを結合する結合手段と、 を備えたことを特徴とするプログラム作成装置。
1. A program creating apparatus for creating a program to be executed by a computer, wherein: creating means for creating an address reference conversion module comprising a jump instruction to an external function module referred to by the program; Conversion means for converting the program into a special format, and an address reference conversion module comprising a jump instruction to an external function module referred to by the program, created by the creation means, to the program converted by the conversion means. A program creation device, comprising:
【請求項2】 さらに、前記プログラムの実行時に前記
結合手段により結合されたアドレス参照変換モジュール
のジャンプ先の外部関数モジュールのアドレスを検索す
る検索手段と、 前記検索手段により検索されたアドレスを前記結合手段
により結合されたアドレス参照変換モジュールに設定す
る設定手段と、 を備えたことを特徴とする前記請求項1に記載のプログ
ラム作成装置。
2. A search means for searching an address of an external function module to which a jump of the address reference conversion module combined by the combining means at the time of executing the program, and combining the addresses searched by the search means. 2. The program creating device according to claim 1, further comprising: setting means for setting the address reference conversion module combined by the means.
【請求項3】 コンピュータに実行させるプログラムを
作成するプログラム作成方法において、 前記プログラムが参照する外部関数モジュールへのジャ
ンプ命令からなるアドレス参照変換モジュールを作成す
る作成工程と、 前記プログラムをコンピュータで実行可能な形式に変換
する変換工程と、 前記変換工程で変換されたプログラムに、前記作成工程
で作成された、当該プログラムが参照する外部関数モジ
ュールへのジャンプ命令からなるアドレス参照変換モジ
ュールを結合する結合工程と、 を含んだことを特徴とするプログラム作成方法。
3. A program creation method for creating a program to be executed by a computer, comprising: a creation step of creating an address reference conversion module comprising a jump instruction to an external function module referred to by the program; and a computer capable of executing the program. Conversion step for converting the program into a special format, and an address reference conversion module, which is created in the creation step and includes an instruction for jumping to an external function module referred to by the program, to the program converted in the conversion step. And a program creation method characterized by including:
【請求項4】 さらに、前記プログラムの実行時に前記
結合工程で結合されたアドレス参照変換モジュールのジ
ャンプ先の外部関数モジュールのアドレスを検索する検
索工程と、 前記検索工程で検索されたアドレスを前記結合工程で結
合されたアドレス参照変換モジュールに設定する設定工
程と、 を含んだことを特徴とする前記請求項3に記載のプログ
ラム作成方法。
4. A search step for searching for an address of an external function module to which the address reference conversion module linked in the linking step is executed when the program is executed, and linking the addresses searched in the search step. 4. The method according to claim 3, further comprising: setting an address reference conversion module combined in the step.
【請求項5】 前記請求項3または請求項4に記載され
た方法をコンピュータに実行させるためのプログラム。
5. A program for causing a computer to execute the method according to claim 3 or 4.
【請求項6】 画像形成処理で使用されるハードウェア
資源と、画像形成処理にかかるユーザサービスにそれぞ
れ固有の処理を行うアプリケーションと、前記アプリケ
ーションと前記ハードウェア資源との間に介在し、ユー
ザサービスを提供する際に、アプリケーションの少なく
とも2つが共通的に必要とする前記ハードウェア資源の
獲得要求、管理、実行制御並びに画像形成処理を行う複
数のコントロールサービスを含むプラットホームとを備
えた画像形成装置であって、 複数の前記アプリケーションから共通に呼び出される一
または複数の関数と、各関数のメモリ上での絶対アドレ
スを示す関数配置情報を含むアプリ共通ライブラリを備
え、 前記アプリケーションは、呼び出す関数の絶対アドレス
が実行時に格納されるアドレス参照変換部を有すること
を特徴とする画像形成装置。
6. A hardware service used in an image forming process, an application for performing a process unique to a user service related to the image forming process, and a user service interposed between the application and the hardware resource. And a platform including a plurality of control services for performing a request for acquisition, management, execution control and image forming processing of the hardware resources required by at least two of the applications in common. And one or more functions commonly called from the plurality of applications, and an application common library including function arrangement information indicating an absolute address of each function on a memory, wherein the application has an absolute address of the function to be called. Reference conversion that is stored at runtime An image forming apparatus, comprising a.
【請求項7】 前記複数のコントロールサービスから共
通に呼び出される一または複数の関数と、各関数のメモ
リ上での絶対アドレスを示す関数配置情報とを有するサ
ービス共通ライブラリをさらに備え、 前記コントロールサービスは、呼び出す関数の絶対アド
レスが実行時に格納されるアドレス参照変換部を有する
ことを特徴とする請求項6に記載の画像形成装置。
7. A service common library further comprising one or more functions commonly called from the plurality of control services and function arrangement information indicating an absolute address of each function on a memory, wherein the control service includes: 7. The image forming apparatus according to claim 6, further comprising an address reference conversion unit for storing an absolute address of a function to be called at the time of execution.
【請求項8】 前記サービス共通ライブラリは、前記ア
プリ共通ライブラリから呼び出される一または複数の関
数と、各関数のメモリ上での絶対アドレスを示す関数配
置情報とを有し、 前記アプリ共通ライブラリは、呼び出す関数の絶対アド
レスが実行時に格納されるアドレス参照変換部を有する
ことを特徴とする請求項7に記載の画像形成装置。
8. The service common library has one or a plurality of functions called from the application common library and function arrangement information indicating an absolute address of each function on a memory. The image forming apparatus according to claim 7, further comprising an address reference conversion unit that stores an absolute address of a function to be called at the time of execution.
【請求項9】 画像形成装置の起動時に、前記関数配置
情報に基づいて、前記呼び出す関数の絶対アドレスを前
記アドレス参照変換部に格納するアドレス参照解決手段
をさらに備えたことを特徴とする請求項6〜8のいずれ
か一つに記載の画像形成装置。
9. The image processing apparatus according to claim 1, further comprising an address reference resolution unit configured to store an absolute address of the function to be called in the address reference conversion unit based on the function arrangement information when the image forming apparatus is started. An image forming apparatus according to any one of claims 6 to 8.
【請求項10】 前記アドレス参照解決手段は、前記サ
ービス共通ライブラリまたは前記アプリ共通ライブラリ
の先頭の絶対アドレスと該先頭の絶対アドレスからの関
数のオフセットを前記アドレス参照変換部に格納するこ
とを特徴とする請求項9に記載の画像形成装置。
10. The address reference resolution unit stores a leading absolute address of the service common library or the application common library and an offset of a function from the leading absolute address in the address reference conversion unit. The image forming apparatus according to claim 9.
【請求項11】 前記コントロールサービスおよび前記
アプリケーションは、一または複数のスレッドを含むプ
ロセスとして動作し、 前記サービス共通ライブラリは、前記スレッドに関する
処理を実行する関数を含んでいることを特徴とする請求
項6〜10のいずれか一つに記載の画像形成装置。
11. The control service and the application operate as a process including one or a plurality of threads, and the service common library includes a function for executing a process related to the thread. The image forming apparatus according to any one of claims 6 to 10.
【請求項12】 画像形成処理で使用されるハードウェ
ア資源と、画像形成処理にかかるユーザサービスにそれ
ぞれ固有の処理を行うアプリケーションと、前記アプリ
ケーションと前記ハードウェア資源との間に介在し、ユ
ーザサービスを提供する際に、アプリケーションの少な
くとも2つが共通的に必要とする前記ハードウェア資源
の獲得要求、管理、実行制御並びに画像形成処理を行う
複数のコントロールサービスを含むプラットホームと、
複数の前記アプリケーションから共通に呼び出される一
または複数の関数と各関数のメモリ上での絶対アドレス
を示す関数配置情報とを含むアプリ共通ライブラリと、
前記複数のコントロールサービスから共通に呼び出され
る一または複数の関数と各関数のメモリ上での絶対アド
レスを示す関数配置情報とを有するサービス共通ライブ
ラリとを備えた画像形成装置を起動する際に、前記コン
トロールサービスおよび前記アプリケーションから呼び
出される関数のアドレスを解決するアドレス解決方法に
おいて、 前記呼び出す関数のメモリ上での絶対アドレスを、前記
関数配置情報に基づいて、前記アプリケーションおよび
前記コントロールサービスのアドレス参照変換部に格納
するアドレス参照解決ステップを含んだことを特徴とす
るアドレス解決方法。
12. A hardware resource used in an image forming process, an application for performing a process unique to a user service related to the image forming process, and a user service interposed between the application and the hardware resource. A platform including a plurality of control services for performing a hardware resource acquisition request, management, execution control, and image forming processing required by at least two of the applications in common,
An application common library including one or more functions commonly called from the plurality of applications and function arrangement information indicating an absolute address of each function on a memory,
When starting an image forming apparatus having a service common library having one or more functions commonly called from the plurality of control services and function arrangement information indicating an absolute address of each function on a memory, An address resolution method for resolving an address of a function called from the control service and the application, wherein an address reference conversion unit of the application and the control service is used to determine an absolute address of the function to be called on a memory based on the function arrangement information. Address resolution method, comprising the step of:
【請求項13】 前記アドレス参照解決ステップは、前
記サービス共通ライブラリまたは前記アプリ共通ライブ
ラリの先頭の絶対アドレスと該先頭の絶対アドレスから
の関数のオフセットを前記アドレス参照変換部に格納す
ることを特徴とする請求項12に記載のアドレス解決方
法。
13. The address reference resolving step, wherein a leading absolute address of the service common library or the application common library and an offset of a function from the leading absolute address are stored in the address reference conversion unit. 13. The address resolution method according to claim 12, wherein:
JP2001280642A 2000-11-22 2001-09-14 Device and method for program generation, program implementing the same method on computer, image forming device, and address solving method Pending JP2002222081A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2001280642A JP2002222081A (en) 2000-11-22 2001-09-14 Device and method for program generation, program implementing the same method on computer, image forming device, and address solving method
EP02256419A EP1293895A3 (en) 2001-09-14 2002-09-13 Program execution apparatus, method for creating an executable program and address solution method
US10/242,702 US20030074656A1 (en) 2001-09-14 2002-09-13 Program execution apparatus and method, computer program for performing the program execution method, image forming system, and address solution method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000356699 2000-11-22
JP2000-356699 2000-11-22
JP2001280642A JP2002222081A (en) 2000-11-22 2001-09-14 Device and method for program generation, program implementing the same method on computer, image forming device, and address solving method

Publications (1)

Publication Number Publication Date
JP2002222081A true JP2002222081A (en) 2002-08-09

Family

ID=26604492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001280642A Pending JP2002222081A (en) 2000-11-22 2001-09-14 Device and method for program generation, program implementing the same method on computer, image forming device, and address solving method

Country Status (1)

Country Link
JP (1) JP2002222081A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005284925A (en) * 2004-03-30 2005-10-13 Oki Electric Ind Co Ltd Computer system and program update method
US6986334B2 (en) 2002-11-08 2006-01-17 Hyundai Motor Company Apparatus and method for start-delay warning of an LPI engine
US7633639B2 (en) 2002-09-13 2009-12-15 Ricoh Company, Ltd. Compound machine for scanning and printing and a method thereof
US7701805B2 (en) 2004-06-25 2010-04-20 Ricoh Company, Ltd. Time correction apparatus and image forming device having the time correction apparatus
JP2010225099A (en) * 2009-03-25 2010-10-07 Canon Inc Information processing apparatus, method for controlling the same, and program
US9141428B2 (en) 2012-05-31 2015-09-22 Fujitsu Limited Information processing apparatus and information processing method
JP2016097621A (en) * 2014-11-25 2016-05-30 京セラドキュメントソリューションズ株式会社 Image formation apparatus

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405495B2 (en) 2002-09-13 2016-08-02 Ricoh Company, Ltd. Image forming apparatus and scanned data process method
US9715361B2 (en) 2002-09-13 2017-07-25 Ricoh Company, Ltd. Image forming apparatus and scanned data process method
US8885201B2 (en) 2002-09-13 2014-11-11 Ricoh Company, Ltd. Image forming apparatus and scanned data process method
US10944880B2 (en) 2002-09-13 2021-03-09 Ricoh Company, Ltd. Image forming apparatus and scanned data process method
US9131084B2 (en) 2002-09-13 2015-09-08 Ricoh Company, Ltd. Image forming apparatus and scanned data process method
US8107112B2 (en) 2002-09-13 2012-01-31 Ricoh Company, Ltd. Image forming apparatus and scanned data process method
US8441672B2 (en) 2002-09-13 2013-05-14 Ricoh Company, Ltd. Image forming apparatus and scanned data process method
US10530941B2 (en) 2002-09-13 2020-01-07 Ricoh Company, Ltd. Image forming apparatus and scanned data process method
US7633639B2 (en) 2002-09-13 2009-12-15 Ricoh Company, Ltd. Compound machine for scanning and printing and a method thereof
US10044885B2 (en) 2002-09-13 2018-08-07 Ricoh Company, Ltd. Image forming apparatus and scanned data process method
US8797586B2 (en) 2002-09-13 2014-08-05 Ricoh Company, Ltd. Image forming apparatus and scanned data process method
US6986334B2 (en) 2002-11-08 2006-01-17 Hyundai Motor Company Apparatus and method for start-delay warning of an LPI engine
JP2005284925A (en) * 2004-03-30 2005-10-13 Oki Electric Ind Co Ltd Computer system and program update method
US7701805B2 (en) 2004-06-25 2010-04-20 Ricoh Company, Ltd. Time correction apparatus and image forming device having the time correction apparatus
JP2010225099A (en) * 2009-03-25 2010-10-07 Canon Inc Information processing apparatus, method for controlling the same, and program
US9141428B2 (en) 2012-05-31 2015-09-22 Fujitsu Limited Information processing apparatus and information processing method
JP2016097621A (en) * 2014-11-25 2016-05-30 京セラドキュメントソリューションズ株式会社 Image formation apparatus

Similar Documents

Publication Publication Date Title
JP4861883B2 (en) Image forming apparatus and application execution method
JP3679349B2 (en) Image forming apparatus, image forming method, image forming program, and application program
JP4597834B2 (en) Image forming apparatus, information processing method, information processing program, and recording medium
EP1385089A2 (en) Image forming apparatus, information processing apparatus, program execution method and program producing method
US20060158675A1 (en) Method of and apparatus for image formation, and computer product
JP5699500B2 (en) Installation program, installation method, image forming apparatus, and recording medium
JPH10133987A (en) Client/server system, client device, server device, data processing method, program preparing device and its method, and information storage medium
US20080055667A1 (en) Image processing apparatus, image processing method, and recording medium
US20200302569A1 (en) Image processing apparatus, method for controlling the same, and non-transitory computer-readable storage medium
JP5828357B2 (en) Image forming apparatus, image forming method, and program
EP1293895A2 (en) Program execution apparatus, method for creating an executable program and address solution method
JP2008305004A (en) Image forming apparatus, application execution method, and application execution program
US20080062464A1 (en) Image processing device and image processing method
EP1308793B1 (en) Image forming device having a memory assignment unit
JP2002222081A (en) Device and method for program generation, program implementing the same method on computer, image forming device, and address solving method
JP4512565B2 (en) Image forming apparatus and application installation method
US8595623B2 (en) Image processing including process of outputting preview image using database storing synthesizing data corresponding to finish processing condition
JP6961412B2 (en) Image forming device, control method of image forming device, and program
JP5057899B2 (en) Image forming apparatus, application control method, and application control program
US8804164B2 (en) Image forming system and control method using middleware
JP7080061B2 (en) Image processing equipment
JP7418168B2 (en) Information processing device, its control method, and program
JP2010218469A (en) Information processor, information processing method, program and recording medium
JP4500326B2 (en) Inter-process communication program and image information processing apparatus
JP2000341503A (en) Data generating method and image processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060502

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061002

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061031