JP5169667B2 - Object cooperation apparatus, object cooperation method, program, and recording medium - Google Patents
Object cooperation apparatus, object cooperation method, program, and recording medium Download PDFInfo
- 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
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (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,
ところで、実際にオブジェクトが他のオブジェクトと連携して処理を実行する場合、オブジェクトは、他のオブジェクトが固有に実行する内部処理に用いるパラメータ等の設定情報を把握しておく必要がある。 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
本発明は、上記に鑑みてなされたものであって、オブジェクト間の連携処理を動的かつ柔軟に行うことができるオブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体を提供することを目的とする。 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
また、請求項3にかかる発明は、請求項2にかかる発明において、前記第1オブジェクトの内部処理を仮実行する仮実行手段をさらに備え、前記受信手段は、前記仮実行手段において仮実行した内部処理に用いた前記設定情報を含む前記メッセージを受信することを特徴とする。
The invention according to
また、請求項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
また、請求項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
このハードウェアリソース107を制御するソフトウェアシステムは、ウェブブラウザ(Web Browser)101、エンジン(Engine)102、ウェブサーバ(Web Server)103、CGI(Common Gateway Interface)104、オブジェクト105、およびオペレーティングシステム106を有している。
A software system that controls the
オペレーティングシステム106は、その他のソフトウェアが動作するための基盤を提供する。ウェブブラウザ101は、操作表示部に画像データ等を表示するソフトウェアである。
The
エンジン102は、ウェブブラウザ101を通じて、利用者にビジュアルプログラミングシステムを提供するソフトウェアである。ここで、ビジュアルプログラミングシステムとは、プログラムのモジュール等、固有の内部処理を実行するオブジェクト105を視覚的に表現した視覚情報であるアイコン等のラベルを表示し、ラベルが表示されたオブジェクト105の中から選択したオブジェクト105が連携して内部処理を実行するプログラムを作成・実行させるシステムである。
The
CGI104は、エンジン102により選択されたオブジェクト105を起動するためのソフトウェアである。
The CGI 104 is software for activating the
オブジェクト105は、分散したオブジェクト間での通信、対話、協調といった連携処理を行うものである。また、オブジェクト105は、オブジェクト間を流れるメッセージに対して各オブジェクトが反応して内部処理を実行する。また、オブジェクト105は、ソフトウェアシステムへの参加、離脱により、ソフトウェアシステム全体の動作を柔軟に変更させることができる。
The
なお、本実施の形態では、PC100のソフトウェアシステム内を流れるメッセージに対してオブジェクト105が反応して内部処理を実行する例について説明するが、これに限定するものではない。例えば、共通の通信路を流れるメッセージに対して、他のPC、デバイス、当該他のPCやデバイス内で動作する個々のアプリケーションプログラム、または当該アプリケーションプログラム内で動作する個々のプログラムコンポーネント内で実現されたオブジェクトが反応する形で内部処理を実行することも可能である。
In the present embodiment, an example in which the
ここで、共通の通信路は、単に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
図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
コントローラ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
CPU204は、各種ソフトウェアを実行するための演算装置である。本実施の形態に係るオブジェクト105を含む、PC100の各種機能を実現するためのソフトウェアシステム(図1に示す)は、MEM−C209もしくはHDD210に記憶保持され、必要に応じてMEM−P205にロードされてこのCPU204により実行される。
The
MEM−P205は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタに出力する画像データの描画用メモリなどとして用いるシステムメモリであり、ROM(Read Only Memory)205aとRAM(Random Access Memory)205bとからなる。ROM205aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM205bは、プログラムやデータの展開用メモリ、プリンタに出力する画像データの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
The MEM-
NB206およびSB207は、MEM−P205やAGP15を制御する制御装置であり、NB206を介してCPU204とMEM−P205とSB207とAGP15とが接続される形をとる。NB206は、AGP15を介してASIC208とも接続され、その先にPCIバス203が接続される。
The
ASIC208は、画像処理のための制御装置である。このASIC208は、MEM−C209やHDD210や操作表示部211のような周辺機器と接続され、これらの制御もおこなう。MEM−C209は、ASIC208が画像処理をおこなう画像データ等を一時記憶する記憶部であり、HDD210は、各種ソフトウェア、フォントデータ、蓄積するよう指示された画像データ等を記憶する記憶部である。操作表示部211は、利用者の操作を受け付ける入力装置である。
The
USBインターフェース201およびIEEE1394インターフェース202は、外部機器を接続するためのインターフェースである。PCIバス203には、これら以外にネットワーク接続のためのインターフェース装置等も接続される。
The
次に、オブジェクト105のオブジェクトモデルについて説明する。図3は、オブジェクトのUMLクラス図である。UML(Unified Modeling Language)とは、OMG(Object Management Group)が使用を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このUMLは、オブジェクト指向によるソフトウェアの設計において広く用いられている。
Next, an object model of the
クラスとは、オブジェクトの設計図に相当する概念であり、オブジェクト内部に有する属性や操作や、他のオブジェクトとの関係を定義するものである。クラスは、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-
なお、クラス図において、属性や操作の左側に「-」記号を付した場合は、当該属性や操作が外部のクラスに非公開であることを示し、「+」記号を付した場合は、当該属性や操作が外部のクラスに公開されていることを示す。また、操作については「メッセージ受信()」のように「()」記号を付すことが通例であり、「(引数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 “(
オブジェクト105のクラスは、操作として、メッセージ受信()、不整合受信()、および処理()を有する。
The class of the
メッセージ受信()は、オブジェクトの内部処理の実行を要求するメッセージを外部機器または他のオブジェクトから受信する処理である。また、不整合受信()は、連携処理を行えない原因を通知する不整合通知メッセージを他のオブジェクトから受信する処理である。処理()は、オブジェクトの内部処理(内部状態や内部関数)である。 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
オブジェクト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
まず、図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
次に、テキストファイル読込オブジェクト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
図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
ここで、設定情報記憶部501は、テキストファイル読込オブジェクト401が内部処理に用いる設定情報であるパラメータ等のメタデータを記憶するものである。図7Aは、設定情報記憶部に記憶されている設定情報の一例を示す図である。設定情報記憶部501には、設定情報名と、設定情報値と、設定優先度と、選択カーソルと、が対応付けて記憶されている。設定優先度は、テキストファイル読込オブジェクト401が複数の設定情報値に基づいてテキストファイルを変換可能な場合に、その優先度を示すものである。本実施の形態では、設定優先度は、数字が小さい順に設定優先度が高いことを示している。また、選択カーソルは、実行部502の内部処理に用いた設定情報値にチェックを入れるカーソルである。つまり、チェックが入っている選択カーソルと対応付けて記憶されている設定情報名および設定情報値が、テキストファイル読込オブジェクト401の属性としてRAM205b上に展開されている設定情報名および設定情報値(データ)である。
Here, the setting
次に、実行部502は、設定情報記憶部501から取得した設定情報に含まれる設定情報値のうち、設定優先度が最も高い設定情報値(文字コード)に従って、テキストファイル読込オブジェクト401の操作である処理()である文字変換処理を読み込んだテキストファイルに対して実行する(ステップS603)。なお、取得した設定情報に含まれる設定情報値と対応付けられた選択カーソルにチェックが入っている場合、実行部502は、選択カーソルにチェックが入っている設定情報値の次に設定優先度が高い設定情報値に従って文字変換処理を実行するものとする。また、実行部502は、文字変換処理に用いた設定情報値と対応付けられた選択カーソルにチェックを入れた設定情報を設定情報記憶部501に記憶する(ステップS604)。
Next, the
図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
さらに、実行部502は、テキストファイル読込オブジェクト401が連携処理を行うテキスト印刷オブジェクト402の内部処理の実行を要求するものであって、文字変換処理を施したテキストファイルの内容および当該文字変換処理に用いた設定情報を含むメッセージを生成する(ステップS605)。そして、実行部502は、生成したメッセージを送信部503に送出する(ステップS606)。
Further, the
図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
また、メッセージ800は、符号802で示すように、オブジェクトが内部処理に用いた設定情報を示すメタデータであるinfo要素を含んでいる。具体的には、メッセージ800は、送信元のオブジェクトが内部処理に用いたパラメータのメタデータを含んでいる。例えば、メッセージ800は、送信元のオブジェクトであるテキストファイル読込オブジェクト401が文字変換処理に用いた設定情報名:文字コードや設定情報値:UTF-8のメタデータを含んでいる。
The
また、メッセージ800は、符号803で示すように、送信先のオブジェクトに送るテキストや画像などのデータの内容やタイトル(名前)などを示すメタデータであるentry要素を含んでいる。符号803で示すentry要素を含むメッセージ800を受信したオブジェクトは、entry要素が示すデータに対して当該オブジェクトの内部処理を実行する。
Further, as indicated by
送信部503は、通信部504を介して、実行部502により生成されたメッセージを、連携処理を行うテキスト印刷オブジェクト402に送信する(ステップS607)。ここで、通信部504は、ネットワークなど、連携処理を行うオブジェクト間において共通の通信路510上の他のオブジェクトと通信するためのものである。
The
本実施の形態では、通信部504は、テキストファイル読込オブジェクト401の識別情報、およびテキストファイル読込オブジェクト401が連携処理を行うオブジェクトであるテキスト印刷オブジェクト402の識別情報を記憶しているものとする。そして、通信部504は、メッセージを送信する際、記憶しているオブジェクトの識別情報を用いて当該メッセージを他のオブジェクトに送信するものとする。ここで、識別情報は、共通の通信路510(例えば、インターネット)上でオブジェクトを判別可能な情報である。
In the present embodiment, it is assumed that the
図9は、メッセージを受信したテキスト印刷オブジェクト402が内部処理(印刷処理)を行う際の処理手順を示すフローチャートである。まず、受信部505は、通信部504を介して、テキストファイル読込オブジェクト401から送信されたメッセージを、テキスト印刷オブジェクト402の操作であるメッセージ受信()により受信する(ステップS901)。
FIG. 9 is a flowchart illustrating a processing procedure when the
判断部507は、実行判断情報記憶部506から実行判断情報を取得する(ステップS902)。ここで、実行判断情報は、連携処理を行うテキストファイル読込オブジェクト401が内部処理に用いた設定情報であって、テキスト印刷オブジェクト402の内部処理を実行するために要求される当該設定情報の条件を示すものである。
The
図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
なお、実行判断情報が示す設定情報の条件にはワイルドカード(*で示す)を用いることができる。例えば、設定情報名の条件にワイルドカードが示されている場合、テキスト印刷オブジェクト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
判断部507は、受信部505により受信したメッセージが含む設定情報が、実行判断情報記憶部506に記憶する実行判断情報が示す設定情報の条件に該当するか否かを判断する。
The
本実施の形態では、判断部507は、まず、実行判断情報が示す設定情報名の条件にワイルドカードが用いられているか否かを判断する(ステップS903)。実行判断情報が示す設定情報名の条件にワイルドカードが用いられている場合(ステップS903:No)、判断部507は、受信したメッセージが含む設定情報が、実行判断情報が示す設定情報の条件に該当すると判断して、当該受信したメッセージを実行部502に送出して処理を終了する(ステップS908)。
In the present embodiment, the
一方、実行判断情報が示す設定情報名の条件にワイルドカードが用いられていない場合(ステップ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
そして、受信したメッセージが含む設定情報値が読み出した設定情報の条件に含まれる設定情報値に該当すると判断した場合(ステップ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
また、受信したメッセージが含む設定情報名が読み出した設定情報の条件に含まれる設定情報名に該当しないと判断した場合(ステップ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
図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
図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
次に、生成部508は、生成した不整合通知メッセージを送信部503に送出する(ステップS1103)。送信部503は、通信部504を介して、生成部508により生成された不整合通知メッセージを、メッセージの送信元であるテキストファイル読込オブジェクト401に送信する(ステップS1104)。
Next, the
図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
まず、実行部502は、判断部507から送出されたメッセージを受け取る(ステップS1301)。次いで、実行部502は、受け取ったメッセージを用いて、テキスト印刷オブジェクト402の内部処理である印刷処理を実行する(ステップS1302)。本実施の形態では、実行部502は、メッセージのinfo要素を参照してテキストファイル読込オブジェクト401により文字変換処理を施されたテキストファイルを取得し、取得したテキストファイルをUSBインターフェース201やIEEE1394インターフェース202を介して接続されたプリンタに出力する。
First, the
次に、実行部502は、他のオブジェクトにメッセージを送信するか否かを判断する(ステップS1303)。具体的には、実行部502は、テキスト印刷オブジェクト402の内部処理が行われたことを示す処理結果メッセージを送信元のオブジェクトであるテキストファイル読込オブジェクト401に送信するか否かを判断する。なお、処理結果メッセージを送信しないと判断した場合(ステップS1303:No)、そのまま処理が終了する。なお、処理結果メッセージを送信するか否かは予め設定されているものとする。
Next, the
処理結果メッセージを送信すると判断した場合(ステップS1303:Yes)、実行部502は、内部処理が正常に行われたことを示す処理結果メッセージを生成する(ステップS1304)。
If it is determined that the processing result message is to be transmitted (step S1303: Yes), the
そして、実行部502は、生成した処理結果メッセージを送信部503に送出する(ステップS1305)。送信部503は、通信部504を介して、実行部502により生成された処理結果メッセージを、受信したメッセージの送信元のオブジェクトであるテキストファイル読込オブジェクト401に送信する(ステップS1306)。
Then, the
図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
不整合判断部509は、受信部505により受信したメッセージが不整合通知メッセージであるか否かを判断する(ステップS1402)。具体的には、不整合判断部509は、受信したメッセージにerror要素が含まれているか否かにより不整合通知メッセージであるか否かを判断する。なお、受信したメッセージが不整合通知メッセージでないと判断した場合(ステップS1402:No)、そのまま処理を終了する。
The
受信したメッセージが不整合通知メッセージであると判断した場合(ステップ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
実行部502は、不整合判断部509から送出された設定情報に応じて、設定情報記憶部501から設定情報を抽出し、抽出した設定情報を用いて再度内部処理(図6に示す処理)を実行し、さらにテキスト印刷オブジェクト402に再度メッセージを送信する(ステップS1405)。
The
具体的には、実行部502は、設定情報記憶部501から取得した設定情報に含まれる設定情報値のうち、不整合判断部509から送出された設定情報に含まれる設定情報値(選択カーソルにチェックが入っている設定情報値)の次に設定優先度が高い設定情報値に従って文字変換処理を実行するものとする。
Specifically, the
ここで、図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
(第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
以下の説明では、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
まず、図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
次に、図17および図18を用いて、スキャンオブジェクト1601およびQRコード解析オブジェクト1602のオブジェクトモデルについて説明する。図17は、スキャンオブジェクトのUMLクラス図である。図18は、QRコード解析オブジェクトのUMLクラス図である。
Next, object models of the
スキャンオブジェクト1601のクラスは、操作として、メッセージ受信()、不整合受信()、およびスキャン処理()を有する。
The class of the
スキャン処理()は、スキャンオブジェクト1601の内部処理であり、USBインターフェース201やIEEE1394インターフェース202を介して接続されたスキャナを制御する処理である。スキャン処理()は、スキャンオブジェクト1601の操作であるスキャン処理を仮実行することができる。なお、メッセージ受信()および不整合受信()について第1実施の形態と同様であるため、ここでは説明を省略する。
The scan process () is an internal process of the
また、スキャンオブジェクト1601のクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、および仮実行結果の生成用テンプレートを有する。これらの属性と操作のうち、スキャン処理()、設定情報名、設定情報値、および仮実行結果の生成用テンプレートは、クラスの外部に公開されない。
Also, the class of the
オブジェクト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
メッセージ受信()は、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
また、QRコード解析オブジェクト1602のクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、および仮実行結果の生成用テンプレートを有する。これらの属性と操作のうち、QRコード解析処理()、設定情報名、設定情報値、および仮実行結果の生成用テンプレートは、クラスの外部に公開されない。
Also, the class of the QR
オブジェクト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
次に、スキャンオブジェクト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
図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
図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
ここで、仮実行とは、上述したように、実際にスキャンオブジェクト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
具体的には、スキャン処理のような処理前と処理後とでスキャナの物理的な状態が変化してしまう処理においては、実行部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
次に、仮実行部1901は、スキャンオブジェクト1601と連携処理を行うQRコード解析オブジェクト1602の内部処理の仮実行を要求するものであって、内部処理の仮実行により得られたデータおよび当該内部処理の仮実行に用いた設定情報を含むメッセージを生成する(ステップS2003)。そして、仮実行部1901は、生成したメッセージを送信部1902に送出する(ステップS2004)。
Next, the
図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
また、メッセージ2200は、符号2202で示すように、仮実行部1901が内部処理の仮実行に用いた設定情報を示すメタデータであるinfo要素を含んでいる。具体的には、メッセージ2200は、仮実行部1901が内部処理の仮実行に用いたパラメータのメタデータを含んでいる。例えば、メッセージ2200は、仮実行部1901が内部処理の仮実行に用いた設定情報名:解像度や設定情報値:300dpiのメタデータを含んでいる。
The
また、メッセージ2200は、符号2203で示すように、内部処理の仮実行により得られたデータのタイトルおよびデータの場所を示すメタデータであるentry要素を含んでいる。符号2203で示すentry要素を含むメッセージ2200を受信したQRコード解析オブジェクト1602は、内部処理の仮実行を行わないため、entry要素が示すデータに対して内部処理を実行する。
Further, as indicated by
送信部1902は、通信部504を介して、仮実行部1901により生成されたメッセージを、実行部502(スキャンオブジェクト1601)の内部処理の実行により得られたメッセージとして、連携処理を行うQRコード解析オブジェクト1602に送信する(ステップS2005)。なお、メッセージを受信したQRコード解析オブジェクトが内部処理を行う際の処理手順(図9に示す)、および内部処理を実行することができないと判断された場合の処理手順(図11に示す)は、第1実施の形態とほぼ同様であるため、ここでは説明を省略する。
The
図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
まず、実行部502は、判断部507から送出されたメッセージを受け取る(ステップS2301)。次いで、実行部502は、受け取ったメッセージを用いて、QRコード解析オブジェクト1602の操作であるQRコード解析処理を実行する(ステップS2302)。本実施の形態では、実行部502は、メッセージのinfo要素を参照してスキャンオブジェクト1601によりスキャンしたデータを取得し、取得したデータに含まれるQRコードの解析処理を実行する。
First, the
次に、実行部502は、他のオブジェクトにメッセージを送信するか否かを判断する(ステップS2303)。具体的には、実行部502は、QRコード解析オブジェクト1602のQRコード解析処理が行われたことを示す処理結果メッセージを送信元のオブジェクトであるスキャンオブジェクト1601に送信するか否かを判断する。なお、処理結果メッセージを送信しないと判断した場合(ステップS2303:No)、そのまま処理が終了する。
Next, the
処理結果メッセージを送信すると判断した場合(ステップS2303:Yes)、実行部502は、内部処理が正常に行われたことを示す処理結果メッセージを生成する(ステップS2304)。
If it is determined that the processing result message is to be transmitted (step S2303: YES), the
そして、実行部502は、生成した処理結果メッセージを送信部1902503に送出する(ステップS2305)。送信部1902は、通信部504を介して、実行部502により生成された処理結果メッセージを、受信したメッセージの送信元であるスキャンオブジェクト1601に送信する(ステップS2306)。
Then, the
図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
不整合判断部509は、受信部505により受信したメッセージが不整合通知メッセージであるか否かを判断する(ステップS2402)。具体的には、不整合判断部509は、受信したメッセージにerror要素が含まれているか否かにより不整合通知メッセージであるか否かを判断する。なお、受信したメッセージが不整合通知メッセージでないと判断した場合(ステップS2402:No)、そのまま処理を終了する。
The
図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
例えば、スキャンオブジェクト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
受信したメッセージが不整合通知メッセージであると判断した場合(ステップ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
仮実行部1901は、不整合判断部509から送出された設定情報を用いて、再度、内部処理を仮実行し、さらにQRコード解析オブジェクト1602に再度メッセージを送信する(ステップS2405)。その際、仮実行部1901は、不整合判断部509から送出された設定情報に含まれる設定情報値と対応付けられた選択カーソルにチェックを入れた設定情報を設定情報記憶部501に記憶するものとする。
The
なお、本実施の形態では、不整合判断部509から送出された設定情報を用いて仮実行部1901によって内部処理の仮実行を再度行っているが、これに限定するものではない。例えば、不整合通知メッセージがスキャンオブジェクト1601との連携処理が可能な設定情報を含む場合、不整合判断部509から送出されたメッセージおよび抽出した設定情報を実行部502に送出し、実行部502によるスキャン処理を実行してもよい。
In this embodiment, the
ここで、図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
これにより、スキャンオブジェクト1601のように紙文書をスキャンしてQRコード解析処理を行うためのデータを生成する場合等、スキャンオブジェクト1601の内部処理の処理前と処理後とで物理的な状態が変化する場合であっても、不整合通知メッセージの通知に従って再度内部処理の仮実行(または内部処理)を実行することにより、不整合を解消することができる。
As a result, the physical state changes before and after the internal processing of the
(第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
図27は、ソフトウェア開発システムの構成を示す説明図である。ソフトウェア開発システム2700は、ソフトウェア開発環境(エンジン102)を実現するPC100、およびオブジェクトが実体化されたデバイス2701を備えて構成されている。
FIG. 27 is an explanatory diagram showing the configuration of the software development system. The
PC100は、Web等の様々なネットワーク上のサービスが稼働しているインターネット2702に接続されているものとする。また、PC100は、操作表示部211の画面であるビットマップスクリーンと、マウスなどのポインティングデバイスと、キーボードなどの文字入力部と、を備えているものとする。
It is assumed that the
図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
入力部2801は、ポインティングデバイスや文字入力部を介して、文字列の入力やビットマップスクリーンに表示されたアイコンの選択や操作を受け付けるものである。ここで、ビットマップスクリーンに表示されたアイコンは、デバイス2701上に実現されたオブジェクトを視覚的に表現したものである。
The
編集部2802は、入力部2801により入力を受け付けた文字列、入力部2801により選択や操作が可能なアイコンを保持するものである。
The
表示部2803は、オブジェクト間の連携処理の様子をビットマップスクリーンに表示するものである。具体的には、表示部2803は、入力部2801により受け付けた文字列の入力やアイコンの選択や操作に応じて、編集部2802から文字列やアイコンを取得し、ビットマップスクリーンに表示する。
The
図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
本実施の形態では、ビットマップスクリーンには、オブジェクトの一覧であって、各オブジェクトを視覚的に表すアイコンを表示するオブジェクト一覧表示領域と、連携処理を行うオブジェクトであって、入力部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
なお、本実施の形態では、アイコンは、当該アイコンがどのオブジェクトを示しているかのインターネット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
図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
図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
図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
ここで、CASEツールを用いてソフトウェア開発が行われる場合、オブジェクトレイアウト表示部2803bは、各デバイス2702のオブジェクトの通信部504に記憶されているオブジェクトの識別情報を参照して、オブジェクトレイアウト表示領域3202に表示されたアイコンを実線等で結ぶことができ、この線によって動作フローを視覚的に表すことができる。
Here, when software development is performed using the CASE tool, the object
以下、オブジェクト仮実行部2804、オブジェクト実行部2805、オブジェクト監視部2806、およびオブジェクト通信部2807により実行される処理について説明する。
Hereinafter, processing executed by the temporary
まず、図33を用いて、デバイス2701上に実体化されたオブジェクトの仮実行部1901に仮実行を行わせる処理手順について説明する。図33は、オブジェクトの仮実行部に仮実行を行わせる処理のフローチャートである。
First, a processing procedure for causing the
オブジェクト仮実行部2804は、オブジェクトレイアウト表示領域3002にドロップされたアイコン群からオブジェクトの識別情報群を抽出する(ステップS3301)。その際、オブジェクト仮実行部2804は、連携処理を行う順番に合わせて各オブジェクトの識別情報を抽出するものとする。さらに、オブジェクト仮実行部2804は、抽出したオブジェクトの識別情報群をオブジェクト通信部2807に送出する(ステップS3302)。
The temporary
次に、オブジェクト通信部2807は、ウェブサーバ103を介して、オブジェクト仮実行部2804から受け取ったオブジェクトの識別情報群のうち、連携処理を開始する開始部分となるオブジェクトの識別情報に基づいて、内部処理の仮実行を要求するメッセージを送信する(ステップS3303)。オブジェクトにメッセージが送信された後は、上述の実施の形態で説明したオブジェクト間における連携処理が行われる。
Next, the
さらに、オブジェクト仮実行部2804は、オブジェクト監視部2806を監視状態に設定して処理を終了する(ステップS3304)。オブジェクト監視部2806は、ウェブサーバ103を介して、オブジェクト間で送受信されるメッセージを監視するものであり、メッセージの送受信が行われる毎にエンジン102により実現されるソフトウェア開発環境にフィードバックする。
Further, the temporary
このように、オブジェクト仮実行部2804と、上述の実施の形態にかかるオブジェクトが備える仮実行部1901と、を連携させることにより、連携処理を行うオブジェクトを組み合わせたソフトウェアを作成することができる。
As described above, by linking the object
ここで、図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
そして、オブジェクト監視部2806は、不整合通知メッセージを検知すると(ステップS3401)、編集部2802を介して表示部2803に対して、当該不整合通知メッセージの送信先のオブジェクトに設定する設定情報を入力させるためのダイアログ等(3406)の表示を要求する(ステップS3402)。
When the
入力部2801により設定情報が受け付けられると、オブジェクト監視部2806は、当該入力部2801により受け付けた設定情報を取得し(ステップS3403)、取得した設定情報をオブジェクト仮実行部2804に通知する(ステップS3404)。
When the setting information is received by the
なお、オブジェクト仮実行部2804は、オブジェクト監視部2806から設定情報が通知されると、当該設定情報を含むメッセージを生成し、オブジェクト通信部2807を介して生成したメッセージを、不整合通知メッセージの送信先のオブジェクトに送信するものとする(ステップS3405)。
When the setting information is notified from the
また、上述の実施の形態では、設定情報記憶部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
次に、図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
そして、オブジェクト監視部2806は、処理結果メッセージを検知すると(ステップS3501)、編集部2802を介して表示部2803に対して、オブジェクトレイアウト表示領域3503に内部処理が正常に行われた旨のアイコン等の表示3503aを行うことを要求する(ステップS3502)。これにより、オブジェクトの内部処理が成功した旨を視覚的に表現することができる。
When the
次に、図36を用いて、デバイス2701上に実体化されたオブジェクトの実行部502に内部処理を行わせる処理手順について説明する。図36は、オブジェクトの実行部に内部処理を行わせる処理のフローチャートである。
Next, a processing procedure for causing the
オブジェクト実行部2805は、オブジェクトレイアウト表示領域3002にドロップされたアイコン群からオブジェクトの識別情報群を抽出する(ステップS3601)。その際、オブジェクト実行部2805は、連携処理を行う順番に合わせて各オブジェクトの識別情報を抽出するものとする。さらに、オブジェクト実行部2805は、例えば、図30のオブジェクトレイアウト表示領域3002に表示された実行アイコンがクリックされた際に、抽出したオブジェクトの識別情報群をオブジェクト通信部2807に送出する(ステップS3602)。
The
次に、オブジェクト通信部2807は、オブジェクト実行部2805から受け取ったオブジェクトの識別情報群のうち、連携処理を開始する開始部分となるオブジェクトの識別情報に基づいて、内部処理の実行を要求するメッセージを送信する(ステップS3603)。オブジェクトにメッセージが送出された後は、上述の実施の形態で説明したオブジェクト間における連携処理が行われる。
Next, the
このように、オブジェクト実行部2805と、上述の実施の形態にかかるオブジェクトが備える実行部502と、を連携させることにより、連携処理を行うオブジェクトを組み合わせたソフトウェアを作成することができる。
As described above, by linking the
以上、本実施の形態にかかるPC100によれば、オブジェクトに連携処理を行わせるソフトウェアの開発が可能なソフトウェア開発環境を提供することができる。
As described above, according to the
(第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-
図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
図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
図37(d)は、PC100がLAN(Local Area Network)インターネット等のネットワークに接続され、ネットワーク上のダウンロードサイト3708から有線または無線でプログラムをPC100のHDD210にダウンロードし、ダウンロードしたプログラムを起動することにより、オブジェクト105をRAM205b上に実体化する例を示す図である。この場合、ダウンロードサイト3708が記憶媒体に相当する。
FIG. 37D shows that the
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
205 MEM-P
205a ROM
205b RAM
206 NB
207 SB
208 ASIC
209 MEM-C
210 HDD
211
1502 Object B
1503 Object C
1601
3704
3707
Claims (10)
前記第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オブジェクトは、前記メッセージが含む前記設定情報が前記実行判断情報に該当した場合、前記設定情報記憶手段に記憶する前記設定情報を用いて内部処理を実行することを特徴とする請求項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.
前記受信手段は、前記仮実行手段において仮実行した内部処理に用いた前記設定情報を含む前記メッセージを受信することを特徴とする請求項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.
前記第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:
受信手段が、前記第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オブジェクトが、前記メッセージが含む前記設定情報が前記実行判断情報に該当した場合、前記設定情報記憶手段に記憶する前記設定情報を用いて内部処理を実行する実行工程をさらに有することを特徴とする請求項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.
前記受信工程は、前記仮実行手段において仮実行した内部処理に用いた前記設定情報を含む前記メッセージを受信することを特徴とする請求項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 .
受信手段が、前記第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:
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)
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)
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 |
-
2008
- 2008-09-17 JP JP2008238686A patent/JP5169667B2/en not_active Expired - Fee Related
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 | |
US10848629B2 (en) | Image processing apparatus, image processing system, image processing method, and web browser program | |
US8384934B2 (en) | Image processing apparatus and method thereof | |
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 | |
US8823980B2 (en) | Printing system, image forming apparatus, data generation apparatus, storage apparatus, and control method | |
JP2014041634A (en) | Service processing system | |
JP2012128690A (en) | Information processor and method for controlling information processor | |
JP5169667B2 (en) | Object cooperation apparatus, object cooperation method, program, and recording medium | |
JP4661485B2 (en) | Job processing device | |
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 | |
JP7542980B2 (en) | Image processing system, image processing method and program | |
JP2005117544A (en) | Image forming apparatus, operation panel control method, and program for making computer implement the method | |
JP2007013288A (en) | Image forming apparatus and image forming system | |
JP2005190366A (en) | Service processor and system and input terminal | |
JP2005258626A (en) | Service processing device and program |
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 |