JP2009048485A - Information processor, information processing method, information processing program and storage medium recording the information processing program - Google Patents

Information processor, information processing method, information processing program and storage medium recording the information processing program Download PDF

Info

Publication number
JP2009048485A
JP2009048485A JP2007215105A JP2007215105A JP2009048485A JP 2009048485 A JP2009048485 A JP 2009048485A JP 2007215105 A JP2007215105 A JP 2007215105A JP 2007215105 A JP2007215105 A JP 2007215105A JP 2009048485 A JP2009048485 A JP 2009048485A
Authority
JP
Japan
Prior art keywords
function
information processing
information
branch
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007215105A
Other languages
Japanese (ja)
Inventor
Atsushi Murata
淳 村田
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 JP2007215105A priority Critical patent/JP2009048485A/en
Publication of JP2009048485A publication Critical patent/JP2009048485A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide: an information processor that achieves an application function flexibly responding to a user's intended use or a purpose of use by extending the function range by which one function of an application can be achieved; an information processing method; an information processing program; and storage medium for recording the information processing program. <P>SOLUTION: The information processor 100 comprises sub-function-based information processing means 41 which respectively achieve a plurality of sub-functions constituting one function of the application, wherein the information processor 100 achieves the function of the application by executing the information processing means 41 in accordance with a predetermined execution order. The information processor further comprises a branch processing execution means 43 which performs branch processing according to the execution result of the information processing means 41. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、デスクトップアプリケーションに係り、特に複数の小機能(最小単位の機能)を所定の実行順序に従って実行することで、アプリケーションが有する1つの機能を実現する情報処理装置に関するものである。   The present invention relates to a desktop application, and particularly to an information processing apparatus that realizes one function of an application by executing a plurality of small functions (minimum unit functions) according to a predetermined execution order.

同じアプリケーションであっても、そのアプリケーションを使用するユーザによって使用目的や用途は様々である。   Even for the same application, the purpose of use and usage vary depending on the user who uses the application.

そのため、アプリケーションを開発し、ユーザに提供する企業にとっては、提供したアプリケーションがユーザの使用目的や用途に十分に対応できているか否か、すなわち、自社のアプリケーションがユーザから高い顧客満足度を得られるか否かと言う点が、アプリケーションを販売する上で重要となる。   Therefore, for companies that develop applications and provide them to users, whether or not the provided applications can sufficiently meet the purpose and application of the users, that is, their applications can obtain high customer satisfaction from users. Whether or not is important in selling applications.

そこで、アプリケーションの多くは、ユーザサイドにおいて、必要な機能が拡張できるように、予め、全てのユーザに共通して提供する基本的な機能(以下、「基本機能」と言う。)と、ユーザが必要なときに拡張可能な機能(以下、「拡張機能」と言う。)とに分けて開発され、ユーザに提供されている。   Therefore, in many applications, a basic function (hereinafter referred to as “basic function”) provided in common to all users in advance so that necessary functions can be expanded on the user side, It is developed separately for functions that can be expanded when necessary (hereinafter referred to as “extended functions”), and is provided to users.

その結果、ユーザは、必要に応じて、「基本機能」を搭載したアプリケーションが動作する情報処理装置に、アプリケーション本体のプログラムとは別の形で提供された「拡張機能」用のプログラムをインストールすることにより、使用目的や用途に応じた機能拡張を行うことができる。   As a result, the user installs the program for the “extended function” provided in a form different from the program of the application main body to the information processing apparatus in which the application having the “basic function” operates as necessary. As a result, the function can be expanded according to the purpose of use and application.

このような、機能拡張を実現するために開発された「拡張機能」用のプログラムを、「プラグイン」と言う。   Such a program for “extended function” developed to realize function expansion is called “plug-in”.

例えば、特許文献1には、システムが有する複数個の文書管理DB(Data Base)との間でデータ通信を行うためにDBそれぞれを接続する機能を、文書管理ソフトウェア(アプリケーション本体)のプログラムとは別のプログラム(DB接続機能プラグイン)として構成する統合文書管理システムが提案されている。   For example, Patent Document 1 describes a function of connecting each DB to perform data communication with a plurality of document management DBs (Data Base) included in the system as a program of document management software (application main body). An integrated document management system configured as a separate program (DB connection function plug-in) has been proposed.

このように、統合文書管理システムを構成することで、ユーザが、UI(User Interface)を介して文書操作を行う際に、システムが有するDBの種類を意識することなく操作を行うことができる他、DB間のデータ通信に関する仕様変更やDBの設計変更、また新たなDBの追加などが発生した場合でも、開発サイドは、その変更点への対応をプラグイン単位で行えば良いため、カスタマイズが容易であるなどの効果が挙げられている。   In this way, by configuring an integrated document management system, when a user performs a document operation via a UI (User Interface), the user can operate without being aware of the type of DB that the system has. Even if there is a change in specifications related to data communication between DBs, DB design changes, or addition of new DBs, the development side needs to respond to the changes in plug-in units, so customization is possible. The effect is easy.

しかし、上記のようなプラグインを用いてアプリケーションの機能拡張を行い、プラグインにより提供される各機能を組み合わせて一連の処理を行う場合、例えば、各機能の実行をその都度ユーザが指示しなければならないなど、一連の処理を終えるまでの操作が煩雑になると言う問題点がある。   However, when the application functions are expanded using the plug-ins as described above and a series of processing is performed by combining the functions provided by the plug-ins, for example, the user must instruct execution of each function each time. There is a problem that the operation until the end of a series of processing becomes complicated.

現在では、より簡便に一連の処理を行うために、拡張された最小単位の機能である小機能を所定の実行順序に従って実行することで、1つの機能として一連の処理を実現するアプリケーションが提案されている。
特開2001−51840号公報
Currently, in order to perform a series of processes more easily, an application that implements a series of processes as one function by executing small functions, which are extended minimum unit functions, according to a predetermined execution order has been proposed. ing.
JP 2001-51840 A

しかしながら、従来の「複数の小機能を所定の実行順序に従って実行することで1つの機能を実現するアプリケーション」では、一連の処理の中で実行する小機能及びその実行順序を予め決めておく必要がある。そのため、既に実行した小機能の実行結果に応じて、これから実行する小機能を動的に決定することができない。すなわち、実行結果に応じた分岐処理を行うことができなかった。   However, in the conventional “application that realizes one function by executing a plurality of small functions according to a predetermined execution order”, it is necessary to determine in advance the small functions to be executed in a series of processes and the execution order thereof. is there. For this reason, it is not possible to dynamically determine a small function to be executed from now on according to the execution result of the already executed small function. That is, the branch process according to the execution result could not be performed.

例えば、ユーザが所定の画像処理を行った画像データの印刷を行うときに、画像データの色特性(カラー画像かモノクロ画像か)に応じてカラー印刷又はモノクロ印刷を切り替えて動作させたい場合には、カラー印刷を行う機能とモノクロ印刷を行う機能と、それぞれの印刷機能に対して実行する小機能及びその実行順序を予め決めておく必要があり、1つの印刷機能の中でカラー印刷又はモノクロ印刷を分岐処理することができない。   For example, when the user prints image data that has been subjected to predetermined image processing, and wants to switch between color printing and monochrome printing according to the color characteristics of the image data (color image or monochrome image) It is necessary to determine in advance a color printing function, a monochrome printing function, a small function to be executed for each printing function and an execution order thereof, and color printing or monochrome printing in one printing function. Cannot be branched.

そこで、本発明では、上記従来技術の問題点に鑑み、アプリケーションの1つの機能が実現する機能範囲を拡げ、ユーザの使用目的や用途に対して柔軟に対応可能なアプリケーション機能を実現することができる情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体を提供することを目的とする。   Therefore, in the present invention, in view of the above-described problems of the conventional technology, the function range realized by one function of an application can be expanded, and an application function that can flexibly cope with the user's purpose and application can be realized. An object is to provide an information processing apparatus, an information processing method, an information processing program, and a recording medium for recording the information processing program.

上記目的を達成するため、本発明の情報処理装置は、アプリケーションが有する1つの機能を構成する複数の小機能それぞれを実現する小機能ごとの情報処理手段を有し、前記情報処理手段を所定の実行順序に従って実行することで前記アプリケーションの機能を実現する情報処理装置であって、前記情報処理手段の実行結果に応じて分岐処理を行う分岐処理実行手段を有することを特徴とする。   In order to achieve the above object, an information processing apparatus of the present invention has information processing means for each small function that realizes each of a plurality of small functions constituting one function of an application. An information processing apparatus that realizes the function of the application by executing in accordance with an execution order, and includes a branch process execution unit that performs a branch process according to an execution result of the information processing unit.

これによって、本発明の情報処理装置は、小機能の実行結果に応じた分岐処理を行い、次に実行する小機能を動的に決定することにより、アプリケーションの1つの機能が実現する機能範囲を拡げ、ユーザの使用目的や用途に対して柔軟に対応可能なアプリケーション機能を実現することができる。   As a result, the information processing apparatus of the present invention performs a branch process according to the execution result of the small function, and dynamically determines the small function to be executed next, thereby reducing the function range realized by one function of the application. It is possible to realize an application function that can be expanded and flexibly cope with the purpose and application of the user.

また、上記目的を達成するため、本発明の情報処理装置は、前記情報処理手段の実行結果に応じて分岐処理するための条件を示す分岐条件情報と、分岐した後に実行される情報処理手段の実行順序を示す実行順序情報と、分岐した後に実行する情報処理手段で処理されるデータを示す処理対象情報とを定義した定義データを生成する定義データ生成手段を有し、前記分岐処理実行手段が、前記定義データ生成手段により生成された定義データに基づいて前記分岐処理を行うことを特徴とする。   In order to achieve the above object, an information processing apparatus according to the present invention includes branch condition information indicating a condition for performing branch processing according to an execution result of the information processing means, and information processing means executed after branching. A definition data generating unit configured to generate definition data defining execution order information indicating an execution order and processing target information indicating data to be processed by an information processing unit to be executed after branching; The branching process is performed based on the definition data generated by the definition data generation means.

また、上記目的を達成するため、本発明の情報処理装置は、前記定義データ生成手段において、前記定義データの前記分岐条件情報に、前記小機能を実現する前記情報処理手段を識別する識別情報と、前記情報処理手段の属性情報とを定義することを特徴とする。   In order to achieve the above object, in the information processing apparatus of the present invention, the definition data generation means includes identification information for identifying the information processing means for realizing the small function in the branch condition information of the definition data. The attribute information of the information processing means is defined.

上記目的を達成するため、本発明の情報処理方法は、アプリケーションが有する1つの機能を構成する複数の小機能それぞれを実現する小機能ごとの情報処理手順を有し、前記情報処理手順を所定の実行順序に従って実行することで前記アプリケーションの機能を実現する情報処理方法であって、前記情報処理手順を前記所定の実行順序に従って実行するときに、前記情報処理手順を実行して得た実行結果に応じて分岐処理を行う分岐処理実行手順を有することを特徴とする。   In order to achieve the above object, an information processing method of the present invention has an information processing procedure for each small function that realizes each of a plurality of small functions that constitute one function of an application. An information processing method for realizing the function of the application by executing according to an execution order, wherein when the information processing procedure is executed according to the predetermined execution order, an execution result obtained by executing the information processing procedure is obtained. It has a branch process execution procedure for performing a branch process accordingly.

これによって、本発明の情報処理方法は、小機能の実行結果に応じた分岐処理を行い、次に実行する小機能を動的に決定することにより、アプリケーションの1つの機能が実現する機能範囲を拡げ、ユーザの使用目的や用途に対して柔軟に対応可能なアプリケーション機能を実現することができる。   As a result, the information processing method of the present invention performs a branch process according to the execution result of the small function, and dynamically determines a small function to be executed next, thereby reducing the function range realized by one function of the application. It is possible to realize an application function that can be expanded and flexibly cope with the purpose and application of the user.

上記目的を達成するため、本発明の情報処理プログラムは、アプリケーションが有する1つの機能を構成する複数の小機能それぞれを実現する小機能ごとの情報処理手段を有し、前記情報処理手段を所定の実行順序に従って実行することで前記アプリケーションの機能を実現する情報処理プログラムであって、コンピュータを、前記情報処理手段の実行結果に応じて分岐処理を行うように実行させる。   In order to achieve the above object, an information processing program of the present invention has information processing means for each small function that realizes each of a plurality of small functions constituting one function of an application. An information processing program that implements the function of the application by executing according to an execution order, and causes a computer to execute a branch process according to an execution result of the information processing means.

これによって、本発明の情報処理プログラムは、コンピュータを、小機能の実行結果に応じて次に実行する小機能を決定する分岐処理を行うように実行させることができる。   Accordingly, the information processing program of the present invention can cause the computer to execute a branch process for determining a small function to be executed next in accordance with the execution result of the small function.

よって、本発明の情報処理プログラムは、アプリケーションの1つの機能が実現する機能範囲を拡げ、ユーザの使用目的や用途に対して柔軟に対応可能なアプリケーションを実現することができる。   Therefore, the information processing program of the present invention can expand the functional range realized by one function of the application, and can realize an application that can flexibly respond to the user's purpose and application.

本発明によれば、小機能の実行結果に応じた分岐処理を行い、次に実行する小機能を動的に決定することにより、アプリケーションの1つの機能が実現する機能範囲を拡げ、ユーザの使用目的や用途に対して柔軟に対応可能なアプリケーション機能を実現するできる情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体を提供することができる。   According to the present invention, the branching process according to the execution result of the small function is performed, and the small function to be executed next is dynamically determined, so that the function range realized by one function of the application is expanded and used by the user. It is possible to provide an information processing apparatus, an information processing method, an information processing program, and a recording medium for recording the information processing program that can realize an application function that can flexibly cope with the purpose and application.

以下、本発明の好適な実施の形態(以下、「実施形態」と言う。)について、図面を用いて詳細に説明する。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention (hereinafter referred to as “embodiments”) will be described in detail with reference to the drawings.

[第1の実施形態]
<情報処理装置のハードウェア構成について>
まず、本実施形態に係る情報処理装置100のハードウェア構成について、図1を用いて説明する。
[First Embodiment]
<Hardware configuration of information processing device>
First, the hardware configuration of the information processing apparatus 100 according to the present embodiment will be described with reference to FIG.

図1は、本発明の実施形態1に係る情報処理装置100のハードウェア構成の一例を示す図である。   FIG. 1 is a diagram illustrating an example of a hardware configuration of the information processing apparatus 100 according to the first embodiment of the present invention.

図1に示すように、本実施形態に係る情報処理装置100は、制御部11、主記憶部12、補助記憶部13、ネットワークI/F14、外部記憶装置I/F15、外部装置I/F16、出力装置I/F17、及び入力装置I/F18とから構成されている。   As shown in FIG. 1, the information processing apparatus 100 according to the present embodiment includes a control unit 11, a main storage unit 12, an auxiliary storage unit 13, a network I / F 14, an external storage device I / F 15, an external device I / F 16, An output device I / F 17 and an input device I / F 18 are included.

制御部(CPU:Central Processing Unit)11は、以下に説明する主記憶部12、補助記憶部13、及びネットワークI/F14など、本実施形態に係る情報処理装置100が有する各装置の制御を行う。また、制御部11は、主記憶部12や補助記憶部13などに記憶されたプログラムを実行する装置で、入力装置や記憶装置からデータを受け取り、データを演算・加工した上で、出力装置や記憶装置に出力する(例えば、キーボードで入力した文字をディスプレイに表示するなど)。   A control unit (CPU: Central Processing Unit) 11 controls each device included in the information processing apparatus 100 according to the present embodiment, such as a main storage unit 12, an auxiliary storage unit 13, and a network I / F 14 described below. . The control unit 11 is a device that executes a program stored in the main storage unit 12 or the auxiliary storage unit 13. The control unit 11 receives data from an input device or a storage device, calculates and processes the data, Output to a storage device (for example, display characters entered on a keyboard on a display).

主記憶部(ROM:Read Only Memory、RAM:Random Access Memory)12は、制御部11が実行するプログラムや関連するデータを記憶(一時的に保持する場合も含む)する装置である。ROMには、制御部11が実行するプログラムや関連するデータが記憶されており、記憶されたプログラムや関連するデータは、制御部11により、必要に応じてRAM上へ展開(ロード)され、展開(ロード)されたプログラムや関連するデータは、制御部11により、演算・加工される。   A main storage unit (ROM: Read Only Memory, RAM: Random Access Memory) 12 is a device for storing (including temporarily holding) a program executed by the control unit 11 and related data. The ROM stores a program executed by the control unit 11 and related data, and the stored program and related data are expanded (loaded) onto the RAM as needed by the control unit 11 and expanded. The (loaded) program and related data are calculated and processed by the control unit 11.

補助記憶部(HD:Hard Disk)13は、基本ソフトウェアであるOS(Operating System)や本実施形態に係る情報処理プログラムを含むアプリケーションプログラムや機能拡張用のプラグインなどを関連するデータとともに記憶する装置である。また、補助記憶部13には、本実施形態に係る情報処理装置100が管理する各種情報(例えば、プラグインの実行条件や実行順序を定義した定義情報など。)が格納され、DBやファイルシステム(File System)などにより管理される。   The auxiliary storage unit (HD: Hard Disk) 13 stores an OS (Operating System) that is basic software, an application program including an information processing program according to the present embodiment, a plug-in for function expansion, and the like together with related data. It is. The auxiliary storage unit 13 stores various information (for example, definition information defining execution conditions and execution order of plug-ins) managed by the information processing apparatus 100 according to the present embodiment. (File System) etc.

ネットワークI/F14は、有線及び/又は無線回線などのデータ伝送路により構築されたLAN(Local Area Network)、WAN(Wide Area Network)などのネットワークを介して接続された通信機能を有する周辺機器(例えば、他の情報処理装置や画像形成装置など。)と本実施形態に係る情報処理装置100とのインタフェースである。   The network I / F 14 is a peripheral device having a communication function connected via a network such as a LAN (Local Area Network) or a WAN (Wide Area Network) constructed by a data transmission path such as a wired and / or wireless line. For example, this is an interface between the information processing apparatus 100 according to the present embodiment and other information processing apparatuses and image forming apparatuses.

外部記憶装置I/F15は、USB(Universal Serial Bus)などのデータ伝送路を介して接続された外部記憶装置(例えば、記憶メディアドライブなど。)と本実施形態に係る情報処理装置100とのインタフェースである。   The external storage device I / F 15 is an interface between an external storage device (for example, a storage media drive) connected via a data transmission path such as USB (Universal Serial Bus) and the information processing device 100 according to the present embodiment. It is.

外部装置I/F16は、USBなどのデータ伝送路を介して接続された外部装置(例えば、外付けHDやUSBメモリなど。)と本実施形態に係る情報処理装置100とのインタフェースである。   The external device I / F 16 is an interface between an external device (for example, an external HD or a USB memory) connected via a data transmission path such as USB and the information processing apparatus 100 according to the present embodiment.

本実施形態に係る情報処理装置100は、これらのインタフェースを介して、外部と各種データのやり取り(送受信や読み込み/書き込み)を行う。   The information processing apparatus 100 according to the present embodiment exchanges various types of data (transmission / reception and reading / writing) with the outside via these interfaces.

出力装置I/F17は、専用ケーブルなどのデータ伝送路を介して接続された出力装置(例えば、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)など。)と本実施形態に係る情報処理装置100とのインタフェースである。   The output device I / F 17 includes an output device (for example, a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display)) connected via a data transmission line such as a dedicated cable, and the information processing device according to the present embodiment. 100 interface.

入力装置I/F18は、USBなどのデータ伝送路を介して接続された入力装置(例えば、キーボードやマウスなど。)と本実施形態に係る情報処理装置100とのインタフェースである。   The input device I / F 18 is an interface between an input device (for example, a keyboard and a mouse) connected via a data transmission path such as USB and the information processing apparatus 100 according to the present embodiment.

このように、本実施形態に係る情報処理装置100は、制御部11によって、補助記憶部13に格納された本実施形態に係る情報処理プログラムを主記憶部12のRAM上に展開(ロード)し、展開(ロード)したプログラムを実行することで、以降に説明する「ユーザの使用目的や用途に対して柔軟に対応可能なデスクトップアプリケーション」を実現している。   As described above, in the information processing apparatus 100 according to the present embodiment, the control unit 11 expands (loads) the information processing program according to the present embodiment stored in the auxiliary storage unit 13 onto the RAM of the main storage unit 12. By executing the expanded (loaded) program, a “desktop application that can flexibly respond to the purpose and application of the user” described below is realized.

<情報処理装置のソフトウェア構成について>
次に、本実施形態に係る情報処理装置100のソフトウェア構成について、図3を用いて説明する。
<Software configuration of information processing device>
Next, the software configuration of the information processing apparatus 100 according to the present embodiment will be described with reference to FIG.

図2は、本発明の第1の実施形態に係る情報処理装置100のソフトウェア構成の一例を示す図である。   FIG. 2 is a diagram illustrating an example of a software configuration of the information processing apparatus 100 according to the first embodiment of the present invention.

図2に示すように、本実施形態に係る情報処理装置100に実装するデスクトップアプリケーション20に関するソフトウェアは、デスクトップアプリケーション20、機能プラグイン30、及びコアプログラム(コアモジュール群)31とから構成されている。   As shown in FIG. 2, software related to the desktop application 20 implemented in the information processing apparatus 100 according to the present embodiment includes a desktop application 20, a function plug-in 30, and a core program (core module group) 31. .

デスクトップアプリケーション20は、定義データ21、UIプラグイン(UIパーツ)22、及びアプリケーションプロセス23とから構成されている。   The desktop application 20 includes definition data 21, a UI plug-in (UI part) 22, and an application process 23.

定義データ21は、デスクトップアプリケーション20によって行う処理を実現するために必要なプラグインの実行条件や実行順序などの動作に関する情報が所定の形式に従って定義されたデータであり、複数個のデータ(データ群)によって構成されている。   The definition data 21 is data in which information related to operations such as execution conditions and execution order of plug-ins necessary for realizing the processing performed by the desktop application 20 is defined according to a predetermined format. ).

図3は、本発明の第1の実施形態に係る定義データ21のデータ構造の一例(条件分岐がない場合)を示す図である。   FIG. 3 is a diagram showing an example of the data structure of the definition data 21 according to the first embodiment of the present invention (when there is no conditional branch).

図3に示すデータは、XML(Extensible Markup Language)と言われるマークアップ言語によって記述した定義データ21に一例である。   The data shown in FIG. 3 is an example of definition data 21 described in a markup language called XML (Extensible Markup Language).

XMLは、タグと呼ばれる特定の文字列によって文書やデータの意味や構造を記述するマークアップ言語の1つで、ユーザが独自のタグを指定することができる。   XML is one of markup languages for describing the meaning and structure of documents and data by a specific character string called a tag, and a user can specify a unique tag.

このような言語特性から、本実施形態に係る定義データ21では、独自の「定義開始タグ」(例えば"<Tag>"など)と「定義終了タグ」(例えば"</Tag>"など)との間に、動作に関する情報(例えばProc_1など)を記述することで定義する(例えば"<Tag>Proc_1</Tag>"など)。よって、上記の「所定の形式」とは、開始タグと終了タグとの間に、動作に関する情報を配置する形式を意味する。   Due to such language characteristics, the definition data 21 according to the present embodiment has its own “definition start tag” (for example, “<Tag>”) and “definition end tag” (for example, “</ Tag>”). , By defining information about the operation (for example, Proc_1) (for example, “<Tag> Proc_1 </ Tag>”, etc.). Therefore, the above-mentioned “predetermined format” means a format in which information regarding the operation is arranged between the start tag and the end tag.

また、本実施形態に係る定義データ21では、「開始タグ」と「終了タグ」とから、定義するデータ構造を階層化する。例えば、定義Aの「開始タグ」に対応する定義Aの「終了タグ」との間に、定義Bの「開始タグ」と「終了タグ」を埋め込み、更に、定義Bの「開始タグ」に対応する定義Bの「終了タグ」との間に、定義Cの「開始タグ」と「終了タグ」及び定義Dの「開始タグ」と「終了タグ」とを埋め埋め込んだ場合、定義Aの構成要素が定義Bとなり、定義Bの構成要素が定義C及びDとなる。このように、一対のタグの間に、別のタグを入れ子のように埋め込んでいくことで、定義するデータを階層化することができる。   Further, in the definition data 21 according to the present embodiment, the data structure to be defined is hierarchized from the “start tag” and “end tag”. For example, “Start tag” and “End tag” of definition B are embedded between “End tag” of definition A corresponding to “Start tag” of definition A, and further correspond to “Start tag” of definition B When the “start tag” and “end tag” of definition C and the “start tag” and “end tag” of definition D are embedded between the “end tag” of definition B to be defined, the components of definition A Becomes definition B, and the components of definition B are definitions C and D. In this way, by defining another tag in a nested manner between a pair of tags, the data to be defined can be hierarchized.

定義データ21に定義する動作に関する情報には、主に、デスクトップアプリケーション20によって行う処理を1つの機能として定義した場合の「機能に関する情報」と、デスクトップアプリケーション20によって行う処理を実現するために必要な機能プラグイン(小機能)30の「実行条件や実行順序に関する情報」と、機能プラグイン(小機能)30の「処理対象に関する情報」の3つの情報がある。   The information related to the operation defined in the definition data 21 is mainly necessary to realize “information related to a function” when processing performed by the desktop application 20 is defined as one function and processing performed by the desktop application 20. There are three types of information: “information about execution conditions and execution order” of the function plug-in (small function) 30 and “information about processing target” of the function plug-in (small function) 30.

<<機能に関する情報>>
(a)定義名(機能名)
複数個の機能プラグイン(小機能)30によって行う処理を1つの機能として定義したときの定義名を示す情報(複数個の機能プラグイン(小機能)30を実行することで実現される機能名を示す情報)。
(b)定義種類
定義した機能の種類(例えば、システムサイドの機能やユーザサイドの機能など。)を示す情報。
(c)メニュー名
定義した機能が、デスクトップアプリケーション20のメニュー項目の1つとして表示するときに該当するメニュー名を示す情報。
(d)メニュー項目領域
定義した機能が、デスクトップアプリケーション20のメニュー項目の1つとして表示するときに、該当するメニューのうち、表示するメニュー項目の領域を示す情報。
<< Function information >>
(A) Definition name (function name)
Information indicating a definition name when processing performed by a plurality of function plug-ins (small functions) 30 is defined as one function (function name realized by executing a plurality of function plug-ins (small functions) 30 Information).
(B) Definition type Information indicating the type of a defined function (for example, a system-side function or a user-side function).
(C) Menu name Information indicating a menu name corresponding to a defined function displayed as one of the menu items of the desktop application 20.
(D) Menu item area Information indicating the area of the menu item to be displayed among the corresponding menus when the defined function is displayed as one of the menu items of the desktop application 20.

<<実行条件や実行順序に関する情報>>
(e)実行条件
情報処理手段41(機能プラグイン(小機能)30)で処理を行うときに、処理を制御するためのパラメータ。
(f)実行順序
複数個の機能プラグイン(小機能)30を並べた順番(記述された順番(図3の処理Aと処理B))。
<< Information about execution conditions and execution order >>
(E) Execution conditions Parameters for controlling processing when processing is performed by the information processing means 41 (function plug-in (small function) 30).
(F) Execution order The order in which a plurality of function plug-ins (small functions) 30 are arranged (the order in which they are described (process A and process B in FIG. 3)).

<<処理対象に関する定義>>
(g)処理対象
機能プラグイン(小機能)30の処理対象であるデータの名前や、そのデータを出力した機能プラグイン(小機能)30の名前を示す情報。
<< Definition of processing target >>
(G) Processing Target Information indicating the name of data to be processed by the function plug-in (small function) 30 and the name of the function plug-in (small function) 30 that output the data.

図3に示す定義データ21では、これらの情報を各情報に対応した「開始タグ」と「終了タグ」によって定義している。   In the definition data 21 shown in FIG. 3, these pieces of information are defined by “start tag” and “end tag” corresponding to each information.

よって、定義データ21は、「機能に関する情報」を定義するデータ71と、「実行条件、実行順序、及び処理対象に関する情報」を定義するデータ72とから構成される。   Therefore, the definition data 21 includes data 71 that defines “information related to functions” and data 72 that defines “information related to execution conditions, execution order, and processing targets”.

図2に戻り、UIプラグイン(UIパーツ)22は、デスクトップアプリケーション20のUIを構成するプログラム(UIを構成する最小単位の機能(小機能))であり、複数個のプログラム(モジュール群)によって構成されている。   Returning to FIG. 2, the UI plug-in (UI part) 22 is a program (minimum unit function (small function) that configures the UI) of the desktop application 20, and includes a plurality of programs (module groups). It is configured.

アプリケーションプロセス23は、OSから主記憶部12のRAM上に使用可能なメモリ領域の割り当てを受けて、処理を実行するプログラムである。アプリケーションプロセス23によって実行される処理は、例えば、UIプラグイン(UIパーツ)22を用いてCRTやLCDなどの出力装置にUIを表示するための描画処理、定義データ21に定義された動作条件や動作順序などの動作に関する情報に従って機能プラグイン(小機能)30の動作を指示するプラグイン実行処理、UIから受け付けた動作に関する情報を基に定義データ21を生成する定義データ生成処理などである。   The application process 23 is a program that executes processing upon receiving an allocation of a usable memory area on the RAM of the main storage unit 12 from the OS. The process executed by the application process 23 includes, for example, a drawing process for displaying a UI on an output device such as a CRT or an LCD using a UI plug-in (UI part) 22, operating conditions defined in the definition data 21, These include plug-in execution processing for instructing the operation of the function plug-in (small function) 30 according to information related to the operation such as the operation order, and definition data generation processing for generating the definition data 21 based on information related to the operation received from the UI.

機能プラグイン30は、デスクトップアプリケーション20の機能を実現するために所定の情報処理を行うプログラムであり、複数個のプログラム(モジュール群)によって構成されている。ここで言う「所定の情報処理」とは、例えば、「ファイル選択」、「リサイズ(変倍)」、「カラー印刷」、「モノクロ印刷」、及び「メッセージ表示」などのような、デスクトップアプリケーション20の機能を構成する最小単位の機能(小機能)を実現する処理を意味する。   The function plug-in 30 is a program for performing predetermined information processing in order to realize the function of the desktop application 20, and is configured by a plurality of programs (module groups). The “predetermined information processing” here refers to a desktop application 20 such as “file selection”, “resizing (scaling)”, “color printing”, “monochrome printing”, “message display”, and the like. Means a process for realizing a minimum unit function (small function) constituting the function.

機能プラグイン30が実現する最小単位の機能(小機能)は、主に、情報処理装置100に入力された入力データに対して画像処理を行う処理(画像処理機能)と、入力データ及び/又は画像処理後のデータの出力を行う処理(出力機能)と、画像処理及び出力処理を行うときにその実行状態や実行結果などの情報をCRTやLCDなどの出力装置を介してユーザに通知する処理(情報通知機能)との3つの機能分類に含まれるいずれか1つの機能である。   The minimum unit functions (small functions) realized by the function plug-in 30 mainly include processing for performing image processing on input data input to the information processing apparatus 100 (image processing function), input data, and / or Processing to output data after image processing (output function), and processing to notify the user of information such as execution status and execution result via output devices such as CRT and LCD when performing image processing and output processing Any one function included in the three function classifications (information notification function).

このような機能プラグイン(小機能)30は、デスクトップアプリケーション20を情報処理装置100にインストールしたときや必要に応じて追加インストールしたときに、インストーラーによって補助記憶部13などの不揮発性の記憶装置の所定の記憶領域に格納される。ここで言う「所定の記憶領域」とは、インストーラーによって指定される格納先アドレス(例えばディレクトリパスやフォルダパス)が示す記憶領域を意味する。   Such a function plug-in (small function) 30 is stored in the nonvolatile storage device such as the auxiliary storage unit 13 by the installer when the desktop application 20 is installed in the information processing apparatus 100 or additionally installed as necessary. Stored in a predetermined storage area. Here, the “predetermined storage area” means a storage area indicated by a storage destination address (for example, a directory path or a folder path) designated by the installer.

コアプログラム31は、アプリケーションプロセス23からの動作指示に従って機能プラグイン(小機能)30を実行するプログラムや、アプリケーションプログラムとプラグインモジュールとの間のデータインタフェース(以下、「データI/F」と言う。)プログラムと言った、アプリケーションプログラムとプラグインモジュールとの間で共通化されたプログラムであり、複数個のプログラム(モジュール群)によって構成されている。   The core program 31 executes a function plug-in (small function) 30 in accordance with an operation instruction from the application process 23, and a data interface between the application program and the plug-in module (hereinafter referred to as “data I / F”). .) A program called a program that is shared between an application program and a plug-in module, and is composed of a plurality of programs (module groups).

上記の構成により、本実施形態に係るデスクトップアプリケーション20に関するソフトウェアは、以下のように動作する。この動作は、ユーザが、「デスクトップアプリケーション20のメニュー項目を選択した」ときの一例である。
(1) UIを介してユーザからの機能動作指示を受け取る。
(2) アプリケーションプロセス23は、UIから受け取った動作指示を、データI/Fを介してコアプログラム31に渡す。
(3) コアプログラム31は、アプリケーションプロセス23から受け取った動作指示に従って、指示された機能の動作に関する情報が定義された定義データ21を特定する(複数個ある定義データ21の中から、UI上のメニュー項目に対応付けられた定義データ21を、例えば、定義データ21のファイル名や定義データ21に定義された「機能に関する情報」などを基に特定する)。コアプログラム31は、特定した定義データ21を基に、定義された実行条件や実行順序などの動作に関する情報に従って機能プラグイン(小機能)30を実行する。
With the above configuration, the software related to the desktop application 20 according to the present embodiment operates as follows. This operation is an example when the user “selects the menu item of the desktop application 20”.
(1) A function operation instruction is received from the user via the UI.
(2) The application process 23 passes the operation instruction received from the UI to the core program 31 via the data I / F.
(3) The core program 31 specifies the definition data 21 in which information related to the operation of the instructed function is defined in accordance with the operation instruction received from the application process 23 (from the plurality of definition data 21 on the UI The definition data 21 associated with the menu item is specified based on, for example, the file name of the definition data 21 or “information about the function” defined in the definition data 21). The core program 31 executes the function plug-in (small function) 30 in accordance with information related to the operation such as the defined execution condition and execution order based on the specified definition data 21.

このように、本実施形態に係るデスクトップアプリケーション20に関するソフトウェアは、ユーザの機能動作指示に従って、OSから割り当てられた主記憶部12のRAM上のメモリ領域に、上記に説明したプログラムやデータを展開(ロード)し、展開(ロード)したプログラムを制御部11により実行することでアプリケーションが有する1つの機能を実現している。   As described above, the software related to the desktop application 20 according to the present embodiment expands the above-described program and data in the memory area on the RAM of the main storage unit 12 allocated from the OS according to the user's functional operation instruction ( Loaded) and the expanded (loaded) program is executed by the control unit 11 to realize one function of the application.

<情報処理装置の主な機能を構成する手段について>
では、本実施形態に係る情報処理装置100が、図1のハードウェア構成及び図2のソフトウェア構成によって実現されるデスクトップアプリケーション20において、機能プラグイン(小機能)30の実行結果に応じた分岐処理を行うための主な機能を構成する各手段について、図4〜14を用いて説明する。
<Means for configuring main functions of information processing apparatus>
In the desktop application 20 realized by the hardware configuration of FIG. 1 and the software configuration of FIG. 2, the information processing apparatus 100 according to the present embodiment performs branch processing according to the execution result of the function plug-in (small function) 30. Each means which comprises the main function for performing this is demonstrated using FIGS.

図4は、本発明の第1の実施形態に係る情報処理装置100の主な機能を構成する手段の一例を示すブロック図である。   FIG. 4 is a block diagram showing an example of means constituting the main functions of the information processing apparatus 100 according to the first embodiment of the present invention.

本実施形態に係る情報処理装置100が有するデスクトップアプリケーション20において、機能プラグイン(小機能)30の実行結果に応じた分岐処理を行うための主な機能は、情報処理手段41、定義データ生成手段42、及び分岐処理実行手段43とから構成されている。以下に、各手段について説明する。   In the desktop application 20 included in the information processing apparatus 100 according to the present embodiment, main functions for performing branch processing according to the execution result of the function plug-in (small function) 30 are the information processing unit 41 and the definition data generation unit. 42 and a branch processing execution means 43. Hereinafter, each means will be described.

情報処理手段41は、デスクトップアプリケーション20の機能を実現するために所定の情報処理を行うものであり、図2で説明した機能プラグイン(小機能)30を制御部11で実行することにより行われる。   The information processing means 41 performs predetermined information processing in order to realize the function of the desktop application 20 and is performed by executing the function plug-in (small function) 30 described in FIG. .

よって、情報処理手段41は、予め、補助記憶部13などの不揮発性の記憶装置に格納された機能プラグイン(小機能)30が、必要に応じて(ユーザの動作指定に応じて)主記憶部12のRAM上に展開(ロード)され制御部11によって実行されることで、デスクトップアプリケーション20の機能を構成する最小単位の機能(小機能)を実現する。   Therefore, in the information processing means 41, the function plug-in (small function) 30 stored in advance in a non-volatile storage device such as the auxiliary storage unit 13 is stored in the main memory as required (in response to user operation designation). The functions (small functions) of the minimum unit constituting the functions of the desktop application 20 are realized by being loaded (loaded) on the RAM of the unit 12 and executed by the control unit 11.

図4には、その一例として、画像処理機能である「ファイル選択」の処理を行う情報処理手段41a(ファイル選択プラグイン)と「リサイズ(変倍)」を行う情報処理手段41b(リサイズプラグイン)、また、出力機能である「カラー印刷」を行う情報処理手段41c(カラー印刷プラグイン)と「モノクロ印刷」を行う情報処理手段41d(モノクロ印刷プラグイ)、更に、情報通知機能である「メッセージ表示」を行う情報処理手段41d(メッセージ表示プラグイン)とが示されている。   In FIG. 4, as an example, information processing means 41a (file selection plug-in) that performs processing of “file selection” that is an image processing function and information processing means 41b (resizing plug-in) that performs “resizing (magnification)”. In addition, information processing means 41c (color printing plug-in) for performing “color printing” as an output function, information processing means 41d (monochrome printing plug-in) for performing “monochrome printing”, and “message” as an information notification function Information processing means 41d (message display plug-in) that performs “display” is shown.

次に、定義データ生成手段42は、デスクトップアプリケーション20によって行う処理を実現するために必要な機能プラグイン(小機能)30の実行条件や実行順序などの動作に関する情報を、図3に示すような所定の形式に従って定義して定義データ21を生成する。   Next, the definition data generation means 42 provides information on the operation such as the execution conditions and execution order of the function plug-in (small function) 30 necessary for realizing the processing performed by the desktop application 20 as shown in FIG. Definition data 21 is generated by definition according to a predetermined format.

定義データ生成手段42では、独自のタグを用いた所定の形式に従って、動作に関する情報の意味を記述した定義データ21を生成することによって、複数個の機能プラグイン(小機能)30(例えば図4に示す情報処理手段41a〜41e)により行われる処理を、デスクトップアプリケーション20の1つの機能(複数個の小機能から構成される機能)として定義する。   The definition data generating means 42 generates a plurality of function plug-ins (small functions) 30 (for example, FIG. 4) by generating definition data 21 that describes the meaning of information related to operations according to a predetermined format using a unique tag. Are defined as one function of the desktop application 20 (a function composed of a plurality of small functions).

そのため、本実施形態に係る情報処理装置100では、ユーザがデスクトップアプリケーション20によって行いたい処理の実行条件や実行順序などの動作に関する情報を、定義データ21に定義することで、デスクトップアプリケーション20の1つの機能として実行させることができる。   For this reason, in the information processing apparatus 100 according to the present embodiment, one of the desktop applications 20 is defined by defining, in the definition data 21, information related to operations such as execution conditions and execution order of processing that the user wants to perform with the desktop application 20. It can be executed as a function.

図3に示す定義データ21には、機能プラグイン(小機能)30が行う処理Aの次に、無条件で他の機能プラグイン(小機能)30が行う処理Bが実行され、デスクトップアプリケーション20の1つの機能を実現すると言う一連の処理を実現する実行順序が定義されたデータ例が示されている。   In the definition data 21 shown in FIG. 3, after the process A performed by the function plug-in (small function) 30, the process B performed by another function plug-in (small function) 30 is executed unconditionally. An example of data in which an execution order for realizing a series of processes for realizing one function is defined is shown.

例えば、ユーザが、処理A及び処理Bを行った後に、処理A又は処理Bの実行結果に応じて、後に行う処理を動的に切り替えて機能させたい場合がある。   For example, after performing the process A and the process B, the user may want to dynamically switch the function to be performed later according to the execution result of the process A or the process B.

このような場合、従来のデスクトップアプリケーション20では、処理Bの実行後に行う処理の実行順序を、本来動的に切り替えて機能させたい処理パターンの数だけ、処理A及び処理Bを行う実行順序を定義した定義データ21とは別の定義データ21に定義しておき、処理Bを実行した後に、処理Bの実行後に行う処理の実行順序を定義した複数の定義データ21から、ユーザ自身が処理A又は処理Bの実行結果に応じて適切な定義データ21を選択し、機能を実現しなければならなかった。   In such a case, in the conventional desktop application 20, the execution order of the process A and the process B is defined as many as the number of process patterns that are originally intended to function dynamically after the process B is executed. The definition data 21 is defined separately from the definition data 21, and after the process B is executed, the user himself / herself can execute the process A or the process A from the plurality of definition data 21 defining the execution order of the processes performed after the process B is executed. According to the execution result of the process B, appropriate definition data 21 must be selected to realize the function.

そこで、定義データ生成手段42では、デスクトップアプリケーション20で行いたい「機能に関する情報」や機能を実現するための機能プラグイン(小機能)30の「実行条件、実行順序、及び処理対象に関する情報」などを定義し、更に、機能プラグイン(小機能)30の実行結果に応じて分岐処理を行う「分岐処理に関する情報」を定義した定義データ21を生成する。このとき、定義データ生成手段42は、「機能に関する情報」や「実行条件、実行順序、及び処理対象に関する情報」を定義したときと同様の方法、すなわち独自のタグを用いた所定の形式に従って「分岐処理に関する情報」を定義する。   Therefore, in the definition data generation means 42, “information related to functions” desired to be performed by the desktop application 20, “information related to execution conditions, execution order, and processing target” of the function plug-in (small function) 30 for realizing the functions, etc. Further, definition data 21 defining “information related to branch processing” for performing branch processing according to the execution result of the function plug-in (small function) 30 is generated. At this time, the definition data generation means 42 follows the same method as when defining “information about functions” and “information about execution conditions, execution order, and processing target”, that is, according to a predetermined format using a unique tag. Define information related to branch processing.

定義データ生成手段42は、以下に示す分岐処理の定義するときの方針に基づいて、「分岐処理に関する情報」を定義した定義データ21を生成している。
(方針1)1つ以上の機能プラグイン(小機能)30が所定の実行順序に従って行う処理のまとまりを1つの「処理状態」(以下、「状態」と言う。)とみなす。
(方針2)分岐処理は、(方針1)に示した状態の遷移によって定義する。
The definition data generation means 42 generates definition data 21 that defines “information related to branch processing” based on a policy for defining branch processing described below.
(Policy 1) A group of processes performed by one or more function plug-ins (small functions) 30 in accordance with a predetermined execution order is regarded as one “processing state” (hereinafter referred to as “state”).
(Policy 2) The branching process is defined by the state transition shown in (Policy 1).

例えば、ユーザが、処理A及び処理Bを行った後に、処理A又は処理Bの実行結果に応じて、処理C及び処理Dを組み合わせた処理と、処理E及び処理Fを組み合わせた処理とを動的に切り替えて機能させたい場合、図5のフローに示すような処理の流れになる。   For example, after the user performs the process A and the process B, the process combining the process C and the process D and the process combining the process E and the process F are performed according to the execution result of the process A or the process B. When it is desired to switch between functions, the flow of processing is as shown in the flow of FIG.

図5は、本発明の第1の実施形態に係る分岐処理を定義するデータ構造の一例(その1)を示す図である。   FIG. 5 is a diagram illustrating an example (part 1) of a data structure defining branch processing according to the first embodiment of the present invention.

図5には、状態1において既に実行した処理A又は処理Bの実行結果に応じて所定の分岐処理を行い、実行結果が分岐条件1に該当した場合には、状態1から処理C及び処理Dを行う状態2へ遷移し、また実行結果が分岐条件2に該当した場合には、状態1から処理E及び処理Fを行う状態3へ遷移することで、分岐後の処理を動的に切り替える処理の流れが示されている。   In FIG. 5, a predetermined branch process is performed according to the execution result of the process A or the process B already executed in the state 1, and when the execution result corresponds to the branch condition 1, the process C and the process D from the state 1 are performed. If the execution result corresponds to the branch condition 2, the process after the branch is dynamically switched by transitioning to the state 3 in which the process E and the process F are performed. The flow of is shown.

よって、定義データ生成手段21により生成された定義データ21は、「状態に関する情報」を定義するデータと「分岐処理に関する情報」を定義するデータ73とから構成される。   Therefore, the definition data 21 generated by the definition data generation means 21 is composed of data defining “information relating to state” and data 73 defining “information relating to branch processing”.

図5には、図中のフローに示す処理の流れを基に、「分岐処理に関する情報」を定義したデータ73の一例が示されている。   FIG. 5 shows an example of data 73 in which “information related to branch processing” is defined based on the flow of processing shown in the flow of FIG.

図5に示す「分岐処理に関する情報」を定義したデータ73からも分かるように、定義データ生成手段42は、「状態に関する情報」及び「分岐処理に関する情報」を、以下に挙げる独自のタグによって定義する。   As can be seen from the data 73 in which “information related to branch processing” shown in FIG. 5 is defined, the definition data generation means 42 defines “information related to state” and “information related to branch processing” using the following unique tags. To do.

<<状態を定義するタグ>>
<State name = "状態N">・・・</State>
機能プラグイン(小機能)30が行う処理のまとまりである「状態N」を定義する開始・終了タグ。
<< Tag that defines the state >>
<State name = "State N"> ... </ State>
Start / end tags that define “state N”, which is a group of processes performed by the function plug-in (small function) 30.

<<分岐処理を定義するタグ>>
<Choose name = "分岐名">・・・</Choose>
分岐処理を定義する開始・終了タグ。
<When test = "条件式(分岐条件1or2)">・・・</When>
条件式の分岐条件を満たした場合の状態遷移を定義する開始・終了タグ。
<otherwise>・・・</otherwise>
条件式の分岐条件を満たさなかった場合の状態遷移を定義する開始・終了タグ。
<Next State> 状態X </Next State>
分岐処理によって遷移する「状態X」を定義する開始・終了タグ。
<< Tag defining branch process >>
<Choose name = "branch name"> ... </ Choose>
Start / end tags that define branch processing.
<When test = "conditional expression (branch condition 1 or 2)"> ... </ When>
Start and end tags that define the state transition when the conditional expression branch condition is satisfied.
<Otherwise> ... </ otherwise>
Start / end tags that define the state transition when the branch condition of the conditional expression is not satisfied.
<Next State> State X </ Next State>
Start and end tags that define "state X" that is transitioned by branch processing.

また、定義データ生成手段42は、上記に示した[<When>]タグの中で、図6及び図7に示すような所定の規則に従って分岐処理の条件式を定義する。   Further, the definition data generation means 42 defines a conditional expression for branch processing in accordance with a predetermined rule as shown in FIGS. 6 and 7 in the [<When>] tag shown above.

図6は、本発明の第1の実施形態に係る条件分岐における条件式52の一例を示す図である。また、図7は、本発明の第1の実施形態に係る条件分岐における条件式52の比較演算子51の一例を示す図である。   FIG. 6 is a diagram illustrating an example of the conditional expression 52 in the conditional branch according to the first embodiment of the present invention. FIG. 7 is a diagram illustrating an example of the comparison operator 51 of the conditional expression 52 in the conditional branch according to the first embodiment of the present invention.

図6には、状態1の処理Bの実行結果の値「PropertyValue」が「X」以上か否かが分岐条件として定義された条件式52の一例が示されている。   FIG. 6 shows an example of the conditional expression 52 in which whether or not the value “PropertyValue” of the execution result of the process B in the state 1 is “X” or more is defined as a branch condition.

ここで、図6の中に示す「状態1の処理Bの実行結果の値」について説明する。本実施形態に係る機能プラグイン(小機能)30は、プラグイン処理の中で取り扱うオブジェクトの性質を表す属性情報を持っている。例えば、オブジェクトが画像データの場合には、色情報(Color)や幅(Width)及び高さ(Height)などを属性情報として持つ。機能プラグイン(小機能)30において、具体的に「どういった属性情報を持つか」については、プラグインによって異なり、機能提供する開発者側で機能プラグイン(小機能)30の中で取り扱うオブジェクトの性質に応じて設定する。   Here, the “value of the execution result of process B in state 1” shown in FIG. 6 will be described. The function plug-in (small function) 30 according to the present embodiment has attribute information indicating the property of the object handled in the plug-in process. For example, when the object is image data, it has color information (Color), width (Width), height (Height), and the like as attribute information. In the function plug-in (small function) 30, “what attribute information has” specifically depends on the plug-in, and is handled in the function plug-in (small function) 30 by the developer providing the function. Set according to the nature of the object.

本実施形態では、上記の属性情報を持つ機能プラグイン(小機能)30によって機能を実現する構成としたことで、機能プラグイン(小機能)30の中で取り扱うオブジェクトの属性情報を処理途中の実行結果として条件分岐時に参照し、分岐処理を実現している。よって、定義データ生成手段42は、図6に示すように、生成する定義データ21の中で、「機能プラグイン(小機能)30の属性情報の値(実行結果の値)」、「比較演算子」、及び「比較条件値」とを所定の規則に従って分岐条件として設定している。   In this embodiment, since the function is realized by the function plug-in (small function) 30 having the attribute information, the attribute information of the object handled in the function plug-in (small function) 30 is being processed. The execution result is referenced at the time of conditional branching to realize branch processing. Therefore, as shown in FIG. 6, the definition data generation means 42 includes “value of attribute information (value of execution result) of function plug-in (small function) 30” and “comparison operation” in the definition data 21 to be generated. The “child” and the “comparison condition value” are set as branch conditions according to a predetermined rule.

上記の点を踏まえて、以下に、定義データ生成手段42による分岐条件を含む定義データの生成について説明する。   Based on the above points, generation of definition data including branch conditions by the definition data generation means 42 will be described below.

定義データ生成手段42は、機能プラグイン(小機能)30の実行結果の値("状態1.処理B.PropertyValue")と、図7に示す比較演算子51("&gt;=")と、比較条件値('X')とを連結した文字列("状態1.処理B.PropertyValue &gt;= X")を生成する。   The definition data generation means 42 includes the value of the execution result of the function plug-in (small function) 30 (“state 1. process B. PropertyValue”), the comparison operator 51 (“&gt; =”) shown in FIG. A character string ("state 1. process B. PropertyValue &gt; = X") concatenated with the comparison condition value ('X') is generated.

次に、定義データ生成手段42は、生成した文字列("状態1.処理B.PropertyValue &gt;= X")を、条件式52を示す文字列("FuncRet://")に連結し、図6に示すような条件式52を生成する。   Next, the definition data generation means 42 concatenates the generated character string (“State 1. Process B. PropertyValue &gt; = X”) to the character string (“FuncRet: //”) indicating the conditional expression 52, A conditional expression 52 as shown in FIG. 6 is generated.

生成された条件式52は、定義データ生成手段42によって、「<When>」タグの中に埋め込まれる。   The generated conditional expression 52 is embedded in the “<When>” tag by the definition data generating means 42.

このように、定義データ生成手段42は、上記の方法によって、「機能に関する情報」、「実行条件、実行順序、及び処理対象に関する情報」、「状態に関する情報」、及び「分岐処理に関する情報」を、所定の形式に従って定義し、図8に示すような定義データ21を生成する。   As described above, the definition data generation unit 42 uses the above-described method to generate “information about functions”, “information about execution conditions, execution order, and processing target”, “information about status”, and “information about branch processing”. Then, definition is made according to a predetermined format, and definition data 21 as shown in FIG. 8 is generated.

図8は、本発明の第1の実施形態に係る定義データ21のデータ構造の一例(条件分岐がある場合)を示す図である。   FIG. 8 is a diagram illustrating an example of the data structure of the definition data 21 according to the first embodiment of the present invention (when there is a conditional branch).

図8には、処理A及び処理Bを行う状態1から、所定の分岐条件を基に、処理A又は処理Bの実行結果に応じて、状態1から処理C及び処理Dを行う状態2又は処理E及び処理Fを行う状態3のどちらか一方の状態に遷移すると言う分岐処理の流れを定義した定義データ21の一例が示されている。   FIG. 8 shows the state 2 or process in which the process C and the process D are performed from the state 1 according to the execution result of the process A or the process B from the state 1 in which the process A and the process B are performed. An example of the definition data 21 that defines the flow of the branch processing that transitions to one of the states 3 to perform E and processing F is shown.

定義データ生成手段42により生成された定義データ21は、定義の開始タグ[<CookFlowRecipe>]と終了タグ[</CookFlowPecipe>]との間に、「機能に関する情報」と「状態に関する情報」とが定義される。   The definition data 21 generated by the definition data generation means 42 includes “function information” and “state information” between a definition start tag [<CookFlowRecipe>] and an end tag [</ CookFlowPecipe>]. Defined.

更に、「状態に関する情報」には、機能を実現するために必要な状態(図8では状態1〜3)が定義される。   Further, in the “information about the state”, states (states 1 to 3 in FIG. 8) necessary for realizing the function are defined.

開始タグ[<State>]と終了タグ[</State>]との間に定義された状態には、分岐処理を含む状態(図8では状態1)と、分岐処理後に遷移する状態(図8では状態2又は状態3)がある。分岐処理を含む状態(図8では状態1)には、機能プラグイン(小機能)30の「実行条件及び実行順序に関する情報」や「分岐処理に関する情報」が定義され、一方、分岐処理後に遷移する状態(図8では状態2又は状態3)には、機能プラグイン(小機能)30の「実行条件、実行順序、及び処理対象に関する情報」が定義される。   The states defined between the start tag [<State>] and the end tag [</ State>] include a state including a branch process (state 1 in FIG. 8) and a state transitioning after the branch process (FIG. 8). Then, there is state 2 or state 3). In a state including branch processing (state 1 in FIG. 8), “information regarding execution conditions and execution order” and “information regarding branch processing” of the function plug-in (small function) 30 are defined. In the state (state 2 or state 3 in FIG. 8), “information regarding execution conditions, execution order, and processing target” of the function plug-in (small function) 30 is defined.

また、分岐処理後に遷移する状態(図8では状態2又は状態3)には、分岐処理後に所定の情報処理を行うデータを示す「データ名」と、このデータを生成した所定の情報処理を示す「処理名」とを含む「処理対象に関する情報」が定義される。   In addition, in the state (state 2 or state 3 in FIG. 8) that changes after the branch process, a “data name” indicating data to be subjected to predetermined information processing after the branch process and the predetermined information process that generated this data are indicated. “Information about process target” including “process name” is defined.

では、本実施形態に係る情報処理装置100において、「ユーザが行いたい処理の実行条件、実行順序、及び分岐処理などの動作に関する情報をどのような方法で設定し、定義データ生成手段42によって定義データ21を生成するのか」について、以下に、図9〜12を用いて説明する。   Then, in the information processing apparatus 100 according to the present embodiment, “how to set the information regarding the execution conditions, execution order, and branch processing of the process that the user wants to perform is defined by the definition data generation unit 42. Hereinafter, “whether the data 21 is generated” will be described with reference to FIGS.

以下の説明では、ユーザが、「リサイズ後(変倍後)の画像データがカラー画像の場合にカラー印刷、またモノクロ画像の場合にモノクロ印刷を行う」と言う変倍印刷処理を、デスクトップアプリケーション20の1つの機能(変倍印刷機能)として定義データ21に定義する場合を例にしている。   In the following description, the user performs the scaling printing process that the user performs “color printing when the image data after resizing (after scaling) is a color image, or monochrome printing when the image data is a monochrome image”. In this example, the function is defined in the definition data 21 as one function (magnification printing function).

<<機能に関する情報の定義>>
まず、本実施形態に係る情報処理装置100において、ユーザが、「機能に関する情報」を定義する方法について説明する。
<< Definition of information about functions >>
First, in the information processing apparatus 100 according to the present embodiment, a method in which the user defines “information related to functions” will be described.

図9は、本発明の第1の実施形態に係る画像処理機能に関する定義データ生成時の表示画面の一例を示す図である。   FIG. 9 is a diagram showing an example of a display screen when generating definition data related to the image processing function according to the first embodiment of the present invention.

情報処理装置100は、ユーザによってデスクトップアプリケーション20が起動されると、アプリケーションプロセス23によって、図9に示すようなUIを備えたアプリケーションウィンドウ61をCRTやLCDなどの出力装置に表示する。   When the desktop application 20 is activated by the user, the information processing apparatus 100 displays an application window 61 having a UI as shown in FIG. 9 on an output device such as a CRT or LCD by the application process 23.

アプリケーションウィンドウ61は、「機能に関する情報」を設定するUI領域として機能情報設定領域62を備えている。   The application window 61 includes a function information setting area 62 as a UI area for setting “information related to functions”.

機能情報設定領域62は、「定義名(機能名)」を入力するテキストボックス62a、「定義種類」を設定するプルダウンメニュー62b、定義した機能をデスクトップアプリケーション20のメニュー項目の1つとして表示するときに該当する「メニュー名」を設定するプルダウンメニュー62c、定義した機能をデスクトップアプリケーション20のメニュー項目の1つとして表示するときに該当するメニューのうち、表示する「メニュー項目領域」を設定するテキストボックス62d、並びに、機能に関する情報や実行条件及び実行順序に関する情報について行った定義情報を確定する[確定]ボタン62eとから構成されている。   The function information setting area 62 displays a text box 62a for inputting “definition name (function name)”, a pull-down menu 62b for setting “definition type”, and a function that is defined as one of the menu items of the desktop application 20. A pull-down menu 62c for setting the “menu name” corresponding to the text box, and a text box for setting the “menu item area” to be displayed among the menus corresponding when the defined function is displayed as one of the menu items of the desktop application 20. 62d, and a [Confirm] button 62e for confirming definition information regarding information regarding functions, execution conditions, and information regarding execution order.

ユーザは、上記に説明した機能情報設定領域62が備えるテキストボックス62a及び62dに、キーボードなどの入力装置から設定値(テキストデータ)を入力し、プルダウンメニュー62b及び62cから設定値を選択することで、定義データ生成手段42により定義データ21(機能に関する情報を定義するデータ71)を生成するときに必要な情報を設定する。   The user inputs a setting value (text data) from an input device such as a keyboard into the text boxes 62a and 62d provided in the function information setting area 62 described above, and selects the setting value from the pull-down menus 62b and 62c. Information necessary for generating the definition data 21 (data 71 defining information related to the function) is defined by the definition data generation means 42.

図9では、ユーザが、上記の各UIを介して、「定義名(機能名)」を"変倍印刷"、「定義種類」を"ユーザコマンド"、「メニュー名」を"ファイル"、「メニュー項目領域」を"Output"と設定し、変倍印刷機能をデスクトップアプリケーション20の1つの機能として設定した例が示されている。   In FIG. 9, the user, through each of the above-mentioned UIs, “definition name (function name)” is “magnification printing”, “definition type” is “user command”, “menu name” is “file”, “ An example in which “menu item area” is set to “Output” and the scaling printing function is set as one function of the desktop application 20 is shown.

これによって、定義データ生成手段42は、ユーザが、UIを介して設定した設定値を基に、図3に示した開始タグ[<RecipeProperty>]と終了タグ[</RecipeProperty>]との間に、「定義名(機能名)」、「定義種類」、「メニュー名」、及び「メニュー項目領域」のそれぞれを定義するタグとともに対応する値(例えば文字列や数値など)を、所定の形式に従って配置し、機能に関する情報を定義するデータ71を生成する。   As a result, the definition data generation means 42 is set between the start tag [<RecipeProperty>] and the end tag [</ RecipeProperty>] shown in FIG. 3 based on the setting value set by the user via the UI. , “Definition name (function name)”, “definition type”, “menu name”, and “menu item area” and corresponding values (for example, character strings and numerical values) according to a predetermined format Arrange and generate data 71 defining information about the function.

<<実行条件、実行順序、処理対象、及び分岐処理に関する情報の定義>>
次に、本実施形態に係る情報処理装置100において、ユーザが、「実行条件、実行順序、及び処理対象に関する情報」や「分岐処理に関する情報」などを定義する方法について説明する。
<< Definition of information related to execution conditions, execution order, processing target, and branch processing >>
Next, in the information processing apparatus 100 according to the present embodiment, a method in which the user defines “information related to execution conditions, execution order, and processing target”, “information related to branch processing”, and the like will be described.

図9に示すアプリケーションウィンドウ61は、「実行条件、実行順序、及び処理対象に関する情報」を設定するUI領域として、「実行順序及び処理対象に関する情報」を設定する実行順序設定領域64と、「実行条件に関する情報」を設定する実行条件設定領域65とを備えている。   The application window 61 shown in FIG. 9 includes an execution order setting area 64 for setting “execution order and information about processing targets” as a UI area for setting “information about execution conditions, execution order, and processing targets”, and “execution execution”. And an execution condition setting area 65 for setting “information on conditions”.

また、アプリケーションウィンドウ61は、「実行条件、実行順序、及び処理対象に関する情報」を設定するときに、設定の対象となる機能プラグイン(小機能)30を選択するためのプラグイン選択領域63を備えている。図9に示すように、プラグイン選択領域63には、現在、情報処理装置100にインストールされた(補助記憶部13などの不揮発性の記憶装置に格納された)機能プラグイン(小機能)30の一覧が表示される。   The application window 61 also includes a plug-in selection area 63 for selecting a function plug-in (small function) 30 to be set when setting “execution conditions, execution order, and information on processing target”. I have. As shown in FIG. 9, in the plug-in selection area 63, a function plug-in (small function) 30 that is currently installed in the information processing apparatus 100 (stored in a non-volatile storage device such as the auxiliary storage unit 13). A list of will be displayed.

ユーザは、「実行順序に関する情報」について設定を行う場合、選択可能な機能プラグイン(小機能)30の一覧が表示されたプラグイン選択領域63から、デスクトップアプリケーション20によって行いたい処理を実現するために必要な機能プラグイン(小機能)30を、マウスなどのポインティングデバイスを介して選択(マウスの場合には「ドラッグ」)し、選択したままの状態で実行順序設定領域64へ移動し、選択解除(マウスの場合には「ドロップ」)することで、定義データ生成手段42により定義データ21(実行条件、実行順序、及び処理対象に関する情報を定義するデータ72)を生成するときに必要な実行順序を設定する。以降では、ユーザが用いるポインティングデバイスにマウスを使うことを想定して説明する。   When the user sets the “information regarding the execution order”, in order to realize the processing desired to be performed by the desktop application 20 from the plug-in selection area 63 in which a list of selectable function plug-ins (small functions) 30 is displayed. The function plug-in (small function) 30 necessary for the selection is selected (“drag” in the case of a mouse) via a pointing device such as a mouse, and the selected function plug-in (small function) 30 is moved to the execution order setting area 64 while being selected. Execution necessary for generating the definition data 21 (the data 72 defining the information regarding the execution conditions, the execution order, and the processing target) by the definition data generation means 42 by canceling (“drop” in the case of a mouse) Set the order. In the following description, it is assumed that a mouse is used as the pointing device used by the user.

(A)画像処理の定義
情報処理装置100にインストールされた機能プラグイン(小機能)30が有する画像処理機能について設定を行う場合、ユーザは、まず、プラグイン選択領域63に画像処理機能に関する機能プラグイン(小機能)30の一覧(画像処理機能のプラグイン選択領域63a)を表示させるため、領域内の[画像処理]タブをクリックする。
(A) Definition of Image Processing When setting the image processing function of the function plug-in (small function) 30 installed in the information processing apparatus 100, the user first sets a function related to the image processing function in the plug-in selection area 63. In order to display a list of plug-ins (small functions) 30 (plug-in selection area 63a for image processing functions), click the [Image processing] tab in the area.

次に、表示された画像処理機能に関する機能プラグイン(小機能)30の一覧から、必要な機能プラグイン(小機能)30をドラッグし、実行順序設定領域64にドロップする。   Next, a necessary function plug-in (small function) 30 is dragged from the displayed list of function plug-ins (small functions) 30 related to the image processing function, and dropped in the execution order setting area 64.

図9では、ユーザが、画像データのリサイズ(変倍)処理を実現するために、「ファイル選択」の次に行う「リサイズ(変倍)」の処理に対応したリサイズプラグイン41bを、画像処理機能のプラグイン選択領域63aからドラッグし、実行順序設定領域64において、「ファイル選択」の処理を行うファイル選択プラグイン41aの処理の次に行う処理に位置する領域(図中の[カレントファイル]の下)にドロップした例(図中の[リサイズ])が示されている。   In FIG. 9, the resize plug-in 41 b corresponding to the “resizing (scaling)” process performed after the “file selection” is performed by the user in order to realize the resizing (scaling) process of the image data. Dragging from the function plug-in selection area 63a, and in the execution order setting area 64, an area positioned in the process to be performed next to the process of the file selection plug-in 41a for performing the "file selection" process ([Current file] in the figure) An example of dropping ([Resize] in the figure) is shown below.

このように、実行順序において機能プラグイン(小機能)30の前後関係が1対1の場合には、後に行う機能プラグイン(小機能)30が処理するデータ、すなわち後に行う処理対象が明確であるため、「処理対象に関する情報」について設定を行う必要がない。   As described above, when the context of the function plug-in (small function) 30 is one-to-one in the execution order, the data processed by the function plug-in (small function) 30 performed later, that is, the processing target performed later is clear. Therefore, it is not necessary to set “information regarding the processing target”.

また、機能プラグイン(小機能)30の中には、実行条件(制御パラメータ)が設定できるものがあり、図9に示すように、アプリケーションウィンドウ61が、テキストボックスやプルダウンメニューなどから実行条件(制御パラメータ)を設定する実行条件設定領域65を備えている。   Some function plug-ins (small functions) 30 can set execution conditions (control parameters). As shown in FIG. 9, the application window 61 can be executed from a text box, pull-down menu, or the like. An execution condition setting area 65 for setting control parameters) is provided.

ユーザは、「実行順序に関する情報」について設定を行う場合、実行条件設定領域65のテキストボックスやプルダウンメニューから、実行条件(制御パラメータ)の値を設定する(テキストボックスの場合にはキーボードから値を入力し、プルダウンメニューの場合には該当するメニュー項目をマウスで選択する。)ことで、定義データ生成手段42により定義データ21(実行条件、実行順序、及び処理対象に関する情報を定義するデータ72)を生成するときに必要な実行条件を設定する。   When setting the “information regarding the execution order”, the user sets the value of the execution condition (control parameter) from the text box or pull-down menu in the execution condition setting area 65 (in the case of the text box, the value is set from the keyboard). In the case of a pull-down menu, the corresponding menu item is selected with the mouse.) By the definition data generation means 42, definition data 21 (data 72 defining information on execution conditions, execution order, and processing target) Set the execution conditions necessary when generating

図9では、ユーザが、画像データを75%に変倍するために、リサイズ(変倍)の倍率を示す「変倍率(%)」に"75"を入力し、リサイズプラグイン41bの実行条件(制御パラメータ)の値を設定した例が示されている。   In FIG. 9, in order to change the image data to 75%, the user inputs “75” in “Resize (%)” indicating the resize (magnification) magnification, and the execution condition of the resize plug-in 41b An example in which the value of (control parameter) is set is shown.

(B)出力処理の定義
情報処理装置100にインストールされた機能プラグイン(小機能)30が有する出力機能について設定を行う場合、画像処理機能の場合と同様に、ユーザは、プラグイン選択領域63に出力機能に関する機能プラグイン(小機能)30の一覧(出力機能のプラグイン選択領域63b)を表示させるため、領域内の[出力]タブをクリックする。
(B) Definition of Output Processing When setting the output function of the function plug-in (small function) 30 installed in the information processing apparatus 100, the user selects the plug-in selection area 63 as in the case of the image processing function. In order to display a list of function plug-ins (small functions) 30 (output function plug-in selection area 63b) related to the output function, click the [Output] tab in the area.

次に、表示された画像処理機能に関する機能プラグイン(小機能)30の一覧から、必要な機能プラグイン(小機能)30をドラッグし、実行順序設定領域64にドロップする。   Next, a necessary function plug-in (small function) 30 is dragged from the displayed list of function plug-ins (small functions) 30 related to the image processing function, and dropped in the execution order setting area 64.

図10は、本発明の第1の実施形態に係る出力機能に関する定義データ生成時の表示画面の一例を示す図である。   FIG. 10 is a diagram showing an example of a display screen when generating definition data related to the output function according to the first embodiment of the present invention.

図10では、ユーザが、リサイズ後(変倍後)の画像データを基にカラー印刷又はモノクロ印刷の切り替え処理を実現するために、リサイズプラグイン41bの実行結果に応じて、次に行う「カラー印刷」又は「モノクロ印刷」の処理に対応したカラー印刷プラグイン41c又はモノクロ印刷プラグイン41dを、出力機能のプラグイン選択領域63bからドラッグし、実行順序設定領域64において、リサイズプラグイン41bの処理の次に行う処理に位置する領域(図中の[リサイズ]の下)にドロップした例(図中の[モノクロ印刷]及び[カラー印刷])が示されている。   In FIG. 10, in order to realize a switching process between color printing and monochrome printing based on image data after resizing (after scaling), the user performs “color” which is performed next according to the execution result of the resizing plug-in 41 b. The color printing plug-in 41c or the monochrome printing plug-in 41d corresponding to the processing of “print” or “monochrome printing” is dragged from the plug-in selection area 63b of the output function, and the processing of the resizing plug-in 41b in the execution order setting area 64 The example ([Monochrome printing] and [Color printing] in the figure) dropped in the area (under [Resize] in the figure) located in the processing to be performed next is shown.

実行順序において機能プラグイン(小機能)30の前後関係が、分岐処理によって1対nになる場合には、分岐処理後に行うn個の機能プラグイン(小機能)30が処理するデータ、すなわち処理対象を明確するため、「処理対象に関する情報」について設定を行う必要がある。   When the context of the function plug-in (small function) 30 in the execution order becomes 1 to n by the branch process, the data processed by the n function plug-ins (small functions) 30 performed after the branch process, that is, the process In order to clarify the target, it is necessary to set “Information about processing target”.

そのため、図10に示すように、ユーザは、機能プラグイン(小機能)30の実行順序を設定するときに用いた実行順序設定領域64を介して、分岐処理後に行う機能プラグイン(小機能)30において処理するデータ、すなわち処理対象を設定する。   Therefore, as illustrated in FIG. 10, the user performs a function plug-in (small function) to be performed after the branch process via the execution order setting area 64 used when setting the execution order of the function plug-in (small function) 30. Data to be processed at 30, that is, a processing target is set.

ユーザは、「処理対象に関する情報」について設定を行う場合、実行順序設定領域64に配置された、分岐処理前に行う機能プラグイン(小機能)30のデータを示すドラッグポイント(図中の黒く塗りつぶされた丸)をドラッグし、分岐処理後に行う機能プラグイン(小機能)30を示すブロック領域(図中の[カラー印刷]又は[モノクロ印刷])にドロップすることで、定義データ生成手段42により定義データ21(実行条件、実行順序、及び処理対象に関する情報を定義するデータ72)を生成するときに必要な処理対象を設定する。   When the user sets the “information regarding the processing target”, the drag point indicating the data of the function plug-in (small function) 30 that is arranged in the execution order setting area 64 and is performed before the branch processing (filled black in the drawing). The definition data generating means 42 drags and drops it on the block area ([color printing] or [monochrome printing] in the figure) indicating the function plug-in (small function) 30 to be performed after branch processing. A processing target necessary for generating the definition data 21 (data 72 defining information related to execution conditions, execution order, and processing target) is set.

図10では、ユーザが、リサイズプラグイン41bにより所定の画像処理が行われた画像データを、分岐処理後に行うカラー印刷プラグイン41c又はモノクロ印刷プラグイン41dで処理する処理対象として設定した例が示されている。   FIG. 10 illustrates an example in which the user sets image data that has been subjected to predetermined image processing by the resize plug-in 41b as a processing target to be processed by the color printing plug-in 41c or the monochrome printing plug-in 41d that is performed after the branching process. Has been.

また、このタイミングで、リサイズプラグイン41bの実行結果に応じて、次に行う処理を「カラー印刷」又は「モノクロ印刷」のどちらか一方とする分岐処理の分岐条件を設定する必要がある。   At this timing, it is necessary to set a branch condition for branch processing in which the next processing to be performed is either “color printing” or “monochrome printing” according to the execution result of the resizing plug-in 41b.

そのため、図10に示すように、ユーザは、機能プラグイン(小機能)30の実行条件を設定するときに用いた実行条件設定領域65を介して分岐条件を設定する。   Therefore, as shown in FIG. 10, the user sets the branch condition via the execution condition setting area 65 used when setting the execution condition of the function plug-in (small function) 30.

ユーザは、「分岐処理に関する情報」について設定を行う場合、実行条件設定領域65のテキストボックスから分岐条件の条件式52を設定する(テキストボックスの場合にはキーボードから値を入力する)ことで、定義データ生成手段42により定義データ21(分岐処理に関する情報を定義するデータ73)を生成するときに必要な分岐条件を設定する。   When setting the “information regarding branch processing”, the user sets the conditional expression 52 of the branch condition from the text box of the execution condition setting area 65 (in the case of the text box, the value is input from the keyboard). A branch condition necessary for generating the definition data 21 (data 73 defining information related to branch processing) by the definition data generation means 42 is set.

図10では、ユーザが、画像データの色情報を基に「カラー印刷」又は「モノクロ印刷」の切り替え処理を実現するために、リサイズプラグイン41bがリサイズ(変倍)した画像データの属性情報である色情報「Color」の値を実行結果の値として2より大きいか否かの分岐条件を表現した文字列("Color > 2")を入力し、リサイズプラグイン41bの実行後に行う分岐処理の分岐条件を設定した例が示されている。このように分岐条件が設定されると、定義データ生成手段42によって、「プラグイン名.属性情報(色情報:"Color")」と、「比較演算子('<')」と、「比較条件値('2')」とに基づいて、分岐条件の条件式52を生成し、定義データ21に定義する。   In FIG. 10, the user uses the attribute information of the image data resized (scaled) by the resizing plug-in 41b in order to realize the switching process of “color printing” or “monochrome printing” based on the color information of the image data. A character string (“Color> 2”) expressing a branch condition indicating whether or not the value of certain color information “Color” is greater than 2 is input as an execution result value, and branch processing performed after execution of the resizing plug-in 41b An example in which a branch condition is set is shown. When the branch condition is set in this way, the definition data generation means 42 makes “Plug-in name. Attribute information (color information:“ Color ”)”, “Comparison operator ('<')”, “Comparison Based on the condition value ('2') ", a conditional expression 52 for the branch condition is generated and defined in the definition data 21.

(C)情報通知処理の定義
情報処理装置100にインストールされた機能プラグイン(小機能)30が有する情報通知機能について設定を行う場合、画像処理機能の場合と同様に、ユーザは、プラグイン選択領域63に情報通知機能に関する機能プラグイン(小機能)30の一覧(情報通知機能のプラグイン選択領域63c)を表示させるため、領域内の[通知]タブをクリックする。
(C) Definition of Information Notification Process When setting the information notification function of the function plug-in (small function) 30 installed in the information processing apparatus 100, the user selects the plug-in as in the case of the image processing function. In order to display a list of function plug-ins (small functions) 30 (information notification function plug-in selection area 63c) related to the information notification function in the area 63, click the [Notification] tab in the area.

次に、表示された画像処理機能に関する機能プラグイン(小機能)30の一覧から、必要な機能プラグイン(小機能)30をドラッグし、実行順序設定領域64にドロップする。   Next, a necessary function plug-in (small function) 30 is dragged from the displayed list of function plug-ins (small functions) 30 related to the image processing function, and dropped in the execution order setting area 64.

図11は、本発明の第1の実施形態に係る情報通知機能に関する定義データ生成時の表示画面の一例を示す図である。   FIG. 11 is a diagram showing an example of a display screen when generating definition data related to the information notification function according to the first embodiment of the present invention.

図11では、ユーザが、カラー印刷又はモノクロ印刷を行った後にその結果を通知する印刷結果通知処理を実現するために、「カラー印刷」又は「モノクロ印刷」の次に行う「メッセージ表示」の処理に対応したメッセージ表示プラグイン41eを、情報通知機能のプラグイン選択領域63bからドラッグし、実行順序設定領域64において、カラー印刷プラグイン41c及びモノクロ印刷プラグイン41dそれぞれの処理の次に行う処理に位置する領域(図中の[カラー印刷]又は[モノクロ印刷]の下)にドロップした例(図中の[メッセージボックス])が示されている。   In FIG. 11, a “message display” process performed after “color printing” or “monochrome printing” in order to realize a printing result notification process in which the user notifies the result after performing color printing or monochrome printing. The message display plug-in 41e corresponding to is dragged from the plug-in selection area 63b of the information notification function, and in the execution order setting area 64, the process to be performed next to each of the color printing plug-in 41c and the monochrome printing plug-in 41d. An example ([message box] in the figure) dropped in the position area (under [color printing] or [monochrome printing] in the figure) is shown.

また、図11に示すように、メッセージ表示プラグイン41eは、実行条件(制御パラメータ)が設定できる。   Further, as shown in FIG. 11, the message display plug-in 41e can set execution conditions (control parameters).

図11では、ユーザが、実行条件設定領域65のテキストボックスにおいて、分岐処理後にカラー印刷プラグイン41cが行われた場合に表示するメッセージを示す「メッセージ」として実行結果文字列("カラー印刷が終了しました。")を入力し、また、メッセージウィンドウのタイトルを示す「タイトル」として実行機能文字列("Color Print")を入力し、メッセージ表示プラグイン41eの実行条件(制御パラメータ)の値を設定した例が示されている。   In FIG. 11, in the text box of the execution condition setting area 65, the user executes an execution result character string (“color printing is completed” as a “message” displayed when the color printing plug-in 41 c is performed after branch processing. "), And the execution function string (" Color Print ") is entered as the" title "indicating the title of the message window, and the execution condition (control parameter) value of the message display plug-in 41e is entered. A set example is shown.

このように、本実施形態に係る情報処理装置100は、デスクトップアプリケーション20のアプリケーションウィンドウ61が備える実行順序設定領域64や実行条件設定領域65などのGUI(Graphical User Interface)を介して、定義データ生成手段42によって定義データ21を生成するために必要な各種情報(機能を実現する機能プラグイン(小機能)30の実行条件、実行順序、処理対象、分岐処理に関する情報)を設定ことができる。   As described above, the information processing apparatus 100 according to the present embodiment generates definition data via a GUI (Graphical User Interface) such as the execution order setting area 64 and the execution condition setting area 65 provided in the application window 61 of the desktop application 20. Various information necessary for generating the definition data 21 (information related to the execution condition, execution order, processing target, branch processing of the function plug-in (small function) 30 for realizing the function) can be set by the means 42.

図4に戻り、定義データ生成手段42は、図9〜11を用いて説明を行った方法によって設定された情報を基に、機能プラグイン(小機能)30の「実行条件、実行順序、及び処理対象に関する情報」や「分岐処理に関する情報」などを定義する独自のタグを用いて定義データ21を生成する。   Returning to FIG. 4, the definition data generation unit 42 selects the “execution condition, execution order, and execution order of the function plug-in (small function) 30 based on the information set by the method described with reference to FIGS. The definition data 21 is generated using a unique tag that defines “information related to processing target”, “information related to branch processing”, and the like.

図12は、本発明の第1の実施形態に係る生成された定義データ21の一例を示す図であり、図9〜11に示した各種情報設定によって、定義データ生成手段42により生成された変倍印刷機能の定義データ21である。   FIG. 12 is a diagram showing an example of the definition data 21 generated according to the first embodiment of the present invention. The variable generated by the definition data generation means 42 is set by various information settings shown in FIGS. This is definition data 21 for the double printing function.

図12に示すような定義データ21は、定義データ生成手段42により生成された後に、主記憶部12のRAM上に一時保持される。主記憶部12のRAM上に一時保持された定義データ21は、図11に示すアプリケーションウィンドウ61の[確定]ボタン62eが、ユーザによって選択されたときに、補助記憶部13などの不揮発性の記憶装置の所定の記憶領域に、例えば「定義名(機能名)」をファイル名として格納される。   The definition data 21 as shown in FIG. 12 is temporarily stored in the RAM of the main storage unit 12 after being generated by the definition data generation means 42. The definition data 21 temporarily held in the RAM of the main storage unit 12 is stored in a nonvolatile storage such as the auxiliary storage unit 13 when the [OK] button 62e of the application window 61 shown in FIG. 11 is selected by the user. For example, “definition name (function name)” is stored as a file name in a predetermined storage area of the apparatus.

また、本実施形態に係る情報処理装置100では、図11に示すアプリケーションウィンドウ61の[確定]ボタン62eを選択する前に、[フローテスト実行]ボタン66を選択することによって、主記憶部12のRAM上に一時保持されている定義データ21が、デスクトップアプリケーション20で処理可能なデータとなっているか否かをチェックすることができる。例えは、定義データ21に定義された機能プラグイン(小機能)30の実行順序が、出力機能のプラグイン(小機能)30を実行した後に、画像処理機能のプラグイン(小機能)30を実行するような順序になっていた場合には、実行順序の定義に誤りがある(デスクトップアプリケーション20で処理できない)旨をユーザに通知する。   Further, in the information processing apparatus 100 according to the present embodiment, by selecting the [Execute Flow Test] button 66 before selecting the [Confirm] button 62e of the application window 61 shown in FIG. It is possible to check whether the definition data 21 temporarily stored in the RAM is data that can be processed by the desktop application 20. For example, after the execution order of the function plug-in (small function) 30 defined in the definition data 21 executes the plug-in (small function) 30 of the output function, the plug-in (small function) 30 of the image processing function is executed. If the execution order has been reached, the user is notified that the definition of the execution order is incorrect (cannot be processed by the desktop application 20).

図4に戻り、定義データ生成手段42は、図2で説明したアプリケーションプロセス23を制御部11で実行することにより行われる手段である。   Returning to FIG. 4, the definition data generation unit 42 is a unit that is executed by the control unit 11 executing the application process 23 described in FIG. 2.

これによって、本実施形態に係る情報処理装置100は、ユーザが行いたい処理を実現するために必要な機能プラグイン(小機能)30(情報処理手段41)の実行条件や実行順序などの動作に関する情報に加えて、分岐処理に関する情報を所定の形式に従ったデータとして定義することができる。   As a result, the information processing apparatus 100 according to the present embodiment relates to operations such as the execution conditions and execution order of the function plug-in (small function) 30 (information processing means 41) necessary for realizing the processing desired by the user. In addition to information, information related to branch processing can be defined as data according to a predetermined format.

定義データ生成手段42によって定義データ21が生成されると、図13及び図14に示すようにデスクトップアプリケーション20のメニュー項目に表示される。   When the definition data 21 is generated by the definition data generation means 42, it is displayed in the menu item of the desktop application 20 as shown in FIGS.

図13及び図14は、本発明の第1の実施形態に係る新規メニュー項目追加時の表示画面の一例(その1及びその2)を示す図である。   FIGS. 13 and 14 are diagrams showing an example (part 1 and part 2) of a display screen when a new menu item is added according to the first embodiment of the present invention.

図13及び図14に示すように、定義データ21のファイル名や定義データ21に定義された「定義名(機能名)」などが、新たに追加された機能として、デスクトップアプリケーション20のツールバー81やメニュー91のメニュー項目領域92に表示される。   As shown in FIG. 13 and FIG. 14, the file name of the definition data 21, the “definition name (function name)” defined in the definition data 21, etc. are newly added functions as the toolbar 81 and the desktop application 20. It is displayed in the menu item area 92 of the menu 91.

このように、デスクトップアプリケーション20のツールバー81やメニュー項目領域92に表示された「定義名(機能名)」がユーザによってマウスなどのポインティングデバイスにより選択されると、UIプラグイン(UIパーツ)22からコアプログラム31(機能を実行する手段)へ、選択された機能の動作が要求される。   In this way, when the “definition name (function name)” displayed on the toolbar 81 or the menu item area 92 of the desktop application 20 is selected by the pointing device such as a mouse by the user, the UI plug-in (UI part) 22 The core program 31 (means for executing the function) is requested to operate the selected function.

機能動作要求を受け付けたコアプログラム31(機能を実行する手段)は、まず、ツールバー81やメニュー項目領域92に表示された「定義名(機能名)」がユーザによって選択されたときに、UIプラグイン(UIパーツ)22から受け取った機能名を基に、補助記憶部13などの不揮発性の記憶装置に格納された複数個の定義データ21の中から、選択された機能に対応する定義データ21(実行指示された機能名とファイル名が同じ定義データ21、又は定義されている「定義名(機能名)」が同じ定義データ21)を特定する。   The core program 31 (means for executing the function) that has received the function operation request first selects the UI plug when the “definition name (function name)” displayed in the toolbar 81 or the menu item area 92 is selected by the user. Definition data 21 corresponding to a function selected from a plurality of definition data 21 stored in a nonvolatile storage device such as the auxiliary storage unit 13 based on the function name received from the in (UI part) 22 (Definition data 21 having the same file name as the function name instructed to execute, or definition data 21 having the same “definition name (function name)” defined) is identified.

次に、コアプログラム31(機能を実行する手段)は、定義データ21を記述した言語を解釈可能なプログラム(例えば、XMLの場合はXMLパーサ(XML parser)。)により、特定した定義データ21の構文解析を行う。   Next, the core program 31 (means for executing the function) uses the program that can interpret the language in which the definition data 21 is described (for example, in the case of XML, an XML parser). Parse.

その結果、コアプログラム31(機能を実行する手段)は、構文解析によって得られた情報のうち、「分岐処理に関する情報」に基づいて分岐処理実行手段43により分岐処理を実行する。   As a result, the core program 31 (means for executing the function) executes branch processing by the branch processing execution means 43 based on “information related to branch processing” among the information obtained by the syntax analysis.

分岐処理実行手段43は、まず、条件式52の文字列から、機能プラグイン(小機能)30の実行結果の値と、比較演算子51と、比較条件値とを抽出し、抽出した比較演算子51を基に分岐条件を判断する。例えば、抽出した比較演算子51が「>=」又は「gt;=」の場合には、「機能プラグイン(小機能)30の実行結果の値が比較条件値以上であるか否か」と言う分岐条件であることを判断する。   The branch processing execution means 43 first extracts the value of the execution result of the function plug-in (small function) 30, the comparison operator 51, and the comparison condition value from the character string of the conditional expression 52, and extracts the extracted comparison operation The branch condition is determined based on the child 51. For example, when the extracted comparison operator 51 is “> =” or “gt; =”, “whether or not the value of the execution result of the function plug-in (small function) 30 is equal to or greater than the comparison condition value”. It is determined that the branch condition is said.

次に、分岐処理実行手段43は、機能プラグイン(小機能)30の実行結果の値が、条件式52の分岐条件を満たしているか否かを判定する。   Next, the branch process execution unit 43 determines whether or not the value of the execution result of the function plug-in (small function) 30 satisfies the branch condition of the conditional expression 52.

分岐処理実行手段43は、分岐条件の判定結果を基に、「状態に関する情報」から分岐処理後に実行される機能プラグイン(小機能)30を特定し、構文解析によって得られた「実行条件、実行順序、及び処理対象に関する情報」に従って特定した機能プラグイン(小機能)30に動作を指示する。   Based on the determination result of the branch condition, the branch process execution means 43 identifies the function plug-in (small function) 30 to be executed after the branch process from the “information about the state”, and the “execution condition, The operation is instructed to the function plug-in (small function) 30 specified according to the “execution order and information on processing target”.

その結果、分岐処理実行手段43から動作指示を受け付けた機能プラグイン(小機能)30(情報処理手段41)は、補助記憶部13などの不揮発性の記憶装置から主記憶部12のRAM上に展開(ロード)され、制御部11により実行される。   As a result, the function plug-in (small function) 30 (information processing means 41) that has received the operation instruction from the branch process execution means 43 is transferred from the non-volatile storage device such as the auxiliary storage section 13 to the RAM of the main storage section 12. It is expanded (loaded) and executed by the control unit 11.

分岐処理実行手段43は、図2で説明したコアプログラム31を制御部11で実行することにより行われる手段である。   The branch process execution means 43 is a means executed by executing the core program 31 described in FIG.

これによって、本実施形態に係る情報処理装置100は、機能プラグイン(小機能)30の実行結果に応じた分岐処理を含むデスクトップアプリケーション20の機能を実行することができる。   Thereby, the information processing apparatus 100 according to the present embodiment can execute the function of the desktop application 20 including the branch process according to the execution result of the function plug-in (small function) 30.

本実施形態に係る情報処理装置100は、上記に説明した各手段が以下の手順に従って動作することで、「機能プラグイン(小機能)30の実行結果に応じて分岐処理を行う」と言う処理を実現している。   The information processing apparatus 100 according to the present embodiment is a process of “performing a branch process according to the execution result of the function plug-in (small function) 30” by the above-described units operating according to the following procedure. Is realized.

(手順1)分岐処理に関する情報の設定
本実施形態に係る情報処理装置100は、デスクトップアプリケーション20のUIプラグイン(UIパーツ)22を介して、ユーザから、アプリケーションによって行いたい処理を実現するために必要な機能プラグイン(小機能)30(情報処理手段41)の実行条件や実行順序などの動作に関する情報に加え、必要に応じて「分岐処理に関する情報」が設定される。
(Procedure 1) Setting of information related to branch processing The information processing apparatus 100 according to the present embodiment is used to realize processing desired to be performed by an application from the user via the UI plug-in (UI part) 22 of the desktop application 20. In addition to information regarding operations such as execution conditions and execution order of necessary function plug-ins (small functions) 30 (information processing means 41), “information regarding branch processing” is set as necessary.

(手順2)定義データ21の生成
本実施形態に係る情報処理装置100は、定義データ生成手段42により、(手順1)で設定された「実行条件、実行順序、及び処理対象に関する情報」及び「分岐処理に関する情報」が、所定の形式に従って定義された定義データ21を生成する。
情報処理装置100は、「実行条件、実行順序、及び処理対象に関する情報」が定義されている定義データ21に、独自のタグを用いて、ユーザから設定された設定値を基に生成した条件式52などを配置し、「分岐処理に関する情報」を定義する。
情報処理装置100は、生成した後に主記憶部12のRAM上に一時保持された定義データ21を、補助記憶部13などの不揮発性の記憶装置の所定の記憶領域に格納する。
(Procedure 2) Generation of Definition Data 21 The information processing apparatus 100 according to the present embodiment uses the definition data generation unit 42 to set “information regarding execution conditions, execution order, and processing target” and “ Definition information 21 defined in accordance with a predetermined format is generated for “information relating to branch processing”.
The information processing apparatus 100 uses a unique tag for the definition data 21 in which “information about execution conditions, execution order, and processing target” is defined, and a conditional expression generated based on a setting value set by the user 52 and the like are arranged, and “information regarding branch processing” is defined.
The information processing apparatus 100 stores the definition data 21 that is temporarily stored in the RAM of the main storage unit 12 after being generated in a predetermined storage area of a nonvolatile storage device such as the auxiliary storage unit 13.

(手順3)定義データ21の実行
本実施形態に係る情報処理装置100は、分岐処理実行手段43により、定義データ21に定義されている「分岐処理に関する情報」に基に、比較演算子51から判断した分岐条件の判定結果に従って、特定された機能プラグイン(小機能)30(情報処理手段41)に動作を指示する。
その結果、情報処理装置100は、動作指示された機能プラグイン(小機能)30(情報処理手段41)が、補助記憶部13などの不揮発性の記憶装置の所定の記憶領域から、主記憶部12のRAM上に展開(ロード)され、制御部11により実行される。
(Procedure 3) Execution of Definition Data 21 The information processing apparatus 100 according to the present embodiment uses the comparison operator 51 based on the “information related to branch processing” defined in the definition data 21 by the branch processing execution means 43. According to the determination result of the determined branch condition, the specified function plug-in (small function) 30 (information processing means 41) is instructed to operate.
As a result, in the information processing apparatus 100, the function plug-in (small function) 30 (information processing means 41) instructed to operate is moved from a predetermined storage area of a non-volatile storage device such as the auxiliary storage unit 13 to the main storage unit. 12 is loaded (loaded) on the RAM 12 and executed by the control unit 11.

このように、本実施形態に係る情報処理装置100は、上記に説明した(手順1)〜(手順3)により、「機能プラグイン(小機能)30の実行結果に応じた分岐処理」を実現している。   As described above, the information processing apparatus 100 according to the present embodiment realizes “branch processing according to the execution result of the function plug-in (small function) 30” by (procedure 1) to (procedure 3) described above. is doing.

<情報処理装置の基本処理手順について>
これまでに説明した本実施形態に係る情報処理装置100の具体的な処理手順について、図15〜18を用いて説明する。
<About basic processing procedure of information processing apparatus>
A specific processing procedure of the information processing apparatus 100 according to the present embodiment described so far will be described with reference to FIGS.

本実施形態に係る情報処理装置100は、例えば、補助記憶部13に格納された「デスクトップアプリケーション20」の処理を行う情報処理プログラムを主記憶部12のRAM上に展開(ロード)し、制御部11で実行する。   The information processing apparatus 100 according to the present embodiment, for example, expands (loads) an information processing program that performs processing of the “desktop application 20” stored in the auxiliary storage unit 13 on the RAM of the main storage unit 12, and controls the control unit 11.

図15は、本発明の第1の実施形態に係るデスクトップアプリケーション20における定義データ生成時の処理手順の一例を示すフローチャートである。   FIG. 15 is a flowchart illustrating an example of a processing procedure when generating definition data in the desktop application 20 according to the first embodiment of the present invention.

本実施形態に係る情報処理装置100は、図9に示す[フロー設定]タブがマウスによって選択され、ユーザからの新規定義データの生成要求を受け付けるまで待つ(S101がNOの間)。   The information processing apparatus 100 according to the present embodiment waits until the [Flow setting] tab shown in FIG. 9 is selected by the mouse and receives a request for generating new definition data from the user (while S101 is NO).

情報処理装置100は、ユーザからの新規定義データ生成要求を受け付けた場合(S101がYESの場合)、アプリケーションプロセス23によって、ユーザが行いたい処理をデスクトップアプリケーション20の1つの機能として定義するための機能に関する情報を設定する機能情報設定領域62、既に補助記憶部13などの不揮発性の記憶装置に格納された機能プラグイン(小機能)30の中からユーザが行いたい処理を実現するために必要な機能プラグイン(小機能)30を選択するプラグイン選択領域63、機能プラグイン(小機能)30を実行する順序を設定する実行順序設定領域64、及び実行する機能プラグイン(小機能)30の実行条件(制御パラメータ)を設定する実行条件設定領域65などの設定用のUI部を構成するために必要なUIプラグイン(UIパーツ)22を実行し、ユーザが、定義データ21を生成するためのUIを、CRTやLCDなどの出力装置の表示画面に描画する(S102)。   When the information processing apparatus 100 receives a new definition data generation request from the user (when S101 is YES), the information processing apparatus 100 uses the application process 23 to define a process that the user wants to perform as one function of the desktop application 20 Necessary for realizing the processing desired by the user from the function plug-in (small function) 30 already stored in the non-volatile storage device such as the auxiliary storage unit 13 or the function information setting area 62 for setting information regarding A plug-in selection area 63 for selecting a function plug-in (small function) 30, an execution order setting area 64 for setting the order in which the function plug-in (small function) 30 is executed, and a function plug-in (small function) 30 to be executed To configure a UI section for setting, such as an execution condition setting area 65 for setting execution conditions (control parameters) Required UI plug running (UI parts) 22, the user, the UI for generating the definition data 21, drawing on the display screen of the output device such as a CRT or LCD (S102).

情報処理装置100は、新規定義データ生成に必要な設定用のUIを描画した後、アプリケーションプロセス23によって、UIを介してユーザから受け付けた機能定義の設定指示に従い、ユーザが行いたい処理を実現するための定義データ21を生成する(S103)。   The information processing apparatus 100 renders a setting UI necessary for generating new definition data, and then implements processing desired by the user according to the function definition setting instruction received from the user via the UI by the application process 23. Definition data 21 is generated (S103).

情報処理装置100は、ユーザから定義データ21の内容を確定する指示を受け付けるまで待つ(S104がNOの間)。例えば、ユーザが、図11に示す機能情報設定領域62の[確定]ボタン62eをクリックすることにより定義データ21の内容を確定する指示を受け付けるまで待つ。   The information processing apparatus 100 waits until receiving an instruction from the user to confirm the contents of the definition data 21 (while S104 is NO). For example, the process waits until the user accepts an instruction to confirm the contents of the definition data 21 by clicking the [Confirm] button 62e in the function information setting area 62 shown in FIG.

情報処理装置100は、UIを介して定義データ21の内容を確定する指示を受け付けた場合(S104がYESの場合)、アプリケーションプロセス23によって、定義データ21を補助記憶部13などの不揮発性の記憶装置に格納する(S105)。   When the information processing apparatus 100 receives an instruction to confirm the content of the definition data 21 via the UI (when S104 is YES), the application process 23 stores the definition data 21 in a nonvolatile storage such as the auxiliary storage unit 13. The data is stored in the device (S105).

情報処理装置100は、図11に示す[ブラウズテスト]タブがマウスによって選択された場合など、アプリケーションウィンドウ61の再描画を行うタイミングで、アプリケーションプロセス23によって、補助記憶部13などの不揮発性の記憶装置に格納された定義データ21を基にメニュー表示を更新する(S106)。   The information processing apparatus 100 performs nonvolatile storage such as the auxiliary storage unit 13 by the application process 23 at the timing of redrawing the application window 61, such as when the [Browse Test] tab illustrated in FIG. The menu display is updated based on the definition data 21 stored in the apparatus (S106).

このように、本実施形態に係る情報処理装置100は、図15に示す処理手順S101〜S106によって定義データ21の生成を実現している。   As described above, the information processing apparatus 100 according to the present embodiment realizes the generation of the definition data 21 by the processing procedures S101 to S106 illustrated in FIG.

図16は、本発明の第1の実施形態に係る定義データ生成処理の処理手順の一例を示すフローチャートである。   FIG. 16 is a flowchart illustrating an example of a processing procedure of definition data generation processing according to the first embodiment of the present invention.

図16に示す処理手順S201〜S204は、図15を用いて説明を行った処理手順S103で行う定義データ生成処理の処理手順である。   Processing procedures S201 to S204 illustrated in FIG. 16 are processing procedures of the definition data generation processing performed in the processing procedure S103 described with reference to FIG.

情報処理装置100は、まず、アプリケーションプロセス23によって、生成する定義データ21のうち、「機能に関する情報」を定義するデータ71を生成する。アプリケーションプロセス23は、UIを介して設定された「機能に関する情報」(例えば、定義した機能名を示す「定義名(機能名)」、定義した機能の種類を示す「定義種類」、メニュー項目92に表示するときの表示位置情報である「メニュー名」及び「メニュー項目領域」など。)の各設定値を基に、それぞれの情報に対応した独自のタグ(定義の「開始タグ」と「終了タグ」)とともに設定値を所定の形式に従って配置し、「機能に関する情報」を定義したデータ71を生成する(S201)。   First, the information processing apparatus 100 uses the application process 23 to generate data 71 that defines “information about a function” among the definition data 21 to be generated. The application process 23 sets “information about a function” (for example, “definition name (function name)” indicating a defined function name, “definition type” indicating the type of the defined function, and menu items 92 set via the UI. Based on each setting value of “menu name” and “menu item area”, etc., which are display position information when displayed on the screen, unique tags corresponding to each information (definition “start tag” and “end” The setting value is arranged in accordance with a predetermined format together with the tag “), and data 71 defining“ information related to the function ”is generated (S201).

次に、情報処理装置100は、UIを介して「分岐処理に関する情報」が設定されたか否かを判定する(S202)。   Next, the information processing apparatus 100 determines whether or not “information about branch processing” is set via the UI (S202).

情報処理装置100は、「分岐処理に関する情報」が設定された場合(S202がYESの場合)、アプリケーションプロセス23によって、生成する定義データ21のうち、「分岐処理に関する情報」を定義したデータ73を生成する。アプリケーションプロセス23は、UIを介して設定された「分岐処理に関する情報」(例えば、分岐条件を示す条件式52など。)の設定値を基に、それぞれの情報に対応した独自のタグ(定義の「開始タグ」と「終了タグ」)とともに設定値を所定の形式に従って配置し、「分岐処理に関する情報」を定義したデータ73を生成する(S203)。   When “information related to branch processing” is set (when S202 is YES), the information processing apparatus 100 stores data 73 defining “information related to branch processing” among the definition data 21 generated by the application process 23. Generate. Based on the setting value of “information related to branch processing” (for example, conditional expression 52 indicating a branch condition) set through the UI, the application process 23 has a unique tag (definition of the definition) corresponding to each information. A set value is arranged in accordance with a predetermined format together with “start tag” and “end tag”), and data 73 defining “information related to branch processing” is generated (S203).

また、情報処理装置100は、「分岐処理に関する情報」が設定されていない場合(S202がNOの場合)、処理手順S204へ移る。   In addition, when “information regarding branch processing” is not set (when S202 is NO), the information processing apparatus 100 proceeds to processing procedure S204.

情報処理装置100は、アプリケーションプロセス23によって、生成する定義データ21のうち、機能プラグイン(小機能)30の「実行条件、実行順序、及び処理対象に関する情報」を定義したデータ72を生成する。アプリケーションプロセス23は、ユーザが、必要な機能プラグイン(小機能)30を実行順序設定領域64にドロップして並べた順番(例えば、図11の実行順序設定領域64に示すフローの順番。)を基に、機能プラグイン(小機能)30(情報処理手段41)の処理対象名(機能プラグイン(小機能)30が処理するデータの名前と、そのデータを出力した1つ前に定義された機能プラグイン(小機能)30の名前)と処理対象を定義するタグ、及び必要に応じて実行条件設定領域65で設定した条件値(制御パラメータ値)と実行条件を定義するタグとを所定の形式に従って配置し、実行する機能プラグイン(小機能)30の数だけ、繰り返すことによって、「実行条件、実行順序、及び処理対象に関する情報」を定義したデータ72を生成する(S204)。   The information processing apparatus 100 uses the application process 23 to generate data 72 defining “information about execution conditions, execution order, and processing target” of the function plug-in (small function) 30 among the definition data 21 to be generated. In the application process 23, the order in which the user drops the necessary function plug-ins (small functions) 30 in the execution order setting area 64 and arranges them (for example, the order of the flow shown in the execution order setting area 64 in FIG. 11). Based on the name of the processing target of the function plug-in (small function) 30 (information processing means 41) (the name of the data to be processed by the function plug-in (small function) 30 and the one immediately before the output of the data) A function plug-in (the name of the small function) 30), a tag for defining the processing target, a condition value (control parameter value) set in the execution condition setting area 65 and a tag for defining the execution condition as required. Data 7 that defines “execution conditions, execution order, and processing target information” by repeating the number of function plug-ins (small functions) 30 that are arranged and executed according to the format. To generate a (S204).

情報処理装置100は、アプリケーションプロセス23によって、「機能に関する情報」を定義したデータ71と、「実行条件、実行順序、及び処理対象に関する情報」を定義したデータ72と、「分岐処理に関する情報」を定義したデータ73とを基に、最終的な定義データ21を生成し、生成した定義データ21を主記憶部12のRAM上に一時保管する。   The information processing apparatus 100 uses the application process 23 to define data 71 that defines “information about functions”, data 72 that defines “information about execution conditions, execution order, and processing target”, and “information about branch processing”. Based on the defined data 73, final definition data 21 is generated, and the generated definition data 21 is temporarily stored in the RAM of the main storage unit 12.

このように、主記憶部12のRAM上に一時保管されている定義データ21は、図15の処理手順S105で説明したように、アプリケーションプロセス23によって、補助記憶部13などの不揮発性の記憶装置に格納される。   As described above, the definition data 21 temporarily stored in the RAM of the main storage unit 12 is stored in the nonvolatile storage device such as the auxiliary storage unit 13 by the application process 23 as described in the processing procedure S105 of FIG. Stored in

図17は、本発明の第1の実施形態に係るデスクトップアプリケーション機能実行時の処理手順の一例を示すフローチャートである。   FIG. 17 is a flowchart illustrating an example of a processing procedure when the desktop application function is executed according to the first embodiment of the present invention.

本実施形態に係る情報処理装置100は、マウスによるメニュー選択など、ユーザからの機能動作要求を受け付けるまで待つ(S301がNOの間)。   The information processing apparatus 100 according to the present embodiment waits until receiving a function operation request from the user, such as menu selection with a mouse (S301 is NO).

情報処理装置100は、ユーザからの機能動作要求を受け付けた場合(S301がYESの場合)、アプリケーションプロセス23が、UIを介して受け付けたユーザからの機能動作要求を、データI/Fを介してコアプログラム31に渡し、要求を受け取ったコアプログラム31によって、メニュー項目92に表示された「定義名(機能名)」に対応する定義データ21(「定義名(機能名)」が定義された定義データ21)を、格納された補助記憶部13などの不揮発性の記憶装置から読み取り、定義データ21を記述した言語が解釈可能なプログラム(例えば、XML言語の場合XMLパーサ。)をコアプログラム31から起動し、読み取った定義データ21を構文解析する(S302)。   When the information processing apparatus 100 receives a functional operation request from the user (when S301 is YES), the application process 23 receives the functional operation request from the user received via the UI via the data I / F. A definition in which definition data 21 ("definition name (function name)" corresponding to "definition name (function name)" displayed in the menu item 92 is defined by the core program 31 that has passed to the core program 31 and received the request. Data 21) is read from a non-volatile storage device such as the auxiliary storage unit 13 stored therein, and a program (for example, XML parser in the case of XML language) that can interpret the language describing the definition data 21 is read from the core program 31. It starts and parses the read definition data 21 (S302).

情報処理装置100は、コアプログラム31によって、構文解析で特定した機能プラグイン(小機能)30に動作を指示する(S303)。   The information processing apparatus 100 instructs the function plug-in (small function) 30 identified by the syntax analysis by the core program 31 (S303).

また、情報処理装置100は、コアプログラム31によって、実行順序に従ってユーザが行いたい処理を実現するために必要な全ての機能プラグイン(小機能)30に対して動作を指示したか否かを判定する(S304)。   Further, the information processing apparatus 100 determines whether or not the core program 31 has instructed the operation to all the function plug-ins (small functions) 30 necessary for realizing the processing desired by the user according to the execution order. (S304).

情報処理装置100は、必要な機能プラグイン(小機能)30に対して動作が指示された場合(S304がYESの場合)、動作指示を受け取った機能プラグイン(小機能)30によって、実行条件や処理対象であるデータを基に所定の情報処理が実行され、その実行結果を、CRTやLCDなどの出力装置の表示面に表示する(S305)。例えば、実行結果を知らせるメッセージを、アプリケーションウィンドウ61とは別のウィンドウに表示する。表示後は、処理手順S301に戻り、再びユーザからの機能動作要求を待つ。   When an operation is instructed to a necessary function plug-in (small function) 30 (when S304 is YES), the information processing apparatus 100 executes an execution condition according to the function plug-in (small function) 30 that has received the operation instruction. And predetermined information processing is executed based on the data to be processed, and the execution result is displayed on the display surface of an output device such as a CRT or LCD (S305). For example, a message notifying the execution result is displayed in a window different from the application window 61. After the display, the process returns to the processing procedure S301 and again waits for a function operation request from the user.

また、情報処理装置100は、まだ動作指示されていない機能プラグイン(小機能)30が残っている場合(S305がNOの場合)、処理手順S303に戻り、定義データ21を読み取ったときに取得した、動作に関する情報(定義データ21を記述した言語が解釈可能なプログラムにより構文解析した結果)のうちの機能プラグイン(小機能)30の実行順序に従って、次に実行する機能プラグイン(小機能)30に対して、処理手順S303以降の処理を行う。   Further, the information processing apparatus 100 returns to the processing procedure S303 when the function plug-in (small function) 30 that has not been instructed to operate still remains (when S305 is NO), and is acquired when the definition data 21 is read. The function plug-in (small function) to be executed next in accordance with the execution order of the function plug-in (small function) 30 in the information related to the operation (the result of syntax analysis by a program interpretable by the language describing the definition data 21) ) 30, the processing after the processing procedure S303 is performed.

このように、本実施形態に係る情報処理装置100は、図17に示す処理手順S301〜S305によって、ユーザが行いたい処理を実現するために必要な(アプリケーションの1つの機能を実現するために必要な)機能プラグイン(小機能)30の実行を実現している。   As described above, the information processing apparatus 100 according to the present embodiment is necessary for realizing the process desired by the user (required for realizing one function of the application) by the processing procedures S301 to S305 illustrated in FIG. N) Execution of the function plug-in (small function) 30 is realized.

図18は、本発明の第1の実施形態に係る定義データ実行処理の処理手順の一例を示すフローチャートである。   FIG. 18 is a flowchart illustrating an example of a processing procedure of definition data execution processing according to the first embodiment of the present invention.

図18に示す処理手順S401〜S404は、図17を用いて説明を行った処理手順S303で行う機能プラグイン(小機能)実行処理の処理手順である。   Processing procedures S401 to S404 illustrated in FIG. 18 are processing procedures of the function plug-in (small function) execution processing performed in the processing procedure S303 described with reference to FIG.

情報処理装置100は、コアプログラム31によって、定義データ21に定義された、ユーザが行いたい処理を実現するために必要な機能プラグイン(小機能)30の動作に関する情報(定義データ21を記述した言語が解釈可能なプログラムにより構文解析した結果)のうち、「分岐処理に関する情報」を定義するデータ73があるか否かを判定する(S401)。   The information processing apparatus 100 describes information about the operation of the function plug-in (small function) 30 that is defined in the definition data 21 by the core program 31 and is necessary for realizing the processing that the user wants to perform (description of the definition data 21) It is determined whether or not there is data 73 defining “information related to branch processing” in the result of parsing by a language interpretable program (S401).

情報処理装置100は、「分岐処理に関する情報」を定義するデータ73がない場合(S401がNOの場合)、コアプログラム31によって、機能プラグイン(小機能)30の実行条件(制御パラメータ)の設定値及び機能プラグイン(小機能)30の処理対象名を参照し(S402)、実行条件の設定値及び処理対象名(処理対象であるデータ名)を基に、機能プラグイン(小機能)30に動作を指示する(S403)。   The information processing apparatus 100 sets the execution condition (control parameter) of the function plug-in (small function) 30 by the core program 31 when there is no data 73 defining “information related to branch processing” (when S401 is NO). The processing target name of the value and function plug-in (small function) 30 is referred to (S402), and the function plug-in (small function) 30 is based on the setting value of the execution condition and the processing target name (data name to be processed). Is instructed to operate (S403).

また、情報処理装置100は、「分岐処理に関する情報」を定義するデータ73があった場合(S401がYESの場合)、分岐処理の分岐条件である条件式52を参照し、条件式52基に、機能プラグイン(小機能)30の実行結果に応じて指定された状態、すなわち分岐処理後に行う機能プラグイン(小機能)30の処理のまとまり(分岐処理後の実行順序)に遷移する(S404)。状態遷移後、情報処理装置100は、処理手順S402へ移る。   In addition, when there is data 73 defining “information related to branch processing” (when S401 is YES), the information processing apparatus 100 refers to the conditional expression 52 that is a branch condition of the branch processing, and sets the conditional expression 52 Then, transition is made to the state specified according to the execution result of the function plug-in (small function) 30, that is, the group of processes of the function plug-in (small function) 30 performed after the branch process (execution order after the branch process) (S404). ). After the state transition, the information processing apparatus 100 proceeds to processing procedure S402.

このように、状態遷移後、遷移した状態で行われる機能プラグイン(小機能)30の実行条件(制御パラメータ)の設定値及び機能プラグイン(小機能)30の処理対象名を参照し、実行条件の設定値及び処理対象名(処理対象であるデータ名)を基に、遷移した状態で行われる機能プラグイン(小機能)30に動作を指示する。   As described above, after the state transition, the execution is performed by referring to the set value of the execution condition (control parameter) of the function plug-in (small function) 30 performed in the transitioned state and the processing target name of the function plug-in (small function) 30 Based on the set value of the condition and the name of the processing target (data name to be processed), an operation is instructed to the function plug-in (small function) 30 performed in the transitioned state.

図19は、本発明の第1の実施形態に係る機能実行時の表示画面の一例(変倍印刷機能の場合)を示す図である。   FIG. 19 is a diagram showing an example of a display screen (in the case of a variable magnification printing function) when executing a function according to the first embodiment of the present invention.

例えば、図9〜11の説明で例に挙げた変倍印刷機能では、図15〜18で説明した情報処理プログラムを、本実施形態に係る情報処理装置100の制御部11で実行することで、図19に示すような動作結果が得られる。   For example, in the scaling printing function exemplified in the description of FIGS. 9 to 11, the information processing program described in FIGS. 15 to 18 is executed by the control unit 11 of the information processing apparatus 100 according to the present embodiment. An operation result as shown in FIG. 19 is obtained.

図19では、データ閲覧領域82に表示されたカラー画像である画像データが選択され、タスクバー81に表示された[変倍印刷]のメニュー項目92がマウスによってクリックされた後に、図12に示した定義データ21に従って、カラー画像変倍後にカラー印刷が実行され、メッセージ表示プラグイン41eによって、実行条件で設定された印刷終了を通知するメッセージ「カラー印刷が終了しました。」を、アプリケーションウィンドウ61と別のウィンドウであるメッセージウィンドウ83に表示した例が示されている。   In FIG. 19, image data that is a color image displayed in the data browsing area 82 is selected, and the menu item 92 of “magnification printing” displayed on the task bar 81 is clicked with the mouse, and then, as shown in FIG. 12. In accordance with the definition data 21, color printing is executed after scaling the color image, and the message “color printing has been completed” is notified to the application window 61 by the message display plug-in 41e to notify the end of printing set in the execution conditions. The example displayed in the message window 83 which is another window is shown.

このように、本実施形態に係るデスクトップアプリケーション20は、動作環境(プラットフォーム)にあったプログラミング言語で上記図15〜18に示す各処理手順がコード化された情報処理プログラムを、制御部11で実行することにより実現される。よって、本実施形態に係る情報処理プログラム(デスクトップアプリケーション20を実現するプログラム)は、コンピュータが読み取り可能な記録媒体に格納することができる。   As described above, the desktop application 20 according to the present embodiment executes, in the control unit 11, the information processing program in which each processing procedure shown in FIGS. 15 to 18 is coded in the programming language suitable for the operating environment (platform). It is realized by doing. Therefore, the information processing program (program for realizing the desktop application 20) according to the present embodiment can be stored in a computer-readable recording medium.

その結果、本実施形態に係る情報処理装置100は、外部記憶装置I/F15を介してこの記録媒体から情報処理プログラムを読み取り、インストール(補助記憶部13などの不揮発性の記憶装置の所定の記憶領域に格納)することで、本実施形態に係るデスクトップアプリケーション20を機能させることができる。   As a result, the information processing apparatus 100 according to the present embodiment reads the information processing program from this recording medium via the external storage device I / F 15 and installs (predetermined storage in a nonvolatile storage device such as the auxiliary storage unit 13). By storing in the area, the desktop application 20 according to the present embodiment can function.

<分岐処理を利用したデスクトップアプリケーションの機能例>
本実施形態に係る情報処理装置100では、デスクトップアプリケーション20の1つの機能一例として説明を行ってきた「変倍印刷機能」の他、分岐処理を利用して様々な機能を実現することができる。
<Examples of desktop application functions using branch processing>
In the information processing apparatus 100 according to the present embodiment, various functions can be realized by using branch processing in addition to the “magnification printing function” described as an example of one function of the desktop application 20.

図20は、本発明の第1の実施形態に係る分岐処理が定義された定義データ21を用いた画像表示切り替え機能の例を示す図である。   FIG. 20 is a diagram illustrating an example of an image display switching function using the definition data 21 in which branch processing is defined according to the first embodiment of the present invention.

図20には、画像データの類似度に応じて分岐処理を行い、画像データの表示形式を、画像データの編集が可能な表示スタイルA又は編集不可能な表示スタイルBを切り替えて機能させる例が示されている。   FIG. 20 shows an example in which branch processing is performed according to the similarity of image data, and the display format of the image data is switched between display style A in which image data can be edited or display style B in which image data cannot be edited. It is shown.

このような場合、従来のデスクトップアプリケーション20では、定義データ21において機能プラグイン(小機能)30の一連の動作に関する情報しか定義することができなかったため、編集可能な表示スタイルAと編集不可能な表示スタイルBのそれぞれにおいて別の定義データ21を生成しておき(一連の動作単位で定義データ21を生成しておき)、画像データの類似度判定結果を基に、ユーザによって表示スタイルAと表示スタイルBとを切り替えて使用する(条件に応じて複数の定義データ21を適宜組み合わせて使用する)必要があり、定義データ21に定義できる機能プラグイン(小機能)30の動作に関する情報が制限されていた。その結果、デスクトップアプリケーション20において、定義データ21を用いて実行可能な機能も限られた機能範囲でしか実現できなかった。   In such a case, the conventional desktop application 20 can only define information related to a series of operations of the function plug-in (small function) 30 in the definition data 21, so that the editable display style A is not editable. Separate definition data 21 is generated in each display style B (definition data 21 is generated in a series of operation units), and display style A and display are displayed by the user based on the similarity determination result of the image data. It is necessary to switch between and use style B (use a combination of a plurality of definition data 21 depending on conditions), and information on the operation of the function plug-in (small function) 30 that can be defined in the definition data 21 is limited. It was. As a result, in the desktop application 20, functions that can be executed using the definition data 21 can be realized only in a limited function range.

しかし、本実施形態に係るデスクトップアプリケーション20は、予め設定しておいた分岐条件を基に機能プラグイン(小機能)30の実行結果に応じて分岐処理を行い、次に実行する機能プラグイン(小機能)30を動的に決定することによって、一連の動作を連携させた複雑な機能プラグイン(小機能)30の動作に関する情報を定義データ21に定義することができる。   However, the desktop application 20 according to the present embodiment performs a branch process according to the execution result of the function plug-in (small function) 30 based on a preset branch condition, and then executes a function plug-in ( By dynamically determining the (small function) 30, information regarding the operation of the complex function plug-in (small function) 30 in which a series of operations are linked can be defined in the definition data 21.

図21及び図22は、本発明の第1の実施形態に係る分岐処理を定義するデータ構造の一例(その2及びその3)を示す図である。   FIG. 21 and FIG. 22 are diagrams illustrating examples (part 2 and part 3) of the data structure defining the branch processing according to the first embodiment of the present invention.

例えば、図21に示すような「分岐処理に関する情報」を定義したデータ73を利用することで、一定の条件(図中の分岐条件1)を満たした場合にのみ所定の情報処理(図中の処理C及び処理D)を行うことができる。この分岐処理によって、デスクトップアプリケーション20の機能の中で例外処理(エラー処理)を実現することができる。   For example, by using data 73 that defines “information related to branch processing” as shown in FIG. 21, predetermined information processing (in the diagram in the diagram) is performed only when a certain condition (branch condition 1 in the diagram) is satisfied. Process C and process D) can be performed. By this branch processing, exception processing (error processing) can be realized in the functions of the desktop application 20.

また、図22に示すような「分岐処理に関する情報」を定義したデータ73を利用することで、分岐条件に一定の範囲を持たせ、各条件の範囲に対応する所定の情報処理を行うことができる。この分岐処理によって、デスクトップアプリケーション20の機能の中で多段分岐処理を実現することができる。   Further, by using data 73 defining “information related to branch processing” as shown in FIG. 22, it is possible to give a predetermined range to the branch condition and perform predetermined information processing corresponding to the range of each condition. it can. By this branch processing, multistage branch processing can be realized in the functions of the desktop application 20.

このように、本実施形態に係るデスクトップアプリケーション20では、アプリケーションの1つの機能が実現する機能範囲が拡がり、ユーザの使用目的や用途に対して柔軟に対応することができる。   As described above, in the desktop application 20 according to the present embodiment, the functional range realized by one function of the application is expanded, and it is possible to flexibly cope with the purpose and application of the user.

<まとめ>
以上のように、本発明の第1の実施形態によれば、本実施形態に係る情報処理装置100は、「機能プラグイン(小機能)30の実行結果に応じて分岐処理を行う」と言う機能を、以下の処理手順により実現している。
<Summary>
As described above, according to the first embodiment of the present invention, the information processing apparatus 100 according to the present embodiment says that “branch processing is performed according to the execution result of the function plug-in (small function) 30”. The function is realized by the following processing procedure.

(手順1)分岐処理に関する情報の設定
本実施形態に係る情報処理装置100は、デスクトップアプリケーション20のUIプラグイン(UIパーツ)22を介して、ユーザから、アプリケーションによって行いたい処理を実現するために必要な機能プラグイン(小機能)30(情報処理手段41)の実行条件や実行順序などの動作に関する情報に加え、必要に応じて「分岐処理に関する情報」が設定される。
(Procedure 1) Setting of information related to branch processing The information processing apparatus 100 according to the present embodiment is used to realize processing desired to be performed by an application from the user via the UI plug-in (UI part) 22 of the desktop application 20. In addition to information regarding operations such as execution conditions and execution order of necessary function plug-ins (small functions) 30 (information processing means 41), “information regarding branch processing” is set as necessary.

(手順2)定義データ21の生成
本実施形態に係る情報処理装置100は、定義データ生成手段42により、(手順1)で設定された「実行条件、実行順序、及び処理対象に関する情報」及び「分岐処理に関する情報」が、所定の形式に従って定義された定義データ21を生成する。
情報処理装置100は、「実行条件、実行順序、及び処理対象に関する情報」が定義されている定義データ21に、独自のタグを用いて、ユーザから設定された設定値を基に生成した条件式52などを配置し、「分岐処理に関する情報」を定義する。
情報処理装置100は、生成した後に主記憶部12のRAM上に一時保持された定義データ21を、補助記憶部13などの不揮発性の記憶装置の所定の記憶領域に格納する。
(Procedure 2) Generation of Definition Data 21 The information processing apparatus 100 according to the present embodiment uses the definition data generation unit 42 to set “information regarding execution conditions, execution order, and processing target” and “ Definition information 21 defined in accordance with a predetermined format is generated for “information relating to branch processing”.
The information processing apparatus 100 uses a unique tag for the definition data 21 in which “information about execution conditions, execution order, and processing target” is defined, and a conditional expression generated based on a setting value set by the user 52 and the like are arranged, and “information regarding branch processing” is defined.
The information processing apparatus 100 stores the definition data 21 that is temporarily stored in the RAM of the main storage unit 12 after being generated in a predetermined storage area of a nonvolatile storage device such as the auxiliary storage unit 13.

(手順3)定義データ21の実行
本実施形態に係る情報処理装置100は、分岐処理実行手段43により、定義データ21に定義されている「分岐処理に関する情報」に基に、比較演算子51から判断した分岐条件の判定結果に従って、特定された機能プラグイン(小機能)30(情報処理手段41)に動作を指示する。
その結果、情報処理装置100は、動作指示された機能プラグイン(小機能)30(情報処理手段41)が、補助記憶部13などの不揮発性の記憶装置の所定の記憶領域から、主記憶部12のRAM上に展開(ロード)され、制御部11により実行される。
(Procedure 3) Execution of Definition Data 21 The information processing apparatus 100 according to the present embodiment uses the comparison operator 51 based on the “information related to branch processing” defined in the definition data 21 by the branch processing execution means 43. According to the determination result of the determined branch condition, the specified function plug-in (small function) 30 (information processing means 41) is instructed to operate.
As a result, in the information processing apparatus 100, the function plug-in (small function) 30 (information processing means 41) instructed to operate is moved from a predetermined storage area of a nonvolatile storage device such as the auxiliary storage unit 13 to the main storage unit. 12 is loaded (loaded) on the RAM 12 and executed by the control unit 11.

このように、本実施形態に係る情報処理装置100は、上記(手順1)〜(手順3)によって、機能プラグイン(小機能)30の実行結果に応じて分岐処理を行い、次に実行する機能プラグイン(小機能)30を動的に決定することができる。   As described above, the information processing apparatus 100 according to the present embodiment performs the branch process according to the execution result of the function plug-in (small function) 30 according to the above (procedure 1) to (procedure 3), and then executes it. The function plug-in (small function) 30 can be determined dynamically.

よって、本実施形態に係る情報処理装置100は、アプリケーションの1つの機能が実現する機能範囲を拡げ、ユーザの使用目的や用途に対して柔軟に対応可能なアプリケーション機能を提供することができる。   Therefore, the information processing apparatus 100 according to the present embodiment can provide an application function that can flexibly respond to a user's usage purpose and application by expanding the functional range realized by one function of the application.

第1の実施形態に基づき本発明の説明を行ってきたが、本発明の第1の実施形態に係る情報処理装置100の「定義データ21」は、本実施形態において説明した方法によって生成する他、例えば、定義データ21を記述する言語仕様に従って、情報処理装置100が有するエディタソフトを用いて編集しても良い。   Although the present invention has been described based on the first embodiment, the “definition data 21” of the information processing apparatus 100 according to the first embodiment of the present invention is generated by the method described in the present embodiment. For example, editing may be performed using editor software included in the information processing apparatus 100 in accordance with a language specification describing the definition data 21.

また、本発明の第1の実施形態に係る情報処理装置100の「条件式52」は、本実施形態において説明した数値による比較条件値によって構成される他、例えば、処理状態や処理結果などを比較条件として用いても良い。   In addition, the “conditional expression 52” of the information processing apparatus 100 according to the first embodiment of the present invention is configured by the comparison condition value by the numerical value described in the present embodiment, for example, the processing state and the processing result. It may be used as a comparison condition.

また、本発明の第1の実施形態に係る情報処理装置100の「定義データ21」は、本実施形態において説明した補助記憶部13に格納する他、外部記憶装置I/F15を介して、メモリカードなどの他の不揮発性の記憶装置に格納しても良い。   Further, the “definition data 21” of the information processing apparatus 100 according to the first embodiment of the present invention is stored in the auxiliary storage unit 13 described in the present embodiment, and is also stored in the memory via the external storage device I / F 15. You may store in other non-volatile storage devices, such as a card | curd.

最後に、上記各実施形態に挙げた形状に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。   Finally, the present invention is not limited to the requirements shown here, such as combinations of other elements with the shapes listed in the above embodiments. With respect to these points, the present invention can be changed within a range that does not detract from the gist of the present invention, and can be appropriately determined according to the application form.

本発明の第1の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る情報処理装置のソフトウェア構成の一例を示す図である。It is a figure which shows an example of the software configuration of the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る定義データのデータ構造の一例(条件分岐がない場合)を示す図である。It is a figure which shows an example (when there is no conditional branch) of the data structure of the definition data which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る情報処理装置の主な機能を構成する手段の一例を示すブロック図である。It is a block diagram which shows an example of the means which comprises the main functions of the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る分岐処理を定義するデータ構造の一例(その1)を示す図である。It is a figure which shows an example (the 1) of the data structure which defines the branch process which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る条件分岐における条件式の一例を示す図である。It is a figure which shows an example of the conditional expression in the conditional branch which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る条件分岐における条件式の比較演算子の一例を示す図である。It is a figure which shows an example of the comparison operator of the conditional expression in the conditional branch which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る定義データのデータ構造の一例(条件分岐がある場合)を示す図である。It is a figure which shows an example (when there exists a conditional branch) of the data structure of the definition data concerning the 1st Embodiment of this invention. 本発明の第1の実施形態に係る画像処理機能に関する定義データ生成時の表示画面の一例を示す図である。It is a figure which shows an example of the display screen at the time of the definition data generation regarding the image processing function which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る出力機能に関する定義データ生成時の表示画面の一例を示す図である。It is a figure which shows an example of the display screen at the time of the definition data generation regarding the output function which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る情報通知機能に関する定義データ生成時の表示画面の一例を示す図である。It is a figure which shows an example of the display screen at the time of the definition data generation regarding the information notification function which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る生成された定義データの一例(変倍印刷機能の場合)を示す図である。It is a figure which shows an example (in the case of a variable magnification printing function) of the definition data produced | generated concerning the 1st Embodiment of this invention. 本発明の第1の実施形態に係る新規メニュー項目追加時の表示画面の一例(その1)を示す図である。It is a figure which shows an example (the 1) of the display screen at the time of the new menu item addition which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る新規メニュー項目追加時の表示画面の一例(その2)を示す図である。It is a figure which shows an example (the 2) of the display screen at the time of the new menu item addition which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るデスクトップアプリケーションにおける定義データ生成時の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence at the time of the definition data generation in the desktop application which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る定義データ生成処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of the definition data generation process which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係るデスクトップアプリケーション機能実行時の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence at the time of the desktop application function execution which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る定義データ実行処理の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of the definition data execution process which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る機能実行時の表示画面の一例(変倍印刷機能の場合)を示す図である。It is a figure which shows an example (in the case of a variable magnification printing function) of the display screen at the time of the function execution which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る分岐処理が定義された定義データを用いた画像表示切り替え機能の例を示す図である。It is a figure which shows the example of the image display switching function using the definition data in which the branch process which concerns on the 1st Embodiment of this invention was defined. 本発明の第1の実施形態に係る分岐処理を定義するデータ構造の一例(その2)を示す図である。It is a figure which shows an example (the 2) of the data structure which defines the branch process which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る分岐処理を定義するデータ構造の一例(その3)を示す図である。It is a figure which shows an example (the 3) of the data structure which defines the branch process which concerns on the 1st Embodiment of this invention.

符号の説明Explanation of symbols

11 制御部(CPU)
12 主記憶部(ROM,RAM)
13 補助記憶部(HD)
14 ネットワークI/F
15 外部記憶装置I/F
16 外部装置I/F
17 出力装置I/F
18 入力装置I/F
20 デスクトップアプリケーション
21 定義データ
22 ユーザインタフェース(UI)プラグイン(UIパーツ)
23 アプリケーションプロセス
30 機能プラグイン
31 コアプログラム(コアモジュール群)
41 情報処理手段(機能プラグイン)
41a 情報処理手段(ファイル選択プラグイン)
41b 情報処理手段(リサイズプラグイン)
41c 情報処理手段(カラー印刷プラグイン)
41d 情報処理手段(モノクロ印刷プラグイン)
41e 情報処理手段(メッセージ表示プラグイン)
42 定義データ生成手段
43 分岐処理実行手段
51 比較演算子
52 条件式
61 アプリケーションウィンドウ
62 機能情報設定領域
62a 定義名(機能名)入力用テキストボックス
62b 定義種類設定用プルダウンメニュー
62c メニュー名設定用プルダウンメニュー
62d メニュー項目追加領域入力用テキストボックス
62e 定義情報設定確定ボタン
63 プラグイン選択領域
63a 画像処理機能のプラグイン選択領域
63b 出力機能のプラグイン選択領域
63c 情報通知機能のプラグイン選択領域
64 実行順序設定領域
65 実行条件設定領域
71 機能に関する情報を定義するデータ
72 実行条件、実行順序、及び処理対象に関する情報を定義するデータ
73 分岐処理に関する情報を定義するデータ
81 ツールバー
82 データ閲覧領域
83 メッセージウィンドウ(メッセージボックス)
91 メニュー
92 メニュー項目領域
100 情報処理装置
11 Control unit (CPU)
12 Main memory (ROM, RAM)
13 Auxiliary memory (HD)
14 Network I / F
15 External storage device I / F
16 External device I / F
17 Output device I / F
18 Input device I / F
20 Desktop application 21 Definition data 22 User interface (UI) plug-in (UI parts)
23 Application process 30 Function plug-in 31 Core program (core module group)
41 Information processing means (function plug-in)
41a Information processing means (file selection plug-in)
41b Information processing means (resize plug-in)
41c Information processing means (color printing plug-in)
41d Information processing means (monochrome printing plug-in)
41e Information processing means (message display plug-in)
42 definition data generation means 43 branch processing execution means 51 comparison operator 52 conditional expression 61 application window 62 function information setting area 62a definition name (function name) input text box 62b definition type setting pull-down menu 62c menu name setting pull-down menu 62d Menu item addition area input text box 62e Definition information setting confirmation button 63 Plug-in selection area 63a Image processing function plug-in selection area 63b Output function plug-in selection area 63c Information notification function plug-in selection area 64 Execution order setting Area 65 Execution condition setting area 71 Data defining information on function 72 Data defining execution condition, execution order, and information on processing target 73 Data defining information on branch processing 81 Toolbar 82 Data browsing area 83 Message window (message box)
91 Menu 92 Menu item area 100 Information processing apparatus

Claims (6)

アプリケーションが有する1つの機能を構成する複数の小機能それぞれを実現する小機能ごとの情報処理手段を有し、前記情報処理手段を所定の実行順序に従って実行することで前記アプリケーションの機能を実現する情報処理装置であって、
前記情報処理手段の実行結果に応じて分岐処理を行う分岐処理実行手段を有することを特徴とする情報処理装置。
Information that has information processing means for each small function that realizes each of a plurality of small functions that constitute one function of the application, and that realizes the function of the application by executing the information processing means according to a predetermined execution order A processing device comprising:
An information processing apparatus comprising branch processing execution means for performing branch processing according to an execution result of the information processing means.
当該情報処理装置は、
前記情報処理手段の実行結果に応じて分岐処理するための条件を示す分岐条件情報と、分岐した後に実行される情報処理手段の実行順序を示す実行順序情報と、分岐した後に実行する情報処理手段で処理されるデータを示す処理対象情報とを定義した定義データを生成する定義データ生成手段を有し、
前記分岐処理実行手段は、
前記定義データ生成手段により生成された定義データに基づいて前記分岐処理を行うことを特徴とする請求項1に記載の情報処理装置。
The information processing apparatus
Branch condition information indicating a condition for performing branch processing according to an execution result of the information processing means, execution order information indicating an execution order of the information processing means executed after branching, and information processing means executed after branching Having definition data generating means for generating definition data defining processing target information indicating data to be processed in
The branch process execution means includes:
The information processing apparatus according to claim 1, wherein the branching process is performed based on definition data generated by the definition data generation unit.
前記定義データ生成手段は、
前記定義データの前記分岐条件情報に、前記小機能を実現する前記情報処理手段を識別する識別情報と、前記情報処理手段の属性情報とを定義することを特徴とする請求項1又は2に記載の情報処理装置。
The definition data generating means
The identification information for identifying the information processing means for realizing the small function and the attribute information of the information processing means are defined in the branch condition information of the definition data. Information processing device.
アプリケーションが有する1つの機能を構成する複数の小機能それぞれを実現する小機能ごとの情報処理手順を有し、前記情報処理手順を所定の実行順序に従って実行することで前記アプリケーションの機能を実現する情報処理方法であって、
前記情報処理手順を前記所定の実行順序に従って実行するときに、
前記情報処理手順を実行して得た実行結果に応じて分岐処理を行う分岐処理実行手順を有することを特徴とする情報処理手順。
Information that has an information processing procedure for each small function that realizes each of a plurality of small functions that constitute one function of the application, and that realizes the function of the application by executing the information processing procedure according to a predetermined execution order A processing method,
When executing the information processing procedure according to the predetermined execution order,
An information processing procedure comprising a branch process execution procedure for performing a branch process according to an execution result obtained by executing the information processing procedure.
アプリケーションが有する1つの機能を構成する複数の小機能それぞれを実現する小機能ごとの情報処理手段を有し、前記情報処理手段を所定の実行順序に従って実行することで前記アプリケーションの機能を実現する情報処理プログラムであって、
コンピュータを、
前記情報処理手段の実行結果に応じて分岐処理を行うように実行させる情報処理プログラム。
Information that has information processing means for each small function that realizes each of a plurality of small functions that constitute one function of the application, and that realizes the function of the application by executing the information processing means according to a predetermined execution order A processing program,
Computer
An information processing program to be executed so as to perform a branching process according to an execution result of the information processing means.
請求項5に記載の情報処理プログラムを記録した、コンピュータが読み取り可能な記録媒体。   A computer-readable recording medium on which the information processing program according to claim 5 is recorded.
JP2007215105A 2007-08-21 2007-08-21 Information processor, information processing method, information processing program and storage medium recording the information processing program Pending JP2009048485A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007215105A JP2009048485A (en) 2007-08-21 2007-08-21 Information processor, information processing method, information processing program and storage medium recording the information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007215105A JP2009048485A (en) 2007-08-21 2007-08-21 Information processor, information processing method, information processing program and storage medium recording the information processing program

Publications (1)

Publication Number Publication Date
JP2009048485A true JP2009048485A (en) 2009-03-05

Family

ID=40500628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007215105A Pending JP2009048485A (en) 2007-08-21 2007-08-21 Information processor, information processing method, information processing program and storage medium recording the information processing program

Country Status (1)

Country Link
JP (1) JP2009048485A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010250561A (en) * 2009-04-15 2010-11-04 Canon Inc Information processing apparatus, control method and program
JP2012150808A (en) * 2011-01-18 2012-08-09 Metrologic Instruments Inc System for digital image capture and processing to support plug-in of multiple third party codes using configuration file having conditional programming logic for controlling chaining of multiple third party plug-ins
JP2012181823A (en) * 2011-02-09 2012-09-20 Ricoh Co Ltd Information processor and program
WO2014192064A1 (en) * 2013-05-27 2014-12-04 富士通株式会社 Information processing program, information processing method, and information processing device
US9355288B2 (en) 2003-11-13 2016-05-31 Metrologic Instruments, Inc. Image capture and processing system supporting a multi-tier modular software architecture
CN107870745A (en) * 2016-09-26 2018-04-03 富士施乐株式会社 Image processing system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111802A (en) * 1996-07-03 1998-04-28 Sun Microsyst Inc Code generator in application field in distribution object system
JP2005216001A (en) * 2004-01-29 2005-08-11 Hitachi Ltd Information processor and information processing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111802A (en) * 1996-07-03 1998-04-28 Sun Microsyst Inc Code generator in application field in distribution object system
JP2005216001A (en) * 2004-01-29 2005-08-11 Hitachi Ltd Information processor and information processing method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9355288B2 (en) 2003-11-13 2016-05-31 Metrologic Instruments, Inc. Image capture and processing system supporting a multi-tier modular software architecture
US9785811B2 (en) 2003-11-13 2017-10-10 Metrologic Instruments, Inc. Image capture and processing system supporting a multi-tier modular software architecture
JP2010250561A (en) * 2009-04-15 2010-11-04 Canon Inc Information processing apparatus, control method and program
JP2012150808A (en) * 2011-01-18 2012-08-09 Metrologic Instruments Inc System for digital image capture and processing to support plug-in of multiple third party codes using configuration file having conditional programming logic for controlling chaining of multiple third party plug-ins
JP2017021839A (en) * 2011-01-18 2017-01-26 メトロロジック・インストルメンツ・インコーポレーテッド Digital image capture and processing system supporting multiple third party code plug-ins using configuration files having conditional programming logic controlling chaining of multiple third-party plug-ins
JP2012181823A (en) * 2011-02-09 2012-09-20 Ricoh Co Ltd Information processor and program
WO2014192064A1 (en) * 2013-05-27 2014-12-04 富士通株式会社 Information processing program, information processing method, and information processing device
CN107870745A (en) * 2016-09-26 2018-04-03 富士施乐株式会社 Image processing system
JP2018055187A (en) * 2016-09-26 2018-04-05 富士ゼロックス株式会社 Image forming apparatus and program

Similar Documents

Publication Publication Date Title
JP5084314B2 (en) Information processing apparatus, information processing method, information processing program, and recording medium for recording information processing program
EP1999557B1 (en) Printing controller,gui display method, printer driver, and recording medium
US20070240100A1 (en) Computer software adaptation method and system
JP2009048485A (en) Information processor, information processing method, information processing program and storage medium recording the information processing program
EP0745927B1 (en) Method of and editing system for setting tool button
US20090259952A1 (en) Information processing apparatus and method of controlling same
CN102595013B (en) Image processing system, information processing system and information processing method
JPWO2013038556A1 (en) Sequence program creation device
JP2020123234A (en) Information processor, control method, and program thereof
JP4890944B2 (en) Information processing apparatus, display control processing method, and program
US20070038954A1 (en) Displaying apparatus of ui parts and displaying method of ui parts
JP2017102872A (en) Development device, development system, and program
JP2011186720A (en) Information processing apparatus, processing method, and computer-readable recording medium with processing program recorded thereon
JP5510502B2 (en) Information processing apparatus, information processing method, information processing program, and recording medium for recording information processing program
JP2008052386A (en) Program generation device, input device, program generation method, control method for input device, program, and storage medium
KR101728786B1 (en) Component-based dynamic image display system and method using the svg file format
JP2008293290A (en) Data processing system, method, and program, and recording medium for recording data processing program
JP4794927B2 (en) Information processing apparatus, information processing method, and program
EP2581825A2 (en) Setting information creating program, apparatus, and method
JP2008257468A (en) Information processor, control method therefor and computer program
JP7421137B2 (en) Information processing device, information processing method and program
JP2014197281A (en) Printer driver and method for localizing printer driver
JP7381900B2 (en) Information processing system, its control method and program
JP5721315B2 (en) Computer program
JP6320196B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120724