JP5169667B2 - Object cooperation apparatus, object cooperation method, program, and recording medium - Google Patents

Object cooperation apparatus, object cooperation method, program, and recording medium Download PDF

Info

Publication number
JP5169667B2
JP5169667B2 JP2008238686A JP2008238686A JP5169667B2 JP 5169667 B2 JP5169667 B2 JP 5169667B2 JP 2008238686 A JP2008238686 A JP 2008238686A JP 2008238686 A JP2008238686 A JP 2008238686A JP 5169667 B2 JP5169667 B2 JP 5169667B2
Authority
JP
Japan
Prior art keywords
setting information
message
internal processing
execution
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008238686A
Other languages
Japanese (ja)
Other versions
JP2010072880A (en
Inventor
勝樹 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008238686A priority Critical patent/JP5169667B2/en
Publication of JP2010072880A publication Critical patent/JP2010072880A/en
Application granted granted Critical
Publication of JP5169667B2 publication Critical patent/JP5169667B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、オブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体に関するものである。   The present invention relates to an object cooperation apparatus, an object cooperation method, a program, and a recording medium.

近年、ネットワーク化の進展に伴い、ネットワーク上に分散した複数のオブジェクトが互いに連携して処理を行うシステムが増えている。このような複数のオブジェクトが互いに連携して処理を行うための技術として、オブジェクト指向型プログラミングやコンポーネント技術などがある。   In recent years, with the progress of networking, a system in which a plurality of objects distributed on a network perform processing in cooperation with each other is increasing. As a technique for processing such a plurality of objects in cooperation with each other, there are object-oriented programming and component technology.

例えば、特許文献1は、ネットワークに接続されたオブジェクトとオブジェクトまたはコンピュータとコンピュータを連携させてシステムを構築するオブジェクト連携装置が提案されている。具体的には、特許文献1に記載のオブジェクト連携装置は、連携関係にないオブジェクト間に連携関係を構築したり、構築された連携関係の間に新しいオブジェクトを加えて新たな連携関係を構築するものである。これにより、オブジェクトの連携関係におけるオブジェクトの参加や離脱に柔軟に対応することができるので、オブジェクトが互いに連携するシステムを柔軟に構築することができる。   For example, Patent Document 1 proposes an object cooperation apparatus that constructs a system by linking an object and an object connected to a network or a computer and a computer. Specifically, the object cooperation apparatus described in Patent Literature 1 constructs a cooperation relationship between objects that are not in a cooperation relationship, or constructs a new cooperation relationship by adding a new object between the constructed cooperation relationships. Is. As a result, it is possible to flexibly cope with the participation and withdrawal of objects in the cooperative relationship between objects, so that a system in which objects cooperate with each other can be flexibly constructed.

特許第3727243号公報Japanese Patent No. 3727243

ところで、実際にオブジェクトが他のオブジェクトと連携して処理を実行する場合、オブジェクトは、他のオブジェクトが固有に実行する内部処理に用いるパラメータ等の設定情報を把握しておく必要がある。   By the way, when an object actually executes a process in cooperation with another object, the object needs to grasp setting information such as a parameter used for an internal process that is uniquely executed by the other object.

例えば、設定情報が誤って設定された場合やオブジェクトが連携するために必要な事前条件を他のオブジェクトが満たしていなかった場合、オブジェクト同士が連携して処理を行えない不整合と呼ばれる事態が発生することがある。このため、オブジェクト同士が連携して処理を行えない場合には、連携して処理を行う段階において、オブジェクト内で設定情報を再設定したり、他のオブジェクトに事前条件を満たさせることで不整合の発生を防止することが望ましい。   For example, when the setting information is set incorrectly, or when other objects do not satisfy the preconditions necessary for the objects to cooperate, a situation called inconsistency in which the objects cannot work together can occur. There are things to do. For this reason, if the objects cannot cooperate with each other, the inconsistency can be caused by resetting the setting information in the object or by satisfying the preconditions in other objects at the stage of the cooperation. It is desirable to prevent the occurrence of

しかしながら、上記特許文献1に記載のオブジェクト連携装置では、オブジェクトと連携できるか否かの判断は行われているものの、オブジェクトが連携して処理を行えない不整合が発生した場合に、当該不整合を解消させる方法が考慮されていないため、実際にオブジェクトが連携して処理を行う段階において柔軟にオブジェクトを連携させることができない、という問題がある。   However, in the object cooperation apparatus described in Patent Document 1, it is determined whether or not the object can be linked, but when an inconsistency occurs in which the object cannot perform processing in cooperation, the mismatch is generated. Since a method for eliminating the problem is not considered, there is a problem in that the object cannot be flexibly linked at the stage where the object is actually linked and processed.

本発明は、上記に鑑みてなされたものであって、オブジェクト間の連携処理を動的かつ柔軟に行うことができるオブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体を提供することを目的とする。   The present invention has been made in view of the above, and an object of the present invention is to provide an object cooperation apparatus, an object cooperation method, a program, and a recording medium that can dynamically and flexibly perform cooperation processing between objects. To do.

上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、設定情報を用いて固有の内部処理を実行する第1オブジェクトと、当該第1オブジェクトと連携して固有の内部処理を実行する第2オブジェクトとを有するオブジェクト連携装置であって、前記第2オブジェクトの内部処理の実行を要求するものであって前記第1オブジェクトが内部処理に用いた前記設定情報を含むメッセージを受信する受信手段と、前記メッセージが含む前記設定情報が、前記第2オブジェクトの内部処理を実行するために要求される前記設定情報の条件を示す実行判断情報に該当しない場合、前記メッセージが含む前記設定情報のうち前記実行判断情報に該当しない前記設定情報を含む不整合通知メッセージを前記第1オブジェクトに送信する送信手段と、を備え、前記第1オブジェクトは、前記不整合通知メッセージが含む前記設定情報とは異なる前記設定情報を用いて内部処理を実行することを特徴とする。 To solve the above problems and achieve the object, the invention includes a first object to perform a specific internal processing using the setting information, the internal unique in conjunction with the first object according to claim 1 An object linkage apparatus having a second object for executing processing, the message requesting execution of internal processing of the second object , and a message including the setting information used by the first object for internal processing; receiving means for receiving the setting information before SL message is included in the second object of the internal processing execution determination information to the appropriate and such have field coupling in order to run indicating the condition of the setting information is required, A transmission for transmitting an inconsistency notification message including the setting information not corresponding to the execution determination information among the setting information included in the message to the first object. And the first object executes internal processing using the setting information different from the setting information included in the inconsistency notification message .

また、請求項2にかかる発明は、請求項1にかかる発明において、前記第2オブジェクトの内部処理に用いる設定情報を記憶する設定情報記憶手段を備え前記第2オブジェクトは、前記メッセージが含む前記設定情報が前記実行判断情報に該当した場合、前記設定情報記憶手段に記憶する前記設定情報を用いて内部処理を実行することを特徴とする。 The invention according to claim 2 is the invention according to claim 1, comprising a setting information storage means for storing configuration information Ru used for the internal processing of the second object, the second object, the message If the setting information included in the corresponding prior SL execution decision information, characterized by the Turkey to perform the internal processing using the setting information stored in the setting information storage means.

また、請求項3にかかる発明は、請求項2にかかる発明において、前記第1オブジェクトの内部処理を仮実行する仮実行手段をさらに備え、前記受信手段は、前記仮実行手段において仮実行した内部処理に用いた前記設定情報を含む前記メッセージを受信することを特徴とする。 The invention according to claim 3 is the invention according to claim 2, further comprising provisional execution means for provisionally executing internal processing of the first object , wherein the reception means is an internal temporarily executed by the provisional execution means. The message including the setting information used for processing is received .

また、請求項4にかかる発明は、設定情報を用いて固有の内部処理を実行する第1オブジェクトと連携して固有の内部処理を実行する第2オブジェクトを有するオブジェクト連携装置であって、前記第2オブジェクトの内部処理の実行を要求するものであって前記第1オブジェクトが内部処理に用いた前記設定情報を含むメッセージを受信する受信手段と、前記メッセージが含む前記設定情報が、前記第2オブジェクトの内部処理を実行するために要求される前記設定情報の条件を示す実行判断情報に該当しない場合、前記メッセージが含む前記設定情報のうち前記実行判断情報に該当しない前記設定情報を含む不整合通知メッセージを前記第1オブジェクトに送信して、前記不整合通知メッセージが含む前記設定情報とは異なる前記設定情報を用いて前記第1オブジェクトに内部処理を実行させる送信手段と、を備えたことを特徴とする。 According to a fourth aspect of the present invention , there is provided an object cooperation apparatus having a second object that executes unique internal processing in cooperation with a first object that executes unique internal processing using setting information. Receiving means for requesting execution of internal processing of two objects and receiving a message including the setting information used by the first object for internal processing; and the setting information included in the message includes the second object Inconsistency notification that includes the setting information that does not correspond to the execution determination information among the setting information included in the message when the condition does not correspond to the execution determination information that indicates the condition of the setting information requested to execute the internal processing of The setting information different from the setting information included in the inconsistency notification message is transmitted to the first object. Characterized by comprising a transmitting means for executing the internal processing on the first object using the.

また、請求項5にかかる発明は、設定情報を用いて固有の内部処理を実行する第1オブジェクト、当該第1オブジェクトと連携して固有の内部処理を実行する第2オブジェクトとを有するオブジェクト連携装置のオブジェクト連携方法であって、受信手段が、前記第2オブジェクトの内部処理の実行を要求するものであって前記第1オブジェクトが内部処理に用いた前記設定情報を含むメッセージを受信する受信工程と、送信手段が、前記メッセージが含む前記設定情報が、前記第2オブジェクトの内部処理を実行するために要求される前記設定情報の条件を示す実行判断情報に該当しない場合、前記メッセージが含む前記設定情報のうち前記実行判断情報に該当しない前記設定情報を含む不整合通知メッセージを前記第1オブジェクトに送信する送信工程と、を有し、前記第1オブジェクトは、前記不整合通知メッセージが含む前記設定情報とは異なる前記設定情報を用いて内部処理を実行することを特徴とする。 The invention according to claim 5, object linkage having a first object to perform a specific internal processing using the setting information, and a second object in cooperation with the first object to perform a specific internal processing a object linkage method of the apparatus, the receiving means, wherein said first object be one that requests the execution of the internal processing of the second object receives the message including the setting information used for internal processing received process and, transmission means, the setting information before SL message is included in the second the setting condition corresponds to a have field if the execution decision information indicating the information required to perform the internal processing of the object the inconsistency notification message including the setup information does not correspond to the execution determination information of the setting information which the message is included in the first object Possess a transmission step of signal to the said first object, and executes the internal processing using the setting information that is different from the setting information which the inconsistency notification message contains.

また、請求項6にかかる発明は、請求項5にかかる発明において、前記オブジェクト連携装置は前記第2オブジェクトの内部処理に用いる設定情報を記憶する設定情報記憶手段を備え前記第2オブジェクト、前記メッセージが含む前記設定情報が前記実行判断情報に該当した場合、前記設定情報記憶手段に記憶する前記設定情報を用いて内部処理を実行する実行工程をさらに有することを特徴とする。 The invention according to claim 6 is the invention according to claim 5, wherein the object linkage device includes a setting information storage means for storing configuration information Ru used for the internal processing of the second object, the second that the object is, if the setting information before SL message contains is applicable before SL execution decision information, further having a higher execution Engineering executing the internal processing using the setting information stored in the setting information storage means It is characterized by that.

また、請求項7にかかる発明は、請求項6にかかる発明において、仮実行手段が、前記第1オブジェクトの内部処理を仮実行する仮実行工程をさらに有し、前記受信工程は、前記仮実行手段において仮実行した内部処理に用いた前記設定情報を含む前記メッセージを受信することを特徴とする。 The invention according to claim 7 is the invention according to claim 6, wherein the provisional execution means further includes a provisional execution step of provisionally executing internal processing of the first object, and the reception step is the provisional execution. The message including the setting information used for internal processing provisionally executed by the means is received .

また、請求項8にかかる発明は、設定情報を用いて固有の内部処理を実行する第1オブジェクトと連携して固有の内部処理を実行する第2オブジェクトを有するオブジェクト連携装置のオブジェクト連携方法であって、受信手段が、前記第2オブジェクトの内部処理の実行を要求するものであって前記第1オブジェクトが内部処理に用いた前記設定情報を含むメッセージを受信する受信工程と、送信手段が、前記メッセージが含む前記設定情報が、前記第2オブジェクトの内部処理を実行するために要求される前記設定情報の条件を示す実行判断情報に該当しない場合、前記メッセージが含む前記設定情報のうち前記実行判断情報に該当しない前記設定情報を含む不整合通知メッセージを前記第1オブジェクトに送信して、前記不整合通知メッセージが含む前記設定情報とは異なる前記設定情報を用いて前記第1オブジェクトに内部処理を実行させる送信工程と、を有することを特徴とする。 The invention according to claim 8 is an object cooperation method of an object cooperation apparatus having a second object that executes unique internal processing in cooperation with a first object that executes unique internal processing using setting information. Receiving means for requesting execution of internal processing of the second object and receiving a message including the setting information used by the first object for internal processing; and transmitting means, When the setting information included in the message does not correspond to the execution determination information indicating the condition of the setting information required for executing the internal processing of the second object, the execution determination among the setting information included in the message An inconsistency notification message including the setting information not corresponding to the information is transmitted to the first object, and the inconsistency notification message is transmitted. And having a transmission step of executing the internal processing on the first object using different said setting information from said setting information message contains.

また、請求項9にかかる発明は、請求項5から8のいずれか一に記載のオブジェクト連携方法の各工程をコンピュータに実行させるためのものである。   The invention according to claim 9 is to cause a computer to execute each step of the object cooperation method according to any one of claims 5 to 8.

また、請求項10にかかる発明は、請求項5から8のいずれか一に記載のオブジェクト連携方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能なものである。   According to a tenth aspect of the present invention, there is provided a computer-readable recording medium storing a program for causing a computer to execute each step of the object cooperation method according to any one of the fifth to eighth aspects.

本発明によれば、オブジェクトが連携処理を行う際に必要な条件等を確認し、条件が満たされない場合には条件を満たすようにオブジェクトが内部処理に用いる設定情報を変更して不整合を解消させるようにできるので、オブジェクト間の連携処理を動的かつ柔軟に行うことができる、という効果を奏する。   According to the present invention, the conditions necessary for the object to perform cooperative processing are confirmed, and if the conditions are not satisfied, the setting information used by the object for internal processing is changed so that the inconsistency is resolved so that the conditions are satisfied. Therefore, there is an effect that the cooperation processing between objects can be performed dynamically and flexibly.

以下に添付図面を参照して、この発明にかかるオブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体の最良な実施の形態を詳細に説明する。なお、本実施の形態では、パーソナルコンピュータ(PC)に本発明のオブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体を適用した例ついて説明する。但し、PC機に限られず、複合機(MFP:Multi Function Peripheral)、プリンタ、ファクシミリ、コピー機等の画像形成装置などにも本発明を適用することができる。   Exemplary embodiments of an object cooperation device, an object cooperation method, a program, and a recording medium according to the present invention will be explained below in detail with reference to the accompanying drawings. In this embodiment, an example in which the object cooperation apparatus, the object cooperation method, the program, and the recording medium of the present invention are applied to a personal computer (PC) will be described. However, the present invention is not limited to the PC machine, and the present invention can also be applied to an image forming apparatus such as a multi function peripheral (MFP), a printer, a facsimile machine, and a copier.

(第1実施の形態)
図1は、本実施の形態にかかるPCのハードウェアおよびソフトウェアの構成を説明するための説明図である。図1に示すように、本実施の形態にかかるPC100は、各種機器からなるハードウェアリソース107を有する。このハードウェアリソース107に含まれる機器には、HDD(Hard Disk Drive)、ネットワークインターフェース、表示部やキーボード等の操作表示部などがある。
(First embodiment)
FIG. 1 is an explanatory diagram for explaining a hardware and software configuration of a PC according to the present embodiment. As shown in FIG. 1, the PC 100 according to the present embodiment has a hardware resource 107 composed of various devices. Devices included in the hardware resource 107 include an HDD (Hard Disk Drive), a network interface, an operation display unit such as a display unit and a keyboard, and the like.

このハードウェアリソース107を制御するソフトウェアシステムは、ウェブブラウザ(Web Browser)101、エンジン(Engine)102、ウェブサーバ(Web Server)103、CGI(Common Gateway Interface)104、オブジェクト105、およびオペレーティングシステム106を有している。   A software system that controls the hardware resource 107 includes a web browser 101, an engine 102, a web server 103, a common gateway interface (CGI) 104, an object 105, and an operating system 106. Have.

オペレーティングシステム106は、その他のソフトウェアが動作するための基盤を提供する。ウェブブラウザ101は、操作表示部に画像データ等を表示するソフトウェアである。   The operating system 106 provides a basis for other software to operate. The web browser 101 is software that displays image data and the like on the operation display unit.

エンジン102は、ウェブブラウザ101を通じて、利用者にビジュアルプログラミングシステムを提供するソフトウェアである。ここで、ビジュアルプログラミングシステムとは、プログラムのモジュール等、固有の内部処理を実行するオブジェクト105を視覚的に表現した視覚情報であるアイコン等のラベルを表示し、ラベルが表示されたオブジェクト105の中から選択したオブジェクト105が連携して内部処理を実行するプログラムを作成・実行させるシステムである。   The engine 102 is software that provides a visual programming system to the user through the web browser 101. Here, the visual programming system displays labels such as icons, which are visual information that visually represents the object 105 that executes specific internal processing, such as a program module, and the like. This is a system for creating and executing a program for executing internal processing in cooperation with an object 105 selected from the above.

CGI104は、エンジン102により選択されたオブジェクト105を起動するためのソフトウェアである。   The CGI 104 is software for activating the object 105 selected by the engine 102.

オブジェクト105は、分散したオブジェクト間での通信、対話、協調といった連携処理を行うものである。また、オブジェクト105は、オブジェクト間を流れるメッセージに対して各オブジェクトが反応して内部処理を実行する。また、オブジェクト105は、ソフトウェアシステムへの参加、離脱により、ソフトウェアシステム全体の動作を柔軟に変更させることができる。   The object 105 performs cooperative processing such as communication, dialogue, and cooperation between distributed objects. Also, the object 105 performs internal processing in response to each object responding to messages flowing between the objects. Further, the object 105 can flexibly change the operation of the entire software system by joining or leaving the software system.

なお、本実施の形態では、PC100のソフトウェアシステム内を流れるメッセージに対してオブジェクト105が反応して内部処理を実行する例について説明するが、これに限定するものではない。例えば、共通の通信路を流れるメッセージに対して、他のPC、デバイス、当該他のPCやデバイス内で動作する個々のアプリケーションプログラム、または当該アプリケーションプログラム内で動作する個々のプログラムコンポーネント内で実現されたオブジェクトが反応する形で内部処理を実行することも可能である。   In the present embodiment, an example in which the object 105 reacts to a message flowing in the software system of the PC 100 and executes internal processing will be described, but the present invention is not limited to this. For example, for a message flowing through a common communication path, it is realized in another PC, a device, an individual application program operating in the other PC or device, or an individual program component operating in the application program. It is also possible to execute internal processing in such a way that the object reacts.

ここで、共通の通信路は、単にLANなどの物理的ネットワークに限定されるものではなく、無線、音声、光などメッセージを流すことができる媒体を介在するものであればよい。また、共通の通信路は、各オブジェクトが共通に呼び出し可能なメモリ等の記憶媒体、さらには通信路上のポートアドレス等など仮想的な存在であってもよい。   Here, the common communication path is not limited to a physical network such as a LAN, and may be any medium that can transmit a message such as radio, voice, and light. The common communication path may be a virtual medium such as a storage medium such as a memory that can be commonly called by each object, or a port address on the communication path.

ウェブサーバ103は、CGI104とエンジン102との間での情報送信を行うソフトウェアである。   The web server 103 is software that transmits information between the CGI 104 and the engine 102.

図2は、本実施の形態にかかるPCのハードウェア構成を示すブロック図である。図2に示すように、本実施の形態にかかるPC100は、コントローラ200と、USB(Universal Serial Bus)インターフェース201と、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インターフェース202と、をPCI(Peripheral Component Interconnect)バス203で接続した構成となる。   FIG. 2 is a block diagram showing a hardware configuration of the PC according to the present embodiment. As shown in FIG. 2, the PC 100 according to the present embodiment includes a controller 200, a USB (Universal Serial Bus) interface 201, and an IEEE 1394 (the Institute of Electrical and Electronics Engineers 1394) interface 202, and a PCI (Peripheral Component). Interconnect) bus 203.

コントローラ200は、PC100の全体制御を行う制御装置であり、CPU(Central Processing Unit)204と、システムメモリ(MEM−P)205と、ノースブリッジ(NB)206と、サウスブリッジ(SB)207と、ASIC(Application Specific Integrated Circuit)208と、ローカルメモリ(MEM−C)209と、ハードディスクドライブ(HDD:Hard Disk Drive)210と、を有し、ノースブリッジ(NB)206とASIC208との間をAGP(Accelerated Graphics Port)15で接続した構成となる。   The controller 200 is a control device that performs overall control of the PC 100, and includes a CPU (Central Processing Unit) 204, a system memory (MEM-P) 205, a North Bridge (NB) 206, a South Bridge (SB) 207, An ASIC (Application Specific Integrated Circuit) 208, a local memory (MEM-C) 209, and a hard disk drive (HDD: Hard Disk Drive) 210, and the AGP (Bridge) between the North Bridge (NB) 206 and the ASIC 208 Accelerated Graphics Port) 15 is connected.

CPU204は、各種ソフトウェアを実行するための演算装置である。本実施の形態に係るオブジェクト105を含む、PC100の各種機能を実現するためのソフトウェアシステム(図1に示す)は、MEM−C209もしくはHDD210に記憶保持され、必要に応じてMEM−P205にロードされてこのCPU204により実行される。   The CPU 204 is an arithmetic device for executing various software. A software system (shown in FIG. 1) for realizing various functions of the PC 100, including the object 105 according to the present embodiment, is stored and held in the MEM-C 209 or the HDD 210, and loaded into the MEM-P 205 as necessary. This is executed by the lever CPU 204.

MEM−P205は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタに出力する画像データの描画用メモリなどとして用いるシステムメモリであり、ROM(Read Only Memory)205aとRAM(Random Access Memory)205bとからなる。ROM205aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM205bは、プログラムやデータの展開用メモリ、プリンタに出力する画像データの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。   The MEM-P 205 is a system memory used as a memory for storing programs and data, a memory for developing programs and data, a memory for drawing image data to be output to a printer, and the like. A ROM (Read Only Memory) 205a and a RAM (Random Access Memory) 205b. The ROM 205a is a read-only memory used as a memory for storing programs and data, and the RAM 205b is a writable and readable memory used as a memory for developing programs and data, a memory for drawing image data output to a printer, and the like. is there.

NB206およびSB207は、MEM−P205やAGP15を制御する制御装置であり、NB206を介してCPU204とMEM−P205とSB207とAGP15とが接続される形をとる。NB206は、AGP15を介してASIC208とも接続され、その先にPCIバス203が接続される。   The NB 206 and the SB 207 are control devices that control the MEM-P 205 and the AGP 15. The CPU 204, the MEM-P 205, the SB 207, and the AGP 15 are connected via the NB 206. The NB 206 is also connected to the ASIC 208 via the AGP 15, and the PCI bus 203 is connected to the NB 206.

ASIC208は、画像処理のための制御装置である。このASIC208は、MEM−C209やHDD210や操作表示部211のような周辺機器と接続され、これらの制御もおこなう。MEM−C209は、ASIC208が画像処理をおこなう画像データ等を一時記憶する記憶部であり、HDD210は、各種ソフトウェア、フォントデータ、蓄積するよう指示された画像データ等を記憶する記憶部である。操作表示部211は、利用者の操作を受け付ける入力装置である。   The ASIC 208 is a control device for image processing. The ASIC 208 is connected to peripheral devices such as the MEM-C 209, the HDD 210, and the operation display unit 211, and also controls them. The MEM-C 209 is a storage unit that temporarily stores image data and the like that the ASIC 208 performs image processing. The HDD 210 is a storage unit that stores various software, font data, image data instructed to be stored, and the like. The operation display unit 211 is an input device that receives user operations.

USBインターフェース201およびIEEE1394インターフェース202は、外部機器を接続するためのインターフェースである。PCIバス203には、これら以外にネットワーク接続のためのインターフェース装置等も接続される。   The USB interface 201 and the IEEE 1394 interface 202 are interfaces for connecting external devices. In addition to these, an interface device or the like for network connection is also connected to the PCI bus 203.

次に、オブジェクト105のオブジェクトモデルについて説明する。図3は、オブジェクトのUMLクラス図である。UML(Unified Modeling Language)とは、OMG(Object Management Group)が使用を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このUMLは、オブジェクト指向によるソフトウェアの設計において広く用いられている。   Next, an object model of the object 105 will be described. FIG. 3 is a UML class diagram of the object. UML (Unified Modeling Language) is a system modeling language formulated by OMG (Object Management Group), and defines a notation for describing the results of modeling. This UML is widely used in the design of object-oriented software.

クラスとは、オブジェクトの設計図に相当する概念であり、オブジェクト内部に有する属性や操作や、他のオブジェクトとの関係を定義するものである。クラスは、UMLクラス図においては、3段の区画を有する矩形として記述される。それぞれの区画は、上から名前区画、属性区画、および操作区画と呼ばれる。名前区画には、当該クラスの名称が記述され、属性区画には、当該クラスが有するデータ(属性)が記述され、操作区画には、当該クラスが有する手続(操作)が記述される。   A class is a concept corresponding to a design drawing of an object, and defines attributes, operations, and relationships with other objects. The class is described as a rectangle having three sections in the UML class diagram. Each section is called a name section, an attribute section, and an operation section from the top. The name section describes the name of the class, the attribute section describes data (attributes) of the class, and the operation section describes procedures (operations) of the class.

このように、クラスは、データ(属性)を所持するための属性区画と、かかる属性の書込みおよび読み出しを行う手続き(操作)を所持するための操作区画とを有している。これらのクラスは、ソフトウェアの一部として含まれるので、予めMEM−C209に格納されたソフトウェアが実行されると、各クラスはRAM205bの所定領域に実体化され、属性区画に含まれる各データ(属性)がRAM205b上に展開される。したがって、クラスが実体化したオブジェクト105は、RAM205b上の各データ(属性)の書き込みおよび読み出しを行うことが可能となる。   As described above, the class has an attribute section for possessing data (attributes) and an operation section for possessing procedures (operations) for writing and reading such attributes. Since these classes are included as a part of software, when the software stored in the MEM-C 209 is executed in advance, each class is materialized in a predetermined area of the RAM 205b and each data (attribute ) Is expanded on the RAM 205b. Therefore, the object 105 in which the class is realized can write and read each data (attribute) on the RAM 205b.

なお、クラス図において、属性や操作の左側に「-」記号を付した場合は、当該属性や操作が外部のクラスに非公開であることを示し、「+」記号を付した場合は、当該属性や操作が外部のクラスに公開されていることを示す。また、操作については「メッセージ受信()」のように「()」記号を付すことが通例であり、「(引数1,引数2)」のように、かかる操作に引き渡す引数を記述する場合もある。   In the class diagram, if a "-" symbol is attached to the left side of an attribute or operation, it indicates that the attribute or operation is private to the external class, and if a "+" symbol is attached, Indicates that an attribute or operation is exposed to an external class. Also, for operations, it is customary to add a “()” symbol, such as “message reception ()”, and in some cases, such as “(argument 1, argument 2)”, an argument to be passed to the operation is described. is there.

オブジェクト105のクラスは、操作として、メッセージ受信()、不整合受信()、および処理()を有する。   The class of the object 105 has message reception (), inconsistency reception (), and processing () as operations.

メッセージ受信()は、オブジェクトの内部処理の実行を要求するメッセージを外部機器または他のオブジェクトから受信する処理である。また、不整合受信()は、連携処理を行えない原因を通知する不整合通知メッセージを他のオブジェクトから受信する処理である。処理()は、オブジェクトの内部処理(内部状態や内部関数)である。   Message reception () is processing for receiving a message requesting execution of internal processing of an object from an external device or another object. Inconsistency reception () is processing for receiving an inconsistency notification message for notifying the cause of the inability to perform cooperation processing from another object. The process () is an internal process (internal state or internal function) of the object.

また、オブジェクト105のクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、およびテンプレートを有する。これらの属性と操作のうち、処理()、設定情報名、設定情報値、およびテンプレートは、クラスの外部に公開されない。   The class of the object 105 includes an object ID, an object name, an object URL, an object type, a setting information name, a setting information value, and a template as attributes. Among these attributes and operations, the process (), setting information name, setting information value, and template are not disclosed outside the class.

オブジェクトIDは、オブジェクトを特定するための情報である。オブジェクトの名前は、オブジェクトの名称である。オブジェクトのURLは、オブジェクトを指定する情報である。オブジェクトの種類は、オブジェクトが実行する内部処理の種類である。設定情報名は、オブジェクトが内部処理に用いるパラメータ等の設定情報の名称である。設定情報値は、オブジェクトが内部処理に用いるパラメータの値である。テンプレートは、オブジェクト間で送受信するメッセージの書式である。   The object ID is information for specifying the object. The name of the object is the name of the object. The URL of the object is information for specifying the object. The object type is a type of internal processing executed by the object. The setting information name is a name of setting information such as a parameter used by the object for internal processing. The setting information value is a parameter value used by the object for internal processing. A template is a format for messages sent and received between objects.

次に、図3に示すオブジェクトモデルにより印刷処理を行う場合のオブジェクトの詳細な機能構成および印刷処理を行うオブジェクトの操作の実行手順について説明する。より具体的には、HDD210に記憶されているテキストファイルを読み込んで所定の文字コードに変換した後、変換後のテキストファイルをプリンタに出力して印刷処理を行う例について説明する。   Next, a detailed functional configuration of an object when performing print processing using the object model shown in FIG. 3 and an execution procedure of an object operation for performing print processing will be described. More specifically, an example will be described in which a text file stored in the HDD 210 is read and converted into a predetermined character code, and then the converted text file is output to a printer and printed.

まず、図4を用いて、印刷処理を行うオブジェクトの関係について説明する。図4は、印刷処理を行うオブジェクトの関係を示す図である。   First, the relationship between objects to be printed will be described with reference to FIG. FIG. 4 is a diagram illustrating the relationship between objects that perform print processing.

図4に示すように、印刷処理は、HDD210に記憶されているテキストファイルを読み込むテキストファイル読込オブジェクト401、およびテキストファイル読込オブジェクト401により読み込んだテキストファイルをUSBインターフェース201やIEEE1394インターフェース202を介して接続されたプリンタに出力するテキスト印刷オブジェクト402の連携処理により行われるものとする。テキストファイル読込オブジェクト401およびテキスト印刷オブジェクト402は、互いにメッセージ403およびメッセージ404を送出し、送出されたメッセージに反応して内部処理を実行する。   As shown in FIG. 4, in the printing process, a text file reading object 401 for reading a text file stored in the HDD 210 and a text file read by the text file reading object 401 are connected via the USB interface 201 or the IEEE 1394 interface 202. It is assumed that this is performed by the cooperation process of the text print object 402 output to the printer. The text file reading object 401 and the text print object 402 send a message 403 and a message 404 to each other, and execute internal processing in response to the sent message.

次に、テキストファイル読込オブジェクト401およびテキスト印刷オブジェクト402の詳細な機能構成およびテキストファイル読込オブジェクト401およびテキスト印刷オブジェクト402の操作の実行手順について説明する。図5は、テキスト読込オブジェクトおよびテキスト印刷オブジェクトの機能構成を示すブロック図である。図5に示すように、テキストファイル読込オブジェクト401およびテキスト印刷オブジェクト402は、設定情報記憶部501、実行部502、送信部503、通信部504、受信部505、実行判断情報記憶部506、判断部507、生成部508、および不整合判断部509を備えて構成される。なお、テキストファイル読込オブジェクト401およびテキスト印刷オブジェクト402は、それぞれ共通の通信路510で接続されているものとする。   Next, a detailed functional configuration of the text file reading object 401 and the text print object 402 and an execution procedure of the operation of the text file reading object 401 and the text print object 402 will be described. FIG. 5 is a block diagram showing a functional configuration of the text reading object and the text printing object. As shown in FIG. 5, a text file reading object 401 and a text print object 402 include a setting information storage unit 501, an execution unit 502, a transmission unit 503, a communication unit 504, a reception unit 505, an execution determination information storage unit 506, and a determination unit. 507, a generation unit 508, and an inconsistency determination unit 509. It is assumed that the text file reading object 401 and the text print object 402 are connected by a common communication path 510.

図6は、テキスト読込オブジェクトからテキスト印刷オブジェクトにメッセージを送信する処理手順を示すフローチャートである。まず、実行部502は、設定情報記憶部501から設定情報を取得する(ステップS601)。さらに、実行部502は、HDD210に記憶されているテキストファイルを読み込む(ステップS602)。   FIG. 6 is a flowchart showing a processing procedure for transmitting a message from the text reading object to the text print object. First, the execution unit 502 acquires setting information from the setting information storage unit 501 (step S601). Further, the execution unit 502 reads a text file stored in the HDD 210 (step S602).

ここで、設定情報記憶部501は、テキストファイル読込オブジェクト401が内部処理に用いる設定情報であるパラメータ等のメタデータを記憶するものである。図7Aは、設定情報記憶部に記憶されている設定情報の一例を示す図である。設定情報記憶部501には、設定情報名と、設定情報値と、設定優先度と、選択カーソルと、が対応付けて記憶されている。設定優先度は、テキストファイル読込オブジェクト401が複数の設定情報値に基づいてテキストファイルを変換可能な場合に、その優先度を示すものである。本実施の形態では、設定優先度は、数字が小さい順に設定優先度が高いことを示している。また、選択カーソルは、実行部502の内部処理に用いた設定情報値にチェックを入れるカーソルである。つまり、チェックが入っている選択カーソルと対応付けて記憶されている設定情報名および設定情報値が、テキストファイル読込オブジェクト401の属性としてRAM205b上に展開されている設定情報名および設定情報値(データ)である。   Here, the setting information storage unit 501 stores metadata such as parameters which are setting information used by the text file reading object 401 for internal processing. FIG. 7A is a diagram illustrating an example of setting information stored in the setting information storage unit. The setting information storage unit 501 stores setting information names, setting information values, setting priorities, and selection cursors in association with each other. The setting priority indicates the priority when the text file reading object 401 can convert a text file based on a plurality of setting information values. In the present embodiment, the setting priority indicates that the setting priority is higher in ascending order of numbers. The selection cursor is a cursor for checking a setting information value used for internal processing of the execution unit 502. That is, the setting information name and the setting information value stored in association with the checked selection cursor are displayed as the setting information name and setting information value (data) expanded on the RAM 205b as the attributes of the text file read object 401. ).

次に、実行部502は、設定情報記憶部501から取得した設定情報に含まれる設定情報値のうち、設定優先度が最も高い設定情報値(文字コード)に従って、テキストファイル読込オブジェクト401の操作である処理()である文字変換処理を読み込んだテキストファイルに対して実行する(ステップS603)。なお、取得した設定情報に含まれる設定情報値と対応付けられた選択カーソルにチェックが入っている場合、実行部502は、選択カーソルにチェックが入っている設定情報値の次に設定優先度が高い設定情報値に従って文字変換処理を実行するものとする。また、実行部502は、文字変換処理に用いた設定情報値と対応付けられた選択カーソルにチェックを入れた設定情報を設定情報記憶部501に記憶する(ステップS604)。   Next, the execution unit 502 operates the text file reading object 401 according to the setting information value (character code) having the highest setting priority among the setting information values included in the setting information acquired from the setting information storage unit 501. A character conversion process, which is a certain process (), is executed on the read text file (step S603). When the selection cursor associated with the setting information value included in the acquired setting information is checked, the execution unit 502 sets the setting priority next to the setting information value for which the selection cursor is checked. It is assumed that character conversion processing is executed according to a high setting information value. In addition, the execution unit 502 stores setting information in which the selection cursor associated with the setting information value used for the character conversion process is checked in the setting information storage unit 501 (step S604).

図7Bは、選択カーソルにチェックが入っている設定情報値に従って文字変換処理を実行する例の説明図である。取得した設定情報に含まれる設定情報値(現在選択されている設定情報):UTF-8と対応付けられた選択カーソルにチェックが入っている場合(図7B(a)に示す)、実行部502は、設定情報値:UTF-8の次に設定優先度が高い設定情報値(次に優先して選択される設定情報):Shift_JISに従って文字変換処理を実行する(図7B(b)に示す)。そして、実行部502は、設定情報値:Shift_JISと対応付けられた選択カーソルにチェックを入れた設定情報を設定情報記憶部501に記憶する。   FIG. 7B is an explanatory diagram of an example in which the character conversion process is executed according to the setting information value in which the selection cursor is checked. Setting information value included in the acquired setting information (currently selected setting information): When the selection cursor associated with UTF-8 is checked (shown in FIG. 7B (a)), the execution unit 502 Is a setting information value: setting information value having the next highest setting priority after UTF-8 (setting information selected next priority): executes character conversion processing according to Shift_JIS (shown in FIG. 7B (b)) . Then, the execution unit 502 stores the setting information in which the selection cursor associated with the setting information value: Shift_JIS is checked in the setting information storage unit 501.

さらに、実行部502は、テキストファイル読込オブジェクト401が連携処理を行うテキスト印刷オブジェクト402の内部処理の実行を要求するものであって、文字変換処理を施したテキストファイルの内容および当該文字変換処理に用いた設定情報を含むメッセージを生成する(ステップS605)。そして、実行部502は、生成したメッセージを送信部503に送出する(ステップS606)。   Further, the execution unit 502 requests execution of internal processing of the text print object 402 that the text file reading object 401 performs cooperation processing. The execution unit 502 performs processing on the contents of the text file subjected to character conversion processing and the character conversion processing. A message including the used setting information is generated (step S605). Then, the execution unit 502 sends the generated message to the transmission unit 503 (step S606).

図8は、実行部により生成されるメッセージの一例を示す図である。本実施の形態では、実行部502は、XML形式のメッセージ800を生成するものとする。メッセージ800は、符号801で示すように、送信元のオブジェクト(テキストファイル読込オブジェクト401)の場所(URL)および送信先のオブジェクト(テキスト印刷オブジェクト402)の場所を示す情報(URL)を含んでいる。   FIG. 8 is a diagram illustrating an example of a message generated by the execution unit. In the present embodiment, it is assumed that the execution unit 502 generates an XML format message 800. The message 800 includes information (URL) indicating the location (URL) of the transmission source object (text file reading object 401) and the transmission destination object (text print object 402), as indicated by reference numeral 801. .

また、メッセージ800は、符号802で示すように、オブジェクトが内部処理に用いた設定情報を示すメタデータであるinfo要素を含んでいる。具体的には、メッセージ800は、送信元のオブジェクトが内部処理に用いたパラメータのメタデータを含んでいる。例えば、メッセージ800は、送信元のオブジェクトであるテキストファイル読込オブジェクト401が文字変換処理に用いた設定情報名:文字コードや設定情報値:UTF-8のメタデータを含んでいる。   The message 800 includes an info element that is metadata indicating setting information used by the object for internal processing, as indicated by reference numeral 802. Specifically, the message 800 includes metadata of parameters used by the transmission source object for internal processing. For example, the message 800 includes metadata of setting information name: character code and setting information value: UTF-8 used by the text file reading object 401, which is a transmission source object, for character conversion processing.

また、メッセージ800は、符号803で示すように、送信先のオブジェクトに送るテキストや画像などのデータの内容やタイトル(名前)などを示すメタデータであるentry要素を含んでいる。符号803で示すentry要素を含むメッセージ800を受信したオブジェクトは、entry要素が示すデータに対して当該オブジェクトの内部処理を実行する。   Further, as indicated by reference numeral 803, the message 800 includes an entry element that is metadata indicating the content of the data such as text and images to be sent to the destination object, the title (name), and the like. The object that has received the message 800 including the entry element indicated by reference numeral 803 executes internal processing of the object for the data indicated by the entry element.

送信部503は、通信部504を介して、実行部502により生成されたメッセージを、連携処理を行うテキスト印刷オブジェクト402に送信する(ステップS607)。ここで、通信部504は、ネットワークなど、連携処理を行うオブジェクト間において共通の通信路510上の他のオブジェクトと通信するためのものである。   The transmission unit 503 transmits the message generated by the execution unit 502 via the communication unit 504 to the text print object 402 that performs cooperation processing (step S607). Here, the communication unit 504 is for communicating with other objects on a common communication path 510 between objects that perform cooperation processing, such as a network.

本実施の形態では、通信部504は、テキストファイル読込オブジェクト401の識別情報、およびテキストファイル読込オブジェクト401が連携処理を行うオブジェクトであるテキスト印刷オブジェクト402の識別情報を記憶しているものとする。そして、通信部504は、メッセージを送信する際、記憶しているオブジェクトの識別情報を用いて当該メッセージを他のオブジェクトに送信するものとする。ここで、識別情報は、共通の通信路510(例えば、インターネット)上でオブジェクトを判別可能な情報である。   In the present embodiment, it is assumed that the communication unit 504 stores the identification information of the text file reading object 401 and the identification information of the text print object 402 that is an object that the text file reading object 401 performs cooperation processing. Then, when transmitting the message, the communication unit 504 transmits the message to another object using the stored object identification information. Here, the identification information is information with which an object can be identified on a common communication path 510 (for example, the Internet).

図9は、メッセージを受信したテキスト印刷オブジェクト402が内部処理(印刷処理)を行う際の処理手順を示すフローチャートである。まず、受信部505は、通信部504を介して、テキストファイル読込オブジェクト401から送信されたメッセージを、テキスト印刷オブジェクト402の操作であるメッセージ受信()により受信する(ステップS901)。   FIG. 9 is a flowchart illustrating a processing procedure when the text print object 402 that has received the message performs internal processing (print processing). First, the reception unit 505 receives a message transmitted from the text file reading object 401 via the communication unit 504 by message reception () that is an operation of the text print object 402 (step S <b> 901).

判断部507は、実行判断情報記憶部506から実行判断情報を取得する(ステップS902)。ここで、実行判断情報は、連携処理を行うテキストファイル読込オブジェクト401が内部処理に用いた設定情報であって、テキスト印刷オブジェクト402の内部処理を実行するために要求される当該設定情報の条件を示すものである。   The determination unit 507 acquires execution determination information from the execution determination information storage unit 506 (step S902). Here, the execution determination information is the setting information used for the internal processing by the text file reading object 401 that performs the cooperation processing, and the conditions of the setting information required for executing the internal processing of the text print object 402 are set. It is shown.

図10は、実行判断情報記憶部に記憶されている実行判断情報の一例を示す図である。実行判断情報記憶部506は、上述したように、テキストファイル読込オブジェクト401が文字変換処理に用いた設定情報であって、テキスト印刷オブジェクト402の内部処理である印刷処理を実行するために要求される設定情報の条件を示す実行判断情報1000を記憶するものである。具体的には、実行判断情報記憶部506は、設定情報(例えば、設定情報名:文字コード,フォント等、および設定情報値:Shift_JIS,EUC-JP等)の条件を示す実行判断情報1000を記憶している。   FIG. 10 is a diagram illustrating an example of execution determination information stored in the execution determination information storage unit. As described above, the execution determination information storage unit 506 is setting information used by the text file reading object 401 for character conversion processing, and is required to execute printing processing that is internal processing of the text print object 402. The execution determination information 1000 indicating the condition of the setting information is stored. Specifically, the execution determination information storage unit 506 stores execution determination information 1000 indicating conditions of setting information (for example, setting information name: character code, font, and setting information value: Shift_JIS, EUC-JP, etc.). doing.

なお、実行判断情報が示す設定情報の条件にはワイルドカード(*で示す)を用いることができる。例えば、設定情報名の条件にワイルドカードが示されている場合、テキスト印刷オブジェクト402は、テキストファイル読込オブジェクト401が内部処理に用いた設定情報名にかかわらず印刷処理が実行可能であることを示している。また、設定情報値の条件にワイルドカードが示されている場合、テキスト印刷オブジェクト402は、テキストファイル読込オブジェクト401が内部処理に用いた設定情報値にかかわらず印刷処理が実行可能であることを示している。   Note that a wild card (indicated by *) can be used as the condition of the setting information indicated by the execution determination information. For example, when a wild card is indicated in the setting information name condition, the text print object 402 indicates that the print processing can be executed regardless of the setting information name used by the text file reading object 401 for internal processing. ing. When a wild card is indicated in the setting information value condition, the text print object 402 indicates that the print processing can be executed regardless of the setting information value used by the text file reading object 401 for internal processing. ing.

判断部507は、受信部505により受信したメッセージが含む設定情報が、実行判断情報記憶部506に記憶する実行判断情報が示す設定情報の条件に該当するか否かを判断する。   The determination unit 507 determines whether the setting information included in the message received by the reception unit 505 satisfies the setting information condition indicated by the execution determination information stored in the execution determination information storage unit 506.

本実施の形態では、判断部507は、まず、実行判断情報が示す設定情報名の条件にワイルドカードが用いられているか否かを判断する(ステップS903)。実行判断情報が示す設定情報名の条件にワイルドカードが用いられている場合(ステップS903:No)、判断部507は、受信したメッセージが含む設定情報が、実行判断情報が示す設定情報の条件に該当すると判断して、当該受信したメッセージを実行部502に送出して処理を終了する(ステップS908)。   In the present embodiment, the determination unit 507 first determines whether or not a wild card is used for the condition of the setting information name indicated by the execution determination information (step S903). When a wild card is used for the setting information name condition indicated by the execution determination information (step S903: No), the determination unit 507 sets the setting information included in the received message as the setting information condition indicated by the execution determination information. If it is determined to be applicable, the received message is sent to the execution unit 502, and the process is terminated (step S908).

一方、実行判断情報が示す設定情報名の条件にワイルドカードが用いられていない場合(ステップS903:Yes)、判断部507は、取得した実行判断情報が示す設定情報の条件を順に読み出し(ステップS904)、受信したメッセージが含む設定情報名が読み出した設定情報の条件に含まれる設定情報名に該当するか否かを判断する(ステップS905)。受信したメッセージが含む設定情報名が読み出した設定情報の条件に含まれる設定情報名に該当すると判断した場合(ステップS905:Yes)、判断部507は、受信したメッセージが含む設定情報値が読み出した設定情報の条件に含まれる設定情報値に該当するか否かを判断する(ステップS906)。   On the other hand, when a wild card is not used for the condition of the setting information name indicated by the execution determination information (step S903: Yes), the determination unit 507 sequentially reads the setting information conditions indicated by the acquired execution determination information (step S904). It is determined whether the setting information name included in the received message corresponds to the setting information name included in the read setting information condition (step S905). When it is determined that the setting information name included in the received message corresponds to the setting information name included in the read setting information condition (step S905: Yes), the determination unit 507 reads the setting information value included in the received message. It is determined whether the setting information value included in the setting information condition is satisfied (step S906).

そして、受信したメッセージが含む設定情報値が読み出した設定情報の条件に含まれる設定情報値に該当すると判断した場合(ステップS906:Yes)、判断部507は、取得した実行判断情報から全ての設定情報の条件を読み出したか否かを判断する(ステップS907)。そして、取得した実行判断情報から全ての設定情報の条件を読み出したと判断した場合(ステップS907:Yes)、判断部507は、受信したメッセージが含む設定情報が、実行判断情報が示す設定情報の条件に該当すると判断して、当該受信したメッセージを実行部502に送出して処理を終了する(ステップS908)。一方、取得した実行判断情報から全ての設定情報の条件を読み出していないと判断した場合(ステップS907:No)、ステップS904に戻る。   When it is determined that the setting information value included in the received message corresponds to the setting information value included in the read setting information condition (step S906: Yes), the determination unit 507 determines all the settings from the acquired execution determination information. It is determined whether or not the information condition has been read (step S907). If it is determined that all the setting information conditions have been read from the acquired execution determination information (step S907: Yes), the determination unit 507 determines that the setting information included in the received message is the setting information condition indicated by the execution determination information. The received message is sent to the execution unit 502, and the process is terminated (step S908). On the other hand, when it is determined that all the setting information conditions have not been read from the acquired execution determination information (step S907: No), the process returns to step S904.

また、受信したメッセージが含む設定情報名が読み出した設定情報の条件に含まれる設定情報名に該当しないと判断した場合(ステップS905:No)、判断部507は、受信したメッセージ、および読み出した設定情報の条件に含まれる設定情報名に該当しないと判断した当該受信したメッセージが含む設定情報名を生成部508に送出する(ステップS909)。また、受信したメッセージが含む設定情報値が読み出した設定情報の条件に含まれる設定情報値に該当しないと判断した場合(ステップS906:No)、判断部507は、受信したメッセージ、および読み出した設定情報の条件に含まれる設定情報値に該当しないと判断した当該受信したメッセージが含む設定情報値を生成部508に送出する(ステップS909)。   If it is determined that the setting information name included in the received message does not correspond to the setting information name included in the read setting information condition (step S905: No), the determining unit 507 determines the received message and the read setting. The setting information name included in the received message determined not to correspond to the setting information name included in the information condition is sent to the generation unit 508 (step S909). If it is determined that the setting information value included in the received message does not correspond to the setting information value included in the read setting information condition (step S906: No), the determining unit 507 determines the received message and the read setting. The setting information value included in the received message determined not to correspond to the setting information value included in the information condition is sent to the generation unit 508 (step S909).

図11は、内部処理を実行することができないと判断された場合の処理手順を示すフローチャートである。具体的には、図9に示すステップS909において、受信したメッセージおよび読み出した設定情報の条件に該当しないと判断した設定情報が生成部508に送出された場合の処理手順である。   FIG. 11 is a flowchart showing a processing procedure when it is determined that internal processing cannot be executed. Specifically, this is a processing procedure in the case where the setting information that is determined not to satisfy the conditions of the received message and the read setting information in step S909 shown in FIG.

まず、生成部508は、判断部507から送出されたメッセージおよび設定情報を受け取る(ステップS1101)。次いで、生成部508は、受け取ったメッセージおよび設定情報を用いて、テキスト印刷オブジェクト402の内部処理が実行できない原因を通知する不整合通知メッセージを生成する(ステップS1102)。本実施の形態では、生成部508は、判断部507から送出されたメッセージに、テキスト印刷オブジェクト402の内部処理が実行できない原因である判断部507から送出された設定情報を追加した不整合通知メッセージを生成する。   First, the generation unit 508 receives the message and setting information transmitted from the determination unit 507 (step S1101). Next, using the received message and setting information, the generation unit 508 generates an inconsistency notification message that notifies the reason why the internal processing of the text print object 402 cannot be executed (step S1102). In the present embodiment, the generation unit 508 adds the setting information sent from the determination unit 507, which is the cause that the internal processing of the text print object 402 cannot be executed, to the message sent from the determination unit 507. Is generated.

図12は、生成部により生成される不整合通知メッセージの一例を示す図である。本実施の形態では、生成部508は、図8に示すメッセージと同様、XML形式の不整合通知メッセージ1200を生成するものとする。不整合通知メッセージ1200は、符号1201で示すように、送信元のオブジェクト(テキストファイル読込オブジェクト401)の実行部502で生成されたメッセージ800に、テキスト印刷オブジェクト402の内部処理が実行できない原因である設定情報を示すメタデータであるerror要素を含んでいる。具体的には、不整合通知メッセージ1200は、図9に示すステップS905またはステップS906において読み出した設定情報の条件に該当しないと判断した設定情報名および設定情報値の少なくとも1つを含むものである。   FIG. 12 is a diagram illustrating an example of the inconsistency notification message generated by the generation unit. In the present embodiment, it is assumed that the generation unit 508 generates an XML format inconsistency notification message 1200 as in the message shown in FIG. The inconsistency notification message 1200 is a cause that internal processing of the text print object 402 cannot be performed on the message 800 generated by the execution unit 502 of the transmission source object (text file read object 401), as indicated by reference numeral 1201. An error element that is metadata indicating setting information is included. Specifically, the inconsistency notification message 1200 includes at least one of the setting information name and the setting information value determined not to meet the setting information condition read in step S905 or step S906 shown in FIG.

次に、生成部508は、生成した不整合通知メッセージを送信部503に送出する(ステップS1103)。送信部503は、通信部504を介して、生成部508により生成された不整合通知メッセージを、メッセージの送信元であるテキストファイル読込オブジェクト401に送信する(ステップS1104)。   Next, the generation unit 508 sends the generated inconsistency notification message to the transmission unit 503 (step S1103). The transmission unit 503 transmits the inconsistency notification message generated by the generation unit 508 to the text file reading object 401 that is the message transmission source via the communication unit 504 (step S1104).

図13は、内部処理を実行することができると判断された場合の処理手順を示すフローチャートである。具体的には、図9に示すステップS908において、受信したメッセージが実行部502に送出された場合の処理手順である。   FIG. 13 is a flowchart showing a processing procedure when it is determined that internal processing can be executed. Specifically, this is a processing procedure when the received message is sent to the execution unit 502 in step S908 shown in FIG.

まず、実行部502は、判断部507から送出されたメッセージを受け取る(ステップS1301)。次いで、実行部502は、受け取ったメッセージを用いて、テキスト印刷オブジェクト402の内部処理である印刷処理を実行する(ステップS1302)。本実施の形態では、実行部502は、メッセージのinfo要素を参照してテキストファイル読込オブジェクト401により文字変換処理を施されたテキストファイルを取得し、取得したテキストファイルをUSBインターフェース201やIEEE1394インターフェース202を介して接続されたプリンタに出力する。   First, the execution unit 502 receives the message sent from the determination unit 507 (step S1301). Next, the execution unit 502 executes print processing, which is internal processing of the text print object 402, using the received message (step S1302). In the present embodiment, the execution unit 502 refers to the info element of the message, acquires a text file that has been subjected to character conversion processing by the text file reading object 401, and uses the acquired text file as the USB interface 201 or the IEEE 1394 interface 202. Output to a printer connected via.

次に、実行部502は、他のオブジェクトにメッセージを送信するか否かを判断する(ステップS1303)。具体的には、実行部502は、テキスト印刷オブジェクト402の内部処理が行われたことを示す処理結果メッセージを送信元のオブジェクトであるテキストファイル読込オブジェクト401に送信するか否かを判断する。なお、処理結果メッセージを送信しないと判断した場合(ステップS1303:No)、そのまま処理が終了する。なお、処理結果メッセージを送信するか否かは予め設定されているものとする。   Next, the execution unit 502 determines whether or not to transmit a message to another object (step S1303). Specifically, the execution unit 502 determines whether or not to transmit a processing result message indicating that internal processing of the text print object 402 has been performed to the text file reading object 401 that is the transmission source object. If it is determined not to transmit the process result message (step S1303: No), the process ends. It is assumed that whether or not to transmit the processing result message is set in advance.

処理結果メッセージを送信すると判断した場合(ステップS1303:Yes)、実行部502は、内部処理が正常に行われたことを示す処理結果メッセージを生成する(ステップS1304)。   If it is determined that the processing result message is to be transmitted (step S1303: Yes), the execution unit 502 generates a processing result message indicating that the internal processing has been performed normally (step S1304).

そして、実行部502は、生成した処理結果メッセージを送信部503に送出する(ステップS1305)。送信部503は、通信部504を介して、実行部502により生成された処理結果メッセージを、受信したメッセージの送信元のオブジェクトであるテキストファイル読込オブジェクト401に送信する(ステップS1306)。   Then, the execution unit 502 sends the generated processing result message to the transmission unit 503 (step S1305). The transmission unit 503 transmits the processing result message generated by the execution unit 502 via the communication unit 504 to the text file reading object 401 that is an object of the transmission source of the received message (step S1306).

図14は、不整合通知メッセージを受信した場合の処理手順を示すフローチャートである。まず、受信部505は、通信部504を介して、テキスト印刷オブジェクト402から送信されたメッセージを、テキストファイル読込オブジェクト401の操作である不整合受信()により受信する(ステップS1401)。   FIG. 14 is a flowchart showing a processing procedure when an inconsistency notification message is received. First, the receiving unit 505 receives a message transmitted from the text print object 402 via the communication unit 504 by inconsistent reception () that is an operation of the text file reading object 401 (step S1401).

不整合判断部509は、受信部505により受信したメッセージが不整合通知メッセージであるか否かを判断する(ステップS1402)。具体的には、不整合判断部509は、受信したメッセージにerror要素が含まれているか否かにより不整合通知メッセージであるか否かを判断する。なお、受信したメッセージが不整合通知メッセージでないと判断した場合(ステップS1402:No)、そのまま処理を終了する。   The inconsistency determination unit 509 determines whether the message received by the reception unit 505 is an inconsistency notification message (step S1402). Specifically, the inconsistency determination unit 509 determines whether the received message is an inconsistency notification message based on whether an error element is included in the received message. If it is determined that the received message is not an inconsistency notification message (step S1402: No), the processing is terminated as it is.

受信したメッセージが不整合通知メッセージであると判断した場合(ステップS1402:Yes)、不整合判断部509は、受信した不整合通知メッセージから、テキスト印刷オブジェクト402が内部処理を実行できない原因であるerror要素が示す設定情報を抽出する(ステップS1403)。さらに、不整合判断部509は、受信した不整合通知メッセージおよび抽出した設定情報を実行部502に送出する(ステップS1404)。   If it is determined that the received message is an inconsistency notification message (step S1402: Yes), the inconsistency determination unit 509 determines that the text print object 402 cannot execute internal processing from the received inconsistency notification message. Setting information indicated by the element is extracted (step S1403). Further, the inconsistency determination unit 509 sends the received inconsistency notification message and the extracted setting information to the execution unit 502 (step S1404).

実行部502は、不整合判断部509から送出された設定情報に応じて、設定情報記憶部501から設定情報を抽出し、抽出した設定情報を用いて再度内部処理(図6に示す処理)を実行し、さらにテキスト印刷オブジェクト402に再度メッセージを送信する(ステップS1405)。   The execution unit 502 extracts the setting information from the setting information storage unit 501 in accordance with the setting information sent from the inconsistency determination unit 509, and performs internal processing (the process shown in FIG. 6) again using the extracted setting information. Then, the message is transmitted again to the text print object 402 (step S1405).

具体的には、実行部502は、設定情報記憶部501から取得した設定情報に含まれる設定情報値のうち、不整合判断部509から送出された設定情報に含まれる設定情報値(選択カーソルにチェックが入っている設定情報値)の次に設定優先度が高い設定情報値に従って文字変換処理を実行するものとする。   Specifically, the execution unit 502 sets the setting information value (in the selection cursor) included in the setting information transmitted from the inconsistency determination unit 509 among the setting information values included in the setting information acquired from the setting information storage unit 501. It is assumed that the character conversion process is executed according to the setting information value having the next highest setting priority after the setting information value that is checked).

ここで、図15を用いて、上述したオブジェクトの連携処理により得られる効果について説明する。図15は、連携処理を行うオブジェクトを模式的に示すブロック図である。図15に示す例は、オブジェクトA(1501)、オブジェクトB(1502)、およびオブジェクトC(1503)がメッセージを送受信する主体となるオブジェクトであるものとする。また、メッセージM1(1504)、メッセージM2(1505)、メッセージM3(1506)、およびメッセージM4(1507)は、オブジェクト間を流れるメッセージであり、メッセージを示す矢印の起点がメッセージの送信を表し、終点がメッセージの受信を表している。さらに、処理A1(1501a)、処理A2(1502a)、および処理A3(1503a)は、各オブジェクトの内部関数による処理であり、各オブジェクトが固有に実行する内部処理に相当するものである。   Here, the effect obtained by the above-described object cooperation processing will be described with reference to FIG. FIG. 15 is a block diagram schematically illustrating an object that performs the cooperation processing. In the example illustrated in FIG. 15, it is assumed that the object A (1501), the object B (1502), and the object C (1503) are objects that are main entities that transmit and receive messages. A message M1 (1504), a message M2 (1505), a message M3 (1506), and a message M4 (1507) are messages that flow between objects, and the starting point of an arrow indicating the message indicates the transmission of the message, and the end point Indicates receipt of a message. Further, the process A1 (1501a), the process A2 (1502a), and the process A3 (1503a) are processes based on the internal functions of each object, and correspond to internal processes that are uniquely executed by each object.

図15に示すように、オブジェクトA(1501)とオブジェクトB(1502)との連携処理は、メッセージM1(1504)を介して行われる。オブジェクトA(1501)は、基本的には、オブジェクトB(1502)の持つ内部関数について関知せずにメッセージを送信する。なお、各オブジェクトは、連携処理を行う他のオブジェクトの内部関数(操作)には関知しないが、共通の操作であるメッセージ受信と不整合受信を持つことは、全てのオブジェクトについて共通であるものとする。そして、オブジェクト間のメッセージのやりとりは、各オブジェクトが操作区画に有するメッセージ受信の呼び出しにより行われるものとする。また、不整合通知メッセージのやりとりは、各オブジェクトが操作区画に有する不整合受信の呼び出しにより行われるものとする。   As shown in FIG. 15, the cooperation process between the object A (1501) and the object B (1502) is performed via a message M1 (1504). The object A (1501) basically transmits a message without knowing about the internal function of the object B (1502). Note that each object is not aware of the internal functions (operations) of other objects that perform linkage processing, but having common message reception and inconsistent reception is common to all objects. To do. It is assumed that messages are exchanged between objects by calling up message reception that each object has in the operation section. The inconsistency notification message is exchanged by calling inconsistency reception that each object has in the operation section.

オブジェクトB(1502)は、メッセージM1(1504)を受信し、メッセージM1(1504)に基づいてオブジェクトB(1502)の内部処理が実行可能であると判断した場合、メッセージM1(1504)の受信に反応して処理A2を起動する。   When the object B (1502) receives the message M1 (1504) and determines that the internal processing of the object B (1502) can be executed based on the message M1 (1504), the object B (1502) receives the message M1 (1504). In response, process A2 is started.

また、オブジェクトB(1502)の内部処理が実行できないと判断した場合、オブジェクトB(1502)は、オブジェクトA(1501)に不整合通知メッセージであるメッセージM4(1507)を送信して、オブジェクトA(1501)の処理A1(1501a)に用いた設定情報の不備(メッセージM1(1504)が含む不備)を通知する。これにより、オブジェクトA(1501)は、不整合(処理A1(1501a)に用いた設定情報の不備)を解消するように、再度処理A1(1501a)を実行して新たにメッセージM1(1504)を生成してオブジェクトB(1502)に送信することができるので、仮に連携処理の途中で何か不具合が生じた場合にも回復して連携処理を継続することが可能となる。   If it is determined that the internal processing of the object B (1502) cannot be executed, the object B (1502) transmits a message M4 (1507), which is an inconsistency notification message, to the object A (1501). 1501) of the setting information used for processing A1 (1501a) (notification included in message M1 (1504)) is notified. As a result, the object A (1501) executes the process A1 (1501a) again so as to eliminate the inconsistency (deficiency of the setting information used for the process A1 (1501a)), and a new message M1 (1504). Since it can be generated and transmitted to the object B (1502), it is possible to recover and continue the cooperation process even if something goes wrong during the cooperation process.

なお、受信したメッセージM1(1504)がオブジェクトB(1502)にとって関連のないものである場合、つまり、メッセージM1(1504)に含まれる送信先のオブジェクトの場所を示す情報(URL)がオブジェクトB1(1502)を示すものでない場合、オブジェクトB(1502)は何の反応もしない。   When the received message M1 (1504) is not related to the object B (1502), that is, information (URL) indicating the location of the destination object included in the message M1 (1504) is the object B1 ( If it does not indicate 1502), object B (1502) does not respond.

つまり、オブジェクトA(1501)とオブジェクトB(1502)とは、有為な連携を取り得るが、それはオブジェクトA(1501)とオブジェクトB(1502)との間で送受信されるメッセージM1(1504)およびメッセージM4(1507)による結び付きによるものといえる。   That is, the object A (1501) and the object B (1502) can take a significant cooperation, but the message M1 (1504) transmitted and received between the object A (1501) and the object B (1502) and It can be said that this is due to the connection by the message M4 (1507).

なお、オブジェクトB(1502)とオブジェクトC(1503)との連携処理についても、上述したオブジェクトA(1501)とオブジェクトB(1502)との連携処理と同様にして行われるものとする。また、連携処理を行うオブジェクトは、2つだけに限らず、例えば、オブジェクトA(1501)からオブジェクトB(1502)にメッセージM1(1504)を送信し、さらにオブジェクトB(1502)からオブジェクトC(1503)にメッセージM2(1505)を送信することにより、3つ以上のオブジェクトによる連携処理を行うことも可能である。   Note that the cooperation process between the object B (1502) and the object C (1503) is also performed in the same manner as the cooperation process between the object A (1501) and the object B (1502). Further, the number of objects to be linked is not limited to two. For example, the message M1 (1504) is transmitted from the object A (1501) to the object B (1502), and the object B (1502) to the object C (1503). ) To send a message M2 (1505), it is also possible to perform cooperation processing with three or more objects.

このように、本実施の形態にかかるPC100によれば、オブジェクトが内部処理を実行することができないと判断した場合、連携処理を行う他のオブジェクトに当該内部処理を実行できない原因を通知することにより、オブジェクトが連携処理を行う際に必要な条件等を確認し、条件が満たされない場合には条件を満たすようにオブジェクトが内部処理に用いる設定情報を変更して不整合を解消することができるので、オブジェクト間の連携処理を動的かつ柔軟に行うことができる。   As described above, according to the PC 100 according to the present embodiment, when it is determined that the object cannot execute the internal process, by notifying the other object that performs the cooperative process of the reason that the internal process cannot be performed. Since the conditions necessary for the object to perform cooperative processing can be confirmed, and if the conditions are not met, the setting information used by the object for internal processing can be changed so that the inconsistency can be resolved. Thus, it is possible to dynamically and flexibly perform cooperation processing between objects.

(第2実施の形態)
本実施の形態にかかるPCは、オブジェクトの内部処理の実行により物理的な状態が変化する場合、実際に内部処理の仮実行を行わず、あたかも内部処理を実行したかのような処理結果を得ることができる内部処理の仮実行を行うものである。なお、PC100の構成については、第1実施の形態とほぼ同様であるため、第1実施の形態と異なる部分の処理のみを説明する。
(Second Embodiment)
When the physical state changes due to the execution of the internal processing of the object, the PC according to the present embodiment does not actually perform the temporary execution of the internal processing, but obtains a processing result as if the internal processing was executed. This is a provisional execution of internal processing. Since the configuration of the PC 100 is substantially the same as that of the first embodiment, only the processing of the parts different from the first embodiment will be described.

以下の説明では、USBインターフェース201やIEEE1394インターフェース202を介して接続されたスキャナを用いてスキャン処理を行い、スキャン処理により得られたデータに含まれるQRコードの解析処理を行う例について説明する。   In the following description, an example will be described in which scan processing is performed using a scanner connected via the USB interface 201 or the IEEE 1394 interface 202, and analysis processing of a QR code included in data obtained by the scan processing is performed.

まず、図16を用いて、スキャン処理およびQRコードの解析処理を行うオブジェクトの関係について説明する。図16は、スキャン処理およびQRコードの解析処理を行うオブジェクトの関係を示す図ある。   First, with reference to FIG. 16, the relationship between objects that perform scan processing and QR code analysis processing will be described. FIG. 16 is a diagram illustrating the relationship between objects that perform scan processing and QR code analysis processing.

図16に示すより、スキャン処理およびQRコードの解析処理は、USBインターフェース201やIEEE1394インターフェース202を介して接続されたスキャナを用いてスキャン処理を行うスキャンオブジェクト1601、およびスキャンオブジェクト1601によるスキャン処理により得られたデータに含まれるQRコードの解析処理を行うQRコード解析オブジェクト1602の連携処理により行われるものとする。スキャンオブジェクト1601およびQRコード解析オブジェクト1602は、互いにメッセージ1603およびメッセージ1604を送出し、送出されたメッセージに反応して内部処理を実行する。   As shown in FIG. 16, the scan process and the QR code analysis process are obtained by a scan object 1601 that performs a scan process using a scanner connected via the USB interface 201 or the IEEE1394 interface 202, and a scan process by the scan object 1601. It is assumed that the processing is performed by the cooperation processing of the QR code analysis object 1602 that performs the analysis processing of the QR code included in the received data. The scan object 1601 and the QR code analysis object 1602 send a message 1603 and a message 1604 to each other, and execute internal processing in response to the sent message.

次に、図17および図18を用いて、スキャンオブジェクト1601およびQRコード解析オブジェクト1602のオブジェクトモデルについて説明する。図17は、スキャンオブジェクトのUMLクラス図である。図18は、QRコード解析オブジェクトのUMLクラス図である。   Next, object models of the scan object 1601 and the QR code analysis object 1602 will be described with reference to FIGS. 17 and 18. FIG. 17 is a UML class diagram of a scan object. FIG. 18 is a UML class diagram of a QR code analysis object.

スキャンオブジェクト1601のクラスは、操作として、メッセージ受信()、不整合受信()、およびスキャン処理()を有する。   The class of the scan object 1601 includes message reception (), inconsistent reception (), and scan processing () as operations.

スキャン処理()は、スキャンオブジェクト1601の内部処理であり、USBインターフェース201やIEEE1394インターフェース202を介して接続されたスキャナを制御する処理である。スキャン処理()は、スキャンオブジェクト1601の操作であるスキャン処理を仮実行することができる。なお、メッセージ受信()および不整合受信()について第1実施の形態と同様であるため、ここでは説明を省略する。   The scan process () is an internal process of the scan object 1601 and is a process for controlling the scanner connected via the USB interface 201 or the IEEE1394 interface 202. The scan process () can temporarily execute a scan process that is an operation of the scan object 1601. Note that message reception () and inconsistent reception () are the same as those in the first embodiment, and thus description thereof is omitted here.

また、スキャンオブジェクト1601のクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、および仮実行結果の生成用テンプレートを有する。これらの属性と操作のうち、スキャン処理()、設定情報名、設定情報値、および仮実行結果の生成用テンプレートは、クラスの外部に公開されない。   Also, the class of the scan object 1601 has an object ID, an object name, an object URL, an object type, a setting information name, a setting information value, and a template for generating a temporary execution result as attributes. Of these attributes and operations, the scan processing (), the setting information name, the setting information value, and the temporary execution result generation template are not disclosed outside the class.

オブジェクトIDは、オブジェクトを特定するための情報であり、例えば、“ScanObject”である。オブジェクトの名前は、オブジェクトの名称であり、例えば、“スキャンオブジェクト”である。オブジェクトのURLは、オブジェクトを指定する情報であり、例えば、“http://example.com/scanObject”である。オブジェクトの種類は、オブジェクトが実行する内部処理の種類であり、例えば、“入力”である。設定情報名は、オブジェクトが内部処理に用いるパラメータ等の設定情報の名称であり、例えば、“解像度”である。設定情報値は、オブジェクトが内部処理に用いるパラメータの値であり、例えば、“300dpi”である。テンプレートは、オブジェクト間で送受信するメッセージの書式である。仮実行結果の生成用テンプレートは、メッセージに含めるダミーのデータであり、例えば、“ダミーのJPEGデータ”である。   The object ID is information for specifying the object, and is, for example, “ScanObject”. The name of the object is the name of the object, for example, “scan object”. The URL of the object is information for specifying the object, for example, “http://example.com/scanObject”. The object type is a type of internal processing executed by the object, and is, for example, “input”. The setting information name is a name of setting information such as a parameter used by the object for internal processing, and is, for example, “resolution”. The setting information value is a parameter value used by the object for internal processing, and is, for example, “300 dpi”. A template is a format for messages sent and received between objects. The temporary execution result generation template is dummy data included in the message, for example, “dummy JPEG data”.

QRコード解析オブジェクト1602のクラスは、操作として、メッセージ受信()、不整合受信()、およびQRコード解析処理()を有する。   The class of the QR code analysis object 1602 has message reception (), mismatch reception (), and QR code analysis processing () as operations.

メッセージ受信()は、QRコード解析オブジェクト1602の内部処理の実行または仮実行を要求するメッセージをスキャンオブジェクト1601から受信する処理である。また、不整合受信()は、連携処理を行えない原因を通知する不整合通知メッセージを他のオブジェクトから受信する処理である。QRコード解析処理()は、QRコード解析オブジェクト1602の内部処理であり、スキャンオブジェクト1601のスキャン処理により得られたデータに含まれるQRコードを解析する処理である。なお、QRコード解析処理()は、内部処理の仮実行を行わないものとする。   Message reception () is processing for receiving a message requesting execution or temporary execution of internal processing of the QR code analysis object 1602 from the scan object 1601. Inconsistency reception () is processing for receiving an inconsistency notification message for notifying the cause of the inability to perform cooperation processing from another object. The QR code analysis process () is an internal process of the QR code analysis object 1602 and is a process of analyzing the QR code included in the data obtained by the scan process of the scan object 1601. The QR code analysis process () does not perform temporary execution of internal processes.

また、QRコード解析オブジェクト1602のクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、および仮実行結果の生成用テンプレートを有する。これらの属性と操作のうち、QRコード解析処理()、設定情報名、設定情報値、および仮実行結果の生成用テンプレートは、クラスの外部に公開されない。   Also, the class of the QR code analysis object 1602 has, as attributes, an object ID, an object name, an object URL, an object type, a setting information name, a setting information value, and a template for generating a temporary execution result. Among these attributes and operations, the QR code analysis process (), the setting information name, the setting information value, and the temporary execution result generation template are not disclosed outside the class.

オブジェクトIDは、オブジェクトを特定するための情報であり、例えば、“QR Code Object”である。オブジェクトの名前は、オブジェクトの名称であり、例えば、“QRコード解析オブジェクト”である。オブジェクトのURLは、オブジェクトを指定する情報であり、例えば、“http://example.com/qrCodeObject”である。オブジェクトの種類は、オブジェクトが実行する内部処理の種類であり、例えば、“加工”である。設定情報名は、オブジェクトが内部処理に用いるパラメータ等の設定情報の名称であり、例えば、“解像度”である。設定情報値は、オブジェクトが内部処理に用いるパラメータの値であり、例えば、“600dpi”である。テンプレートは、オブジェクト間で送受信するメッセージの書式である。仮実行結果の生成用テンプレートは、メッセージに含めるダミーのデータであり、QRコード解析オブジェクト1602は内部処理の仮実行を行わないため、“なし”である。   The object ID is information for specifying the object, and is, for example, “QR Code Object”. The name of the object is the name of the object, for example, “QR code analysis object”. The URL of the object is information for specifying the object, for example, “http://example.com/qrCodeObject”. The object type is a type of internal processing executed by the object, for example, “processing”. The setting information name is a name of setting information such as a parameter used by the object for internal processing, and is, for example, “resolution”. The setting information value is a parameter value used by the object for internal processing, and is, for example, “600 dpi”. A template is a format for messages sent and received between objects. The temporary execution result generation template is dummy data included in the message, and the QR code analysis object 1602 is “none” because it does not perform temporary execution of internal processing.

次に、スキャンオブジェクト1601およびQRコード解析オブジェクト1602の詳細な機能構成およびスキャンオブジェクト1601およびQRコード解析オブジェクト1602の操作の実行手順について説明する。図19は、スキャンオブジェクトおよびQRコード解析オブジェクトの機能構成を示すブロック図である。図19に示すように、スキャンオブジェクト1601およびQRコード解析オブジェクト1602は、設定情報記憶部501、実行部502、通信部504、受信部505、実行判断情報記憶部506、判断部507、生成部508、不整合判断部509、仮実行部1901、および送信部1902を備えて構成される。なお、スキャンオブジェクト1601およびQRコード解析オブジェクト1602は、それぞれ共通の通信路510で接続されているものとする。   Next, a detailed functional configuration of the scan object 1601 and the QR code analysis object 1602 and an execution procedure of the operation of the scan object 1601 and the QR code analysis object 1602 will be described. FIG. 19 is a block diagram illustrating functional configurations of the scan object and the QR code analysis object. As illustrated in FIG. 19, the scan object 1601 and the QR code analysis object 1602 include a setting information storage unit 501, an execution unit 502, a communication unit 504, a reception unit 505, an execution determination information storage unit 506, a determination unit 507, and a generation unit 508. , A mismatch determination unit 509, a temporary execution unit 1901, and a transmission unit 1902. Note that the scan object 1601 and the QR code analysis object 1602 are connected to each other through a common communication path 510.

図20は、スキャンオブジェクトからQRコードオブジェクトにメッセージを送信する処理手順を示すフローチャートである。まず、仮実行部1901は、設定情報記憶部501から設定情報を取得する(ステップS2001)。次に、仮実行部1901は、設定情報記憶部501から取得した設定情報に含まれる設定情報値のうち、設定優先度が最も高い設定情報値(解像度)をスキャナに設定して、スキャンオブジェクト1601の操作であるスキャン処理を仮実行する(ステップS2002)。   FIG. 20 is a flowchart illustrating a processing procedure for transmitting a message from a scan object to a QR code object. First, the provisional execution unit 1901 acquires setting information from the setting information storage unit 501 (step S2001). Next, the temporary execution unit 1901 sets the setting information value (resolution) having the highest setting priority among the setting information values included in the setting information acquired from the setting information storage unit 501 in the scanner, and scan object 1601. The scan process which is the above operation is provisionally executed (step S2002).

図21は、選択カーソルにチェックが入っている設定情報値に従って仮実行を行う例の説明図である。取得した設定情報に含まれる設定情報値(現在選択されている設定情報):300dpiと対応付けられた選択カーソルにチェックが入っている場合(図21(a)に示す)、仮実行部1901は、設定情報値:300dpiの次に設定優先度が高い設定情報値(次に優先して選択される設定情報):600dpiに従ってスキャン処理を仮実行する(図21(b)に示す)。そして、仮実行部1901は、設定情報値:600dpiと対応付けられた選択カーソルにチェックを入れた設定情報を設定情報記憶部501に記憶する。   FIG. 21 is an explanatory diagram of an example in which temporary execution is performed according to a setting information value in which a selection cursor is checked. Setting information value included in the acquired setting information (currently selected setting information): When the selection cursor associated with 300 dpi is checked (shown in FIG. 21A), the temporary execution unit 1901 Setting information value: Setting information value with the next highest setting priority after 300 dpi (setting information selected with priority next): Scan processing is temporarily executed according to 600 dpi (shown in FIG. 21B). Then, the temporary execution unit 1901 stores the setting information in which the selection cursor associated with the setting information value: 600 dpi is checked in the setting information storage unit 501.

ここで、仮実行とは、上述したように、実際にスキャンオブジェクト1601の内部処理であるスキャン処理を行わず、仮実行結果の生成用テンプレートを用いて、あたかもスキャン処理を行ったかのようなデータ(例えば、ダミーのJPEGデータ)を生成する処理である。例えば、ADFの原稿台にセットされた原稿の読み取りを行わず、原稿がセットされていないコンタクトガラスをスキャンする処理である。   Here, as described above, provisional execution refers to data as if the scan process was actually performed without using the scan process that is the internal process of the scan object 1601 and using the template for generating the provisional execution result ( For example, a process for generating dummy JPEG data). For example, it is a process of scanning a contact glass on which an original is not set without reading an original set on an ADF original table.

具体的には、スキャン処理のような処理前と処理後とでスキャナの物理的な状態が変化してしまう処理においては、実行部502によるスキャン処理の実行後に不整合通知メッセージを受信した場合、当該不整合通知メッセージに従って設定情報を再設定したとしても、再度スキャン処理を行うためには物理的な状態を元に戻さなければならない。例えば、ADFを用いて原稿のスキャン処理を実行して不整合通知メッセージを受信した場合には、再度スキャン処理を行う必要が生じ、そのためには排出部に排出された原稿を再度ADFの原稿台にセットしなおさなければならない。そこで、本実施の形態では、実行部502による内部処理を行わずに、仮実行部1901によって内部処理を仮実行することを実現し、前述の不都合を解消している。   Specifically, in a process in which the physical state of the scanner changes before and after the process, such as a scan process, when an inconsistency notification message is received after the execution unit 502 executes the scan process, Even if the setting information is reset according to the inconsistency notification message, the physical state must be restored to perform the scanning process again. For example, when an inconsistency notification message is received by executing a document scanning process using ADF, it is necessary to perform the scanning process again. For this purpose, the document discharged to the discharge unit is again scanned by the ADF document table. Must be set again. Therefore, in the present embodiment, it is realized that the internal process is temporarily executed by the temporary execution unit 1901 without performing the internal process by the execution unit 502, and the above-described inconvenience is solved.

次に、仮実行部1901は、スキャンオブジェクト1601と連携処理を行うQRコード解析オブジェクト1602の内部処理の仮実行を要求するものであって、内部処理の仮実行により得られたデータおよび当該内部処理の仮実行に用いた設定情報を含むメッセージを生成する(ステップS2003)。そして、仮実行部1901は、生成したメッセージを送信部1902に送出する(ステップS2004)。   Next, the provisional execution unit 1901 requests provisional execution of internal processing of the QR code analysis object 1602 that performs cooperation processing with the scan object 1601, and includes data obtained by provisional execution of internal processing and the internal processing. A message including the setting information used for the temporary execution is generated (step S2003). Then, the provisional execution unit 1901 sends the generated message to the transmission unit 1902 (step S2004).

図22は、仮実行部により生成されるメッセージの一例を示す図である。本実施の形態では、仮実行部1901は、XML形式のメッセージ2200を生成するものとする。メッセージ2200は、符号2201で示すように、送信元のオブジェクト(スキャンオブジェクト1601)の場所を示す情報(URL)および送信先のオブジェクト(QRコード解析オブジェクト1602)の場所を示す情報(URL)を含んでいる。   FIG. 22 is a diagram illustrating an example of a message generated by the temporary execution unit. In the present embodiment, it is assumed that the temporary execution unit 1901 generates an XML format message 2200. As indicated by reference numeral 2201, the message 2200 includes information (URL) indicating the location of the transmission source object (scan object 1601) and information (URL) indicating the location of the transmission destination object (QR code analysis object 1602). It is out.

また、メッセージ2200は、符号2202で示すように、仮実行部1901が内部処理の仮実行に用いた設定情報を示すメタデータであるinfo要素を含んでいる。具体的には、メッセージ2200は、仮実行部1901が内部処理の仮実行に用いたパラメータのメタデータを含んでいる。例えば、メッセージ2200は、仮実行部1901が内部処理の仮実行に用いた設定情報名:解像度や設定情報値:300dpiのメタデータを含んでいる。   The message 2200 includes an info element that is metadata indicating setting information used by the temporary execution unit 1901 for temporary execution of internal processing, as indicated by reference numeral 2202. Specifically, the message 2200 includes metadata of parameters used by the temporary execution unit 1901 for temporary execution of internal processing. For example, the message 2200 includes metadata of setting information name: resolution and setting information value: 300 dpi used by the temporary execution unit 1901 for temporary execution of internal processing.

また、メッセージ2200は、符号2203で示すように、内部処理の仮実行により得られたデータのタイトルおよびデータの場所を示すメタデータであるentry要素を含んでいる。符号2203で示すentry要素を含むメッセージ2200を受信したQRコード解析オブジェクト1602は、内部処理の仮実行を行わないため、entry要素が示すデータに対して内部処理を実行する。   Further, as indicated by reference numeral 2203, the message 2200 includes an entry element that is metadata indicating the title of the data obtained by the temporary execution of the internal processing and the location of the data. The QR code analysis object 1602 that has received the message 2200 including the entry element indicated by reference numeral 2203 does not perform provisional execution of internal processing, and therefore performs internal processing on the data indicated by the entry element.

送信部1902は、通信部504を介して、仮実行部1901により生成されたメッセージを、実行部502(スキャンオブジェクト1601)の内部処理の実行により得られたメッセージとして、連携処理を行うQRコード解析オブジェクト1602に送信する(ステップS2005)。なお、メッセージを受信したQRコード解析オブジェクトが内部処理を行う際の処理手順(図9に示す)、および内部処理を実行することができないと判断された場合の処理手順(図11に示す)は、第1実施の形態とほぼ同様であるため、ここでは説明を省略する。   The transmission unit 1902 performs a QR code analysis that performs cooperation processing using the message generated by the temporary execution unit 1901 via the communication unit 504 as a message obtained by executing the internal processing of the execution unit 502 (scan object 1601). It transmits to the object 1602 (step S2005). The processing procedure when the QR code analysis object that received the message performs internal processing (shown in FIG. 9) and the processing procedure when it is determined that the internal processing cannot be executed (shown in FIG. 11) are as follows. Since it is almost the same as the first embodiment, the description thereof is omitted here.

図23は、内部処理を実行することができると判断された場合の処理手順を示すフローチャートである。具体的には、図9に示すステップS908において、受信したメッセージがQRコード解析オブジェクト1602の実行部502に送出された場合の処理手順である。   FIG. 23 is a flowchart illustrating a processing procedure when it is determined that internal processing can be executed. Specifically, this is a processing procedure when the received message is sent to the execution unit 502 of the QR code analysis object 1602 in step S908 shown in FIG.

まず、実行部502は、判断部507から送出されたメッセージを受け取る(ステップS2301)。次いで、実行部502は、受け取ったメッセージを用いて、QRコード解析オブジェクト1602の操作であるQRコード解析処理を実行する(ステップS2302)。本実施の形態では、実行部502は、メッセージのinfo要素を参照してスキャンオブジェクト1601によりスキャンしたデータを取得し、取得したデータに含まれるQRコードの解析処理を実行する。   First, the execution unit 502 receives the message sent from the determination unit 507 (step S2301). Next, the execution unit 502 uses the received message to execute a QR code analysis process that is an operation of the QR code analysis object 1602 (step S2302). In the present embodiment, the execution unit 502 acquires the data scanned by the scan object 1601 with reference to the info element of the message, and executes the analysis process of the QR code included in the acquired data.

次に、実行部502は、他のオブジェクトにメッセージを送信するか否かを判断する(ステップS2303)。具体的には、実行部502は、QRコード解析オブジェクト1602のQRコード解析処理が行われたことを示す処理結果メッセージを送信元のオブジェクトであるスキャンオブジェクト1601に送信するか否かを判断する。なお、処理結果メッセージを送信しないと判断した場合(ステップS2303:No)、そのまま処理が終了する。   Next, the execution unit 502 determines whether to send a message to another object (step S2303). Specifically, the execution unit 502 determines whether or not to transmit a processing result message indicating that the QR code analysis processing of the QR code analysis object 1602 has been performed to the scan object 1601 that is the transmission source object. If it is determined that the processing result message is not transmitted (step S2303: No), the processing ends.

処理結果メッセージを送信すると判断した場合(ステップS2303:Yes)、実行部502は、内部処理が正常に行われたことを示す処理結果メッセージを生成する(ステップS2304)。   If it is determined that the processing result message is to be transmitted (step S2303: YES), the execution unit 502 generates a processing result message indicating that the internal processing has been performed normally (step S2304).

そして、実行部502は、生成した処理結果メッセージを送信部1902503に送出する(ステップS2305)。送信部1902は、通信部504を介して、実行部502により生成された処理結果メッセージを、受信したメッセージの送信元であるスキャンオブジェクト1601に送信する(ステップS2306)。   Then, the execution unit 502 sends the generated processing result message to the transmission unit 1902503 (step S2305). The transmission unit 1902 transmits the processing result message generated by the execution unit 502 to the scan object 1601 that is the transmission source of the received message via the communication unit 504 (step S2306).

図24は、不整合通知メッセージを受信した場合の処理手順を示すフローチャートである。まず、受信部505は、通信部504を介して、QRコード解析オブジェクト1602から送信されたメッセージを、スキャンオブジェクト1601の操作である不整合受信()により受信する(ステップS2401)。   FIG. 24 is a flowchart showing a processing procedure when an inconsistency notification message is received. First, the reception unit 505 receives a message transmitted from the QR code analysis object 1602 via the communication unit 504 by inconsistent reception () that is an operation of the scan object 1601 (step S2401).

不整合判断部509は、受信部505により受信したメッセージが不整合通知メッセージであるか否かを判断する(ステップS2402)。具体的には、不整合判断部509は、受信したメッセージにerror要素が含まれているか否かにより不整合通知メッセージであるか否かを判断する。なお、受信したメッセージが不整合通知メッセージでないと判断した場合(ステップS2402:No)、そのまま処理を終了する。   The inconsistency determination unit 509 determines whether the message received by the reception unit 505 is an inconsistency notification message (step S2402). Specifically, the inconsistency determination unit 509 determines whether the received message is an inconsistency notification message based on whether an error element is included in the received message. If it is determined that the received message is not an inconsistency notification message (step S2402: No), the process is terminated as it is.

図25は、不整合通知メッセージの一例を示す図である。本実施の形態にかかる不整合通知メッセージ2500も、第1実施の形態と同様、XML形式のメッセージである。不整合通知メッセージ2500は、符号2501で示すように、送信元のオブジェクト(スキャンオブジェクト1601)の実行部502で生成されたメッセージ2200に、スキャンオブジェクト1601との連携処理が可能な設定情報を示すメタデータであるerror要素を含んでいる。本実施の形態では、生成部508は、実行部502によりQRコード解析処理が可能な設定情報名および設定情報値を含む不整合通知メッセージ2500を生成するものとする。   FIG. 25 is a diagram illustrating an example of the inconsistency notification message. The inconsistency notification message 2500 according to the present embodiment is also an XML format message, as in the first embodiment. As shown by reference numeral 2501, the inconsistency notification message 2500 is a meta data indicating setting information that can be linked with the scan object 1601 in the message 2200 generated by the execution unit 502 of the transmission source object (scan object 1601). Contains an error element that is data. In the present embodiment, it is assumed that generation unit 508 generates inconsistency notification message 2500 including a setting information name and a setting information value that can be subjected to QR code analysis processing by execution unit 502.

例えば、スキャンオブジェクト1601から解像度:300dpiでスキャン処理を行ったデータに対するQRコード解析処理の実行要求を受けた場合、生成部508は、QRコード解析処理が可能な解像度:600dpiを含む不整合通知メッセージ2500を生成する。   For example, when receiving a QR code analysis processing execution request for data scanned at a resolution of 300 dpi from the scan object 1601, the generation unit 508 receives an inconsistency notification message including a resolution capable of QR code analysis: 600 dpi. 2500 is generated.

受信したメッセージが不整合通知メッセージであると判断した場合(ステップS2402:Yes)、不整合判断部509は、受信した不整合通知メッセージからスキャンオブジェクト1601との連携処理が可能な設定情報であるerror要素を抽出する(ステップS2403)。さらに、不整合判断部509は、受信した不整合通知メッセージおよび抽出した設定情報を仮実行部1901に送出する(ステップS2404)。   If it is determined that the received message is an inconsistency notification message (step S2402: Yes), the inconsistency determination unit 509 is error that is setting information that can be linked with the scan object 1601 from the received inconsistency notification message. Elements are extracted (step S2403). Furthermore, the inconsistency determination unit 509 sends the received inconsistency notification message and the extracted setting information to the temporary execution unit 1901 (step S2404).

仮実行部1901は、不整合判断部509から送出された設定情報を用いて、再度、内部処理を仮実行し、さらにQRコード解析オブジェクト1602に再度メッセージを送信する(ステップS2405)。その際、仮実行部1901は、不整合判断部509から送出された設定情報に含まれる設定情報値と対応付けられた選択カーソルにチェックを入れた設定情報を設定情報記憶部501に記憶するものとする。   The temporary execution unit 1901 temporarily executes internal processing again using the setting information sent from the inconsistency determination unit 509, and transmits a message to the QR code analysis object 1602 again (step S2405). At this time, the provisional execution unit 1901 stores in the setting information storage unit 501 the setting information in which the selected cursor associated with the setting information value included in the setting information sent from the inconsistency determining unit 509 is checked. And

なお、本実施の形態では、不整合判断部509から送出された設定情報を用いて仮実行部1901によって内部処理の仮実行を再度行っているが、これに限定するものではない。例えば、不整合通知メッセージがスキャンオブジェクト1601との連携処理が可能な設定情報を含む場合、不整合判断部509から送出されたメッセージおよび抽出した設定情報を実行部502に送出し、実行部502によるスキャン処理を実行してもよい。   In this embodiment, the temporary execution unit 1901 re-executes the internal process using the setting information sent from the inconsistency determination unit 509, but the present invention is not limited to this. For example, if the inconsistency notification message includes setting information that can be linked to the scan object 1601, the message sent from the inconsistency determination unit 509 and the extracted setting information are sent to the execution unit 502, and the execution unit 502 Scan processing may be executed.

ここで、図26を用いて、上述したオブジェクトの連携処理により得られる効果について説明する。図26は、連携処理を行うオブジェクトを模式的に示すブロック図である。図26に示すように、本実施の形態では、スキャンオブジェクト1601は、まず、スキャン処理を仮実行し(ステップS2601)、その結果を含むメッセージをQRコード解析オブジェクト1602に送信する(ステップS2602)。次いで、QRコード解析オブジェクト1602は、内部処理が実行できないと判断した場合、不整合通知メッセージをスキャンオブジェクト1601に送信する(ステップS2603)。そして、スキャンオブジェクト1602は、不整合通知メッセージからerror要素が示す設定情報を抽出し、抽出した設定情報を用いて再度内部処理を仮実行し(ステップS2604)、その結果を含むメッセージをQRコード解析オブジェクト1602に再度送信する(ステップS2605)。   Here, the effect obtained by the above-described object cooperation processing will be described with reference to FIG. FIG. 26 is a block diagram schematically illustrating an object that performs the cooperation process. As shown in FIG. 26, in the present embodiment, the scan object 1601 first executes provisional scan processing (step S2601), and transmits a message including the result to the QR code analysis object 1602 (step S2602). Next, when the QR code analysis object 1602 determines that internal processing cannot be executed, the QR code analysis object 1602 transmits an inconsistency notification message to the scan object 1601 (step S2603). Then, the scan object 1602 extracts the setting information indicated by the error element from the inconsistency notification message, temporarily executes internal processing again using the extracted setting information (step S2604), and analyzes the message including the result of the QR code analysis. It transmits again to the object 1602 (step S2605).

これにより、スキャンオブジェクト1601のように紙文書をスキャンしてQRコード解析処理を行うためのデータを生成する場合等、スキャンオブジェクト1601の内部処理の処理前と処理後とで物理的な状態が変化する場合であっても、不整合通知メッセージの通知に従って再度内部処理の仮実行(または内部処理)を実行することにより、不整合を解消することができる。   As a result, the physical state changes before and after the internal processing of the scan object 1601, such as when a paper document is scanned and data for QR code analysis processing is generated like the scan object 1601. Even in this case, the inconsistency can be resolved by executing the internal process again (or the internal process) again according to the notification of the inconsistency notification message.

(第3実施の形態)
本実施の形態では、オブジェクトに連携処理を行わせるソフトウェアを開発するソフトウェア開発環境について説明する。
(Third embodiment)
In the present embodiment, a software development environment for developing software that causes an object to perform cooperation processing will be described.

なお、本実施の形態では、アイコン手段を用いて操作表示部211の画面上でグラフィカルにソフトウェアの開発を行うソフトウェア開発環境を主要な例として説明するが、これに限定されるものではない。例えば、テキストエディタなどによる文字入力手段を用いて画面上で文字入力によりソフトウェア開発を行うソフトウェア開発環境、あるいはアイコン手段より一連の処理を行うソフトウェアを開発することができるCASEツールにも同様に用いることができる。   In the present embodiment, a software development environment in which software development is performed graphically on the screen of the operation display unit 211 using icon means will be described as a main example, but the present invention is not limited to this. For example, it should be used in the same way for a software development environment that develops software by inputting characters on the screen using character input means such as a text editor, or a CASE tool that can develop software that performs a series of processing from icon means Can do.

図27は、ソフトウェア開発システムの構成を示す説明図である。ソフトウェア開発システム2700は、ソフトウェア開発環境(エンジン102)を実現するPC100、およびオブジェクトが実体化されたデバイス2701を備えて構成されている。   FIG. 27 is an explanatory diagram showing the configuration of the software development system. The software development system 2700 includes a PC 100 that realizes a software development environment (engine 102), and a device 2701 in which objects are materialized.

PC100は、Web等の様々なネットワーク上のサービスが稼働しているインターネット2702に接続されているものとする。また、PC100は、操作表示部211の画面であるビットマップスクリーンと、マウスなどのポインティングデバイスと、キーボードなどの文字入力部と、を備えているものとする。   It is assumed that the PC 100 is connected to the Internet 2702 on which services on various networks such as the Web are operating. In addition, the PC 100 includes a bitmap screen that is a screen of the operation display unit 211, a pointing device such as a mouse, and a character input unit such as a keyboard.

図28は、PC上に実現されるソフトウェア開発環境の機能構成を示すブロック図である。図28に示すように、ソフトウェア開発環境であるエンジン102は、入力部2801、編集部2802、表示部2803、オブジェクト仮実行部2804、オブジェクト実行部2805、オブジェクト監視部2806、およびオブジェクト通信部2807を備えて構成されている。   FIG. 28 is a block diagram showing a functional configuration of a software development environment realized on a PC. As shown in FIG. 28, the engine 102 which is a software development environment includes an input unit 2801, an editing unit 2802, a display unit 2803, an object temporary execution unit 2804, an object execution unit 2805, an object monitoring unit 2806, and an object communication unit 2807. It is prepared for.

入力部2801は、ポインティングデバイスや文字入力部を介して、文字列の入力やビットマップスクリーンに表示されたアイコンの選択や操作を受け付けるものである。ここで、ビットマップスクリーンに表示されたアイコンは、デバイス2701上に実現されたオブジェクトを視覚的に表現したものである。   The input unit 2801 accepts input of a character string and selection or operation of an icon displayed on a bitmap screen via a pointing device or a character input unit. Here, the icon displayed on the bitmap screen is a visual representation of an object realized on the device 2701.

編集部2802は、入力部2801により入力を受け付けた文字列、入力部2801により選択や操作が可能なアイコンを保持するものである。   The editing unit 2802 holds a character string accepted by the input unit 2801 and icons that can be selected and operated by the input unit 2801.

表示部2803は、オブジェクト間の連携処理の様子をビットマップスクリーンに表示するものである。具体的には、表示部2803は、入力部2801により受け付けた文字列の入力やアイコンの選択や操作に応じて、編集部2802から文字列やアイコンを取得し、ビットマップスクリーンに表示する。   The display unit 2803 displays the state of the cooperative processing between objects on the bitmap screen. Specifically, the display unit 2803 acquires a character string and an icon from the editing unit 2802 according to the input of the character string received by the input unit 2801, the selection and operation of the icon, and displays them on the bitmap screen.

図29は、表示部の詳細な機能構成を示すブロック図である。表示部2803は、オブジェクト一覧表示部2803aおよびオブジェクトレイアウト表示部2803bを備えて構成されている。オブジェクト一覧表示部2803aは、インターネット2702を介して接続されたデバイス2701上に実現されたオブジェクトの一覧をビットマップスクリーンに表示するものである。オブジェクトレイアウト表示部2803bは、オブジェクト一覧表示部2803aによりビットマップスクリーンに表示されたオブジェクトのうち、入力部2801により受け付けたアイコンの選択に従って連携処理を行うオブジェクトをビットマップスクリーンに表示するものである。   FIG. 29 is a block diagram illustrating a detailed functional configuration of the display unit. The display unit 2803 includes an object list display unit 2803a and an object layout display unit 2803b. The object list display unit 2803a displays a list of objects realized on the device 2701 connected via the Internet 2702 on the bitmap screen. The object layout display unit 2803b displays, on the bitmap screen, an object to be linked according to the selection of the icon received by the input unit 2801 among the objects displayed on the bitmap screen by the object list display unit 2803a.

本実施の形態では、ビットマップスクリーンには、オブジェクトの一覧であって、各オブジェクトを視覚的に表すアイコンを表示するオブジェクト一覧表示領域と、連携処理を行うオブジェクトであって、入力部2801を介して受け付けたアイコンの選択に従ってアイコンを適切な位置に表示するオブジェクトレイアウト表示領域と、がある。ユーザは、マウス等を操作してオブジェクト一覧表示領域に表示されているオブジェクトのアイコンをドラッグし、オブジェクトレイアウト表示領域にドロップすることにより、ソフトウェアの開発をグラフィカルに行うことができる。   In the present embodiment, the bitmap screen is an object list, an object list display area that displays icons that visually represent each object, and an object that performs linkage processing, via an input unit 2801. And an object layout display area for displaying icons at appropriate positions in accordance with the selection of the received icons. The user can perform software development graphically by operating the mouse or the like to drag the icon of the object displayed in the object list display area and dropping it in the object layout display area.

なお、本実施の形態では、アイコンは、当該アイコンがどのオブジェクトを示しているかのインターネット2702上で判別するため識別情報と、オブジェクトを視覚的に表す絵と、がセットになったものである。また、識別情報は、例えば、インターネット2702上でユニークとなる整数や文字列により構成されるものとする。   In the present embodiment, an icon is a set of identification information and a picture that visually represents an object in order to determine on the Internet 2702 which object the icon represents. Also, the identification information is assumed to be composed of an integer or a character string that is unique on the Internet 2702, for example.

図30は、ビットマップスクリーンの画面構成の一例を示す図である。図30に示すように、表示部2803は、ビットマップスクリーン3000上に、オブジェクト一覧表示領域3001およびオブジェクトレイアウト表示領域3002を設ける。そして、ユーザは、マウス等を操作してオブジェクト一覧表示領域3001に表示されているアイコンをドラッグし、オブジェクトレイアウト表示領域3002にドロップすることにより、ソフトウェアの開発を行うことができる。   FIG. 30 is a diagram illustrating an example of a screen configuration of a bitmap screen. As shown in FIG. 30, the display unit 2803 provides an object list display area 3001 and an object layout display area 3002 on the bitmap screen 3000. Then, the user can develop the software by operating the mouse or the like to drag the icon displayed in the object list display area 3001 and dropping it in the object layout display area 3002.

図31は、テキストエディタなどによる文字入力手段を用いてソフトウェア開発を行う場合におけるビットマップスクリーンの画面構成を示す図である。図31に示すように、表示部2803は、ビットマップスクリーン3100上に、文字列表示領域3101を設ける。表示部2803は、入力部2801により受け付けた文字列であって、編集部2802に保持されている文字列を文字列表示領域3101に表示する。これにより、ユーザは、文字列表示領域3101に表示された文字列を見ながらソフトウェアの開発を行うことができる。   FIG. 31 is a diagram showing a screen configuration of a bitmap screen when software development is performed using character input means such as a text editor. As shown in FIG. 31, the display unit 2803 provides a character string display area 3101 on a bitmap screen 3100. The display unit 2803 displays the character string received by the input unit 2801 and held in the editing unit 2802 in the character string display area 3101. As a result, the user can develop software while viewing the character string displayed in the character string display area 3101.

図32は、CASEツールを用いてソフトウェア開発を行う場合におけるビットマップスクリーンの画面構成を示す図である。図32に示すように、表示部2803は、ビットマップスクリーン上3200上に、オブジェクト一覧表領域3201およびオブジェクトレイアウト表示領域3202を設ける。そして、ユーザは、マウス等を操作してオブジェクト一覧表示領域3201に表示されているアイコンをドラッグし、オブジェクトレイアウト表示領域3202にドロップすることにより、ソフトウェアの開発を行うことができる。   FIG. 32 is a diagram illustrating a screen configuration of a bitmap screen when software development is performed using the CASE tool. As shown in FIG. 32, the display unit 2803 provides an object list area 3201 and an object layout display area 3202 on the bitmap screen 3200. The user can develop software by operating the mouse or the like to drag an icon displayed in the object list display area 3201 and dropping it in the object layout display area 3202.

ここで、CASEツールを用いてソフトウェア開発が行われる場合、オブジェクトレイアウト表示部2803bは、各デバイス2702のオブジェクトの通信部504に記憶されているオブジェクトの識別情報を参照して、オブジェクトレイアウト表示領域3202に表示されたアイコンを実線等で結ぶことができ、この線によって動作フローを視覚的に表すことができる。   Here, when software development is performed using the CASE tool, the object layout display unit 2803 b refers to the object identification information stored in the object communication unit 504 of each device 2702 and refers to the object layout display area 3202. The icons displayed on the screen can be connected by a solid line or the like, and the operation flow can be visually represented by this line.

以下、オブジェクト仮実行部2804、オブジェクト実行部2805、オブジェクト監視部2806、およびオブジェクト通信部2807により実行される処理について説明する。   Hereinafter, processing executed by the temporary object execution unit 2804, the object execution unit 2805, the object monitoring unit 2806, and the object communication unit 2807 will be described.

まず、図33を用いて、デバイス2701上に実体化されたオブジェクトの仮実行部1901に仮実行を行わせる処理手順について説明する。図33は、オブジェクトの仮実行部に仮実行を行わせる処理のフローチャートである。   First, a processing procedure for causing the provisional execution unit 1901 of the object materialized on the device 2701 to perform provisional execution will be described with reference to FIG. FIG. 33 is a flowchart of processing for causing a provisional execution unit of an object to perform provisional execution.

オブジェクト仮実行部2804は、オブジェクトレイアウト表示領域3002にドロップされたアイコン群からオブジェクトの識別情報群を抽出する(ステップS3301)。その際、オブジェクト仮実行部2804は、連携処理を行う順番に合わせて各オブジェクトの識別情報を抽出するものとする。さらに、オブジェクト仮実行部2804は、抽出したオブジェクトの識別情報群をオブジェクト通信部2807に送出する(ステップS3302)。   The temporary object execution unit 2804 extracts an object identification information group from the icon group dropped in the object layout display area 3002 (step S3301). At this time, the provisional object execution unit 2804 extracts the identification information of each object in the order in which the cooperation processing is performed. Further, the temporary object execution unit 2804 sends the extracted object identification information group to the object communication unit 2807 (step S3302).

次に、オブジェクト通信部2807は、ウェブサーバ103を介して、オブジェクト仮実行部2804から受け取ったオブジェクトの識別情報群のうち、連携処理を開始する開始部分となるオブジェクトの識別情報に基づいて、内部処理の仮実行を要求するメッセージを送信する(ステップS3303)。オブジェクトにメッセージが送信された後は、上述の実施の形態で説明したオブジェクト間における連携処理が行われる。   Next, the object communication unit 2807 uses the identification information group of the objects received from the temporary object execution unit 2804 via the web server 103 based on the identification information of the object that is the start part of starting the cooperation process. A message requesting temporary execution of the process is transmitted (step S3303). After the message is transmitted to the object, the cooperation process between the objects described in the above embodiment is performed.

さらに、オブジェクト仮実行部2804は、オブジェクト監視部2806を監視状態に設定して処理を終了する(ステップS3304)。オブジェクト監視部2806は、ウェブサーバ103を介して、オブジェクト間で送受信されるメッセージを監視するものであり、メッセージの送受信が行われる毎にエンジン102により実現されるソフトウェア開発環境にフィードバックする。   Further, the temporary object execution unit 2804 sets the object monitoring unit 2806 to the monitoring state and ends the process (step S3304). The object monitoring unit 2806 monitors messages transmitted / received between objects via the web server 103 and feeds back to a software development environment realized by the engine 102 every time a message is transmitted / received.

このように、オブジェクト仮実行部2804と、上述の実施の形態にかかるオブジェクトが備える仮実行部1901と、を連携させることにより、連携処理を行うオブジェクトを組み合わせたソフトウェアを作成することができる。   As described above, by linking the object temporary execution unit 2804 and the temporary execution unit 1901 included in the object according to the above-described embodiment, it is possible to create software that combines objects that perform cooperation processing.

ここで、図34および図35を用いて、オブジェクト間で送受信されるメッセージを監視する処理について説明する。図34は、オブジェクト間で不整合通知メッセージが送受信された場合の処理の説明図である。図35は、オブジェクト間で処理結果メッセージが送受信された場合の処理の説明図である。   Here, processing for monitoring messages transmitted and received between objects will be described with reference to FIGS. 34 and 35. FIG. FIG. 34 is an explanatory diagram of processing when an inconsistency notification message is transmitted / received between objects. FIG. 35 is an explanatory diagram of processing when a processing result message is transmitted and received between objects.

まず、図34を用いて、オブジェクト間において不整合通知メッセージが送受信された場合の処理について説明する。まず、オブジェクト監視部2806は、オブジェクト仮実行部2804により監視状態に設定されると、共通の通信路510上を流れるメッセージを監視する状態に移る。   First, processing when an inconsistency notification message is transmitted and received between objects will be described with reference to FIG. First, when the object monitoring unit 2806 is set to the monitoring state by the object temporary execution unit 2804, the object monitoring unit 2806 shifts to a state of monitoring a message flowing on the common communication path 510.

そして、オブジェクト監視部2806は、不整合通知メッセージを検知すると(ステップS3401)、編集部2802を介して表示部2803に対して、当該不整合通知メッセージの送信先のオブジェクトに設定する設定情報を入力させるためのダイアログ等(3406)の表示を要求する(ステップS3402)。   When the object monitoring unit 2806 detects the inconsistency notification message (step S3401), the setting information to be set in the destination object of the inconsistency notification message is input to the display unit 2803 via the editing unit 2802. A display of a dialog or the like (3406) for requesting is requested (step S3402).

入力部2801により設定情報が受け付けられると、オブジェクト監視部2806は、当該入力部2801により受け付けた設定情報を取得し(ステップS3403)、取得した設定情報をオブジェクト仮実行部2804に通知する(ステップS3404)。   When the setting information is received by the input unit 2801, the object monitoring unit 2806 acquires the setting information received by the input unit 2801 (step S3403), and notifies the temporary object execution unit 2804 of the acquired setting information (step S3404). ).

なお、オブジェクト仮実行部2804は、オブジェクト監視部2806から設定情報が通知されると、当該設定情報を含むメッセージを生成し、オブジェクト通信部2807を介して生成したメッセージを、不整合通知メッセージの送信先のオブジェクトに送信するものとする(ステップS3405)。   When the setting information is notified from the object monitoring unit 2806, the temporary object execution unit 2804 generates a message including the setting information, and transmits the message generated via the object communication unit 2807 to the inconsistency notification message. It is assumed that it is transmitted to the previous object (step S3405).

また、上述の実施の形態では、設定情報記憶部501に記憶されている設定情報に含まれる設定情報値のうち、設定優先度が高い設定情報値に従って、オブジェクトの内部処理または内部処理の仮実行を行ったが、これに限定するものではない。例えば、エンジン102(オブジェクト仮実行部2804)から設定情報を含むメッセージを受信した場合、オブジェクトの実行部502または仮実行部1901は受信したメッセージに含まれる設定情報を用いて内部処理または内部処理の仮実行を行ってもよい。   In the above-described embodiment, internal processing of an object or provisional execution of internal processing is performed according to a setting information value having a high setting priority among setting information values included in setting information stored in the setting information storage unit 501. However, the present invention is not limited to this. For example, when a message including setting information is received from the engine 102 (object temporary execution unit 2804), the object execution unit 502 or the temporary execution unit 1901 uses the setting information included in the received message to perform internal processing or internal processing. Temporary execution may be performed.

次に、図35を用いて、オブジェクト間において処理結果メッセージが送受信された場合の処理について説明する。まず、オブジェクト監視部2806は、オブジェクト仮実行部2804により監視状態に設定されると、共通の通信路510上を流れるメッセージを監視する状態に移る。   Next, processing when a processing result message is transmitted and received between objects will be described with reference to FIG. First, when the object monitoring unit 2806 is set to the monitoring state by the object temporary execution unit 2804, the object monitoring unit 2806 shifts to a state of monitoring a message flowing on the common communication path 510.

そして、オブジェクト監視部2806は、処理結果メッセージを検知すると(ステップS3501)、編集部2802を介して表示部2803に対して、オブジェクトレイアウト表示領域3503に内部処理が正常に行われた旨のアイコン等の表示3503aを行うことを要求する(ステップS3502)。これにより、オブジェクトの内部処理が成功した旨を視覚的に表現することができる。   When the object monitoring unit 2806 detects the processing result message (step S3501), an icon indicating that internal processing has been normally performed in the object layout display area 3503 with respect to the display unit 2803 via the editing unit 2802, and the like. Is requested to be displayed (step S3502). Thereby, it can be visually expressed that the internal processing of the object is successful.

次に、図36を用いて、デバイス2701上に実体化されたオブジェクトの実行部502に内部処理を行わせる処理手順について説明する。図36は、オブジェクトの実行部に内部処理を行わせる処理のフローチャートである。   Next, a processing procedure for causing the execution unit 502 of the object materialized on the device 2701 to perform internal processing will be described with reference to FIG. FIG. 36 is a flowchart of processing for causing an object execution unit to perform internal processing.

オブジェクト実行部2805は、オブジェクトレイアウト表示領域3002にドロップされたアイコン群からオブジェクトの識別情報群を抽出する(ステップS3601)。その際、オブジェクト実行部2805は、連携処理を行う順番に合わせて各オブジェクトの識別情報を抽出するものとする。さらに、オブジェクト実行部2805は、例えば、図30のオブジェクトレイアウト表示領域3002に表示された実行アイコンがクリックされた際に、抽出したオブジェクトの識別情報群をオブジェクト通信部2807に送出する(ステップS3602)。   The object execution unit 2805 extracts an object identification information group from the icon group dropped in the object layout display area 3002 (step S3601). In that case, the object execution part 2805 shall extract the identification information of each object according to the order which performs a cooperation process. Furthermore, for example, when the execution icon displayed in the object layout display area 3002 in FIG. 30 is clicked, the object execution unit 2805 sends the extracted object identification information group to the object communication unit 2807 (step S3602). .

次に、オブジェクト通信部2807は、オブジェクト実行部2805から受け取ったオブジェクトの識別情報群のうち、連携処理を開始する開始部分となるオブジェクトの識別情報に基づいて、内部処理の実行を要求するメッセージを送信する(ステップS3603)。オブジェクトにメッセージが送出された後は、上述の実施の形態で説明したオブジェクト間における連携処理が行われる。   Next, the object communication unit 2807 sends a message requesting the execution of the internal processing based on the identification information of the object that is the start part of starting the cooperation processing in the object identification information group received from the object execution unit 2805. Transmit (step S3603). After the message is sent to the object, the cooperation process between the objects described in the above embodiment is performed.

このように、オブジェクト実行部2805と、上述の実施の形態にかかるオブジェクトが備える実行部502と、を連携させることにより、連携処理を行うオブジェクトを組み合わせたソフトウェアを作成することができる。   As described above, by linking the object execution unit 2805 and the execution unit 502 included in the object according to the above-described embodiment, it is possible to create software that combines the objects that perform the linkage processing.

以上、本実施の形態にかかるPC100によれば、オブジェクトに連携処理を行わせるソフトウェアの開発が可能なソフトウェア開発環境を提供することができる。   As described above, according to the PC 100 according to the present embodiment, it is possible to provide a software development environment capable of developing software that causes an object to perform cooperation processing.

(第4実施の形態)
第1実施の形態および第2実施の形態では、MEM−C209に格納されているソフトウェアを起動して、RAM205b上にオブジェクト105を実体化する例について説明したが、これに限定するものではない。プログラムをPC100にインストールし、当該プログラムを起動することによりオブジェクト105を実体化できる媒体であればよい。
(Fourth embodiment)
In the first embodiment and the second embodiment, the example in which the software stored in the MEM-C 209 is activated and the object 105 is materialized on the RAM 205b has been described. However, the present invention is not limited to this. Any medium that can materialize the object 105 by installing the program in the PC 100 and starting the program may be used.

図37は、オブジェクトを実体化できるプログラムを格納する記憶媒体の一例を示す図である。   FIG. 37 is a diagram illustrating an example of a storage medium that stores a program that can materialize an object.

図37(a)は、PC100が備えるHDD210にインストールされているプログラムを起動することによりオブジェクト105をRAM205b上に実体化する例を示す図である。この場合、HDD210が記憶媒体に相当する。   FIG. 37A is a diagram illustrating an example in which the object 105 is materialized on the RAM 205b by starting a program installed in the HDD 210 included in the PC 100. In this case, the HDD 210 corresponds to a storage medium.

図37(b)は、PC100が記憶媒体3701を着脱可能なインターフェースを備える場合、またはPC100に記憶媒体を組み込むことが可能な場合に、当該記憶媒体に一時的または永続的に格納されているプログラムを起動することにより、オブジェクト105をRAM205b上に実体化する例を示す図である。なお、記憶媒体は、図37(c)に示すように、フレキシブルディスク3702、CD−ROM(Compact Disc Read Only Memory)3703、MO(Magneto Optical)ディスク3704、DVD(Digital Versatile Disc)3706、磁気ディスク3705、半導体メモリ3707などが利用できる。   FIG. 37B illustrates a program that is temporarily or permanently stored in the storage medium when the PC 100 includes an interface that allows the storage medium 3701 to be attached or detached, or when the storage medium can be incorporated into the PC 100. FIG. 3 is a diagram illustrating an example in which an object 105 is materialized on a RAM 205b by activating “A”. As shown in FIG. 37 (c), the storage medium is a flexible disk 3702, a CD-ROM (Compact Disc Read Only Memory) 3703, an MO (Magneto Optical) disk 3704, a DVD (Digital Versatile Disc) 3706, a magnetic disk. 3705, a semiconductor memory 3707, and the like can be used.

図37(d)は、PC100がLAN(Local Area Network)インターネット等のネットワークに接続され、ネットワーク上のダウンロードサイト3708から有線または無線でプログラムをPC100のHDD210にダウンロードし、ダウンロードしたプログラムを起動することにより、オブジェクト105をRAM205b上に実体化する例を示す図である。この場合、ダウンロードサイト3708が記憶媒体に相当する。   FIG. 37D shows that the PC 100 is connected to a network such as a LAN (Local Area Network) Internet, downloads the program from the download site 3708 on the network to the HDD 210 of the PC 100 by wire or wireless, and starts the downloaded program. FIG. 4 is a diagram illustrating an example in which an object 105 is materialized on a RAM 205b. In this case, the download site 3708 corresponds to a storage medium.

第1実施の形態にかかるPCのハードウェアおよびソフトウェアの構成を説明するための説明図である。It is explanatory drawing for demonstrating the structure of the hardware and software of PC concerning 1st Embodiment. 第1実施の形態にかかるPCのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of PC concerning 1st Embodiment. オブジェクトのUMLクラス図である。It is a UML class diagram of an object. 印刷処理を行うオブジェクトの関係を示す図である。It is a figure which shows the relationship of the object which performs a printing process. テキスト読込オブジェクトおよびテキスト印刷オブジェクトの機能構成を示すブロック図である。It is a block diagram which shows the function structure of a text reading object and a text printing object. テキスト読込オブジェクトからテキスト印刷オブジェクトにメッセージを送信する処理手順を示すフローチャートである。It is a flowchart which shows the process sequence which transmits a message from a text reading object to a text printing object. 設定情報記憶部に記憶されている設定情報の一例を示す図である。It is a figure which shows an example of the setting information memorize | stored in the setting information storage part. 選択カーソルにチェックが入っている設定情報値に従って文字変換処理を実行する例の説明図である。It is explanatory drawing of the example which performs a character conversion process according to the setting information value in which the selection cursor has a check. 実行部により生成されるメッセージの一例を示す図である。It is a figure which shows an example of the message produced | generated by the execution part. メッセージを受信したテキスト印刷オブジェクトが内部処理(印刷処理)を行う際の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence when the text print object which received the message performs an internal process (printing process). 実行判断情報記憶部に記憶されている実行判断情報の一例を示す図である。It is a figure which shows an example of the execution judgment information memorize | stored in the execution judgment information storage part. 内部処理を実行することができないと判断された場合の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence when it is judged that an internal process cannot be performed. 生成部により生成される不整合通知メッセージの一例を示す図である。It is a figure which shows an example of the inconsistency notification message produced | generated by the production | generation part. 内部処理を実行することができると判断された場合の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence when it is judged that an internal process can be performed. 不整合通知メッセージを受信した場合の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence when an inconsistency notification message is received. 連携処理を行うオブジェクトを模式的に示すブロック図である。It is a block diagram which shows typically the object which performs a cooperation process. スキャン処理およびQRコードの解析処理を行うオブジェクトの関係を示す図ある。It is a figure which shows the relationship of the object which performs a scanning process and the analysis process of QR code. スキャンオブジェクトのUMLクラス図である。It is a UML class diagram of a scan object. QRコード解析オブジェクトのUMLクラス図である。It is a UML class diagram of a QR code analysis object. スキャンオブジェクトおよびQRコード解析オブジェクトの機能構成を示すブロック図である。It is a block diagram which shows the function structure of a scan object and a QR code analysis object. スキャンオブジェクトからQRコードオブジェクトにメッセージを送信する処理手順を示すフローチャートである。It is a flowchart which shows the process sequence which transmits a message from a scan object to a QR code object. 選択カーソルにチェックが入っている設定情報値に従って仮実行を行う例の説明図である。It is explanatory drawing of the example which performs provisional execution according to the setting information value in which the selection cursor has a check. 仮実行部により生成されるメッセージの一例を示す図である。It is a figure which shows an example of the message produced | generated by the temporary execution part. 内部処理を実行することができると判断された場合の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence when it is judged that an internal process can be performed. 不整合通知メッセージを受信した場合の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence when an inconsistency notification message is received. 不整合通知メッセージの一例を示す図である。It is a figure which shows an example of an inconsistency notification message. 連携処理を行うオブジェクトを模式的に示すブロック図である。It is a block diagram which shows typically the object which performs a cooperation process. ソフトウェア開発システムの構成を示す説明図である。It is explanatory drawing which shows the structure of a software development system. PC上に実現されるソフトウェア開発環境の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the software development environment implement | achieved on PC. 表示部の詳細な機能構成を示すブロック図である。It is a block diagram which shows the detailed functional structure of a display part. ビットマップスクリーンの画面構成の一例を示す図である。It is a figure which shows an example of the screen structure of a bitmap screen. テキストエディタなどによる文字入力手段を用いてソフトウェア開発を行う場合におけるビットマップスクリーンの画面構成を示す図である。It is a figure which shows the screen structure of a bitmap screen in the case of developing software using the character input means by a text editor etc. CASEツールを用いてソフトウェア開発を行う場合におけるビットマップスクリーンの画面構成を示す図である。It is a figure which shows the screen structure of a bitmap screen in the case of developing software using a CASE tool. オブジェクトの仮実行部に仮実行を行わせる処理のフローチャートである。It is a flowchart of the process which makes the temporary execution part of an object perform temporary execution. オブジェクト間で不整合通知メッセージが送受信された場合の処理の説明図である。It is explanatory drawing of a process when an inconsistency notification message is transmitted / received between objects. オブジェクト間で処理結果メッセージが送受信された場合の処理の説明図である。It is explanatory drawing of a process when a process result message is transmitted / received between objects. オブジェクトの実行部に内部処理を行わせる処理のフローチャートである。It is a flowchart of the process which makes an execution part of an object perform an internal process. オブジェクトを実体化できるプログラムを格納する記憶媒体の一例を示す図である。It is a figure which shows an example of the storage medium which stores the program which can materialize an object.

符号の説明Explanation of symbols

100,2701 PC
101 ウェブブラウザ
102 エンジン
103 ウェブサーバ
104 CGI
105 オブジェクト
106 オペレーティングシステム
107 ハードウェアリソース
200 コントローラ
201 USBインターフェース
202 IEEE1394インターフェース
203 PCIバス
204 CPU
205 MEM−P
205a ROM
205b RAM
206 NB
207 SB
208 ASIC
209 MEM−C
210 HDD
211 操作表示部
401 テキストファイル読込オブジェクト
402 テキスト印刷オブジェクト
501 設定情報記憶部
502 実行部
503,1902 送信部
504 通信部
505 受信部
506 実行判断情報記憶部
507 判断部
508 生成部
509 不整合判断部
510 共通の通信路
1501 オブジェクトA
1502 オブジェクトB
1503 オブジェクトC
1601 スキャンオブジェクト
1602 QRコード解析オブジェクト
1901 仮実行部
2700 ソフトウェア開発システム
2702 デバイス
2703 インターネット
2800 ソフトウェア開発環境
2801 入力部
2802 編集部
2803 表示部
2803a オブジェクト一覧表示部
2803b オブジェクトレイアウト表示部
2804 オブジェクト仮実行部
2805 オブジェクト実行部
2806 オブジェクト監視部
2807 オブジェクト通信部
3000,3100,3200 ビットマップスクリーン
3001,3201 オブジェクト一覧表示領域
3002,3202,3503 オブジェクトレイアウト表示領域
3101 文字列表示領域
3701 記憶媒体
3702 フレキシブルディスク
3703 CD−ROM
3704 MOディスク
3705 磁気ディスク
3706 DVD
3707 半導体メモリ
3708 ダウンロードサイト
100, 2701 PC
101 Web browser 102 Engine 103 Web server 104 CGI
105 Object 106 Operating System 107 Hardware Resource 200 Controller 201 USB Interface 202 IEEE 1394 Interface 203 PCI Bus 204 CPU
205 MEM-P
205a ROM
205b RAM
206 NB
207 SB
208 ASIC
209 MEM-C
210 HDD
211 Operation Display Unit 401 Text File Reading Object 402 Text Print Object 501 Setting Information Storage Unit 502 Execution Unit 503, 1902 Transmission Unit 504 Communication Unit 505 Reception Unit 506 Execution Determination Information Storage Unit 507 Determination Unit 508 Generation Unit 509 Inconsistency Determination Unit 510 Common communication path 1501 Object A
1502 Object B
1503 Object C
1601 Scan Object 1602 QR Code Analysis Object 1901 Temporary Execution Unit 2700 Software Development System 2702 Device 2703 Internet 2800 Software Development Environment 2801 Input Unit 2802 Editing Unit 2803 Display Unit 2803a Object List Display Unit 2803b Object Layout Display Unit 2804 Object Temporary Execution Unit 2805 Object Execution unit 2806 Object monitoring unit 2807 Object communication unit 3000, 3100, 3200 Bitmap screen 3001, 3201 Object list display area 3002, 3202, 3503 Object layout display area 3101 Character string display area 3701 Storage medium 3702 Flexible disk 3703 CD-ROM
3704 MO disk 3705 Magnetic disk 3706 DVD
3707 Semiconductor memory 3708 download site

Claims (10)

設定情報を用いて固有の内部処理を実行する第1オブジェクト、当該第1オブジェクトと連携して固有の内部処理を実行する第2オブジェクトとを有するオブジェクト連携装置であって、
前記第2オブジェクトの内部処理の実行を要求するものであって前記第1オブジェクトが内部処理に用いた前記設定情報を含むメッセージを受信する受信手段と、
記メッセージが含む前記設定情報が、前記第2オブジェクトの内部処理を実行するために要求される前記設定情報の条件を示す実行判断情報に当しい場合、前記メッセージが含む前記設定情報のうち前記実行判断情報に該当しない前記設定情報を含む不整合通知メッセージを前記第1オブジェクトに送信する送信手段と、を備え、
前記第1オブジェクトは、前記不整合通知メッセージが含む前記設定情報とは異なる前記設定情報を用いて内部処理を実行することを特徴とするオブジェクト連携装置。
An object cooperation apparatus having a first object that executes unique internal processing using setting information and a second object that executes unique internal processing in cooperation with the first object ,
Receiving means for requesting execution of internal processing of the second object and receiving a message including the setting information used by the first object for internal processing;
The setting information before SL message is included in the second said those teeth execution decision information indicating the condition of the setting information required to perform the internal processing of the objects have field coupling, the said message comprises Transmission means for transmitting to the first object an inconsistency notification message including the setting information that does not correspond to the execution determination information among the setting information ,
The first object performs an internal process using the setting information different from the setting information included in the inconsistency notification message .
前記第2オブジェクトの内部処理に用いる設定情報を記憶する設定情報記憶手段を備え
前記第2オブジェクトは、前記メッセージが含む前記設定情報が前記実行判断情報に該当した場合、前記設定情報記憶手段に記憶する前記設定情報を用いて内部処理を実行することを特徴とする請求項1に記載のオブジェクト連携装置。
Comprising a setting information storage means for storing configuration information Ru used for the internal processing of the second object,
The second object, if the setting information which the message contains is applicable before SL execution decision information, and wherein the benzalkonium perform internal processing using the setting information stored in the setting information storage means The object cooperation device according to claim 1.
前記第1オブジェクトの内部処理を仮実行する仮実行手段をさらに備え、
前記受信手段は、前記仮実行手段において仮実行した内部処理に用いた前記設定情報を含む前記メッセージを受信することを特徴とする請求項2に記載のオブジェクト連携装置。
Provisional execution means for provisionally executing internal processing of the first object ;
It said receiving means, object linkage device according to claim 2, characterized in that receiving the message including the setting information used the inside processing provisionally executed in the temporary execution means.
設定情報を用いて固有の内部処理を実行する第1オブジェクトと連携して固有の内部処理を実行する第2オブジェクトを有するオブジェクト連携装置であって、An object cooperation apparatus having a second object that executes unique internal processing in cooperation with a first object that executes unique internal processing using setting information,
前記第2オブジェクトの内部処理の実行を要求するものであって前記第1オブジェクトが内部処理に用いた前記設定情報を含むメッセージを受信する受信手段と、Receiving means for requesting execution of internal processing of the second object and receiving a message including the setting information used by the first object for internal processing;
前記メッセージが含む前記設定情報が、前記第2オブジェクトの内部処理を実行するために要求される前記設定情報の条件を示す実行判断情報に該当しない場合、前記メッセージが含む前記設定情報のうち前記実行判断情報に該当しない前記設定情報を含む不整合通知メッセージを前記第1オブジェクトに送信して、前記不整合通知メッセージが含む前記設定情報とは異なる前記設定情報を用いて前記第1オブジェクトに内部処理を実行させる送信手段と、When the setting information included in the message does not correspond to execution determination information indicating a condition of the setting information required for executing the internal processing of the second object, the execution of the setting information included in the message An inconsistency notification message including the setting information not corresponding to the determination information is transmitted to the first object, and the first object is internally processed using the setting information different from the setting information included in the inconsistency notification message. Transmission means for executing
を備えたことを特徴とするオブジェクト連携装置。  An object linkage apparatus comprising:
設定情報を用いて固有の内部処理を実行する第1オブジェクト、当該第1オブジェクトと連携して固有の内部処理を実行する第2オブジェクトとを有するオブジェクト連携装置のオブジェクト連携方法であって、
信手段が、前記第2オブジェクトの内部処理の実行を要求するものであって前記第1オブジェクトが内部処理に用いた前記設定情報を含むメッセージを受信する受信工程と、
送信手段が、前記メッセージが含む前記設定情報が、前記第2オブジェクトの内部処理を実行するために要求される前記設定情報の条件を示す実行判断情報に該当しない場合、前記メッセージが含む前記設定情報のうち前記実行判断情報に該当しない前記設定情報を含む不整合通知メッセージを前記第1オブジェクトに送信する送信工程と、を有し、
前記第1オブジェクトは、前記不整合通知メッセージが含む前記設定情報とは異なる前記設定情報を用いて内部処理を実行することを特徴とするオブジェクト連携方法。
An object cooperation method of an object cooperation apparatus having a first object that executes unique internal processing using setting information and a second object that executes unique internal processing in cooperation with the first object ,
Receiving means, a receiving step wherein said first object be one that requests the execution of the internal processing of the second object receives the message including the setting information used for internal processing,
Transmitting means, said setting information before SL message is included in the second object of the internal processing execution the appropriate and such have park execution decision information indicating the condition of setting information required for engagement, the message A transmission step of transmitting to the first object an inconsistency notification message including the setting information that does not correspond to the execution determination information among the setting information included in
The first object performs an internal process using the setting information different from the setting information included in the inconsistency notification message .
前記オブジェクト連携装置は前記第2オブジェクトの内部処理に用いる設定情報を記憶する設定情報記憶手段を備え
前記第2オブジェクト、前記メッセージが含む前記設定情報が前記実行判断情報に該当した場合、前記設定情報記憶手段に記憶する前記設定情報を用いて内部処理を実行する実行工程をさらに有することを特徴とする請求項5に記載のオブジェクト連携方法。
The object collaboration apparatus comprises a setting information storage means for storing configuration information Ru used for the internal processing of the second object,
The second object is, before Symbol if the message is the setting information included in the corresponding prior SL execution decision information, further more execution Engineering executing the internal processing using the setting information stored in the setting information storage means objects cooperation method according to claim 5, characterized in Rukoto to Yusuke.
仮実行手段が、前記第1オブジェクトの内部処理を仮実行する仮実行工程をさらに有し、
前記受信工程は、前記仮実行手段において仮実行した内部処理に用いた前記設定情報を含む前記メッセージを受信することを特徴とする請求項6に記載のオブジェクト連携方法。
The temporary execution means further includes a temporary execution step of temporarily executing internal processing of the first object ,
The object receiving method according to claim 6, wherein the receiving step receives the message including the setting information used for internal processing temporarily executed by the temporary execution unit .
設定情報を用いて固有の内部処理を実行する第1オブジェクトと連携して固有の内部処理を実行する第2オブジェクトを有するオブジェクト連携装置のオブジェクト連携方法であって、An object cooperation method of an object cooperation apparatus having a second object that executes unique internal processing in cooperation with a first object that executes unique internal processing using setting information,
受信手段が、前記第2オブジェクトの内部処理の実行を要求するものであって前記第1オブジェクトが内部処理に用いた前記設定情報を含むメッセージを受信する受信工程と、A receiving step for receiving a message including the setting information used by the first object for internal processing, wherein the receiving means requests execution of the internal processing of the second object;
送信手段が、前記メッセージが含む前記設定情報が、前記第2オブジェクトの内部処理を実行するために要求される前記設定情報の条件を示す実行判断情報に該当しない場合、前記メッセージが含む前記設定情報のうち前記実行判断情報に該当しない前記設定情報を含む不整合通知メッセージを前記第1オブジェクトに送信して、前記不整合通知メッセージが含む前記設定情報とは異なる前記設定情報を用いて前記第1オブジェクトに内部処理を実行させる送信工程と、If the setting information included in the message does not correspond to execution determination information indicating a condition of the setting information required for executing the internal processing of the second object, the transmission unit includes the setting information included in the message. The inconsistency notification message including the setting information not corresponding to the execution determination information is transmitted to the first object, and the first information is set using the setting information different from the setting information included in the inconsistency notification message. A sending step that causes the object to perform internal processing;
を有することを特徴とするオブジェクト連携方法。  An object cooperation method characterized by comprising:
請求項5から8のいずれか一に記載のオブジェクト連携方法の各工程をコンピュータに実行させるためのプログラム。   The program for making a computer perform each process of the object cooperation method as described in any one of Claim 5 to 8. 請求項5から8のいずれか一に記載のオブジェクト連携方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium having recorded thereon a program for causing a computer to execute each step of the object cooperation method according to claim 5.
JP2008238686A 2008-09-17 2008-09-17 Object cooperation apparatus, object cooperation method, program, and recording medium Expired - Fee Related JP5169667B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008238686A JP5169667B2 (en) 2008-09-17 2008-09-17 Object cooperation apparatus, object cooperation method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008238686A JP5169667B2 (en) 2008-09-17 2008-09-17 Object cooperation apparatus, object cooperation method, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2010072880A JP2010072880A (en) 2010-04-02
JP5169667B2 true JP5169667B2 (en) 2013-03-27

Family

ID=42204608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008238686A Expired - Fee Related JP5169667B2 (en) 2008-09-17 2008-09-17 Object cooperation apparatus, object cooperation method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP5169667B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7015207B2 (en) 2018-04-27 2022-02-02 株式会社日立製作所 Devices and methods to help you create flows with visual programming tools

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0664522B2 (en) * 1984-08-08 1994-08-22 富士通株式会社 Data transfer method
JPH06198999A (en) * 1992-12-28 1994-07-19 Fuji Xerox Co Ltd Printing system
JP2959545B2 (en) * 1997-03-25 1999-10-06 セイコーエプソン株式会社 Image information input / output device, control method for image information input / output device, and image information processing system
US6407820B1 (en) * 2000-05-17 2002-06-18 Heidelberg Digital L.L.C. Efficient use of print resources within a job stream
JP2003244377A (en) * 2002-02-20 2003-08-29 Canon Inc Scanner server, its control method and program
JP4050597B2 (en) * 2002-11-19 2008-02-20 キヤノン電子株式会社 Network scanning system

Also Published As

Publication number Publication date
JP2010072880A (en) 2010-04-02

Similar Documents

Publication Publication Date Title
US10026029B2 (en) Image processing apparatus, and control method, and computer-readable storage medium thereof
JP5199761B2 (en) Information processing apparatus, image input apparatus, document distribution system, and control method therefor
KR100744728B1 (en) Apparatus, system and method for processing service
US8373878B2 (en) Cooperative job flow creating apparatus, cooperative job flow creating method, service processing apparatus, service processing method, management server, flow conversion method, job flow execution method, program, and storage medium
JP4806625B2 (en) Image processing apparatus, image processing method, image processing program, and image processing system
JP4276909B2 (en) Image forming apparatus and application activation control method
US20090164927A1 (en) Image processing apparatus and method thereof
JP5587058B2 (en) Information transmitting apparatus, information transmitting apparatus control method, and computer program
US20080178199A1 (en) Information processing device, image processing apparatus, information processing method, and storage medium
US8384934B2 (en) Image processing apparatus and method thereof
US10848629B2 (en) Image processing apparatus, image processing system, image processing method, and web browser program
JP2005322971A (en) Information processing system, and information processing method and program used for information processing system
US8395796B2 (en) Information processing apparatus, image processing apparatus, information processing method, and information processing program which outputs information in the form of a report
JP2014041634A (en) Service processing system
US8823980B2 (en) Printing system, image forming apparatus, data generation apparatus, storage apparatus, and control method
JP4661485B2 (en) Job processing device
JP2009116890A (en) Image forming apparatus and print processing method
US9531905B2 (en) Scanner that is capable of uploading scan data in a target area within a data storage server
JP2007013288A (en) Image forming apparatus and image forming system
JP2012128690A (en) Information processor and method for controlling information processor
JP5169667B2 (en) Object cooperation apparatus, object cooperation method, program, and recording medium
JPWO2014020737A1 (en) Information processing apparatus, control method for information processing apparatus, and program
JP5111773B2 (en) Image processing apparatus, image processing method, image processing program, and information storage medium
JP2007336076A (en) Image forming apparatus, method and program for acquiring information
JP2005117544A (en) Image forming apparatus, operation panel control method, and program for making computer implement the method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121217

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

Free format text: PAYMENT UNTIL: 20160111

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees