JP2003271386A - Method for generating application for image forming apparatus, its program, the image forming apparatus and recording medium for developing application for the image forming apparatus - Google Patents

Method for generating application for image forming apparatus, its program, the image forming apparatus and recording medium for developing application for the image forming apparatus

Info

Publication number
JP2003271386A
JP2003271386A JP2002377972A JP2002377972A JP2003271386A JP 2003271386 A JP2003271386 A JP 2003271386A JP 2002377972 A JP2002377972 A JP 2002377972A JP 2002377972 A JP2002377972 A JP 2002377972A JP 2003271386 A JP2003271386 A JP 2003271386A
Authority
JP
Japan
Prior art keywords
application
image forming
forming apparatus
control service
function
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.)
Granted
Application number
JP2002377972A
Other languages
Japanese (ja)
Other versions
JP4334214B2 (en
Inventor
Tsutomu Oishi
勉 大石
Katsuhiko Nakagawa
克彦 中川
Hiroyuki Tanaka
浩行 田中
Hiroko Sugiura
裕子 杉浦
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 JP2002377972A priority Critical patent/JP4334214B2/en
Priority to US10/334,828 priority patent/US20030140174A1/en
Publication of JP2003271386A publication Critical patent/JP2003271386A/en
Application granted granted Critical
Publication of JP4334214B2 publication Critical patent/JP4334214B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve the developing efficiency of a new application, and to ensure the privacy of a significant interface. <P>SOLUTION: An application developing kit 131 includes a control service wrapping function library in which a wrapping function acting for inter-process communication with a control service is registered and a control service function library, and the application developing kit 131 is installed in an HD 130 of a developing server 100. In the developing server 100, a new application source file 132 is compiled by a compiler 110 with a debug function so that an object file 133 can be generated. Then, the object file 133 is linked with the control service function library and the control service wrapping function library by a linker 120 so that an application performance format file 134 being a new application can be generated. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】この発明は、コピー、プリン
タ、スキャナおよびファクシミリなどの画像形成処理に
かかるユーザサービスを提供する画像形成装置に搭載さ
れるアプリケーションにおいて、コントロールサービス
に対する処理を隠蔽してアプリケーションを効率良く開
発することを可能とする技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an application installed in an image forming apparatus that provides user services related to image forming processing such as copying, printer, scanner, and facsimile, and hides the processing for the control service. The present invention relates to a technology that enables efficient development.

【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 the functions of various devices such as a printer, a copier, a facsimile, and a scanner are housed in a single housing is generally known. This multi-function peripheral is provided with a display unit, a printing unit, an image pickup unit, and the like in one housing, and is provided with three types of software corresponding to a printer, a copier, and a facsimile device, respectively. It is operated as a copying machine, a scanner, or a facsimile machine.

【0003】このような従来の複合機では、プリンタ、
コピー、スキャナおよびファクシミリ装置に対応するソ
フトウェアをそれぞれ別個に設けているため、各ソフト
ウェアの開発に多大の時間を要する。このため、出願人
は、表示部、印刷部および撮像部などの画像形成処理で
使用されるハードウェア資源を有し、プリンタ、コピー
またはファクシミリなどの各ユーザサービスにそれぞれ
固有の処理を行うアプリケーションを複数搭載し、これ
らのアプリケーションとハードウェア資源との間に介在
して、ユーザサービスを提供する際に、アプリケーショ
ンの少なくとも2つが共通的に必要とするハードウェア
資源の管理、実行制御並びに画像形成処理を行う各種コ
ントロールサービスからなるプラットホームを備えた画
像形成装置(複合機)を発明した。
In such a conventional multifunction machine, a printer,
Since the software corresponding to the copying machine, the scanner, and the facsimile machine are separately provided, it takes a lot of time to develop each software. Therefore, the applicant has hardware resources used for image forming processing such as a display unit, a printing unit, and an imaging unit, and has an application that performs processing unique to each user service such as a printer, copy, or facsimile. When a plurality of the applications are installed and the user services are provided by intervening between these applications and the hardware resources, management of hardware resources commonly required by at least two of the applications, execution control, and image forming processing Invented an image forming apparatus (multi-function peripheral) having a platform composed of various control services for performing the above.

【0004】この複合機によれば、アプリケーションの
少なくとも2つが共通的に必要とするハードウェア資源
の管理、実行制御並びに画像形成処理を行うプラットホ
ームを備えた構成とすることによって、ソフトウェア開
発の効率化を図るとともに、装置全体としての生産性を
向上させることが可能となる。
According to this multi-function peripheral, the efficiency of software development is improved by providing a platform for performing management of hardware resources, execution control, and image forming processing commonly required by at least two applications. In addition, it is possible to improve the productivity of the entire device.

【0005】[0005]

【特許文献1】特開2002−342119号公報[Patent Document 1] Japanese Patent Laid-Open No. 2002-342119

【0006】[0006]

【発明が解決しようとする課題】このような新規な複合
機では、アプリケーションとコントロールサービスとを
別個に設けているため、複合機の出荷後にユーザもしく
は第三者であるサードベンダーが新規なアプリケーショ
ンを開発して複合機に搭載することが可能となってお
り、これにより多種多様な機能を提供することが可能と
なる。
In such a new multi-function peripheral, an application and a control service are provided separately, so that after the multi-function peripheral is shipped, a user or a third vendor, who is a third party, can install the new application. It is possible to develop and install it in a multi-function peripheral, which makes it possible to provide a wide variety of functions.

【0007】このような新規な複合機は、アプリケーシ
ョンと、アプリケーションの少なくとも2つが共通的に
必要とするサービスを提供するコントロールサービスと
を備えた特徴的な構成となっているため、新規アプリケ
ーションを開発する場合には、各種コントロールサービ
スとのプロセス間通信を実現する処理をソースコードで
記述する必要がある。しかしながら、このような処理は
各コントロールサービスが提供する関数やメッセージな
どを正確に把握した上で、あらかじめ規定された手順で
記述しなければならないため、各コントロールサービス
に対する処理の記述が困難であるという問題がある。こ
のような新規アプリケーションの開発における課題は従
来の構成の複合機には問題にならなかった新規な課題で
ある。
Since such a new multi-function machine has a characteristic structure including an application and a control service that provides a service commonly required by at least two of the applications, a new application is developed. To do so, it is necessary to describe the process that realizes interprocess communication with various control services in source code. However, it is difficult to describe the process for each control service because it is necessary to describe the process and messages provided by each control service accurately according to a pre-defined procedure. There's a problem. The problem in the development of such a new application is a new problem that has not been a problem in the multifunction device having the conventional configuration.

【0008】また、各コントロールサービスとアプリケ
ーションのインタフェースの全てを、新規アプリケーシ
ョンを開発するサードベンダーなどの第三者に開示する
ことは、プログラムの秘匿性の面から好ましくない。特
に、複合機のシステムに大きく影響を与えるような箇所
は第三者に対し隠蔽しておき、直接コントロールサービ
スに対してアクセスすることを回避することが、複合機
のセキュリティ面および障害発生の未然防止の面から好
ましい。
Further, it is not preferable to disclose all the interfaces between each control service and the application to a third party such as a third vendor who develops a new application, in view of the confidentiality of the program. In particular, it is important to conceal parts that have a large impact on the system of a multifunction device from a third party, and to avoid direct access to the control service, in terms of security and failure of the multifunction device. It is preferable in terms of prevention.

【0009】この発明は上記に鑑みてなされたもので、
多数のプロセスが実行される画像形成装置で動作するア
プリケーションとコントロールサービス間の複雑な処理
を隠蔽することにより、新規アプリケーションの開発効
率を向上させ、かつ、重要なインタフェースの秘匿性を
確保することを目的とする。
The present invention has been made in view of the above,
By hiding the complicated processing between the application running on the image forming apparatus where many processes are executed and the control service, it is possible to improve the development efficiency of a new application and to secure the confidentiality of important interfaces. To aim.

【0010】[0010]

【課題を解決するための手段】上記目的を達成するた
め、請求項1にかかる発明は、画像形成処理で使用され
るハードウェア資源と、画像形成に関する処理を行うア
プリケーションと、該アプリケーションと前記ハードウ
ェア資源との間に介在するコントロールサービスとを備
えた画像形成装置に搭載される新規アプリケーションを
生成する画像形成装置用アプリケーション生成方法であ
って、前記コントロールサービスに対する処理を代行す
るラッピング関数の呼び出し処理が記述された新規アプ
リケーションのソースファイルをコンパイルし、オブジ
ェクトファイルを生成するコンパイルステップと、前記
ラッピング関数が登録されたラッピング関数ライブラリ
と、前記オブジェクトファイルとをリンクして、前記新
規アプリケーションの実行形式プログラムを生成するリ
ンクステップとを含んだことを特徴とする。
In order to achieve the above object, the invention according to claim 1 provides a hardware resource used in an image forming process, an application for performing an image forming process, the application and the hardware. A method for creating an application for an image forming apparatus, which creates a new application installed in an image forming apparatus having a control service interposed between a software resource and a calling service of a wrapping function, which substitutes the processing for the control service. Compiling a source file of a new application in which is described to generate an object file, a wrapping function library in which the wrapping function is registered, and the object file are linked, and the new application is created. Characterized in that it includes a link generating an executable program.

【0011】この請求項1の発明によれば、コントロー
ルサービスとの複雑な手順を新規アプリケーションのソ
ースコードに記述する必要がなく、新規アプリケーショ
ンを効率的に開発することができる。
According to the invention of claim 1, it is not necessary to describe the complicated procedure with the control service in the source code of the new application, and the new application can be efficiently developed.

【0012】また、この請求項1にかかる発明によれ
ば、ラッピング関数が新規アプリケーションに代わって
コントロールサービスとの処理を行うので、コントロー
ルサービスとのインタフェースを隠蔽して、重要なイン
タフェースの秘匿性を確保することができる。
Further, according to the invention of claim 1, the wrapping function performs processing with the control service in place of the new application, so that the interface with the control service is concealed and the confidentiality of the important interface is kept. Can be secured.

【0013】また、請求項2にかかる発明は、請求項1
に記載の画像形成装置用アプリケーション生成方法にお
いて、前記ラッピング関数は、前記コントロールサービ
スに対するプロセス間通信を代行する。
The invention according to claim 2 is the same as claim 1.
In the method for generating an application for an image forming apparatus described in (4), the wrapping function acts as an inter-process communication for the control service.

【0014】この請求項2の発明においては、コントロ
ールサービスとのインタフェースで重要な部分を隠蔽す
ることができ、他の部分を第三者に開示することができ
る。従って、インタフェースの重要度に応じた秘匿性を
確保することができる。
According to the second aspect of the present invention, an important part can be hidden by the interface with the control service, and the other part can be disclosed to a third party. Therefore, it is possible to secure confidentiality according to the importance of the interface.

【0015】また、請求項3にかかる発明は、請求項1
または2に記載の画像形成装置用アプリケーション生成
方法において、前記ラッピング関数は、前記新規アプリ
ケーションのプロセス内部で生成されたラッピングスレ
ッドとして実行されることを特徴とする。
The invention according to claim 3 is the same as that of claim 1.
Alternatively, in the image forming apparatus application generation method according to the second aspect, the wrapping function is executed as a wrapping thread generated inside a process of the new application.

【0016】この請求項3の発明によれば、ラッピング
関数が新規アプリケーションのプロセス内部で生成され
たラッピングスレッドとして実行されるので、生成され
た新規アプリケーションのプロセス内部で、コントロー
ルサービスとのプロセス間通信等の代行処理と他の処理
とを並列実行した場合に、両処理の切り替え時間を短縮
化することができる。
According to the invention of claim 3, since the wrapping function is executed as the wrapping thread generated inside the process of the new application, the interprocess communication with the control service is performed inside the process of the generated new application. When the proxy processing such as the above and the other processing are executed in parallel, the switching time between the both processing can be shortened.

【0017】また、請求項4にかかる発明は、請求項1
ないし3のうちいずれか1項に記載の画像形成装置用ア
プリケーション生成方法において、前記ラッピング関数
は、前記コントロールサービスからのイベントに対する
応答処理を代行することを特徴とする。
The invention according to claim 4 is the same as claim 1
4. The image forming apparatus application generation method according to any one of Items 1 to 3, wherein the wrapping function substitutes a response process for an event from the control service.

【0018】この請求項4の発明によれば、イベントに
対して応答が必要な特に複雑なコントロールサービスと
のプロセス間通信の手順を新規アプリケーションのソー
スコードに記述する必要がなく、新規アプリケーション
をより効率的に開発することができる。
According to the invention of claim 4, it is not necessary to describe in the source code of the new application a procedure of interprocess communication with a particularly complicated control service that requires a response to an event, and the new application can be further improved. Can be developed efficiently.

【0019】また、請求項5にかかる発明は、請求項1
ないし4のうちいずれか1項に記載の画像形成装置用ア
プリケーション生成方法において、前記ラッピング関数
は、画像形成装置のエンジン制御を行うエンジンコント
ロールサービスが提供する全てのサービスに関するプロ
セス間通信を代行することを特徴とする。
The invention according to claim 5 is the same as claim 1.
5. The application forming method for an image forming apparatus according to any one of items 1 to 4, wherein the wrapping function acts as an inter-process communication for all services provided by an engine control service that controls an engine of the image forming apparatus. Is characterized by.

【0020】この請求項5の発明によれば、エンジンコ
ントロールサービスとのプロセス間通信の複雑な手順を
新規アプリケーションのソースコードに記述する必要が
なく、新規アプリケーションをより効率的に開発するこ
とができる。
According to the invention of claim 5, it is not necessary to describe the complicated procedure of interprocess communication with the engine control service in the source code of the new application, and the new application can be developed more efficiently. .

【0021】また、この請求項5にかかる発明によれ
ば、画像形成装置の重要なエンジン部分を制御するエン
ジンコントロールサービスとのインタフェースを隠蔽す
ることができ、特に重要なインタフェースの秘匿性を確
保できるとともに、新規アプリケーションのプログラム
ミスによるエンジン障害を未然に防止することができ
る。
According to the fifth aspect of the invention, the interface with the engine control service for controlling the important engine part of the image forming apparatus can be hidden, and the confidentiality of the particularly important interface can be secured. At the same time, it is possible to prevent an engine failure due to a programming error of a new application.

【0022】また、請求項6にかかる発明は、請求項1
ないし5のうちいずれか1項に記載の画像形成装置用ア
プリケーション生成方法において、前記ラッピング関数
は、画像形成装置のメモリ制御を行うメモリコントロー
ルサービスが提供する全てのサービスに対するプロセス
間通信を代行することを特徴とする。
The invention according to claim 6 is the same as claim 1.
6. The application forming method for an image forming apparatus according to any one of 1 to 5, wherein the wrapping function acts as an inter-process communication for all services provided by a memory control service that controls memory of the image forming apparatus. Is characterized by.

【0023】この請求項6の発明によれば、メモリコン
トロールサービスとのプロセス間通信の複雑な手順を新
規アプリケーションのソースコードに記述する必要がな
く、新規アプリケーションをより効率的に開発すること
ができる。
According to the invention of claim 6, it is not necessary to describe the complicated procedure of interprocess communication with the memory control service in the source code of the new application, and the new application can be developed more efficiently. .

【0024】また、この請求項6にかかる発明によれ
ば、画像形成装置の重要なメモリを制御するメモリコン
トロールサービスとのインタフェースを隠蔽することが
でき、特に重要なインタフェースの秘匿性を確保できる
とともに、新規アプリケーションのプログラムミスによ
るメモリ障害を未然に防止することができる。
According to the sixth aspect of the invention, the interface with the memory control service for controlling the important memory of the image forming apparatus can be hidden, and the confidentiality of the particularly important interface can be secured. It is possible to prevent a memory failure due to a programming error of a new application.

【0025】また、請求項7にかかる発明は、請求項1
ないし6のうちいずれか1項に記載の画像形成装置用ア
プリケーション生成方法において、前記ラッピング関数
は、画像形成装置のシステム制御を行うシステムコント
ロールサービスが提供するサービスの中で、システム状
態通知および電源状態に関するサービスに対するプロセ
ス間通信を代行することを特徴とする。
The invention according to claim 7 is the same as claim 1.
7. The application forming method for an image forming apparatus according to claim 1, wherein the wrapping function is a system state notification and a power state among services provided by a system control service that controls the system of the image forming apparatus. It is characterized in that the inter-process communication for the service regarding is performed on behalf.

【0026】この請求項7の発明によれば、複雑なシス
テム状態通知および電源状態に対するプロセス間通信の
手順を新規アプリケーションのソースコードに記述する
必要がなく、新規アプリケーションをより効率的に開発
することができる。
According to the invention of claim 7, it is not necessary to describe in the source code of the new application the procedure of the interprocess communication for the complicated system status notification and the power supply status, and the new application can be developed more efficiently. You can

【0027】また、この請求項7にかかる発明によれ
ば、画像形成装置の動作に大きく影響を及ぼすシステム
状態通知および電源状態に関するシステムコントロール
サービスとのインタフェースを隠蔽することができ、特
に重要なインタフェースの秘匿性を確保できるととも
に、新規アプリケーションのプログラムミスによる障害
を未然に防止することができる。
According to the seventh aspect of the invention, the interface with the system control service relating to the system status notification and the power status, which has a great influence on the operation of the image forming apparatus, can be hidden, and a particularly important interface. It is possible to secure the confidentiality of the above and prevent a failure due to a programming error of a new application in advance.

【0028】また、請求項8にかかる発明は、請求項1
ないし7のうちいずれか1項に記載の画像形成装置用ア
プリケーション生成方法において、前記ラッピング関数
は、画像形成装置のネットワーク制御を行うネットワー
クコントロールサービスが提供するサービスの中で、デ
ータ送信プロトコルを使用するサービスに対するプロセ
ス間通信を代行することを特徴とする。
The invention according to claim 8 is the same as claim 1.
8. The image forming apparatus application generation method according to any one of items 1 to 7, wherein the wrapping function uses a data transmission protocol among services provided by a network control service that performs network control of the image forming apparatus. It is characterized by performing inter-process communication for services.

【0029】この請求項8の発明によれば、データ通信
プロトコルを使用するプロセス間通信の複雑な手順を新
規アプリケーションのソースコードに記述する必要がな
く、新規アプリケーションをより効率的に開発すること
ができる。
According to the invention of claim 8, it is not necessary to describe the complicated procedure of the inter-process communication using the data communication protocol in the source code of the new application, and the new application can be developed more efficiently. it can.

【0030】また、請求項9にかかる発明は、請求項1
ないし8のうちいずれか1項に記載の画像形成装置用ア
プリケーション生成方法において、前記ラッピング関数
は、画像形成装置のオペレーションパネルを制御するオ
ペパネコントロールサービス以外の前記コントロールサ
ービスが提供するサービスに対するプロセス間通信を代
行することを特徴とする。
The invention according to claim 9 relates to claim 1
9. The application forming method for an image forming apparatus according to any one of 1 to 8, wherein the wrapping function is an inter-process for a service provided by the control service other than an operation panel control service that controls an operation panel of the image forming apparatus. Characterized by acting as a communication.

【0031】この請求項9の発明によれば、新規アプリ
ケーションが頻繁に利用するオペレーションパネルとの
インタフェースを第三者に開示しながら、他の複雑なイ
ンタフェースを隠蔽することができる。
According to the ninth aspect of the invention, the interface with the operation panel frequently used by the new application can be disclosed to a third party while hiding other complicated interfaces.

【0032】また、請求項10にかかる発明は、請求項
1ないし9のうちいずれか1項に記載の画像形成装置用
アプリケーション生成方法において、前記ラッピング関
数は、前記アプリケーションと前記コントロールサービ
スとの間に介在して実行される仮想アプリケーションサ
ービスに対するプロセス間通信を代行することを特徴と
する。
The invention according to claim 10 is the method for generating an application for an image forming apparatus according to any one of claims 1 to 9, wherein the wrapping function is provided between the application and the control service. Intermediary communication is performed on behalf of a virtual application service executed by intervening.

【0033】本発明によれば、仮想アプリケーションサ
ービスとのプロセス間通信の手順を新規アプリケーショ
ンのソースコードに記述する必要がなく、新規アプリケ
ーションをより効率的に開発することができる。
According to the present invention, it is not necessary to describe the procedure of interprocess communication with the virtual application service in the source code of the new application, and the new application can be developed more efficiently.

【0034】また、請求項11〜13にかかる発明は、
上記の方法によりコンピュータにプログラムを生成させ
るプログラムであり、このプログラムをコンピュータに
よって実行することにより、新規アプリの実行形式プロ
グラムを得ることができる。また、請求項14にかかる
発明は、請求項1ないし10のうちいずれか1項に記載
の方法により生成されたプログラムであり、請求項15
にかかる発明は、請求項11ないし14のうちいずれか
1項に記載のプログラムを記録したコンピュータ読み取
り可能な記録媒体である。
The invention according to claims 11 to 13 is
It is a program for causing a computer to generate a program by the above method, and by executing this program by the computer, an execution form program of a new application can be obtained. The invention according to claim 14 is a program generated by the method according to any one of claims 1 to 10, and
The invention according to claim 7 is a computer-readable recording medium in which the program according to any one of claims 11 to 14 is recorded.

【0035】また、請求項16にかかる発明は、請求項
14のプログラムを搭載した画像形成装置であるので、
効率的に作成された高品質なアプリケーションを有する
画像形成装置を提供することができる。
The invention according to claim 16 is an image forming apparatus having the program according to claim 14 mounted thereon.
It is possible to provide an image forming apparatus having a high quality application created efficiently.

【0036】また、請求項17にかかる発明は、画像形
成処理で使用されるハードウェア資源と、画像形成に関
する処理を行うアプリケーションと、該アプリケーショ
ンと前記ハードウェア資源との間に介在するコントロー
ルサービスとを備えた画像形成装置に搭載される新規ア
プリケーションを開発するための画像形成装置用アプリ
開発記録媒体であって、前記新規アプリケーションのソ
ースコードを記述したソースファイルから前記新規アプ
リケーションの実行形式プログラムを生成するアプリ生
成プログラムと、前記コントロールサービスに対する処
理を代行するラッピング関数を登録したラッピング関数
ライブラリと、を記録したことを特徴とする。
According to a seventeenth aspect of the present invention, there are provided a hardware resource used in the image forming process, an application for performing a process related to the image forming, and a control service interposed between the application and the hardware resource. An application development recording medium for an image forming apparatus for developing a new application to be installed in an image forming apparatus including a device, wherein an execution format program of the new application is generated from a source file describing a source code of the new application. It is characterized in that an application generating program for performing the control and a wrapping function library in which a wrapping function for performing the processing for the control service is registered are recorded.

【0037】この請求項17の発明を用いることによ
り、コントロールサービスとの複雑な手順を新規アプリ
ケーションのソースコードに記述する必要がなく、新規
アプリケーションを効率的に開発することができる。
By using the invention of the seventeenth aspect, it is not necessary to describe a complicated procedure with the control service in the source code of the new application, and the new application can be efficiently developed.

【0038】また、この請求項17にかかる発明によれ
ば、ラッピング関数が新規アプリケーションに代わって
コントロールサービスとの処理を行うので、コントロー
ルサービスとのインタフェースを隠蔽して、重要なイン
タフェースの秘匿性を確保して新規アプリケーションを
開発することができる。
According to the seventeenth aspect of the invention, since the wrapping function performs processing with the control service instead of the new application, the interface with the control service is hidden and the confidentiality of the important interface is kept. Secure and develop new applications.

【0039】また、請求項18にかかる発明は、請求項
17に記載のコンピュータで読み取り可能な画像形成装
置用アプリ開発記録媒体において、前記ラッピング関数
は、前記コントロールサービスに対するプロセス間通信
を代行することを特徴とする。
According to an eighteenth aspect of the present invention, in the computer-readable application development recording medium for an image forming apparatus according to the seventeenth aspect, the wrapping function substitutes inter-process communication for the control service. Is characterized by.

【0040】この請求項18の発明によれば、コントロ
ールサービスとのインタフェースで重要な部分を隠蔽
し、他の部分を第三者に開示することができ、インタフ
ェースの重要度に応じた秘匿性を確保して新規アプリケ
ーションを開発することができる。
According to the eighteenth aspect of the present invention, an important part can be concealed in the interface with the control service, and the other part can be disclosed to a third party, and confidentiality according to the importance of the interface can be provided. Secure and develop new applications.

【0041】また、請求項19にかかる発明は、請求項
17または18に記載のコンピュータで読み取り可能な
画像形成装置用アプリ開発記録媒体において、前記ラッ
ピング関数は、前記新規アプリケーションのプロセス内
部で生成されたラッピングスレッドとして実行されるこ
とを特徴とする。
According to a nineteenth aspect of the present invention, in the computer-readable application development recording medium for an image forming apparatus according to the seventeenth or eighteenth aspect, the wrapping function is generated inside the process of the new application. It is characterized by being executed as a wrapping thread.

【0042】この請求項19の発明によれば、生成され
た新規アプリケーションのプロセス内部で、コントロー
ルサービスとのプロセス間通信の代行処理と他の処理と
を並列実行した場合に、両処理の切り替え時間を短縮化
することができる。
According to the nineteenth aspect of the present invention, when the proxy process of inter-process communication with the control service and another process are executed in parallel inside the process of the generated new application, the switching time of both processes is changed. Can be shortened.

【0043】また、請求項20にかかる発明は、請求項
17ないし19のうちいずれか1項に記載のコンピュー
タで読み取り可能な画像形成装置用アプリ開発記録媒体
において、前記ラッピング関数は、前記コントロールサ
ービスからのイベントに対する応答処理を代行すること
を特徴とする。
The invention according to claim 20 is the computer-readable application development recording medium for an image forming apparatus according to any one of claims 17 to 19, wherein the wrapping function is the control service. It is characterized in that the response processing for the event from is performed on behalf.

【0044】この請求項20の発明によれば、イベント
に対して応答が必要な処理手順、特に複雑なコントロー
ルサービスとのプロセス間通信の手順を新規アプリケー
ションのソースコードに記述する必要がなく、新規アプ
リケーションをより効率的に開発することができる。
According to the twentieth aspect of the present invention, it is not necessary to describe in the source code of the new application a processing procedure that requires a response to an event, particularly a procedure for interprocess communication with a complicated control service. Applications can be developed more efficiently.

【0045】また、請求項21にかかる発明は、請求項
17ないし20のうちいずれか1項に記載のコンピュー
タで読み取り可能な画像形成装置用アプリ開発記録媒体
において、前記ラッピング関数は、画像形成装置のエン
ジン制御を行うエンジンコントロールサービスが提供す
る全てのサービスに関するプロセス間通信を代行するこ
とを特徴とする。
According to a twenty-first aspect of the present invention, in the computer-readable application development recording medium for an image forming apparatus according to any one of the seventeenth to twentieth aspects, the wrapping function is the image forming apparatus. It is characterized by performing inter-process communication on behalf of all services provided by the engine control service for controlling the engine.

【0046】この請求項21の発明によれば、エンジン
コントロールサービスとのプロセス間通信の複雑な手順
を新規アプリケーションのソースコードに記述する必要
がなく、新規アプリケーションをより効率的に開発する
ことができる。更に、画像形成装置の重要なエンジン部
分を制御するエンジンコントロールサービスとのインタ
フェースを隠蔽することができ、特に重要なインタフェ
ースの秘匿性を確保できるとともに、新規アプリケーシ
ョンのプログラムミスによるエンジン障害を未然に防止
することができる。
According to the twenty-first aspect of the invention, it is not necessary to describe the complicated procedure of interprocess communication with the engine control service in the source code of the new application, and the new application can be developed more efficiently. . Furthermore, the interface with the engine control service that controls the important engine part of the image forming apparatus can be hidden, the confidentiality of the particularly important interface can be secured, and the engine failure due to the programming error of the new application can be prevented. can do.

【0047】また、請求項22にかかる発明は、請求項
17ないし21のうちいずれか1項に記載のコンピュー
タで読み取り可能な画像形成装置用アプリ開発記録媒体
において、前記ラッピング関数は、画像形成装置のメモ
リ制御を行うメモリコントロールサービスが提供する全
てのサービスに対するプロセス間通信を代行することを
特徴とする。
According to a twenty-second aspect of the present invention, in the computer-readable application development recording medium for an image forming apparatus according to any one of the seventeenth to twenty-first aspects, the wrapping function is the image forming apparatus. It is characterized by performing inter-process communication on behalf of all services provided by the memory control service that controls the memory.

【0048】この請求項22の発明によれば、メモリコ
ントロールサービスとのプロセス間通信の複雑な手順を
新規アプリケーションのソースコードに記述する必要が
なく、新規アプリケーションをより効率的に開発するこ
とができる。また、画像形成装置の重要なメモリを制御
するメモリコントロールサービスとのインタフェースを
隠蔽することができ、特に重要なインタフェースの秘匿
性を確保できるとともに、新規アプリケーションのプロ
グラムミスによるメモリ障害を未然に防止することがで
きる。
According to the twenty-second aspect of the invention, it is not necessary to describe the complicated procedure of interprocess communication with the memory control service in the source code of the new application, and the new application can be developed more efficiently. . Also, the interface with the memory control service that controls the important memory of the image forming apparatus can be hidden, the confidentiality of the particularly important interface can be ensured, and the memory failure due to the programming error of the new application can be prevented. be able to.

【0049】また、請求項23にかかる発明は、請求項
17ないし22のうちいずれか1項に記載のコンピュー
タで読み取り可能な画像形成装置用アプリ開発記録媒体
において、前記ラッピング関数は、画像形成装置のシス
テム制御を行うシステムコントロールサービスが提供す
るサービスの中で、システム状態通知および電源状態に
関するサービスに対するプロセス間通信を代行すること
を特徴とする。
According to a twenty-third aspect of the present invention, in the computer-readable application development recording medium for an image forming apparatus according to any one of the seventeenth to twenty-second aspects, the wrapping function is the image forming apparatus. Among the services provided by the system control service that controls the system, the inter-process communication is performed on behalf of the system status notification service and the power status service.

【0050】この請求項23の発明によれば、複雑なシ
ステム状態通知および電源状態に対するプロセス間通信
の手順を新規アプリケーションのソースコードに記述す
る必要がなく、新規アプリケーションをより効率的に開
発することができる。また、画像形成装置の動作に大き
く影響を及ぼすシステム状態通知および電源状態に関す
るシステムコントロールサービスとのインタフェースを
隠蔽することができ、特に重要なインタフェースの秘匿
性を確保できるとともに、新規アプリケーションのプロ
グラムミスによるメモリ障害を未然に防止することがで
きる。
According to the twenty-third aspect of the present invention, it is not necessary to describe the procedure of the inter-process communication for the complicated system status notification and the power supply status in the source code of the new application, and the new application can be developed more efficiently. You can Further, it is possible to hide the interface with the system control service regarding the system status notification and the power supply state, which has a great influence on the operation of the image forming apparatus, so that the confidentiality of a particularly important interface can be secured, and a program error of a new application may occur. A memory failure can be prevented in advance.

【0051】また、請求項24にかかる発明は、請求項
17ないし23のうちいずれか1項に記載のコンピュー
タで読み取り可能な画像形成装置用アプリ開発記録媒体
において、前記ラッピング関数は、画像形成装置のネッ
トワーク制御を行うネットワークコントロールサービス
が提供するサービスの中で、データ送信プロトコルを使
用するサービスに対するプロセス間通信を代行すること
を特徴とする。
According to a twenty-fourth aspect of the present invention, in the computer-readable application development recording medium for an image forming apparatus according to any one of the seventeenth to twenty-third aspects, the wrapping function is the image forming apparatus. Among the services provided by the network control service that controls the network, the interprocess communication is performed on behalf of the service that uses the data transmission protocol.

【0052】この請求項24の発明によれば、通信プロ
トコルを使用するプロセス間通信の複雑な手順を新規ア
プリケーションのソースコードに記述する必要がなく、
新規アプリケーションをより効率的に開発することがで
きる。
According to the twenty-fourth aspect of the present invention, it is not necessary to describe the complicated procedure of interprocess communication using the communication protocol in the source code of the new application,
New applications can be developed more efficiently.

【0053】また、請求項25にかかる発明は、請求項
17ないし24のうちいずれか1項に記載のコンピュー
タで読み取り可能な画像形成装置用アプリ開発記録媒体
において、前記ラッピング関数は、画像形成装置のオペ
レーションパネルを制御するオペパネコントロールサー
ビス以外の前記コントロールサービスが提供するサービ
スに対するプロセス間通信を代行することを特徴とす
る。
According to a twenty-fifth aspect of the present invention, in the computer-readable application development recording medium for an image forming apparatus according to any one of the seventeenth to twenty-fourth aspects, the wrapping function is the image forming apparatus. The inter-process communication for the service provided by the control service other than the operation panel control service for controlling the operation panel is performed instead.

【0054】この請求項25の発明によれば、新規アプ
リケーションが頻繁に利用するオペレーションパネルと
のインタフェースを第三者に開示しながら、他の複雑な
インタフェースを隠蔽することができる。
According to the twenty-fifth aspect of the present invention, it is possible to hide the interface with the operation panel frequently used by the new application to a third party while hiding other complicated interfaces.

【0055】また、請求項26にかかる発明は、請求項
17ないし25のうちいずれか1項に記載のコンピュー
タで読み取り可能な画像形成装置用アプリ開発記録媒体
において、前記ラッピング関数は、前記アプリケーショ
ンと前記コントロールサービスとの間に介在して実行さ
れる仮想アプリケーションサービスに対するプロセス間
通信を代行することを特徴とする。
According to a twenty-sixth aspect of the present invention, in the computer-readable application development recording medium for an image forming apparatus according to any one of the seventeenth to twenty-fifth aspects, the wrapping function is the application. It is characterized in that the inter-process communication is performed on behalf of a virtual application service executed by intervening with the control service.

【0056】本発明によれば、仮想アプリケーションサ
ービスとのプロセス間通信の手順を新規アプリケーショ
ンのソースコードに記述する必要がなく、新規アプリケ
ーションをより効率的に開発することができる。
According to the present invention, it is not necessary to describe the procedure of interprocess communication with the virtual application service in the source code of the new application, and the new application can be developed more efficiently.

【0057】また、請求項27にかかる発明は、画像形
成処理で使用されるハードウェア資源と、画像形成に関
する処理を行うアプリケーションと、該アプリケーショ
ンと前記ハードウェア資源との間に介在するコントロー
ルサービスとを備えた画像形成装置に搭載される新規ア
プリケーションを生成する画像形成装置用アプリケーシ
ョン生成方法であって、前記コントロールサービスとの
プロセス間通信を、既存の前記アプリケーションを介し
て行うアプリ関数の呼び出し処理が記述された新規アプ
リケーションのソースファイルをコンパイルし、オブジ
ェクトファイルを生成するコンパイルステップと、前記
アプリ関数が登録されたアプリ関数ライブラリと、前記
オブジェクトファイルとをリンクして、前記新規アプリ
ケーションの実行形式プログラムを生成するリンクステ
ップと、を含んだことを特徴とする。
Further, the invention according to claim 27 is such that a hardware resource used in the image forming process, an application for performing a process related to the image forming, and a control service interposed between the application and the hardware resource. An image forming apparatus application generating method for generating a new application to be installed in an image forming apparatus including a method, wherein inter-process communication with the control service is performed by calling an application function via the existing application. Compile the source file of the described new application and generate an object file, link the application function library in which the application function is registered, and the object file, and execute the new application Characterized in that it includes a link generating an expression programs, the.

【0058】この請求項27にかかる発明によれば、コ
ントロールサービスとのプロセス間通信は既存のアプリ
ケーションを利用して実現され、プロセス間通信の複雑
な手順を新規アプリケーションのソースコードに記述す
る必要がなく、新規アプリケーションを効率的に開発す
ることができる。
According to the twenty-seventh aspect of the present invention, the interprocess communication with the control service is realized by using the existing application, and the complicated procedure of the interprocess communication needs to be described in the source code of the new application. Without it, new applications can be developed efficiently.

【0059】また、請求項28にかかる発明は、請求項
27に記載の画像形成装置用アプリケーション生成方法
において、前記アプリ関数は、コピーアプリ、プリンタ
アプリ、ファックスアプリまたはスキャナアプリの中の
一または二以上のアプリケーションを介して前記コント
ロールサービスに対する処理を行うことを特徴とする。
The invention according to claim 28 is the method for generating an application for an image forming apparatus according to claim 27, wherein the application function is one or two of a copy application, a printer application, a fax application or a scanner application. It is characterized in that processing for the control service is performed through the above application.

【0060】この請求項28にかかる発明によれば、新
規アプリケーションにコピー機能、プリンタ機能、ファ
ックス機能またはスキャナ機能を持たせる場合でも、各
機能に対応したアプリケーションを介してコントロール
サービスとプロセス間通信を行えるので、新規アプリケ
ーション独自にコントロールサービスとのプロセス間通
信の手順をソースコードに記述する必要がなく、新規ア
プリケーションを効率的に開発することができる。
According to the twenty-eighth aspect of the present invention, even when a new application is provided with a copy function, a printer function, a fax function or a scanner function, the control service and the interprocess communication can be performed via the application corresponding to each function. Therefore, it is not necessary to write the procedure of interprocess communication with the control service in the source code independently of the new application, and the new application can be efficiently developed.

【0061】また、請求項29にかかる発明は、上記方
法をコンピュータに実行させるプログラムである。ま
た、請求項30にかかる発明は、請求項27または28
に記載の方法により生成されたプログラムである。請求
項31にかかる発明は、請求項29または30に記載の
プログラムを記録したコンピュータ読み取り可能な記録
媒体である。また、請求項32にかかる発明は、請求項
30に記載のプログラムを前記アプリケーションとして
搭載した画像形成装置であるので、効率的に作成された
高品質なアプリケーションを有する画像形成装置を提供
することができる。
The invention according to claim 29 is a program for causing a computer to execute the above method. The invention according to claim 30 is the invention according to claim 27 or 28.
It is a program generated by the method described in. The invention according to claim 31 is a computer-readable recording medium in which the program according to claim 29 or 30 is recorded. Further, since the invention according to claim 32 is an image forming apparatus in which the program according to claim 30 is installed as the application, it is possible to provide an image forming apparatus having an efficiently created high quality application. it can.

【0062】また、請求項33にかかる発明は、画像形
成処理で使用されるハードウェア資源と、画像形成に関
する処理を行うアプリケーションと、該アプリケーショ
ンと前記ハードウェア資源との間に介在するコントロー
ルサービスとを備えた画像形成装置に搭載される新規ア
プリケーションを開発するための画像形成装置用アプリ
開発記録媒体であって、前記新規アプリケーションのソ
ースコードを記述したソースファイルから前記新規アプ
リケーションの実行形式プログラムを生成するアプリ生
成プログラムと、前記コントロールサービスとのプロセ
ス間通信を、既存の前記アプリケーションを介して行う
アプリ関数が登録されたアプリ関数ライブラリと、を記
録したことを特徴とする。
According to a thirty-third aspect of the present invention, there are provided a hardware resource used in the image forming process, an application for performing a process related to the image forming, and a control service interposed between the application and the hardware resource. An application development recording medium for an image forming apparatus for developing a new application to be installed in an image forming apparatus including a device, wherein an execution format program of the new application is generated from a source file describing a source code of the new application. And an application function library in which an application function for performing inter-process communication with the control service via the existing application is recorded.

【0063】この請求項33にかかる発明によれば、コ
ントロールサービスとのプロセス間通信は既存のアプリ
ケーションを利用して実現され、プロセス間通信の複雑
な手順を新規アプリケーションのソースコードに記述す
る必要がなく、新規アプリケーションを効率的に開発す
ることができる。
According to the thirty-third aspect of the present invention, the interprocess communication with the control service is realized by using the existing application, and it is necessary to describe the complicated procedure of the interprocess communication in the source code of the new application. Without it, new applications can be developed efficiently.

【0064】また、請求項34にかかる発明は、請求項
33に記載のコンピュータで読み取り可能な画像形成装
置用アプリ開発記録媒体において、前記アプリ関数は、
コピーアプリ、プリンタアプリ、ファックスアプリまた
はスキャナアプリの中の一または二以上のアプリケーシ
ョンを介して前記コントロールサービスに対する処理を
行うことを特徴とする。
According to a thirty-fourth aspect of the invention, in the computer-readable application development recording medium for an image forming apparatus according to the thirty-third aspect, the application function is:
The control service is processed through one or more applications of a copy application, a printer application, a fax application, and a scanner application.

【0065】この請求項34にかかる発明によれば、新
規アプリケーション独自にコントロールサービスとのプ
ロセス間通信の手順をソースコードに記述する必要がな
く、新規アプリケーションを効率的に開発することがで
きる。
According to the thirty-fourth aspect of the present invention, a new application can be efficiently developed without the need to describe in the source code the procedure of interprocess communication with the control service uniquely to the new application.

【0066】[0066]

【発明の実施の形態】以下に添付図面を参照して、本発
明の好適な実施の形態を詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

【0067】(実施の形態1)この発明の実施の形態1
では、画像形成装置(以下、「複合機」という。)で動
作させる新規アプリケーションを開発する場合、開発用
PC(Personal Computer)によってアプリソースファ
イルを作成する。そして、アプリケーション開発のため
にCD−ROMなどの記録媒体で提供されるアプリ開発
キットを開発用サーバにインストールして、作成したア
プリソースファイルを、開発用サーバでコンパイル、リ
ンクして複合機で実行可能なアプリケーションの実行形
式ファイルを生成している。
(Embodiment 1) Embodiment 1 of the present invention
Then, when developing a new application to be operated by the image forming apparatus (hereinafter, referred to as a “multifunction device”), an application source file is created by a development PC (Personal Computer). Then, install the application development kit provided on a recording medium such as a CD-ROM for application development on the development server, compile and link the created application source file on the development server, and execute it on the multifunction machine. You have generated an executable file for a possible application.

【0068】図1は、実施の形態1である開発用サーバ
100のソフトウェア構成を示すブロック図である。こ
の図1では、アプリ開発キットを開発用サーバ100の
ハードディスク(HD)130にインストール済みの状
態を示している。実施の形態1にかかる開発用サーバ1
00は、複合機で動作させるための新規アプリケーショ
ンの新規アプリソースファイル132をコンパイルおよ
びリンクして、新規アプリケーションのプログラムであ
るアプリ実行形式ファイル134を生成するものであ
る。実施の形態1にかかる開発用サーバ100は、図1
に示すように、デバッグ機能付きコンパイラ110と、
リンカ120とから構成される。
FIG. 1 is a block diagram showing the software configuration of the development server 100 according to the first embodiment. FIG. 1 shows a state in which the application development kit is already installed in the hard disk (HD) 130 of the development server 100. Development server 1 according to the first embodiment
Reference numeral 00 is a file for compiling and linking a new application source file 132 of a new application to be operated by the multi-function peripheral to generate an application execution format file 134 which is a program of the new application. The development server 100 according to the first embodiment is shown in FIG.
As shown in FIG.
It is composed of a linker 120.

【0069】デバッグ機能付きコンパイラ110は、ハ
ードディスク(HD)130に格納されたアプリケーシ
ョンのソースコードが記述された新規アプリソースファ
イル132を、コマンドの指定に従って、オブジェクト
コードからなるオブジェクトファイルを生成するもので
ある。デバッグ機能付きコンパイラ110は、図1に示
すように、さらにコマンド解析部111と、構文解析部
112と、タグ付加部113と、コード生成部114と
から構成される。
The compiler with debug function 110 generates an object file composed of object code from the new application source file 132 in which the source code of the application stored in the hard disk (HD) 130 is described according to the command specification. is there. As shown in FIG. 1, the compiler 110 with a debug function further includes a command analysis unit 111, a syntax analysis unit 112, a tag addition unit 113, and a code generation unit 114.

【0070】HD(ハードディスク)130には、アプ
リケーション開発用のアプリ開発キット131がインス
トールされている。また、HD130にアプリケーショ
ンのC言語ソースコードが記述された新規アプリソース
ファイル132が格納される。この新規アプリソースフ
ァイル132は、開発用PCでエディタによって作成さ
れ、開発用サーバ100にコピーされる。
An application development kit 131 for application development is installed in the HD (hard disk) 130. Also, a new application source file 132 in which the C language source code of the application is described is stored in the HD 130. The new application source file 132 is created by the editor on the development PC and copied to the development server 100.

【0071】また、HD130には、デバッグ機能付き
コンパイラ110によって、オブジェクトファイル13
3が生成され、さらにリンカ120によってアプリ実行
形式ファイル134が生成される。
In the HD 130, the object file 13
3 is generated, and the linker 120 further generates the application execution format file 134.

【0072】デバッグ機能付きコンパイラ110のコマ
ンド解析部111は、ユーザからキーボードなどの入力
装置によって入力されたコマンドのパラメータや構文の
解析を行って、入力されたコマンドが文法的に正確か否
かを判断するものである。
The command analysis unit 111 of the compiler with debug function 110 analyzes parameters and syntax of a command input by the user through an input device such as a keyboard, and determines whether the input command is grammatically correct or not. It is a judgment.

【0073】構文解析部112は、HD130に格納さ
れた新規アプリソースファイル132を入力して、新規
アプリソースファイル132に記述されたC言語ソース
コードを、C言語文法に従って解析し、導出木や構文木
などを生成するものであり、通常のコンパイラにおける
構文解析と同様の処理を行う。
The syntax analysis unit 112 inputs the new application source file 132 stored in the HD 130, analyzes the C language source code described in the new application source file 132 according to the C language grammar, and derives a derivation tree and a syntax. It generates a tree, etc., and performs the same processing as syntax analysis in a normal compiler.

【0074】タグ付加部113は、コマンドの指定によ
って、新規アプリソースファイル132に記述された関
数の入口と出口にデバッグ用の検証コードであるタグを
付加するものである。
The tag adding unit 113 adds a tag, which is a verification code for debugging, to the entrance and exit of the function described in the new application source file 132 according to command designation.

【0075】コード生成部114は、構文解析され、必
要に応じて検証コード(タグ)が付加された新規アプリ
ソースファイル132から、オブジェクトコードからな
るオブジェクトファイル133を生成するものである。
The code generator 114 generates an object file 133 composed of an object code from the new application source file 132 that has been syntactically analyzed and to which a verification code (tag) is added if necessary.

【0076】リンカ120は、コード生成部114によ
って生成されたオブジェクトファイル133と、アプリ
開発キット131の中のコントロールサービス関数ライ
ブラリ、標準関数ライブラリおよびコントロールサービ
スラッピング関数ライブラリとをリンク(結合)して、
複合機およびコンピュータのOS上で実行可能なアプリ
実行形式ファイル134を生成するものである。
The linker 120 links (combines) the object file 133 generated by the code generator 114 with the control service function library, standard function library and control service wrapping function library in the application development kit 131,
The application execution format file 134 that can be executed on the OS of the multi-function peripheral and the computer is generated.

【0077】アプリ開発キット131は、CD−ROM
またはフレキシブルディスク(FD)などの記録媒体に
インストール可能な形式で提供され、開発用サーバ10
0のHD130にインストールされる。この記録媒体の
アプリ開発キット131の中には、図1に示すように、
各コントロールサービスごとに提供するサービス関数を
登録したコントロールサービス関数ライブラリ(たとえ
ば、ECS関数ライブラリ、MCS関数ライブラリな
ど)と、strcpy,memcpyなどのC言語標準
関数を登録した標準関数ライブラリと、コントロールサ
ービスラッピング関数wrapping_thrdを登
録したコントロールサービスラッピング関数ライブラリ
と、アプリ登録のためのAplReg関数、スレッド間
通信で使用されるsendmail関数およびrcvm
ail関数などを登録したユーティリティライブラリ
と、アプリケーションとコントロールサービスに共通で
使用される関数宣言やメッセージ宣言が記述されている
ヘッダファイルと、デバッグ機能付きコンパイラと、リ
ンカと、汎用OSプログラムと、デバッガなどのデバッ
グ用ユーティリティとが含まれている。
The application development kit 131 is a CD-ROM
Alternatively, the development server 10 is provided in a format that can be installed in a recording medium such as a flexible disk (FD).
0 HD130 installed. In the application development kit 131 of this recording medium, as shown in FIG.
A control service function library (for example, ECS function library, MCS function library) in which service functions provided for each control service are registered, a standard function library in which C language standard functions such as strcpy and memcpy are registered, and control service wrapping Control service wrapping function library that registered function wrapping_thrd, AppReg function for application registration, sendmail function and rcvm used in inter-thread communication
A utility library in which ail functions are registered, a header file in which function declarations and message declarations commonly used by applications and control services are described, a compiler with a debug function, a linker, a general-purpose OS program, a debugger, etc. Includes a debugging utility and.

【0078】コントロールサービスラッピング関数ライ
ブラリは、コントロールサービスラッピング関数wra
pping_thrdを登録したものである。コントロ
ールサービスラッピング関数wrapping_thr
dは、アプリケーション330がコントロールサービス
と、APIを利用した関数呼び出しまたはメッセージ送
受信によるプロセス間通信を行う場合に、複雑な関数呼
び出しやメッセージ送受信の手順を、アプリケーション
330に代わって行うものである。コントロールサービ
スラッピング関数wrapping_thrdの詳細な
処理については後述する。
The control service wrapping function library is a control service wrapping function wr.
It is a registered version of pping_thrd. Control service wrapping function wrapping_thr
In the case where the application 330 performs inter-process communication by function call or message transmission / reception using API with the control service, the application 330 performs complicated function call or message transmission / reception in place of the application 330. Detailed processing of the control service wrapping function wrapping_thrd will be described later.

【0079】上記デバッグ機能付きコンパイラ110の
各部およびリンカ120は、このアプリ開発キットをイ
ンストールして実行したときに、RAM203上に生成
されて実行される。
The respective parts of the compiler 110 with the debug function and the linker 120 are generated and executed on the RAM 203 when this application development kit is installed and executed.

【0080】なお、実施の形態1では、アプリ開発キッ
トを記録媒体で提供することとしているが、また、この
ような実行可能な形式またはインストール可能な形式の
ファイルを、ネットワーク経由でダウンロードすること
により提供するように構成しても良い。
Although the application development kit is provided as a recording medium in the first embodiment, it is also possible to download such an executable or installable file via the network. It may be configured to provide.

【0081】図2は、実施の形態1にかかる開発用サー
バ、開発用PCのハードウェア構成および開発環境を示
すブロック図である。図2に示すように、この開発用サ
ーバ100は、CPUなどの制御装置204と、RAM
(Random Access Memory)203
と、HD130と、ディスプレイ装置などの表示装置2
02と、キーボードやマウスなどの入力装置201と、
LANボードやモデムなどの通信装置206と、フラッ
シュカードのリード/ライトを制御するフラッシュカー
ドインタフェースやCD−ROMのリード制御を行うC
Dドライブ装置などの外部記憶装置205とを備えてお
り、PC(Personal Computer)、ワークステーション
などのコンピュータを利用した通常の構成である。
FIG. 2 is a block diagram showing the hardware configuration and development environment of the development server and the development PC according to the first embodiment. As shown in FIG. 2, the development server 100 includes a control device 204 such as a CPU and a RAM.
(Random Access Memory) 203
And a HD 130 and a display device 2 such as a display device
02, an input device 201 such as a keyboard and a mouse,
A communication device 206 such as a LAN board and a modem, a flash card interface for controlling read / write of a flash card, and a C for performing read control of a CD-ROM
It has an external storage device 205 such as a D drive device, and has a normal configuration using a computer such as a PC (Personal Computer) or a workstation.

【0082】この開発用サーバ100は、イーサネット
(登録商標)220などのネットワークによって開発用
PC200と複合機300に接続されており、LAN環
境が構築されている。開発用PC200のハードウェア
構成は、図2に示す通り、開発用サーバ100と同様の
構成となっている。複合機300には、複合機の起動を
制御したり、エラー表示のためのコンソールPC230
がケーブルによって接続されている。
The development server 100 is connected to the development PC 200 and the multifunction peripheral 300 by a network such as Ethernet (registered trademark) 220, and a LAN environment is constructed. The hardware configuration of the development PC 200 is the same as that of the development server 100, as shown in FIG. The multifunction peripheral 300 includes a console PC 230 for controlling the startup of the multifunction peripheral and displaying an error.
Are connected by a cable.

【0083】次に、デバッグ対象である複合機300に
ついて説明する。図3は、複合機300の機能的構成を
示すブロック図である。図3に示すように、複合機30
0は、白黒ラインプリンタ(B&W LP)301と、カラー
ラインプリンタ(Color LP)302と、スキャナ、ファ
クシミリ、ハードディスク(HD)、メモリ、ネットワ
ークインタフェースなどのハードウェアリソース303
を有するとともに、プラットホーム320とアプリケー
ション330とから構成されるソフトウェア群310と
を備えている。
Next, the multi-function peripheral 300 to be debugged will be described. FIG. 3 is a block diagram showing the functional configuration of the multifunction peripheral 300. As shown in FIG.
0 is a monochrome line printer (B & W LP) 301, a color line printer (Color LP) 302, and hardware resources 303 such as a scanner, a facsimile, a hard disk (HD), a memory, and a network interface.
And a software group 310 including a platform 320 and an application 330.

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

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

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

【0087】SRM323のプロセスは、SCS322
とともにシステムの制御およびリソースの管理を行うも
のである。SRM323のプロセスは、スキャナ部やプ
リンタ部などのエンジン、メモリ、HDDファイル、ホ
ストI/O(セントロI/F、ネットワークI/F、I
EEE1394 I/F、RS232C I/Fなど)
のハードウェア資源を利用する上位層からの要求に従っ
て調停を行い、実行制御する。
The process of SRM 323 is SCS 322.
It also controls the system and manages resources. The process of the SRM 323 includes an engine such as a scanner unit and a printer unit, a memory, an HDD file, a host I / O (Centro I / F, a network I / F, an I / F).
(EEE1394 I / F, RS232C I / F, etc.)
It arbitrates and controls execution according to the request from the upper layer that uses the hardware resource of.

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

【0089】SCS322のプロセスは、アプリ管理、
操作部制御、システム画面表示、LED表示、リソース
管理、割り込みアプリ制御などを行う。
The process of SCS322 is application management,
It controls the operation unit, system screen display, LED display, resource management, interrupt application control, etc.

【0090】ECS324のプロセスは、白黒ラインプ
リンタ301、カラーラインプリンタ302、スキャ
ナ、ファクシミリなどからなるハードウェアリソース3
03のエンジンの制御を行う。
The process of the ECS 324 is performed by the hardware resource 3 including the black and white line printer 301, the color line printer 302, the scanner and the facsimile.
03 engine control.

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

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

【0093】NCS328のプロセスは、ネットワーク
I/Oを必要とするアプリケーションに対して共通に利
用できるサービスを提供するためのプロセスであり、ネ
ットワーク側から各プロトコルによって受信したデータ
を各アプリケーションに振り分けたり、アプリケーショ
ンからデータをネットワーク側に送信する際の仲介を行
う。具体的には、ftpd、httpd、lpd、snmpd、telnetd、
smtpdなどのサーバデーモンや、同プロトコルのクライ
アント機能などを有している。
The NCS 328 process is a process for providing a service that can be used in common to applications that require network I / O. Data received by each protocol from the network side is distributed to each application, It mediates when data is sent from the application to the network side. Specifically, ftpd, httpd, lpd, snmpd, telnetd,
It has a server daemon such as smtpd and a client function of the same protocol.

【0094】OCS326は、オペレータ(ユーザ)と
本体制御間の情報伝達手段となるオペレーションパネル
(操作パネル)の制御を行う。OCS326は、オペレ
ーションパネルからキー押下をキーイベントとして取得
し、取得したキーに対応したキーイベント関数をSCS
322に送信するOCSプロセスの部分と、アプリケー
ション330またはコントロールサービスからの要求に
よりオペレーションパネルに各種画面を描画出力する描
画関数やその他オペレーションパネルに対する制御を行
う関数などがあらかじめ登録されたOCSライブラリの
部分とから構成される。このOCSライブラリは、アプ
リケーション330およびコントロールサービスの各モ
ジュールにリンクされて実装されている。なお、OCS
326の全てをプロセスとして動作させるように構成し
ても良く、あるいはOCS326の全てをOCSライブ
ラリとして構成しても良い。
The OCS 326 controls an operation panel (operation panel) that serves as a means for transmitting information between the operator (user) and the main body control. The OCS 326 acquires the key press as a key event from the operation panel, and the SCS acquires the key event function corresponding to the acquired key.
A part of the OCS process to be transmitted to 322, and a part of the OCS library in which a drawing function for drawing and outputting various screens on the operation panel in response to a request from the application 330 or the control service and other functions for controlling the operation panel are registered in advance. Composed of. This OCS library is implemented by being linked to each module of the application 330 and the control service. In addition, OCS
All of the 326 may be configured to operate as a process, or all of the OCS 326 may be configured as an OCS library.

【0095】アプリケーション330は、ページ記述言
語(PDL)、PCLおよびポストスクリプト(PS)
を有するプリンタ用のアプリケーションであるプリンタ
アプリ311と、コピー用アプリケーションであるコピ
ーアプリ312と、ファクシミリ用アプリケーションで
あるファックスアプリ313と、スキャナ用アプリケー
ションであるスキャナアプリ314と、ネットワークフ
ァイル用アプリケーションであるネットファイルアプリ
315と、工程検査用アプリケーションである工程検査
アプリ316とを有している。これらのアプリケーショ
ン330はいずれも複合機300の起動時に初期化部
(図示せず)によりプロセスとして生成され、動作す
る。
The application 330 is a page description language (PDL), PCL and Postscript (PS).
A printer application 311, which is a printer application, a copy application 312, which is a copy application, a fax application 313, which is a facsimile application, a scanner application 314, which is a scanner application, and a network file application, which is a network file application. It has a file application 315 and a process inspection application 316 which is a process inspection application. Each of these applications 330 is generated and operated as a process by an initialization unit (not shown) when the multifunction peripheral 300 is activated.

【0096】アプリケーション330の各プロセス、コ
ントロールサービスの各プロセスは、関数呼び出しとそ
の戻り値送信およびメッセージの送受信によってプロセ
ス間通信を行いながら、コピー、プリンタ、スキャナ、
ファクシミリなどの画像形成処理にかかるユーザサービ
スを実現している。
Each process of the application 330 and each process of the control service perform copy, printer, scanner, while performing inter-process communication by function call, return value transmission and message transmission / reception.
It provides user services for image forming processing such as facsimile.

【0097】このように、実施の形態1にかかる複合機
300には、複数のアプリケーション330および複数
のコントロールサービスが存在し、いずれもプロセスと
して動作している。そして、これらの各プロセス内部に
は、一または複数のスレッドが生成されて、スレッド単
位の並列実行が行われる。そして、コントロールサービ
スがアプリケーション330に対し共通サービスを提供
しており、このため、これらの多数のプロセスが並列動
作、およびスレッドの並列動作を行って互いにプロセス
間通信を行って協調動作をしながら、コピー、プリン
タ、スキャナ、ファクシミリなどの画像形成処理にかか
るユーザサービスを提供するようになっている。そし
て、複合機300には、サードベンダーなどの第三者が
コントロールサービス層の上のアプリケーション層に新
規なアプリケーション(新規アプリ317)を開発して
搭載することが可能となっている。
As described above, the multifunction machine 300 according to the first embodiment has a plurality of applications 330 and a plurality of control services, and all of them operate as processes. Inside each of these processes, one or more threads are generated and parallel execution is performed in thread units. The control service provides a common service to the application 330. Therefore, a large number of these processes perform parallel operation and parallel operation of threads to perform inter-process communication with each other to perform cooperative operation, User services related to image forming processing such as copying, printers, scanners, and facsimiles are provided. Then, in the multifunction machine 300, a third party such as a third vendor can develop and mount a new application (new application 317) in the application layer above the control service layer.

【0098】図4は、図3に示した実施の形態1の複合
機300のハードウェア構成図である。図4に示すよう
に、この複合機300は、CPU402、SDRAM4
03、SRAM408、フラッシュメモリ404、フラ
ッシュカードインタフェース部406およびHD405
などをASIC401に接続したコントローラボード4
00と、オペレーションパネル410と、ファックスコ
ントロールユニット(FCU)420と、USB430
と、IEEE1394 440と、プリンタ450とから構
成されている。オペレーションパネル410はASIC
401に直接接続され、FCU420、USB430、
IEEE1394 440およびプリンタ450はPCIバ
スを介してASIC401に接続されている。
FIG. 4 is a hardware configuration diagram of the multi-function peripheral 300 of the first embodiment shown in FIG. As shown in FIG. 4, the multifunction peripheral 300 includes a CPU 402 and an SDRAM 4
03, SRAM 408, flash memory 404, flash card interface unit 406 and HD 405.
Controller board 4 which is connected to ASIC401
00, operation panel 410, fax control unit (FCU) 420, USB 430
And an IEEE1394 440 and a printer 450. The operation panel 410 is an ASIC
401 directly connected to FCU420, USB430,
The IEEE1394 440 and printer 450 are connected to the ASIC 401 via the PCI bus.

【0099】フラッシュカードインタフェース部406
は、フラッシュカード407を挿入して、フラッシュカ
ード407とデータのやりとりを行うインタフェースで
ある。このフラッシュカードインタフェース部406に
よって、開発用サーバ100で生成された新規アプリが
記録されたフラッシュカード407を読み込むことがで
きるようになっている。
Flash card interface unit 406
Is an interface for inserting the flash card 407 and exchanging data with the flash card 407. The flash card interface unit 406 can read the flash card 407 in which the new application generated by the development server 100 is recorded.

【0100】フラッシュメモリ(以下、「フラッシュR
OM」という。)404には、上述の各アプリ、プラッ
トホーム320を構成する各コントロールサービスやS
RM323の各プログラムが格納されている。
Flash memory (hereinafter referred to as "flash R
OM ". ) 404 includes the above-mentioned applications, control services that make up the platform 320, and S
Each program of RM323 is stored.

【0101】オペレーションパネル410は、利用者の
キー入力、ボタン押下などのキー操作を入力する操作部
と、ボタン、ウィンドウ、各種画面などの描画データを
表示する表示部とから構成されている。
The operation panel 410 is composed of an operation unit for inputting key operations such as user's key input and button depression, and a display unit for displaying drawing data such as buttons, windows, and various screens.

【0102】図5は、実施の形態1のアプリ開発キット
131を利用して生成した新規アプリ317の実行時に
おけるプロセス内部と、ECS324、MCS325な
どのコントロールサービスのプロセスとの呼び出し関係
を示す説明図である。図5に示すように、新規アプリ3
17のプロセス内部には、メインスレッド501と、ラ
ッピングスレッド502と、プロセス間通信スレッド5
03の少なくとも3つのスレッドが生成されて動作す
る。
FIG. 5 is an explanatory diagram showing a calling relationship between the inside of the process at the time of execution of the new application 317 generated by using the application development kit 131 of the first embodiment and the process of the control service such as ECS324 and MCS325. Is. As shown in FIG. 5, the new application 3
Inside the process of 17, the main thread 501, the wrapping thread 502, and the inter-process communication thread 5
At least three threads 03 are created and run.

【0103】メインスレッド501は、新規アプリ31
7の全体処理を担うスレッドであり、新規アプリ317
の開発は、このメインスレッド501として実行される
メイン関数mainをユーザが作成することである。
The main thread 501 is the new application 31.
The new application 317
Is that the user creates a main function main executed as the main thread 501.

【0104】ラッピングスレッド502は、メインスレ
ッド501により、コントロールサービスラッピング関
数wrapping_thrdを発行することによって
生成されるスレッドであり、各コントロールサービスに
対するアクセスを、メインスレッド501に代わってA
PIを利用して行い、その処理結果をメインスレッド5
01に送信するものである。具体的な処理としては、各
コントロールサービスが提供するサービス関数をAPI
を利用して呼び出したり、メッセージ送信などのプロセ
ス間通信を行う。
The wrapping thread 502 is a thread generated by the main thread 501 issuing the control service wrapping function wrapping_thrd, and accesses the respective control services on behalf of the main thread 501.
This is done using PI, and the processing result is recorded in the main thread 5.
It is to be sent to 01. As a concrete process, the service function provided by each control service is defined by the API.
Perform inter-process communication such as calling and sending messages by using.

【0105】プロセス間通信スレッド503は、各コン
トロールサービスからのイベントを受信して、受信した
イベントを、ラッピングスレッド502に送信するもの
である。すなわち、プロセス間通信スレッド503によ
って受信したイベントは、本来メインスレッド501に
送信すべきところ、実施の形態1では、ラッピングスレ
ッド502に一旦送信してから、ラッピングスレッド5
02によって受信したイベントをメインスレッド501
に送信したり、あるいはメインスレッド501に送信せ
ずに、受信したイベントに対する応答処理をラッピング
スレッド502で代行することとしている。
The inter-process communication thread 503 receives an event from each control service and sends the received event to the wrapping thread 502. That is, the event received by the inter-process communication thread 503 should be originally transmitted to the main thread 501. In the first embodiment, however, the event is first transmitted to the wrapping thread 502 and then the wrapping thread 5 is transmitted.
Main thread 501 receives the event received by 02
The wrapping thread 502 substitutes for the response processing to the received event without transmitting to the main thread 501 or to the main thread 501.

【0106】ここで、各スレッド間の通信は、メールボ
ックスを介して行われる。あるスレッドで、メールボッ
クスを指定して、sendmail関数を発行したと
き、指定されたメールボックスにデータが格納される。
このとき、別のスレッドでsendmail関数で指定
されたメールボックスを指定してrcvmail関数を
発行することにより、指定メールボックスに格納された
データを取得できるようになっている。
Here, the communication between the threads is performed via the mailbox. When a sendmail function is issued by specifying a mailbox in a thread, data is stored in the specified mailbox.
At this time, the data stored in the designated mailbox can be acquired by issuing the rcvmail function by designating the mailbox designated by the sendmail function in another thread.

【0107】図6は、メインスレッド501で実行され
る処理のC言語ソースコードを示す説明図である。な
お、図6は一例を示すものであり、これに限定されるも
のではなく、開発する新規アプリ317の機能によって
任意に定めることができる。また、図6はC言語ソース
コードで示されているが、他の言語で生成しても良い。
FIG. 6 is an explanatory diagram showing the C language source code of the processing executed by the main thread 501. Note that FIG. 6 shows an example, and the present invention is not limited to this, and can be arbitrarily determined according to the function of the new application 317 to be developed. Further, although FIG. 6 is shown in the C language source code, it may be generated in another language.

【0108】メインスレッド501では、以下のような
処理が実行される。言い換えると、ユーザは新規アプリ
317のmainの処理を、以下の処理が行われるよう
に記述することにより新規アプリ317の開発を行う。
まず、図6に示すように、wrapping_thrd
によってラッピングスレッド502を生成する。なお、
このwrapping_thrdは、コントロールサー
ビスラッピング関数ライブラリに登録されている。
In the main thread 501, the following processing is executed. In other words, the user develops the new application 317 by describing the main processing of the new application 317 so that the following processing is performed.
First, as shown in FIG. 6, wrapping_thrd
The wrapping thread 502 is generated by. In addition,
This wrapping_thrd is registered in the control service wrapping function library.

【0109】次に、実際のアプリの処理として、以下の
処理を記述する。whileループの中で、rcvma
il関数によりラッピングスレッド502からメールボ
ックスWRAP_MBを介してデータを取得する。ここ
で、引数idは、受信データを送信したコントロールサ
ービスの識別子(例えば、プロセスIDなど)を示して
いる。そして、SCS322などのコントロールサービ
スごとに処理を記述する。図6の例では、idがSCS
322の場合に、パラメータparaの解析、かかる解
析に基づいてAPIを利用したOCS326に対する関
数呼び出しやメッセージ送信などの処理、あるいはアプ
リケーション起動に関する処理を、新規アプリ317の
所望の機能に基づいて記述する。そして、whileル
ープを抜けた後に、複合機300にアプリケーションの
終了を通知し、これによりリソースが解放される。
Next, the following processing will be described as the processing of the actual application. In the while loop, rcvma
The il function acquires data from the wrapping thread 502 via the mailbox WRAP_MB. Here, the argument id indicates the identifier (for example, the process ID) of the control service that has transmitted the received data. Then, the processing is described for each control service such as the SCS322. In the example of FIG. 6, id is SCS
In the case of 322, analysis of the parameter para, processing such as function call and message transmission to the OCS 326 using API based on such analysis, or processing related to application activation is described based on the desired function of the new application 317. Then, after exiting the while loop, the end of the application is notified to the multi-function peripheral 300, whereby the resource is released.

【0110】ここで、図6の例では、whileループ
の中には、idがSCSの場合におけるOCS326に
対する処理、アプリケーション起動に関する処理が記述
されているが、他のECS324、MCS325などの
コントロールサービスに対するAPIを利用した処理は
記述されていない。これは、ECS324、MCS32
5などのコントロールサービスに対するAPI処理は複
雑であるため、後述するラッピングスレッドによって行
っているためである。
Here, in the example of FIG. 6, the while loop describes the processing for the OCS 326 when the id is SCS, and the processing for starting the application, but for the control services such as other ECS 324 and MCS 325. Processing using API is not described. This is ECS324, MCS32
This is because the API processing for the control service such as 5 is complicated and is performed by the wrapping thread described later.

【0111】図7は、プロセス間通信スレッド503で
実行されるイベント受信処理の手順を示すフローチャー
トである。プロセス間通信スレッド503では、コント
ロールサービスからのイベント待ちとなっている。プロ
セス間通信スレッド503がイベントを受信すると(ス
テップS701)、イベントを発したコントロールサー
ビスの識別子を「id」に設定し(ステップS70
2)、sendmail関数によって受信したイベント
をメールボックスXCS_MBを介してラッピングスレ
ッド502に送信する(ステップS703)。実際に
は、各コントロールサービスごとに、Res_ec
s()、Res_mcs()、Resc_scs()な
どの関数を有し、各関数の中で、idに各発信元のコン
トロールサービスの識別子を設定したsendmail
関数を発行している。
FIG. 7 is a flow chart showing the procedure of event reception processing executed by the interprocess communication thread 503. The interprocess communication thread 503 waits for an event from the control service. When the inter-process communication thread 503 receives an event (step S701), the identifier of the control service that issued the event is set to "id" (step S70).
2), the event received by the sendmail function is transmitted to the wrapping thread 502 via the mailbox XCS_MB (step S703). Actually, Res_ec for each control service
It has functions such as s (), Res_mcs (), and Resc_scs (), and in each function, sendmail in which the identifier of the control service of each sender is set in id.
Issuing a function.

【0112】図8は、ラッピングスレッド502(wr
apping_thrd関数)で行われるラッピング処
理の手順を示すフローチャートである。ラッピングスレ
ッド502では、まずプロセス間通信スレッド503の
生成およびスレッド間の通信に使用されるメールボック
スWRAP_MB、XCS_MBの作成を行う(ステッ
プS801)。そして、rcvmail(XCS_M
B,para,id)関数を発行し(ステップS80
2)、プロセス間通信スレッド503からコントロール
サービスのプロセスからの受信イベントがメールボック
スXCS_MBに存在しているか否かをチェックする
(ステップS803)。
FIG. 8 shows the wrapping thread 502 (wr
It is a flowchart which shows the procedure of the wrapping process performed by (apping_thrd function). The wrapping thread 502 first creates the interprocess communication thread 503 and creates the mailboxes WRAP_MB and XCS_MB used for communication between the threads (step S801). And rcvmail (XCS_M
B, para, id) function is issued (step S80
2) It is checked whether an event received from the process of the control service from the interprocess communication thread 503 exists in the mailbox XCS_MB (step S803).

【0113】そして、メールボックスXCS_MBに受
信イベントが存在しない場合には、処理を終了し、ラッ
ピングスレッド502はスリープ状態となる。一方、r
cvmail関数の発行の結果、メールボックスXCS
_MBにコントロールサービスからの受信イベントが存
在している場合には、その引数idに設定されている値
からイベントの発信元のコントロールサービスを判断す
る(ステップS804)。
Then, if there is no reception event in the mailbox XCS_MB, the processing is terminated and the wrapping thread 502 enters the sleep state. On the other hand, r
Mailbox XCS as a result of issuing the cvmail function
If a reception event from the control service exists in _MB, the control service of the transmission source of the event is determined from the value set in the argument id (step S804).

【0114】idによりイベント発信元のコントロール
サービスがSCS322またはOCS326である場合
には、idにSCSまたはOCSの識別子を設定して、
sendmail(WRAP_MB,para,id)
関数を発行し、受信イベントをそのままメインスレッド
501にメールボックスWRAP_MBを介して送信す
る(ステップS805)。これにより、メインスレッド
501では、前述のrcvmail(WRAP_MB,
para,id)によって受信イベントをそのままの形
式で受信することになる。
When the control service of the event originator is SCS322 or OCS326 by id, the identifier of SCS or OCS is set in id, and
sendmail (WRAP_MB, para, id)
The function is issued, and the reception event is transmitted as it is to the main thread 501 via the mailbox WRAP_MB (step S805). As a result, in the main thread 501, the above-mentioned rcvmail (WRAP_MB,
The reception event is received in the same format by the parameter (para, id).

【0115】一方、ステップS804において、イベン
ト発信元のコントロールサービスがSCS322または
OCS326以外のコントロールサービス、すなわち、
ECS324、MCS325、FCS327またはNC
S328である場合には、sendmail関数で受信
イベントをメインスレッド501に送信することは行わ
ず、引数paraに設定されたパラメタの解析を行う
(ステップS806)。そして、ラッピングスレッド5
01内部で、受信イベントに対するコントロールサービ
スに対する処理(APIを利用した関数呼び出しと戻り
値受信、メッセージ送受信など)を実行する(ステップ
S807)。このようなラッピング処理を行うことによ
り、コントロールサービスに対するAPIを利用した関
数呼び出しやメッセージ送受信などの複雑な処理を、ユ
ーザが作成するメインスレッド501のソースコードに
記述する必要はなくなる。
On the other hand, in step S804, the control service of the event source is a control service other than SCS322 or OCS326, that is,
ECS324, MCS325, FCS327 or NC
In the case of S328, the sendmail function does not send the reception event to the main thread 501, and the parameter set in the argument para is analyzed (step S806). And wrapping thread 5
Inside 01, processing for the control service for the reception event (function call using API, reception of return value, message transmission / reception, etc.) is executed (step S807). By performing such a wrapping process, it becomes unnecessary to describe in the source code of the main thread 501 created by the user a complicated process such as a function call using the API for the control service and message transmission / reception.

【0116】このようなラッピング処理は、コントロー
ルサービスごとにあらかじめ定めらている。図9は、コ
ントロールサービスごとに、ラッピング処理を行う機
能、ラッピング処理を行わずにユーザに開示する機能
と、全くユーザに開示しない機能とを示す説明図であ
る。
Such wrapping processing is predetermined for each control service. FIG. 9 is an explanatory diagram showing, for each control service, a function of performing a wrapping process, a function of disclosing to the user without performing the wrapping process, and a function of not disclosing to the user at all.

【0117】図9に示すように、イベントの発信元コン
トロールサービスがSCS322の場合には、機器の状
態通知や電源断通知のような電源関連に関する機能は、
ユーザの誤ったコーディングより、複合機300のシス
テムに悪影響を与えることを防止するため、ラッピング
スレッド502によるラッピング処理を行い、機器の状
態通知や電源断通知に関する具体的なイベントはメイン
スレッド501には送信されない。
As shown in FIG. 9, when the event transmission source control service is SCS322, functions related to power supply, such as device status notification and power off notification, are
In order to prevent the system of the multifunction peripheral 300 from being adversely affected by the user's erroneous coding, the wrapping thread 502 performs the wrapping process, and the main thread 501 receives specific events related to the device status notification and power off notification. Not sent.

【0118】例えば、複合機300のカバーが空いてい
る場合には、SCS322でかかる状態を検知して、機
器状態通知イベントを新規アプリ317のプロセス間通
信スレッド503に送信する。プロセス間通信スレッド
503では、このイベントをrcvmail関数で受信
して、メインスレッド501ではなく、ラッピングスレ
ッド502にsendmail関数によって送信する。
ラッピングスレッド502では、SCS322からの危
機状態通知イベントをrcvmail関数で受信する
と、ラッピングスレッド502内で、カバーオープンの
旨のメッセージをオペレーションパネル410に表示す
べくOCS326とプロセス間通信の処理を行う。従っ
て、ユーザが作成するメインスレッド501のソースコ
ードには、機器状態通知イベントの受信に伴うプロセス
間通信の処理を記述する必要はない。電源断通知イベン
トに対しても、ラッピングスレッド502において同様
の処理が行われる。
For example, when the cover of the multi-function peripheral 300 is open, the SCS 322 detects such a state and sends a device state notification event to the interprocess communication thread 503 of the new application 317. The inter-process communication thread 503 receives this event by the rcvmail function and sends it by the sendmail function to the wrapping thread 502 instead of the main thread 501.
When the wrapping thread 502 receives the critical state notification event from the SCS 322 with the rcvmail function, the wrapping thread 502 performs interprocess communication processing with the OCS 326 to display a cover open message on the operation panel 410. Therefore, the source code of the main thread 501 created by the user does not need to describe the process of interprocess communication accompanying the reception of the device status notification event. The same process is performed in the wrapping thread 502 for the power-off notification event.

【0119】しかし、図9に示すように、アプリケーシ
ョン起動に関する機能はラッピング処理を行わないた
め、アプリケーション起動に関するイベントはラッピン
グスレッド502からsendmail関数でそのまま
メインスレッド501に送信される。さらに、SCS3
22と他のコントロールサービス間のプロセス間通信に
ついては、全くユーザに開示されない。
However, as shown in FIG. 9, since the function related to application activation does not perform the wrapping process, the event related to application activation is transmitted from the wrapping thread 502 to the main thread 501 as it is by the sendmail function. In addition, SCS3
No inter-process communication between 22 and other control services is disclosed to the user.

【0120】図9に示すように、イベントの発信元コン
トロールサービスがECS324、MCS325および
FCS327の場合には、全ての機能に対しラッピング
スレッド502によるラッピング処理を行うため、EC
S324とMCS325からのイベントはメインスレッ
ド501に送信されることはない。例えば、受信イベン
トの発信元がECS324の場合には、MCS325に
対するメモリ確保要求、SRM323に対する資源獲得
要求などのAPI関数呼び出しやこれらに関するメッセ
ージの送受信がラッピングスレッド502内で実行され
る。また、受信イベントの発信元がMCS325の場合
には、例えば、SRM323に対する資源獲得要求など
の関数呼び出しやこれに関するメッセージの送受信がラ
ッピングスレッド502内で実行される。さらに、受信
イベントの発信元がFCS327の場合は、例えば、E
CS324に対するジョブモード設定要求、ジョブ開始
要求、ジョブクローズ要求などの関数呼び出しや、ジョ
ブエンド通知などのメッセージ受信がラッピングスレッ
ド502内で実行される。
As shown in FIG. 9, when the event source control service is ECS324, MCS325 and FCS327, the wrapping process is performed by the wrapping thread 502 for all the functions, so that the EC
Events from S324 and MCS 325 are not sent to the main thread 501. For example, when the sender of the reception event is the ECS 324, API function calls such as a memory reservation request to the MCS 325 and a resource acquisition request to the SRM 323, and transmission / reception of messages related to these are executed in the wrapping thread 502. When the source of the reception event is the MCS 325, for example, a function call such as a resource acquisition request to the SRM 323 and transmission / reception of a message related thereto are executed in the wrapping thread 502. Furthermore, when the sender of the reception event is FCS327, for example, E
Function calls such as a job mode setting request, a job start request, and a job close request to the CS 324, and message reception such as a job end notification are executed in the wrapping thread 502.

【0121】図9に示すように、イベントの発信元コン
トロールサービスがNCS328の場合には、データ送
信プロトコルに関する処理をラッピングスレッド502
で行う。例えば、httpやftpの各プロトコルに関
連する処理がラッピングスレッド502内で実行され
る。なお、発信元コントロールサービスがNCS328
の場合、データ送信プロトコルに関する処理以外の処理
は、全て非公開であり、メインスレッド501で行われ
ることはない。
As shown in FIG. 9, when the event source control service is NCS 328, the process related to the data transmission protocol is wrapped by the wrapping thread 502.
Done in. For example, the processing related to each protocol of http and ftp is executed in the wrapping thread 502. The sender control service is NCS328.
In the case of, all the processes other than the process related to the data transmission protocol are private and are not performed by the main thread 501.

【0122】図9に示すように、イベントの発信元コン
トロールサービスがOCS326の場合には、全ての機
能をユーザに開示し、ラッピング処理は行わないため、
OCS326からのイベントは全てsendmail関
数によってメインスレッド501にそのまま送信され
る。
As shown in FIG. 9, when the event source control service is OCS 326, all the functions are disclosed to the user and the wrapping process is not performed.
All the events from the OCS 326 are directly transmitted to the main thread 501 by the sendmail function.

【0123】このように実施の形態1にかかるアプリ開
発キット131のラッピング関数では、各コントロール
サービスごとにラッピング処理を行う機能が定められて
いる。なお、上述したラッピング処理を行う機能につい
ては、これに限定されるものではなく、他の機能をラッ
ピング処理の対象とすることも可能である。
As described above, in the wrapping function of the application development kit 131 according to the first embodiment, the function of performing the wrapping process is defined for each control service. The function of performing the above-mentioned wrapping process is not limited to this, and it is possible to set another function as the target of the wrapping process.

【0124】上記の他の機能として、例えば、仮想アプ
リケーションサービス(以下、VASと称する)があ
る。図10にVASを含む場合の実行時の構成を示す。
図10に示すように、VAS340は、アプリケーショ
ン330とプラットホーム320の間に配置される。
As another function described above, there is, for example, a virtual application service (hereinafter referred to as VAS). FIG. 10 shows a configuration at the time of execution when the VAS is included.
As shown in FIG. 10, the VAS 340 is arranged between the application 330 and the platform 320.

【0125】VAS340は、プラットホーム120の
各種コントロールサービスあるいはそのAPIが仕様変
更などでバージョンアップされた場合に、バージョン差
の生じたアプリケーションを再コンパイルすることなく
そのまま関数呼び出しが行えるよう、バージョン差を吸
収して整合性を保つと共に、コントロールサービスから
のメッセージを取捨選択することによってプラットホー
ム320を隠蔽することができる機能を備えている。更
に、各アプリが登録される際に、各アプリとコントロー
ルサービスおよびAPIのそれぞれのバージョンを検出
し、その検出されたバージョン差がVAS340によっ
てサポート可能な範囲か否かを判定して、その判定結果
をアプリに通知することにより、アプリ動作前にバージ
ョンが不整合かどうかが判明するバージョン管理機能も
備えている。
The VAS 340 absorbs the version difference so that when the various control services of the platform 120 or the APIs thereof are upgraded due to a specification change or the like, the function can be called as it is without recompiling the application having the version difference. In addition to maintaining consistency, the platform 320 can be hidden by selecting messages from the control service. Further, when each application is registered, each version of each application, the control service, and the API is detected, and it is determined whether or not the detected version difference is within a range that can be supported by the VAS 340. It also has a version management function that informs the application of whether the version is inconsistent before the application operates.

【0126】VAS340は、アプリから見るとコント
ロールサービス層として認識されるので、これまでに説
明したようなコントロールサービスに対する処理のラッ
ピングと同様にして、VAS340に対する処理のラッ
ピングを行うことが可能である。
Since the VAS 340 is recognized as a control service layer by the application, it is possible to perform the process wrapping for the VAS 340 in the same manner as the process wrapping for the control service as described above.

【0127】次に、ラッピング関数を利用した新規アプ
リ317の生成処理について説明する。図11は、開発
用サーバ100による新規アプリ生成処理の手順を示す
フローチャートである。起動コマンドが入力されると、
デバッグ機能付きコンパイラ110が起動し、コマンド
解析部111によって入力されたコマンドの解析を行う
(ステップS1001)。具体的にはパラメータや構文
の解析を行って、入力されたコマンドが文法的に正確か
否かを判断する。
Next, the process of generating the new application 317 using the wrapping function will be described. FIG. 11 is a flowchart showing the procedure of a new application generation process by the development server 100. When the start command is entered,
The compiler 110 with a debug function is activated, and the command input by the command analysis unit 111 is analyzed (step S1001). Specifically, the parameters and syntax are analyzed to determine whether the input command is grammatically correct.

【0128】次に、構文解析部112によって、新規ア
プリソースファイル132とインストール済みのアプリ
開発キット131の中のヘッダファイルを読み込み(ス
テップS1002)、新規アプリソースファイル132
に記述されたC言語ソースコードの構文解析を行う(ス
テップS1003)。具体的には、構文解析部112
は、C言語ソースコードをC言語文法に従って解析し、
導出木や構文木などを生成する。
Next, the syntax analysis unit 112 reads the new application source file 132 and the header file in the installed application development kit 131 (step S1002), and the new application source file 132 is read.
Parsing the C language source code described in (1) is performed (step S1003). Specifically, the syntax analysis unit 112
Parses the C language source code according to the C language grammar,
Generate derivation trees and syntax trees.

【0129】そして、コマンド解析部111によって、
入力された起動コマンドにデバッグオプションが指定さ
れているか否かを調べる(ステップS1004)。そし
て、デバッグオプションが指定されている場合には、関
数の入口と出口などにprintf文やassert文
などのデバッグ用に変数や関数引数あるいは関数戻り値
などを出力するための検証コードとしてのタグを付加す
る(ステップS1005)。一方、デバッグオプション
が指定されていない場合には、タグ付加の処理は行わ
ず、通常のコンパイル処理を行う。
Then, by the command analysis section 111,
It is checked whether or not the debug option is specified in the input start command (step S1004). When the debug option is specified, tags such as printf statements and assert statements as verification codes for outputting variables, function arguments, or function return values for debugging are written at the function entrance and exit. It is added (step S1005). On the other hand, when the debug option is not specified, the tag addition process is not performed and the normal compilation process is performed.

【0130】次に、コード生成部114によってコード
生成処理を行って、新規アプリのオブジェクトコードを
生成し、オブジェクトファイル133としてHD130
に格納する(ステップS1006)。そして、生成され
た新規アプリ317のオブジェクトファイル133と、
アプリ開発キット131のコントロールサービス関数ラ
イブラリ、標準関数ライブラリ、ラッピング関数ライブ
ラリ、ユーティリティライブラリとをリンクして、アプ
リ実行形式ファイル134を生成する(ステップS10
07)。これにより、新規アプリ317が生成される。
Next, the code generation unit 114 performs a code generation process to generate an object code of the new application, and the HD 130 as an object file 133.
(Step S1006). Then, the generated object file 133 of the new application 317,
The control service function library, standard function library, wrapping function library, and utility library of the application development kit 131 are linked to generate the application execution format file 134 (step S10).
07). As a result, the new application 317 is generated.

【0131】このように実施の形態1にかかるアプリ開
発キット131を利用したアプリケーション生成方法で
は、ユーザが各コントロールサービスの機能の概略を把
握しておけば、コントロールサービスラッピング関数ラ
イブラリを使用することで、コントロールサービスとの
プロセス間通信の複雑な手順を新規アプリ317のソー
スコードに記述する必要がなく、新規アプリケーション
を効率的に開発することができる。
As described above, in the application generation method using the application development kit 131 according to the first embodiment, if the user grasps the outline of the function of each control service, the control service wrapping function library can be used. It is not necessary to describe the complicated procedure of interprocess communication with the control service in the source code of the new application 317, and the new application can be efficiently developed.

【0132】また、実施の形態1にかかるアプリ開発キ
ットを利用したアプリケーション生成方法では、ラッピ
ング関数が新規アプリ317に代わってコントロールサ
ービスとのプロセス間通信を行っているので、コントロ
ールサービスとのインタフェースを隠蔽して、重要なイ
ンタフェースの秘匿性を確保することができる。
Further, in the application generation method using the application development kit according to the first embodiment, since the wrapping function performs interprocess communication with the control service on behalf of the new application 317, the interface with the control service is not provided. Concealment can ensure the confidentiality of important interfaces.

【0133】なお、ラッピング関数は、コントロールサ
ービスに対する処理を記述したものであれば、必ずしも
スレッドとして実行されるものでなくてもよい。
Note that the wrapping function does not necessarily have to be executed as a thread as long as it describes the processing for the control service.

【0134】(実施の形態2)実施の形態1にかかるア
プリ生成方法では、アプリ開発キット131の中のコン
トロールサービスラッピング関数ライブラリを利用して
新規アプリ317を生成することにより、生成された新
規アプリ317のプロセス内部のラッピングスレッド5
02によってコントロールサービスに対する処理を隠蔽
するラッピング処理を行っていたが、この実施の形態2
にかかるアプリ生成方法では、アプリ開発キット131
の中のアプリラッピング関数ライブラリを利用して新規
アプリ317を生成することにより、コントロールサー
ビスに対する処理を既存のアプリケーション330を利
用して隠蔽するラッピング処理を行うものである。
(Second Embodiment) In the application creating method according to the first embodiment, a new application 317 created by using the control service wrapping function library in the application development kit 131 is created. Wrapping thread 5 inside the process of 317
02, the wrapping process for hiding the process for the control service was performed.
The application generation method according to
By creating a new application 317 using the application wrapping function library in the above, the existing application 330 is used to conceal the processing for the control service.

【0135】図12は、実施の形態2にかかる開発用サ
ーバ100のHD130に格納されるファイルを示す説
明図である。実施の形態2にかかる開発用サーバ100
のHD130には、実施の形態1の開発用サーバ100
と同様に、アプリ開発キット1101がインストールさ
れ、新規アプリソースファイル132と、アプリのオブ
ジェクトファイル133と、アプリ実行形式ファイル1
34とが生成される。
FIG. 12 is an explanatory diagram showing files stored in the HD 130 of the development server 100 according to the second embodiment. Development server 100 according to the second embodiment
In the HD 130 of the development server 100 of the first embodiment
Similarly, the application development kit 1101 is installed, the new application source file 132, the application object file 133, and the application execution format file 1
34 and 34 are generated.

【0136】アプリ開発キット1101は、実施の形態
1のアプリ開発キット131と同様に、CD−ROMま
たはフレキシブルディスク(FD)などの記録媒体にイ
ンストール可能な形式で提供され、開発用サーバ100
のHD130にインストールされる。この記録媒体のア
プリ開発キット1101の中には、図12に示すよう
に、コントロールサービス関数ライブラリと、標準関数
ライブラリと、アプリ関数ライブラリと、ユーティリテ
ィライブラリと、ヘッダファイルと、デバッグ機能付き
コンパイラと、リンカと、汎用OSプログラムと、デバ
ッグ用ユーティリティとが含まれている。ここで、コン
トロールサービス関数ライブラリ、標準関数ライブラ
リ、ユーティリティライブラリ、ヘッダファイル、デバ
ッグ機能付きコンパイラ、リンカ、汎用OSプログラ
ム、デバッグ用ユーティリティは、実施の形態1におけ
るアプリ開発キット131に含まれているものと同様で
ある。すなわち、実施の形態2にかかるアプリ開発キッ
ト1101は、アプリラッピング関数ライブラリが含ま
れている点が実施の形態1にかかるアプリ開発キット1
31と異なっている。
Like the application development kit 131 of the first embodiment, the application development kit 1101 is provided in a format installable in a recording medium such as a CD-ROM or a flexible disk (FD), and the development server 100
Installed on the HD 130 of the. In the application development kit 1101 of this recording medium, as shown in FIG. 12, a control service function library, a standard function library, an application function library, a utility library, a header file, a compiler with a debug function, A linker, a general-purpose OS program, and a debugging utility are included. Here, the control service function library, standard function library, utility library, header file, compiler with debug function, linker, general-purpose OS program, and debugging utility are included in the application development kit 131 in the first embodiment. It is the same. That is, the application development kit 1101 according to the second embodiment includes the application wrapping function library in the application development kit 1 according to the first embodiment.
Different from 31.

【0137】アプリ関数ライブラリは、プリンタアプリ
311を呼び出すプリンタ関数printap()と、
スキャナアプリ314を呼び出すスキャナ関数scan
ap()と、コピーアプリ312を呼び出すコピー関数
copyap()と、ファックスアプリ313を呼び出
すファックス送信関数faxap_send()および
ファックス受信関数faxap_rcv()とを登録し
たものである。
The application function library includes a printer function printap () that calls the printer application 311 and
Scanner function scan that calls the scanner application 314
ap (), a copy function copyap () that calls the copy application 312, and a fax transmission function faxap_send () and a fax reception function faxap_rcv () that call the fax application 313 are registered.

【0138】次に、アプリ関数ライブラリを利用した新
規アプリ317の生成処理について説明する。図13
は、開発用サーバ100による新規アプリ生成処理の手
順を示すフローチャートである。起動コマンドの解析か
らオブジェクトファイル133の生成までの処理(ステ
ップS1201〜S1206)は、実施の形態1のアプ
リ生成方法で説明した図11におけるステップS100
1からS1006までの処理と同様である。
Next, the process of generating the new application 317 using the application function library will be described. FIG.
4 is a flowchart showing a procedure of new application generation processing by the development server 100. The processing from the analysis of the startup command to the generation of the object file 133 (steps S1201 to S1206) is the step S100 in FIG. 11 described in the application generation method of the first embodiment.
This is the same as the processing from 1 to S1006.

【0139】新規アプリ317のオブジェクトファイル
133が生成されたら、生成されたオブジェクトファイ
ル133と、アプリ開発キット131のコントロールサ
ービス関数ライブラリ、標準関数ライブラリ、アプリ関
数ライブラリ、ユーティリティライブラリとをリンクし
て、アプリ実行形式ファイル134を生成する(ステッ
プS1207)。これにより、新規アプリ317が生成
される。
When the object file 133 of the new application 317 is created, the created object file 133 is linked with the control service function library, standard function library, application function library, and utility library of the application development kit 131 to create an application. The executable file 134 is generated (step S1207). As a result, the new application 317 is generated.

【0140】図14は、アプリ関数ライブラリ1301
とリンクして開発した新規アプリ317と既存のアプリ
ケーション330、およびコントロールサービスの複合
機300内での関係を示すブロック図である。図14に
示すように、新規アプリ317のソースコードには、ス
キャナ機能を使用するためにスキャナ関数scana
p、印刷機能を使用するためにプリンタ関数print
ap、コピー機能を使用するためにコピー関数copy
ap、ファックス送信機能を使用するためにファックス
送信関数faxap_send、ファックス受信機能を
使用するためにファックス受信関数faxap_rcv
が記述されている。
FIG. 14 shows an application function library 1301.
FIG. 3 is a block diagram showing the relationship within the multifunction peripheral 300 of a new application 317 developed by linking with the existing application 330, and a control service. As shown in FIG. 14, the source code of the new application 317 includes the scanner function scana for using the scanner function.
p, the printer function print to use the print function
ap, copy function copy to use the copy function
ap, fax transmission function faxap_send to use the fax transmission function, fax reception function faxap_rcv to use the fax reception function
Is described.

【0141】これらの関数は全てアプリ関数ライブラリ
1301に登録されており、アプリ関数ライブラリ13
01は新規アプリ317にリンクされているため、新規
アプリ317内のscanap関数呼び出しによりスキ
ャナアプリ314が、printap関数呼び出しによ
りプリンタアプリ311が、copyap関数呼び出し
によりコピーアプリ312が、faxap_send関
数呼び出しおよびfaxap_rcv関数呼び出しによ
りファックスアプリ313がそれぞれ呼び出され実行さ
れることになる。
All of these functions are registered in the application function library 1301.
Since 01 is linked to the new application 317, the scanner application 314 is called by the scanp function call in the new application 317, the printer application 311 is called by the printap function call, the copy application 312 is called by the copyap function call, and the faxap_send function call and the faxap_rcv function are called. By calling, the fax application 313 is called and executed.

【0142】これらの各アプリでは、ECS324、M
CS325などのコントロールサービスのプロセスに対
して複雑な手順のサービス関数呼び出しまたはメッセー
ジ送受信によるプロセス間通信が行われる。このため、
新規アプリ317のソースコードに、これらのプロセス
間通信の手順を記述する必要はなく、各機能に応じたア
プリ関数ライブラリ1301の関数呼び出しを行えばよ
い。
In each of these applications, ECS324, M
Interprocess communication is performed by a service function call or message transmission / reception of a complicated procedure for a control service process such as CS325. For this reason,
It is not necessary to describe these interprocess communication procedures in the source code of the new application 317, and the function call of the application function library 1301 according to each function may be performed.

【0143】すなわち、例えばスキャナ機能を使用する
場合には、新規アプリ317の中でECS324に対し
てジョブ生成要求、ジョブモード設定要求などの処理
を、MCS325に対してメモリ確保要求などの処理を
記述しなければならないため、APIを用意していると
はいっても、各コントロールサービスに対するプロセス
間通信処理の記述に誤りが生じる可能性がある。実施の
形態2にかかるアプリ生成方法により生成された新規ア
プリ317では、アプリ関数ライブラリ1301に登録
された各関数を呼び出すことにより、各機能に対応した
アプリが呼び出され、呼び出された各アプリ内でコント
ロールサービスとのプロセス間通信が実現される。従っ
て、新規アプリにおけるコントロールサービスに対する
処理のラッピングが実現され、新規アプリ317の開発
を効率的に行うことができる。
That is, for example, when the scanner function is used, processing such as job generation request and job mode setting request to the ECS 324 in the new application 317 and processing such as memory reservation request to the MCS 325 are described. Therefore, although the API is prepared, there is a possibility that an error may occur in the description of interprocess communication processing for each control service. In the new application 317 generated by the application generation method according to the second embodiment, by calling each function registered in the application function library 1301, the application corresponding to each function is called, and within each called application. Interprocess communication with the control service is realized. Therefore, the wrapping of the processing for the control service in the new application is realized, and the new application 317 can be efficiently developed.

【0144】なお、実施の形態2では、生成した新規ア
プリ317からの既存アプリの呼び出しを同一複合機3
00内で行うこととしているが、新規アプリ317から
ネットワーク経由で既存アプリの呼び出しを行うように
しても良い。例えば、ネットワーク接続された異なる複
合機間で、一方の複合機の新規アプリ317から他方の
複合機内の既存アプリを呼び出すように構成することが
できる。また、デバッグ環境として複合機300にネッ
トワーク接続されたコンピュータのハードディスクに新
規アプリ317を格納し、当該コンピュータのハードデ
ィスクをNFS(ネットワークファイルシステム)によ
って複合機300にマウントし、コンピュータ内の新規
アプリ317からネットワーク経由で複合機300内の
既存アプリを呼び出すように構成することができる。こ
のようなネットワーク経由での既存アプリの呼び出し
は、例えばRPC(Remote Procedure
Call:遠隔手続呼び出し)などの機能を利用する
ことにより実現することができる。
In the second embodiment, the calling of the existing application from the generated new application 317 is performed by the same multifunction machine 3.
00, the existing application may be called from the new application 317 via the network. For example, between different multi-function peripherals connected via a network, the new application 317 of one multi-function peripheral can be configured to call an existing application in the other multi-function peripheral. Further, as a debugging environment, the new application 317 is stored in the hard disk of a computer network-connected to the multifunction machine 300, the hard disk of the computer is mounted on the multifunction machine 300 by NFS (network file system), and the new application 317 in the computer is It can be configured to call an existing application in the multi-function peripheral 300 via the network. Calling an existing application via such a network is performed by, for example, RPC (Remote Procedure).
Call: remote procedure call) and the like.

【0145】なお、コピー、スキャン、プリント等のイ
メージに関する処理をスレッドとして実行させるように
新規アプリ317を構成することも可能である。この場
合、イメージに関する処理を記述した関数を登録したイ
メージライブラリを新規アプリ317にリンクさせる。
図15に、新規アプリ317の実行時における構成を示
す。
Note that the new application 317 can be configured so that processing relating to images such as copy, scan, and print is executed as a thread. In this case, the image library in which the function describing the process related to the image is registered is linked to the new application 317.
FIG. 15 shows the configuration when the new application 317 is executed.

【0146】図15に示すように、新規アプリプロセス
317は、複数のスレッドが並列実行されたマルチスレ
ッド環境となっており、メインスレッド610とイメー
ジライブラリスレッド600が並列実行される。メイン
スレッド610は、新規アプリの処理(例えば文字認識
処理)を実行するスレッドであり、このメインスレッド
610がイメージライブラリを利用する。
As shown in FIG. 15, the new application process 317 has a multi-thread environment in which a plurality of threads are executed in parallel, and the main thread 610 and the image library thread 600 are executed in parallel. The main thread 610 is a thread that executes processing of a new application (for example, character recognition processing), and the main thread 610 uses the image library.

【0147】イメージライブラリスレッド600は、イ
メージライブラリの各機能(関数)を提供するものであ
り、メインスレッド610によって起動される。このと
き、イメージライブラリスレッド600の内部には、イ
メージライブラリの中の各ライブラリに対応する複数の
サブスレッドが起動される。すなわち、スキャンスレッ
ド601、プリントスレッド602、ファイル操作スレ
ッド603がサブスレッドとなる。また、新規アプリプ
ロセスには、メールボックス611、メールボックス6
12、イベント取得ハンドラ(スレッド)613が起動
される。
The image library thread 600 provides each function (function) of the image library and is activated by the main thread 610. At this time, a plurality of sub-threads corresponding to each library in the image library are activated inside the image library thread 600. That is, the scan thread 601, the print thread 602, and the file operation thread 603 are sub threads. In addition, the new application process includes a mailbox 611 and a mailbox 6
12. The event acquisition handler (thread) 613 is activated.

【0148】メールボックス611は、メインスレッド
610とイメージライブラリスレッド600およびイベ
ント取得ハンドラ613との通信に使用される。メール
ボックス612は、メインスレッド610とイメージラ
イブラリスレッド600の通信に使用される。イベント
取得ハンドラ613は、ECS324,MCS325な
どのコントロールサービスのプロセスからのイベントメ
ッセージを受信し、メールボックス611に書き込む機
能を有している。
The mailbox 611 is used for communication between the main thread 610, the image library thread 600 and the event acquisition handler 613. The mailbox 612 is used for communication between the main thread 610 and the image library thread 600. The event acquisition handler 613 has a function of receiving an event message from a process of a control service such as ECS324 and MCS325 and writing it in the mailbox 611.

【0149】メインスレッド610は、イメージライブ
ラリスレッド600に対する関数呼び出しのコマンド
を、メールボックス611に入れる。また、コントロー
ルサービス320からのイベントメッセージも、メール
ボックス611に入る。イメージライブラリスレッド6
00は、メールボックス611に配信されるメッセージ
をrcv_msg()関数によって取得する。そして、
メッセージの内容に基づき、サブスレッドがコントロー
ルサービスとのプロセス間通信を行いながら必要な処理
を実行する。
The main thread 610 puts a function call command for the image library thread 600 into the mailbox 611. Event messages from the control service 320 also enter the mailbox 611. Image library thread 6
00 acquires the message delivered to the mailbox 611 by the rcv_msg () function. And
Based on the contents of the message, the sub-thread executes the necessary processing while performing inter-process communication with the control service.

【0150】なお、イメージライブラリスレッド600
は、メインスレッド610に対して、エラー情報、実行
結果、途中経過などの通知をメールボックス612に入
れる。メインスレッド610は、メールボックス612
に配信されるメッセージをrcv_msg()関数によ
って取得し、メッセージの内容に対応した処理を実行す
る。
The image library thread 600
Puts notifications such as error information, execution results, and progress in the mail box 612 to the main thread 610. The main thread 610 is the mailbox 612.
The message delivered to the server is acquired by the rcv_msg () function, and the process corresponding to the content of the message is executed.

【0151】このように、コントロールサービスとのプ
ロセス間通信に係る複雑な処理は、イメージライブラリ
スレッド600が行うので、新規アプリ開発に際して
は、main関数の中にコントロールサービスとのプロセス
間通信に係る複雑な処理を記述する必要がない。すなわ
ち、ラッピングが実現される。
As described above, since the image library thread 600 performs the complicated process related to the inter-process communication with the control service, when developing a new application, the complicated process related to the inter-process communication with the control service is included in the main function. There is no need to describe a special process. That is, wrapping is realized.

【0152】なお、上記の例において、イメージライブ
ラリの処理は必ずしもスレッド600として実行させる
必要はない。ラッピングさせたい処理の内容をライブラ
リとして準備し、ライブラリにおける関数を利用するこ
とにより新規アプリの開発を効率的に行うことが可能で
ある。
In the above example, the processing of the image library does not necessarily have to be executed as the thread 600. It is possible to develop a new application efficiently by preparing the contents of the process to be wrapped as a library and using the functions in the library.

【0153】本発明は、上記の実施形態に限定されるこ
となく、特許請求の範囲内で種々変更・応用が可能であ
る。
The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.

【0154】[0154]

【発明の効果】以上説明したように、本発明によれば、
コントロールサービスとのプロセス間通信の複雑な手順
を新規アプリケーションのソースコードに記述する必要
がなくなり、新規アプリケーションを効率的に開発する
ことができるという効果を奏する。
As described above, according to the present invention,
It is not necessary to describe the complicated procedure of interprocess communication with the control service in the source code of the new application, and it is possible to efficiently develop the new application.

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

【図1】実施の形態1の開発用サーバのソフトウェア構
成を示すブロック図である。
FIG. 1 is a block diagram showing a software configuration of a development server according to a first embodiment.

【図2】実施の形態1にかかる開発用サーバ、開発用P
Cのハードウェア構成および開発環境を示すブロック図
である。
FIG. 2 is a development server and a development P according to the first embodiment.
It is a block diagram which shows the hardware constitutions and development environment of C.

【図3】実施の形態1にかかる複合機の機能的構成を示
すブロック図である。
FIG. 3 is a block diagram showing a functional configuration of a multifunction machine according to the first embodiment.

【図4】実施の形態1にかかる複合機のハードウェア構
成図である。
FIG. 4 is a hardware configuration diagram of the multi-function peripheral according to the first embodiment.

【図5】実施の形態1のアプリ開発キットを利用して生
成した新規アプリのプロセス内部と、ECS、MCSな
どのコントロールサービスのプロセスとの呼び出し関係
を示す説明図である。
FIG. 5 is an explanatory diagram showing a calling relationship between the inside of a process of a new application generated by using the application development kit according to the first embodiment and a process of a control service such as ECS or MCS.

【図6】実施の形態1のアプリ開発キットを使用して生
成された新規アプリのメインスレッドで実行される処理
のC言語ソースコードを示す説明図である。
FIG. 6 is an explanatory diagram showing a C language source code of a process executed by a main thread of a new application generated by using the application development kit according to the first embodiment.

【図7】実施の形態1のアプリ開発キットを使用して生
成された新規アプリのプロセス間通信スレッドで実行さ
れるイベント受信処理の手順を示すフローチャートであ
る。
FIG. 7 is a flowchart showing a procedure of event reception processing executed by an inter-process communication thread of a new application generated using the application development kit according to the first embodiment.

【図8】実施の形態1のアプリ開発キットを使用して生
成された新規アプリのラッピングスレッドで行われるラ
ッピング処理の手順を示すフローチャートである。
FIG. 8 is a flowchart showing a procedure of a wrapping process performed by a wrapping thread of a new application created by using the application development kit according to the first embodiment.

【図9】実施の形態1にかかる複合機において、コント
ロールサービスごとにラッピング処理を行う機能、ラッ
ピング処理を行わずにユーザに開示する機能と、全くユ
ーザに開示しない機能とを示す説明図である。
FIG. 9 is an explanatory diagram showing a function of performing a wrapping process for each control service, a function of disclosing to the user without performing the wrapping process, and a function of not disclosing to the user at all in the multifunction machine according to the first embodiment. .

【図10】VAS340を含む場合における複合機の実
行時の構成を示す図である。
FIG. 10 is a diagram showing a configuration at the time of execution of a multi-function peripheral including a VAS 340.

【図11】実施の形態1にかかる開発用サーバによる新
規アプリ生成処理の手順を示すフローチャートである。
FIG. 11 is a flowchart showing a procedure of new application generation processing by the development server according to the first embodiment.

【図12】実施の形態2にかかる開発用サーバのHDに
格納されるファイルを示す説明図である。
FIG. 12 is an explanatory diagram showing files stored in the HD of the development server according to the second embodiment.

【図13】実施の形態2にかかる開発用サーバによる新
規アプリ生成処理の手順を示すフローチャートである。
FIG. 13 is a flowchart showing a procedure of new application generation processing by the development server according to the second embodiment.

【図14】実施の形態2にかかるアプリ開発キットを使
用して生成された新規アプリと既存のアプリケーション
およびコントロールサービスの複合機内での関係を示す
ブロック図である。
FIG. 14 is a block diagram showing a relationship between a new application generated by using the application development kit according to the second embodiment, an existing application, and a control service in the multifunction peripheral.

【図15】コピー、スキャン、プリント等のイメージに
関する処理をスレッドとして実行させる場合における新
規アプリの実行時の構成を示す図である。
FIG. 15 is a diagram showing a configuration at the time of execution of a new application in the case where processing related to images such as copy, scan, and print is executed as a thread.

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

100 開発用サーバ 110 デバッグ機能付きコンパイラ 111 コマンド解析部 112 構文解析部 113 タグ付加部 114 コード生成部 120 リンカ 130 ハードディスク(HD) 131,1101 アプリ開発キット 132 新規アプリソースファイル 133 オブジェクトファイル 134 アプリ実行形式ファイル 201,211 入力装置 202,212 表示装置 203,213 RAM 204,214 制御装置 205,215 外部記憶装置 206,216 通信装置 300 複合機 301 白黒ラインプリンタ 302 カラーラインプリンタ 303 ハードウェアリソース 310 ソフトウェア群 311 プリンタアプリ 312 コピーアプリ 313 ファックスアプリ 314 スキャナアプリ 315 ネットファイルアプリ 316 工程検査アプリ 320 プラットホーム 321 汎用OS 322 SCS 323 SRM 324 ECS 325 MCS 326 OCS 327 FCS 328 NCS 330 アプリケーション 340 仮想アプリケーションサービス(VAS) 400 コントローラボード 401 ASIC 402 CPU 403 SDRAM(RAM) 404 フラッシュメモリ(ROM) 405 HD 406 フラッシュカードインタフェース部 407 フラッシュカード 408 SRAM 410 オペレーションパネル 430 USB 440 IEEE1394 450 プリンタ 600 イメージライブラリスレッド 601 スキャンスレッド 602 プリントスレッド 603 ファイル操作スレッド 610 メインスレッド 611、612 メールボックス 613 イベント取得ハンドラ 1301 アプリ関数ライブラリ 100 Development server 110 Compiler with debug function 111 Command parser 112 Parser 113 tag addition section 114 Code generator 120 linker 130 hard disk (HD) 131,1101 App Development Kit 132 New application source file 133 object file 134 Application Executable File 201, 211 Input device 202,212 display device 203, 213 RAM 204, 214 control device 205,215 External storage device 206,216 communication device 300 MFP 301 black and white line printer 302 color line printer 303 Hardware resources 310 Software Group 311 Printer application 312 Copy App 313 Fax App 314 Scanner App 315 Net File App 316 Process Inspection App 320 platform 321 General-purpose OS 322 SCS 323 SRM 324 ECS 325 MCS 326 OCS 327 FCS 328 NCS 330 applications 340 Virtual Application Service (VAS) 400 controller board 401 ASIC 402 CPU 403 SDRAM (RAM) 404 Flash memory (ROM) 405 HD 406 Flash card interface section 407 flash card 408 SRAM 410 Operation panel 430 USB 440 IEEE 1394 450 printer 600 image library threads 601 scan thread 602 print thread 603 File operation thread 610 main thread 611 and 612 mailboxes 613 Event acquisition handler 1301 App function library

───────────────────────────────────────────────────── フロントページの続き (72)発明者 田中 浩行 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 (72)発明者 杉浦 裕子 東京都大田区中馬込1丁目3番6号 株式 会社リコー内 Fターム(参考) 5B076 AB02 DD06 DD10    ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Hiroyuki Tanaka             1-3-3 Nakamagome, Ota-ku, Tokyo Stocks             Company Ricoh (72) Inventor Yuko Sugiura             1-3-3 Nakamagome, Ota-ku, Tokyo Stocks             Company Ricoh F-term (reference) 5B076 AB02 DD06 DD10

Claims (34)

【特許請求の範囲】[Claims] 【請求項1】 画像形成処理で使用されるハードウェア
資源と、画像形成に関する処理を行うアプリケーション
と、該アプリケーションと前記ハードウェア資源との間
に介在するコントロールサービスとを備えた画像形成装
置に搭載される新規アプリケーションを生成する画像形
成装置用アプリケーション生成方法であって、 前記コントロールサービスに対する処理を代行するラッ
ピング関数の呼び出し処理が記述された新規アプリケー
ションのソースファイルをコンパイルし、オブジェクト
ファイルを生成するコンパイルステップと、 前記ラッピング関数が登録されたラッピング関数ライブ
ラリと、前記オブジェクトファイルとをリンクして、前
記新規アプリケーションの実行形式プログラムを生成す
るリンクステップと、 を含んだことを特徴とする画像形成装置用アプリケーシ
ョン生成方法。
1. An image forming apparatus comprising: a hardware resource used in an image forming process; an application for performing a process related to image forming; and a control service interposed between the application and the hardware resource. A method for generating an application for an image forming apparatus for generating a new application, comprising compiling a source file of a new application in which a calling process of a wrapping function acting on behalf of the control service is described, and generating an object file. A linking step of linking the object file with the wrapping function library in which the wrapping function is registered to generate an executable program of the new application. A method for generating an application for a characteristic image forming apparatus.
【請求項2】 前記ラッピング関数は、前記コントロー
ルサービスに対するプロセス間通信を代行することを特
徴とする請求項1に記載の画像形成装置用アプリケーシ
ョン生成方法。
2. The method for generating an application for an image forming apparatus according to claim 1, wherein the wrapping function substitutes inter-process communication for the control service.
【請求項3】 前記ラッピング関数は、前記新規アプリ
ケーションのプロセス内部で生成されたラッピングスレ
ッドとして実行されることを特徴とする請求項1または
2に記載の画像形成装置用アプリケーション生成方法。
3. The method for generating an application for an image forming apparatus according to claim 1, wherein the wrapping function is executed as a wrapping thread generated inside a process of the new application.
【請求項4】 前記ラッピング関数は、前記コントロー
ルサービスからのイベントに対する応答処理を代行する
ことを特徴とする請求項1ないし3のうちいずれか1項
に記載の画像形成装置用アプリケーション生成方法。
4. The method for generating an application for an image forming apparatus according to claim 1, wherein the wrapping function substitutes a response process for an event from the control service.
【請求項5】 前記ラッピング関数は、画像形成装置の
エンジン制御を行うエンジンコントロールサービスが提
供する全てのサービスに関するプロセス間通信を代行す
ることを特徴とする請求項1ないし4のうちいずれか1
項に記載の画像形成装置用アプリケーション生成方法。
5. The wrapping function substitutes inter-process communication for all services provided by an engine control service that controls an engine of an image forming apparatus.
Item 6. An application generation method for an image forming apparatus according to item.
【請求項6】 前記ラッピング関数は、画像形成装置の
メモリ制御を行うメモリコントロールサービスが提供す
る全てのサービスに対するプロセス間通信を代行するこ
とを特徴とする請求項1ないし5のうちいずれか1項に
記載の画像形成装置用アプリケーション生成方法。
6. The wrapping function substitutes inter-process communication for all services provided by a memory control service that controls the memory of the image forming apparatus. The method for generating an application for an image forming apparatus according to item 1.
【請求項7】 前記ラッピング関数は、画像形成装置の
システム制御を行うシステムコントロールサービスが提
供するサービスの中で、システム状態通知および電源状
態に関するサービスに対するプロセス間通信を代行する
ことを特徴とする請求項1ないし6のうちいずれか1項
に記載の画像形成装置用アプリケーション生成方法。
7. The wrapping function substitutes inter-process communication for a service related to a system status notification and a power supply status among services provided by a system control service that controls a system of an image forming apparatus. 7. The application generation method for an image forming apparatus according to any one of items 1 to 6.
【請求項8】 前記ラッピング関数は、画像形成装置の
ネットワーク制御を行うネットワークコントロールサー
ビスが提供するサービスの中で、データ送信プロトコル
を使用するサービスに対するプロセス間通信を代行する
ことを特徴とする請求項1ないし7のうちいずれか1項
に記載の画像形成装置用アプリケーション生成方法。
8. The wrapping function substitutes inter-process communication for a service using a data transmission protocol among services provided by a network control service that controls a network of an image forming apparatus. 8. The image forming apparatus application generation method according to any one of 1 to 7.
【請求項9】 前記ラッピング関数は、画像形成装置の
オペレーションパネルを制御するオペパネコントロール
サービス以外の前記コントロールサービスが提供するサ
ービスに対するプロセス間通信を代行することを特徴と
する請求項1ないし8のうちいずれか1項に記載の画像
形成装置用アプリケーション生成方法。
9. The wrapping function substitutes inter-process communication for a service provided by the control service other than an operation panel control service for controlling an operation panel of the image forming apparatus. The image forming apparatus application generation method according to any one of the above.
【請求項10】 前記ラッピング関数は、前記アプリケ
ーションと前記コントロールサービスとの間に介在して
実行される仮想アプリケーションサービスに対するプロ
セス間通信を代行することを特徴とする請求項1ないし
9のうちいずれか1項に記載の画像形成装置用アプリケ
ーション生成方法。
10. The wrapping function substitutes inter-process communication for a virtual application service which is executed by being interposed between the application and the control service. The method for generating an application for an image forming apparatus according to item 1.
【請求項11】 画像形成処理で使用されるハードウェ
ア資源と、画像形成に関する処理を行うアプリケーショ
ンと、該アプリケーションと前記ハードウェア資源との
間に介在するコントロールサービスとを備えた画像形成
装置に搭載される新規アプリケーションの生成処理をコ
ンピュータに実行させるプログラムであって、 前記コントロールサービスに対する処理を代行するラッ
ピング関数の呼び出し処理が記述された新規アプリケー
ションのソースファイルをコンパイルし、オブジェクト
ファイルを生成するコンパイルステップと、 前記ラッピング関数が登録されたラッピング関数ライブ
ラリと、前記オブジェクトファイルとをリンクして、前
記新規アプリケーションの実行形式プログラムを生成す
るリンクステップと、 をコンピュータに実行させるプログラム。
11. An image forming apparatus comprising: a hardware resource used in an image forming process; an application for performing a process related to the image forming; and a control service interposed between the application and the hardware resource. A compiling step of compiling a source file of a new application in which a calling process of a wrapping function that substitutes the process for the control service is described, and an object file is generated. And a linking step of linking the wrapping function library in which the wrapping function is registered with the object file to generate an executable program of the new application. Program to be executed by.
【請求項12】 前記ラッピング関数は、前記コントロ
ールサービスに対するプロセス間通信を代行する請求項
11に記載のプログラム。
12. The program according to claim 11, wherein the wrapping function substitutes inter-process communication for the control service.
【請求項13】 前記ラッピング関数は、前記新規アプ
リケーションのプロセス内部で生成されたラッピングス
レッドとして実行されることを特徴とする請求項11ま
たは12に記載のプログラム。
13. The program according to claim 11, wherein the wrapping function is executed as a wrapping thread generated inside a process of the new application.
【請求項14】 請求項1ないし10のうちいずれか1
項に記載の方法により生成されたプログラム。
14. One of claims 1 to 10.
A program generated by the method described in the section.
【請求項15】 請求項11ないし14のうちいずれか
1項に記載のプログラムを記録したコンピュータ読み取
り可能な記録媒体。
15. A computer-readable recording medium on which the program according to claim 11 is recorded.
【請求項16】 請求項14に記載のプログラムを前記
アプリケーションとして搭載した画像形成装置。
16. An image forming apparatus in which the program according to claim 14 is installed as the application.
【請求項17】 画像形成処理で使用されるハードウェ
ア資源と、画像形成に関する処理を行うアプリケーショ
ンと、該アプリケーションと前記ハードウェア資源との
間に介在するコントロールサービスとを備えた画像形成
装置に搭載される新規アプリケーションを開発するため
の画像形成装置用アプリ開発記録媒体であって、 前記新規アプリケーションのソースコードを記述したソ
ースファイルから前記新規アプリケーションの実行形式
プログラムを生成するアプリ生成プログラムと、 前記コントロールサービスに対する処理を代行するラッ
ピング関数を登録したラッピング関数ライブラリと、 を記録したことを特徴とするコンピュータで読み取り可
能な画像形成装置用アプリ開発記録媒体。
17. An image forming apparatus comprising: a hardware resource used in image forming processing; an application for performing an image forming process; and a control service interposed between the application and the hardware resource. An application development recording medium for an image forming apparatus for developing a new application, the application generation program generating an execution format program of the new application from a source file describing a source code of the new application, and the control A computer-readable application development recording medium for an image forming apparatus, characterized in that: a wrapping function library in which a wrapping function for performing processing for a service is registered;
【請求項18】 前記ラッピング関数は、前記コントロ
ールサービスに対するプロセス間通信を代行することを
特徴とする請求項17に記載のコンピュータで読み取り
可能な画像形成装置用アプリ開発記録媒体。
18. The computer-readable application development recording medium for an image forming apparatus according to claim 17, wherein the wrapping function substitutes inter-process communication for the control service.
【請求項19】 前記ラッピング関数は、前記新規アプ
リケーションのプロセス内部で生成されたラッピングス
レッドとして実行されることを特徴とする請求項17ま
たは18に記載のコンピュータで読み取り可能な画像形
成装置用アプリ開発記録媒体。
19. The computer-readable image forming apparatus application development according to claim 17, wherein the wrapping function is executed as a wrapping thread generated inside a process of the new application. recoding media.
【請求項20】 前記ラッピング関数は、前記コントロ
ールサービスからのイベントに対する応答処理を代行す
ることを特徴とする請求項17ないし19のうちいずれ
か1項に記載のコンピュータで読み取り可能な画像形成
装置用アプリ開発記録媒体。
20. The computer-readable image forming apparatus according to claim 17, wherein the wrapping function substitutes a response process for an event from the control service. Application development recording medium.
【請求項21】 前記ラッピング関数は、画像形成装置
のエンジン制御を行うエンジンコントロールサービスが
提供する全てのサービスに関するプロセス間通信を代行
することを特徴とする請求項17ないし20のうちいず
れか1項に記載のコンピュータで読み取り可能な画像形
成装置用アプリ開発記録媒体。
21. The wrapping function substitutes inter-process communication for all services provided by an engine control service that controls an engine of an image forming apparatus. The computer-readable application development recording medium for an image forming apparatus described in 1.
【請求項22】 前記ラッピング関数は、画像形成装置
のメモリ制御を行うメモリコントロールサービスが提供
する全てのサービスに対するプロセス間通信を代行する
ことを特徴とする請求項17ないし21のうちいずれか
1項に記載のコンピュータで読み取り可能な画像形成装
置用アプリ開発記録媒体。
22. The wrapping function substitutes for inter-process communication for all services provided by a memory control service that controls memory of the image forming apparatus. The computer-readable application development recording medium for an image forming apparatus described in 1.
【請求項23】 前記ラッピング関数は、画像形成装置
のシステム制御を行うシステムコントロールサービスが
提供するサービスの中で、システム状態通知および電源
状態に関するサービスに対するプロセス間通信を代行す
ることを特徴とする請求項17ないし22のうちいずれ
か1項に記載のコンピュータで読み取り可能な画像形成
装置用アプリ開発記録媒体。
23. The wrapping function substitutes inter-process communication for a service related to a system status notification and a power supply status among services provided by a system control service for controlling a system of an image forming apparatus. 23. A computer-readable application development recording medium for an image forming apparatus according to any one of items 17 to 22.
【請求項24】 前記ラッピング関数は、画像形成装置
のネットワーク制御を行うネットワークコントロールサ
ービスが提供するサービスの中で、データ送信プロトコ
ルを使用するサービスに対するプロセス間通信を代行す
ることを特徴とする請求項17ないし23のうちいずれ
か1項に記載のコンピュータで読み取り可能な画像形成
装置用アプリ開発記録媒体。
24. The wrapping function substitutes inter-process communication for a service using a data transmission protocol among services provided by a network control service that controls a network of an image forming apparatus. 24. The computer-readable application development recording medium for an image forming apparatus according to any one of 17 to 23.
【請求項25】 前記ラッピング関数は、画像形成装置
のオペレーションパネルを制御するオペパネコントロー
ルサービス以外の前記コントロールサービスが提供する
サービスに対するプロセス間通信を代行することを特徴
とする請求項17ないし24のうちいずれか1項に記載
のコンピュータで読み取り可能な画像形成装置用アプリ
開発記録媒体。
25. The wrapping function substitutes inter-process communication for a service provided by the control service other than an operation panel control service for controlling an operation panel of the image forming apparatus. The computer-readable application development recording medium for an image forming apparatus according to any one of the above.
【請求項26】 前記ラッピング関数は、前記アプリケ
ーションと前記コントロールサービスとの間に介在して
実行される仮想アプリケーションサービスに対するプロ
セス間通信を代行することを特徴とする請求項17ない
し25のうちいずれか1項に記載のコンピュータで読み
取り可能な画像形成装置用アプリ開発記録媒体。
26. The wrapping function substitutes inter-process communication for a virtual application service executed by being interposed between the application and the control service. The computer-readable application development recording medium for an image forming apparatus according to item 1.
【請求項27】 画像形成処理で使用されるハードウェ
ア資源と、画像形成に関する処理を行うアプリケーショ
ンと、該アプリケーションと前記ハードウェア資源との
間に介在するコントロールサービスとを備えた画像形成
装置に搭載される新規アプリケーションを生成する画像
形成装置用アプリケーション生成方法であって、 前記コントロールサービスとのプロセス間通信を、既存
の前記アプリケーションを介して行うアプリ関数の呼び
出し処理が記述された新規アプリケーションのソースフ
ァイルをコンパイルし、オブジェクトファイルを生成す
るコンパイルステップと、 前記アプリ関数が登録されたアプリ関数ライブラリと、
前記オブジェクトファイルとをリンクして、前記新規ア
プリケーションの実行形式プログラムを生成するリンク
ステップと、 を含んだことを特徴とする画像形成装置用アプリケーシ
ョン生成方法。
27. An image forming apparatus comprising: a hardware resource used in an image forming process; an application for performing a process related to image forming; and a control service interposed between the application and the hardware resource. A method for generating an application for an image forming apparatus for generating a new application, comprising: a source file of a new application, which describes an application function calling process for performing interprocess communication with the control service via the existing application. A compiling step for compiling the object file and generating an object file, and an app function library in which the app function is registered,
And a link step of linking the object file to generate an executable format program of the new application, the method for generating an application for an image forming apparatus.
【請求項28】 前記アプリ関数は、コピーアプリ、プ
リンタアプリ、ファックスアプリまたはスキャナアプリ
の中の一または二以上のアプリケーションを介して前記
コントロールサービスに対する処理を行うことを特徴と
する請求項27に記載の画像形成装置用アプリケーショ
ン生成方法。
28. The application function according to claim 27, wherein the application function performs a process for the control service via one or more applications of a copy application, a printer application, a fax application, and a scanner application. Method for generating application for image forming apparatus.
【請求項29】 画像形成処理で使用されるハードウェ
ア資源と、画像形成に関する処理を行うアプリケーショ
ンと、該アプリケーションと前記ハードウェア資源との
間に介在するコントロールサービスとを備えた画像形成
装置に搭載される新規アプリケーションの生成処理をコ
ンピュータに実行させるプログラムであって、 前記コントロールサービスとのプロセス間通信を、既存
の前記アプリケーションを介して行うアプリ関数の呼び
出し処理が記述された新規アプリケーションのソースフ
ァイルをコンパイルし、オブジェクトファイルを生成す
るコンパイルステップと、 前記アプリ関数が登録されたアプリ関数ライブラリと、
前記オブジェクトファイルとをリンクして、前記新規ア
プリケーションの実行形式プログラムを生成するリンク
ステップと、 をコンピュータに実行させるプログラム。
29. An image forming apparatus, comprising: a hardware resource used in an image forming process; an application for performing a process related to image forming; and a control service interposed between the application and the hardware resource. A program for causing a computer to execute a generation process of a new application, wherein a source file of a new application in which a process of calling an application function for performing interprocess communication with the control service via the existing application is described. A compiling step of compiling and generating an object file; an app function library in which the app function is registered;
A link step of linking with the object file to generate an executable program of the new application;
【請求項30】 請求項27または28に記載の方法に
より生成されたプログラム。
30. A program generated by the method according to claim 27 or 28.
【請求項31】 請求項29または30に記載のプログ
ラムを記録したコンピュータ読み取り可能な記録媒体。
31. A computer-readable recording medium in which the program according to claim 29 or 30 is recorded.
【請求項32】 請求項30に記載のプログラムを前記
アプリケーションとして搭載した画像形成装置。
32. An image forming apparatus in which the program according to claim 30 is installed as the application.
【請求項33】 画像形成処理で使用されるハードウェ
ア資源と、画像形成に関する処理を行うアプリケーショ
ンと、該アプリケーションと前記ハードウェア資源との
間に介在するコントロールサービスとを備えた画像形成
装置に搭載される新規アプリケーションを開発するため
の画像形成装置用アプリ開発記録媒体であって、 前記新規アプリケーションのソースコードを記述したソ
ースファイルから前記新規アプリケーションの実行形式
プログラムを生成するアプリ生成プログラムと、 前記コントロールサービスとのプロセス間通信を、既存
の前記アプリケーションを介して行うアプリ関数が登録
されたアプリ関数ライブラリと、 を記録したことを特徴とするコンピュータで読み取り可
能な画像形成装置用アプリ開発記録媒体。
33. An image forming apparatus, comprising: a hardware resource used in an image forming process; an application for performing an image forming process; and a control service interposed between the application and the hardware resource. An application development recording medium for an image forming apparatus for developing a new application, the application generation program generating an execution format program of the new application from a source file describing a source code of the new application, and the control A computer-readable application development recording medium for an image forming apparatus, comprising: an application function library in which application functions for performing interprocess communication with a service via the existing application are registered.
【請求項34】 前記アプリ関数は、コピーアプリ、プ
リンタアプリ、ファックスアプリまたはスキャナアプリ
の中の一または二以上のアプリケーションを介して前記
コントロールサービスに対する処理を行うことを特徴と
する請求項33に記載のコンピュータで読み取り可能な
画像形成装置用アプリ開発記録媒体。
34. The application function performs a process for the control service via one or more applications of a copy application, a printer application, a fax application, and a scanner application. Computer-readable application development recording medium for image forming devices.
JP2002377972A 2002-01-08 2002-12-26 Image forming apparatus, application program, and recording medium Expired - Fee Related JP4334214B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002377972A JP4334214B2 (en) 2002-01-08 2002-12-26 Image forming apparatus, application program, and recording medium
US10/334,828 US20030140174A1 (en) 2002-01-08 2003-01-02 Method for generating application for information processing apparatus and image forming apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002001562 2002-01-08
JP2002-1562 2002-01-08
JP2002377972A JP4334214B2 (en) 2002-01-08 2002-12-26 Image forming apparatus, application program, and recording medium

Publications (2)

Publication Number Publication Date
JP2003271386A true JP2003271386A (en) 2003-09-26
JP4334214B2 JP4334214B2 (en) 2009-09-30

Family

ID=29217783

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002377972A Expired - Fee Related JP4334214B2 (en) 2002-01-08 2002-12-26 Image forming apparatus, application program, and recording medium

Country Status (1)

Country Link
JP (1) JP4334214B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007164595A (en) * 2005-12-15 2007-06-28 Toshiba Corp Function calling method of computer system, computer system and library
JP2012192740A (en) * 2002-07-19 2012-10-11 Ricoh Co Ltd Apparatus, method, program and recording medium
JP2013097747A (en) * 2011-11-05 2013-05-20 Kyocera Document Solutions Inc Software developing kit
JP2013097745A (en) * 2011-11-05 2013-05-20 Kyocera Document Solutions Inc Software development kit, extended application for image forming apparatus created by using the same, and portable terminal device including the application

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012192740A (en) * 2002-07-19 2012-10-11 Ricoh Co Ltd Apparatus, method, program and recording medium
JP2007164595A (en) * 2005-12-15 2007-06-28 Toshiba Corp Function calling method of computer system, computer system and library
JP2013097747A (en) * 2011-11-05 2013-05-20 Kyocera Document Solutions Inc Software developing kit
JP2013097745A (en) * 2011-11-05 2013-05-20 Kyocera Document Solutions Inc Software development kit, extended application for image forming apparatus created by using the same, and portable terminal device including the application

Also Published As

Publication number Publication date
JP4334214B2 (en) 2009-09-30

Similar Documents

Publication Publication Date Title
JP4365148B2 (en) Image forming apparatus, wrapping processing method, and program
EP1398948A2 (en) Image forming apparatus, methods used therein and a computer readable storage medium
JP4344203B2 (en) Image forming apparatus and information display method
JP4373742B2 (en) Image forming apparatus and application activation restriction method
JP2004185595A (en) Information processor and program therefor
US20030140174A1 (en) Method for generating application for information processing apparatus and image forming apparatus
JP2004005612A (en) System and method for obtaining resource information
US20030133136A1 (en) Method for generating and launching application for information processing apparatus and image forming apparatus
JP4037079B2 (en) Image forming apparatus, process monitoring method, and program causing computer to execute the method
JP4334214B2 (en) Image forming apparatus, application program, and recording medium
JP4128506B2 (en) Image forming apparatus and application information acquisition method
JP2004185593A (en) Image forming apparatus and application execution method
JP2004185594A (en) Image forming apparatus and program execution method
JP4334213B2 (en) Information processing apparatus, application program, and recording medium
JP4246560B2 (en) Information processing apparatus, information processing method, program, and recording medium
JP4676977B2 (en) Image forming apparatus, application information acquisition method, and program
JP5036770B2 (en) Apparatus, wrapping processing method, and program
JP3920893B2 (en) Information processing apparatus, inter-process communication history display method, and program for causing computer to execute the method
JP2004127253A (en) Information processing apparatus and version check method
JP3677474B2 (en) Image forming apparatus, interprocess communication history display method, and program causing computer to execute the method
JP4133085B2 (en) Image forming apparatus and customized program test method
JP2003263321A (en) Image forming device application generation method, image forming device application starting method, image forming device application generation program, image forming device, and image forming device application development recording medium
JP3977039B2 (en) Communication program generating method for image information processing apparatus and communication program generating apparatus for image information processing apparatus
JP4500326B2 (en) Inter-process communication program and image information processing apparatus
JP4080739B2 (en) Application generating method for image forming apparatus and program causing computer to execute the method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060307

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060704

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060831

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060907

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20061110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090507

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090623

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

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees