図面 (/)

技術 オブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体

出願人 株式会社リコー
発明者 中川勝樹
出願日 2008年9月17日 (13年2ヶ月経過) 出願番号 2008-238686
公開日 2010年4月2日 (11年7ヶ月経過) 公開番号 2010-072880
状態 特許登録済
技術分野 マルチプログラミング
主要キーワード 設定優先度 コンポーネント技術 処理結果メッセージ 事前条件 オブジェクトレイアウト 連携関係 属性区画 結び付き
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2010年4月2日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

オブジェクト間連携処理を動的かつ柔軟に行うことができるオブジェクト連携装置オブジェクト連携方法、プログラム、および記録媒体を提供する。

解決手段

オブジェクト同士が連携処理を行う際に、各オブジェクト内部処理に用いた設定情報の条件等を確認し、条件が満たされず不整合が発生した場合には、当該条件を満たすように条件を変更して不整合を解消させることができるので、従来のコンピュータネットワーク通信のように予めオブジェクト同士が連携処理を行う他のオブジェクトの内部関数を関知している必要がなく、オブジェクト間の連携処理の自由度が増すことができる。

概要

背景

近年、ネットワーク化進展に伴い、ネットワーク上に分散した複数のオブジェクトが互いに連携して処理を行うシステムが増えている。このような複数のオブジェクトが互いに連携して処理を行うための技術として、オブジェクト指向型プログラミングコンポーネント技術などがある。

例えば、特許文献1は、ネットワークに接続されたオブジェクトとオブジェクトまたはコンピュータとコンピュータを連携させてシステムを構築するオブジェクト連携装置が提案されている。具体的には、特許文献1に記載のオブジェクト連携装置は、連携関係にないオブジェクト間に連携関係を構築したり、構築された連携関係の間に新しいオブジェクトを加えて新たな連携関係を構築するものである。これにより、オブジェクトの連携関係におけるオブジェクトの参加や離脱に柔軟に対応することができるので、オブジェクトが互いに連携するシステムを柔軟に構築することができる。

特許第3727243号公報

概要

オブジェクト間の連携処理を動的かつ柔軟に行うことができるオブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体を提供する。オブジェクト同士が連携処理を行う際に、各オブジェクトの内部処理に用いた設定情報の条件等を確認し、条件が満たされず不整合が発生した場合には、当該条件を満たすように条件を変更して不整合を解消させることができるので、従来のコンピュータネットワーク通信のように予めオブジェクト同士が連携処理を行う他のオブジェクトの内部関数を関知している必要がなく、オブジェクト間の連携処理の自由度が増すことができる。

目的

本発明は、上記に鑑みてなされたものであって、オブジェクト間の連携処理を動的かつ柔軟に行うことができるオブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体を提供することを目的とする。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

設定情報を用いて固有内部処理を実行する他装置と連携して自装置の内部処理を実行するオブジェクト連携装置であって、他装置が内部処理に用いた前記設定情報であって、自装置の内部処理を実行するために要求される当該設定情報の条件を示す実行判断情報を記憶する実行判断情報記憶手段と、自装置の内部処理の実行を要求するものであって、他装置が内部処理に用いた前記設定情報を含むメッセージを受信する受信手段と、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当するか否かを判断する判断手段と、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当しないと判断した場合、自装置の内部処理が実行できない原因を通知する不整合通知メッセージを生成する生成手段と、生成した前記不整合通知メッセージを、受信した前記メッセージの送信元である他装置に送信する送信手段と、を備えたことを特徴とするオブジェクト連携装置。

請求項2

自装置の内部処理に用いる前記設定情報を記憶する設定情報記憶手段と、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当した場合、記憶する前記設定情報を用いて内部処理を実行する実行手段と、をさらに備え、前記送信手段は、内部処理に用いた前記設定情報を含む前記メッセージを、自装置と連携処理を行う他装置に送信し、前記受信手段は、さらに、前記不整合通知メッセージを受信し、前記実行手段は、さらに、前記不整合通知メッセージに含まれる原因に応じて前記設定情報記憶手段から前記設定情報を抽出し、抽出した前記設定情報を用いて、再度、内部処理を実行することを特徴とする請求項1に記載のオブジェクト連携装置。

請求項3

記憶する前記設定情報を用いて内部処理を仮実行する仮実行手段をさらに備え、前記送信手段は、さらに、仮実行に用いた前記設定情報を含むメッセージを内部処理に用いた前記設定情報を含む前記メッセージとして送信することを特徴とする請求項2に記載のオブジェクト連携装置。

請求項4

前記送信手段は、さらに、内部処理が実行されたことを示す処理結果メッセージを、受信した前記メッセージの送信元である他装置に送信することを特徴とする請求項2または3に記載のオブジェクト連携装置。

請求項5

設定情報を用いて固有の内部処理を実行する他装置と連携して自装置の内部処理を実行するオブジェクト連携装置のオブジェクト連携方法であって、実行判断情報記憶手段が、他装置が内部処理に用いた前記設定情報であって、自装置の内部処理を実行するために要求される当該設定情報の条件を示す実行判断情報を記憶する実行判断情報記憶工程と、受信手段が、自装置の内部処理の実行を要求するものであって、他装置が内部処理に用いた前記設定情報を含むメッセージを受信する受信工程と、判断手段が、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当するか否かを判断する判断工程と、生成手段が、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当しないと判断した場合、自装置の内部処理が実行できない原因を通知する不整合通知メッセージを生成する生成工程と、送信手段が、生成した前記不整合通知メッセージを、受信した前記メッセージの送信元である他装置に送信する送信工程と、を有することを特徴とするオブジェクト連携方法。

請求項6

設定情報記憶手段が、自装置の内部処理に用いる前記設定情報を記憶する設定情報記憶工程と、実行手段が、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当した場合、記憶する前記設定情報を用いて内部処理を実行する実行工程と、をさらに有し、前記送信工程は、内部処理に用いた前記設定情報を含む前記メッセージを、自装置と連携処理を行う他装置に送信し、前記受信工程は、さらに、前記不整合通知メッセージを受信し、前記実行工程は、さらに、前記不整合通知メッセージに含まれる原因に応じて前記記憶手段から前記設定情報を抽出し、抽出した前記設定情報を用いて、再度、内部処理を実行することを特徴とする請求項5に記載のオブジェクト連携方法。

請求項7

仮実行手段が、記憶する前記設定情報を用いて内部処理を仮実行する仮実行工程をさらに有し、前記送信工程は、さらに、仮実行に用いた前記設定情報を含むメッセージを内部処理に用いた前記設定情報を含む前記メッセージとして送信することを特徴とする請求項6に記載のオブジェクト連携方法。

請求項8

前記送信工程は、さらに、内部処理が実行されたことを示す処理結果メッセージを、受信した前記メッセージの送信元である他装置に送信することを特徴とする請求項6または7に記載のオブジェクト連携方法。

請求項9

請求項5から8のいずれか一に記載のオブジェクト連携方法の各工程をコンピュータに実行させるためのプログラム

請求項10

請求項5から8のいずれか一に記載のオブジェクト連携方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体

技術分野

0001

本発明は、オブジェクト連携装置オブジェクト連携方法、プログラム、および記録媒体に関するものである。

背景技術

0002

近年、ネットワーク化進展に伴い、ネットワーク上に分散した複数のオブジェクトが互いに連携して処理を行うシステムが増えている。このような複数のオブジェクトが互いに連携して処理を行うための技術として、オブジェクト指向型プログラミングコンポーネント技術などがある。

0003

例えば、特許文献1は、ネットワークに接続されたオブジェクトとオブジェクトまたはコンピュータとコンピュータを連携させてシステムを構築するオブジェクト連携装置が提案されている。具体的には、特許文献1に記載のオブジェクト連携装置は、連携関係にないオブジェクト間に連携関係を構築したり、構築された連携関係の間に新しいオブジェクトを加えて新たな連携関係を構築するものである。これにより、オブジェクトの連携関係におけるオブジェクトの参加や離脱に柔軟に対応することができるので、オブジェクトが互いに連携するシステムを柔軟に構築することができる。

0004

特許第3727243号公報

発明が解決しようとする課題

0005

ところで、実際にオブジェクトが他のオブジェクトと連携して処理を実行する場合、オブジェクトは、他のオブジェクトが固有に実行する内部処理に用いるパラメータ等の設定情報を把握しておく必要がある。

0006

例えば、設定情報が誤って設定された場合やオブジェクトが連携するために必要な事前条件を他のオブジェクトが満たしていなかった場合、オブジェクト同士が連携して処理を行えない不整合と呼ばれる事態が発生することがある。このため、オブジェクト同士が連携して処理を行えない場合には、連携して処理を行う段階において、オブジェクト内で設定情報を再設定したり、他のオブジェクトに事前条件を満たさせることで不整合の発生を防止することが望ましい。

0007

しかしながら、上記特許文献1に記載のオブジェクト連携装置では、オブジェクトと連携できるか否かの判断は行われているものの、オブジェクトが連携して処理を行えない不整合が発生した場合に、当該不整合を解消させる方法が考慮されていないため、実際にオブジェクトが連携して処理を行う段階において柔軟にオブジェクトを連携させることができない、という問題がある。

0008

本発明は、上記に鑑みてなされたものであって、オブジェクト間の連携処理を動的かつ柔軟に行うことができるオブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体を提供することを目的とする。

課題を解決するための手段

0009

上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、設定情報を用いて固有の内部処理を実行する他装置と連携して自装置の内部処理を実行するオブジェクト連携装置であって、他装置が内部処理に用いた前記設定情報であって、自装置の内部処理を実行するために要求される当該設定情報の条件を示す実行判断情報を記憶する実行判断情報記憶手段と、自装置の内部処理の実行を要求するものであって、他装置が内部処理に用いた前記設定情報を含むメッセージを受信する受信手段と、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当するか否かを判断する判断手段と、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当しないと判断した場合、自装置の内部処理が実行できない原因を通知する不整合通知メッセージを生成する生成手段と、生成した前記不整合通知メッセージを、受信した前記メッセージの送信元である他装置に送信する送信手段と、を備えたことを特徴とする。

0010

また、請求項2にかかる発明は、請求項1にかかる発明において、自装置の内部処理に用いる前記設定情報を記憶する設定情報記憶手段と、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当した場合、記憶する前記設定情報を用いて内部処理を実行する実行手段と、をさらに備え、前記送信手段は、内部処理に用いた前記設定情報を含む前記メッセージを、自装置と連携処理を行う他装置に送信し、前記受信手段は、さらに、前記不整合通知メッセージを受信し、前記実行手段は、さらに、前記不整合通知メッセージに含まれる原因に応じて前記設定情報記憶手段から前記設定情報を抽出し、抽出した前記設定情報を用いて、再度、内部処理を実行することを特徴とする。

0011

また、請求項3にかかる発明は、請求項2にかかる発明において、記憶する前記設定情報を用いて内部処理を仮実行する仮実行手段をさらに備え、前記送信手段は、さらに、仮実行に用いた前記設定情報を含むメッセージを内部処理に用いた前記設定情報を含む前記メッセージとして送信することを特徴とする。

0012

また、請求項4にかかる発明は、請求項2または3にかかる発明において、前記送信手段は、さらに、内部処理が実行されたことを示す処理結果メッセージを、受信した前記メッセージの送信元である他装置に送信することを特徴とする。

0013

また、請求項5にかかる発明は、設定情報を用いて固有の内部処理を実行する他装置と連携して自装置の内部処理を実行するオブジェクト連携装置のオブジェクト連携方法であって、実行判断情報記憶手段が、他装置が内部処理に用いた前記設定情報であって、自装置の内部処理を実行するために要求される当該設定情報の条件を示す実行判断情報を記憶する実行判断情報記憶工程と、受信手段が、自装置の内部処理の実行を要求するものであって、他装置が内部処理に用いた前記設定情報を含むメッセージを受信する受信工程と、判断手段が、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当するか否かを判断する判断工程と、生成手段が、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当しないと判断した場合、自装置の内部処理が実行できない原因を通知する不整合通知メッセージを生成する生成工程と、送信手段が、生成した前記不整合通知メッセージを、受信した前記メッセージの送信元である他装置に送信する送信工程と、を有することを特徴とする。

0014

また、請求項6にかかる発明は、請求項5にかかる発明において、設定情報記憶手段が、自装置の内部処理に用いる前記設定情報を記憶する設定情報記憶工程と、実行手段が、受信した前記メッセージが含む前記設定情報が、記憶する前記実行判断情報が示す前記設定情報の条件に該当した場合、記憶する前記設定情報を用いて内部処理を実行する実行工程と、をさらに有し、前記送信工程は、内部処理に用いた前記設定情報を含む前記メッセージを、自装置と連携処理を行う他装置に送信し、前記受信工程は、さらに、前記不整合通知メッセージを受信し、前記実行工程は、さらに、前記不整合通知メッセージに含まれる原因に応じて前記記憶手段から前記設定情報を抽出し、抽出した前記設定情報を用いて、再度、内部処理を実行することを特徴とする。

0015

また、請求項7にかかる発明は、請求項6にかかる発明において、仮実行手段が、記憶する前記設定情報を用いて内部処理を仮実行する仮実行工程をさらに有し、前記送信工程は、さらに、仮実行に用いた前記設定情報を含むメッセージを内部処理に用いた前記設定情報を含む前記メッセージとして送信することを特徴とする。

0016

また、請求項8にかかる発明は、請求項6または7にかかる発明において、前記送信工程は、さらに、内部処理が実行されたことを示す処理結果メッセージを、受信した前記メッセージの送信元である他装置に送信することを特徴とする。

0017

また、請求項9にかかる発明は、請求項5から8のいずれか一に記載のオブジェクト連携方法の各工程をコンピュータに実行させるためのものである。

0018

また、請求項10にかかる発明は、請求項5から8のいずれか一に記載のオブジェクト連携方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能なものである。

発明の効果

0019

本発明によれば、オブジェクトが連携処理を行う際に必要な条件等を確認し、条件が満たされない場合には条件を満たすようにオブジェクトが内部処理に用いる設定情報を変更して不整合を解消させるようにできるので、オブジェクト間の連携処理を動的かつ柔軟に行うことができる、という効果を奏する。

発明を実施するための最良の形態

0020

以下に添付図面を参照して、この発明にかかるオブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体の最良な実施の形態を詳細に説明する。なお、本実施の形態では、パーソナルコンピュータ(PC)に本発明のオブジェクト連携装置、オブジェクト連携方法、プログラム、および記録媒体を適用した例ついて説明する。但し、PC機に限られず、複合機MFP:Multi Function Peripheral)、プリンタファクシミリコピー機等の画像形成装置などにも本発明を適用することができる。

0021

(第1実施の形態)
図1は、本実施の形態にかかるPCのハードウェアおよびソフトウェアの構成を説明するための説明図である。図1に示すように、本実施の形態にかかるPC100は、各種機器からなるハードウェアリソース107を有する。このハードウェアリソース107に含まれる機器には、HDD(Hard Disk Drive)、ネットワークインターフェース、表示部やキーボード等の操作表示部などがある。

0022

このハードウェアリソース107を制御するソフトウェアシステムは、ウェブブラウザ(Web Browser)101、エンジン(Engine)102、ウェブサーバ(Web Server)103、CGI(Common Gateway Interface)104、オブジェクト105、およびオペレーティングシステム106を有している。

0023

オペレーティングシステム106は、その他のソフトウェアが動作するための基盤を提供する。ウェブブラウザ101は、操作表示部に画像データ等を表示するソフトウェアである。

0024

エンジン102は、ウェブブラウザ101を通じて、利用者ビジュアルプログラミングシステムを提供するソフトウェアである。ここで、ビジュアルプログラミングシステムとは、プログラムのモジュール等、固有の内部処理を実行するオブジェクト105を視覚的に表現した視覚情報であるアイコン等のラベルを表示し、ラベルが表示されたオブジェクト105の中から選択したオブジェクト105が連携して内部処理を実行するプログラムを作成・実行させるシステムである。

0025

CGI104は、エンジン102により選択されたオブジェクト105を起動するためのソフトウェアである。

0026

オブジェクト105は、分散したオブジェクト間での通信対話協調といった連携処理を行うものである。また、オブジェクト105は、オブジェクト間を流れるメッセージに対して各オブジェクトが反応して内部処理を実行する。また、オブジェクト105は、ソフトウェアシステムへの参加、離脱により、ソフトウェアシステム全体の動作を柔軟に変更させることができる。

0027

なお、本実施の形態では、PC100のソフトウェアシステム内を流れるメッセージに対してオブジェクト105が反応して内部処理を実行する例について説明するが、これに限定するものではない。例えば、共通の通信路を流れるメッセージに対して、他のPC、デバイス、当該他のPCやデバイス内で動作する個々のアプリケーションプログラム、または当該アプリケーションプログラム内で動作する個々のプログラムコンポーネント内で実現されたオブジェクトが反応する形で内部処理を実行することも可能である。

0028

ここで、共通の通信路は、単にLANなどの物理的ネットワークに限定されるものではなく、無線音声、光などメッセージを流すことができる媒体を介在するものであればよい。また、共通の通信路は、各オブジェクトが共通に呼び出し可能なメモリ等の記憶媒体、さらには通信路上ポートアドレス等など仮想的な存在であってもよい。

0029

ウェブサーバ103は、CGI104とエンジン102との間での情報送信を行うソフトウェアである。

0030

図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で接続した構成となる。

0031

コントローラ200は、PC100の全体制御を行う制御装置であり、CPU(Central Processing Unit)204と、システムメモリMEM−P)205と、ノースブリッジ(NB)206と、サウスブリッジ(SB)207と、ASIC(Application Specific IntegratedCircuit)208と、ローカルメモリ(MEM−C)209と、ハードディスクドライブ(HDD:Hard Disk Drive)210と、を有し、ノースブリッジ(NB)206とASIC208との間をAGP(Accelerated Graphics Port)15で接続した構成となる。

0032

CPU204は、各種ソフトウェアを実行するための演算装置である。本実施の形態に係るオブジェクト105を含む、PC100の各種機能を実現するためのソフトウェアシステム(図1に示す)は、MEM−C209もしくはHDD210に記憶保持され、必要に応じてMEM−P205にロードされてこのCPU204により実行される。

0033

MEM−P205は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタに出力する画像データの描画用メモリなどとして用いるシステムメモリであり、ROM(Read Only Memory)205aとRAM(Random Access Memory)205bとからなる。ROM205aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM205bは、プログラムやデータの展開用メモリ、プリンタに出力する画像データの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。

0034

NB206およびSB207は、MEM−P205やAGP15を制御する制御装置であり、NB206を介してCPU204とMEM−P205とSB207とAGP15とが接続される形をとる。NB206は、AGP15を介してASIC208とも接続され、その先にPCIバス203が接続される。

0035

ASIC208は、画像処理のための制御装置である。このASIC208は、MEM−C209やHDD210や操作表示部211のような周辺機器と接続され、これらの制御もおこなう。MEM−C209は、ASIC208が画像処理をおこなう画像データ等を一時記憶する記憶部であり、HDD210は、各種ソフトウェア、フォントデータ、蓄積するよう指示された画像データ等を記憶する記憶部である。操作表示部211は、利用者の操作を受け付け入力装置である。

0036

USBインターフェース201およびIEEE1394インターフェース202は、外部機器を接続するためのインターフェースである。PCIバス203には、これら以外にネットワーク接続のためのインターフェース装置等も接続される。

0037

次に、オブジェクト105のオブジェクトモデルについて説明する。図3は、オブジェクトのUMLクラス図である。UML(Unified Modeling Language)とは、OMG(Object Management Group)が使用を策定しているシステムモデリング言語であり、モデリング成果記述する記法を定義したものである。このUMLは、オブジェクト指向によるソフトウェアの設計において広く用いられている。

0038

クラスとは、オブジェクトの設計図に相当する概念であり、オブジェクト内部に有する属性や操作や、他のオブジェクトとの関係を定義するものである。クラスは、UMLクラス図においては、3段の区画を有する矩形として記述される。それぞれの区画は、上から名前区画、属性区画、および操作区画と呼ばれる。名前区画には、当該クラスの名称が記述され、属性区画には、当該クラスが有するデータ(属性)が記述され、操作区画には、当該クラスが有する手続(操作)が記述される。

0039

このように、クラスは、データ(属性)を所持するための属性区画と、かかる属性の書込みおよび読み出しを行う手続き(操作)を所持するための操作区画とを有している。これらのクラスは、ソフトウェアの一部として含まれるので、予めMEM−C209に格納されたソフトウェアが実行されると、各クラスはRAM205bの所定領域に実体化され、属性区画に含まれる各データ(属性)がRAM205b上に展開される。したがって、クラスが実体化したオブジェクト105は、RAM205b上の各データ(属性)の書き込みおよび読み出しを行うことが可能となる。

0040

なお、クラス図において、属性や操作の左側に「-」記号を付した場合は、当該属性や操作が外部のクラスに非公開であることを示し、「+」記号を付した場合は、当該属性や操作が外部のクラスに公開されていることを示す。また、操作については「メッセージ受信()」のように「()」記号を付すことが通例であり、「(引数1,引数2)」のように、かかる操作に引き渡す引数を記述する場合もある。

0041

オブジェクト105のクラスは、操作として、メッセージ受信()、不整合受信()、および処理()を有する。

0042

メッセージ受信()は、オブジェクトの内部処理の実行を要求するメッセージを外部機器または他のオブジェクトから受信する処理である。また、不整合受信()は、連携処理を行えない原因を通知する不整合通知メッセージを他のオブジェクトから受信する処理である。処理()は、オブジェクトの内部処理(内部状態や内部関数)である。

0043

また、オブジェクト105のクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、およびテンプレートを有する。これらの属性と操作のうち、処理()、設定情報名、設定情報値、およびテンプレートは、クラスの外部に公開されない。

0044

オブジェクトIDは、オブジェクトを特定するための情報である。オブジェクトの名前は、オブジェクトの名称である。オブジェクトのURLは、オブジェクトを指定する情報である。オブジェクトの種類は、オブジェクトが実行する内部処理の種類である。設定情報名は、オブジェクトが内部処理に用いるパラメータ等の設定情報の名称である。設定情報値は、オブジェクトが内部処理に用いるパラメータの値である。テンプレートは、オブジェクト間で送受信するメッセージの書式である。

0045

次に、図3に示すオブジェクトモデルにより印刷処理を行う場合のオブジェクトの詳細な機能構成および印刷処理を行うオブジェクトの操作の実行手順について説明する。より具体的には、HDD210に記憶されているテキストファイルを読み込んで所定の文字コードに変換した後、変換後のテキストファイルをプリンタに出力して印刷処理を行う例について説明する。

0046

まず、図4を用いて、印刷処理を行うオブジェクトの関係について説明する。図4は、印刷処理を行うオブジェクトの関係を示す図である。

0047

図4に示すように、印刷処理は、HDD210に記憶されているテキストファイルを読み込むテキストファイル読込オブジェクト401、およびテキストファイル読込オブジェクト401により読み込んだテキストファイルをUSBインターフェース201やIEEE1394インターフェース202を介して接続されたプリンタに出力するテキスト印刷オブジェクト402の連携処理により行われるものとする。テキストファイル読込オブジェクト401およびテキスト印刷オブジェクト402は、互いにメッセージ403およびメッセージ404を送出し送出されたメッセージに反応して内部処理を実行する。

0048

次に、テキストファイル読込オブジェクト401およびテキスト印刷オブジェクト402の詳細な機能構成およびテキストファイル読込オブジェクト401およびテキスト印刷オブジェクト402の操作の実行手順について説明する。図5は、テキスト読込オブジェクトおよびテキスト印刷オブジェクトの機能構成を示すブロック図である。図5に示すように、テキストファイル読込オブジェクト401およびテキスト印刷オブジェクト402は、設定情報記憶部501、実行部502、送信部503、通信部504、受信部505、実行判断情報記憶部506、判断部507、生成部508、および不整合判断部509を備えて構成される。なお、テキストファイル読込オブジェクト401およびテキスト印刷オブジェクト402は、それぞれ共通の通信路510で接続されているものとする。

0049

図6は、テキスト読込オブジェクトからテキスト印刷オブジェクトにメッセージを送信する処理手順を示すフローチャートである。まず、実行部502は、設定情報記憶部501から設定情報を取得する(ステップS601)。さらに、実行部502は、HDD210に記憶されているテキストファイルを読み込む(ステップS602)。

0050

ここで、設定情報記憶部501は、テキストファイル読込オブジェクト401が内部処理に用いる設定情報であるパラメータ等のメタデータを記憶するものである。図7Aは、設定情報記憶部に記憶されている設定情報の一例を示す図である。設定情報記憶部501には、設定情報名と、設定情報値と、設定優先度と、選択カーソルと、が対応付けて記憶されている。設定優先度は、テキストファイル読込オブジェクト401が複数の設定情報値に基づいてテキストファイルを変換可能な場合に、その優先度を示すものである。本実施の形態では、設定優先度は、数字が小さい順に設定優先度が高いことを示している。また、選択カーソルは、実行部502の内部処理に用いた設定情報値にチェックを入れるカーソルである。つまり、チェックが入っている選択カーソルと対応付けて記憶されている設定情報名および設定情報値が、テキストファイル読込オブジェクト401の属性としてRAM205b上に展開されている設定情報名および設定情報値(データ)である。

0051

次に、実行部502は、設定情報記憶部501から取得した設定情報に含まれる設定情報値のうち、設定優先度が最も高い設定情報値(文字コード)に従って、テキストファイル読込オブジェクト401の操作である処理()である文字変換処理を読み込んだテキストファイルに対して実行する(ステップS603)。なお、取得した設定情報に含まれる設定情報値と対応付けられた選択カーソルにチェックが入っている場合、実行部502は、選択カーソルにチェックが入っている設定情報値の次に設定優先度が高い設定情報値に従って文字変換処理を実行するものとする。また、実行部502は、文字変換処理に用いた設定情報値と対応付けられた選択カーソルにチェックを入れた設定情報を設定情報記憶部501に記憶する(ステップS604)。

0052

図7Bは、選択カーソルにチェックが入っている設定情報値に従って文字変換処理を実行する例の説明図である。取得した設定情報に含まれる設定情報値(現在選択されている設定情報):UTF-8と対応付けられた選択カーソルにチェックが入っている場合(図7B(a)に示す)、実行部502は、設定情報値:UTF-8の次に設定優先度が高い設定情報値(次に優先して選択される設定情報):Shift_JISに従って文字変換処理を実行する(図7B(b)に示す)。そして、実行部502は、設定情報値:Shift_JISと対応付けられた選択カーソルにチェックを入れた設定情報を設定情報記憶部501に記憶する。

0053

さらに、実行部502は、テキストファイル読込オブジェクト401が連携処理を行うテキスト印刷オブジェクト402の内部処理の実行を要求するものであって、文字変換処理を施したテキストファイルの内容および当該文字変換処理に用いた設定情報を含むメッセージを生成する(ステップS605)。そして、実行部502は、生成したメッセージを送信部503に送出する(ステップS606)。

0054

図8は、実行部により生成されるメッセージの一例を示す図である。本実施の形態では、実行部502は、XML形式のメッセージ800を生成するものとする。メッセージ800は、符号801で示すように、送信元のオブジェクト(テキストファイル読込オブジェクト401)の場所(URL)および送信先のオブジェクト(テキスト印刷オブジェクト402)の場所を示す情報(URL)を含んでいる。

0055

また、メッセージ800は、符号802で示すように、オブジェクトが内部処理に用いた設定情報を示すメタデータであるinfo要素を含んでいる。具体的には、メッセージ800は、送信元のオブジェクトが内部処理に用いたパラメータのメタデータを含んでいる。例えば、メッセージ800は、送信元のオブジェクトであるテキストファイル読込オブジェクト401が文字変換処理に用いた設定情報名:文字コードや設定情報値:UTF-8のメタデータを含んでいる。

0056

また、メッセージ800は、符号803で示すように、送信先のオブジェクトに送るテキストや画像などのデータの内容やタイトル(名前)などを示すメタデータであるentry要素を含んでいる。符号803で示すentry要素を含むメッセージ800を受信したオブジェクトは、entry要素が示すデータに対して当該オブジェクトの内部処理を実行する。

0057

送信部503は、通信部504を介して、実行部502により生成されたメッセージを、連携処理を行うテキスト印刷オブジェクト402に送信する(ステップS607)。ここで、通信部504は、ネットワークなど、連携処理を行うオブジェクト間において共通の通信路510上の他のオブジェクトと通信するためのものである。

0058

本実施の形態では、通信部504は、テキストファイル読込オブジェクト401の識別情報、およびテキストファイル読込オブジェクト401が連携処理を行うオブジェクトであるテキスト印刷オブジェクト402の識別情報を記憶しているものとする。そして、通信部504は、メッセージを送信する際、記憶しているオブジェクトの識別情報を用いて当該メッセージを他のオブジェクトに送信するものとする。ここで、識別情報は、共通の通信路510(例えば、インターネット)上でオブジェクトを判別可能な情報である。

0059

図9は、メッセージを受信したテキスト印刷オブジェクト402が内部処理(印刷処理)を行う際の処理手順を示すフローチャートである。まず、受信部505は、通信部504を介して、テキストファイル読込オブジェクト401から送信されたメッセージを、テキスト印刷オブジェクト402の操作であるメッセージ受信()により受信する(ステップS901)。

0060

判断部507は、実行判断情報記憶部506から実行判断情報を取得する(ステップS902)。ここで、実行判断情報は、連携処理を行うテキストファイル読込オブジェクト401が内部処理に用いた設定情報であって、テキスト印刷オブジェクト402の内部処理を実行するために要求される当該設定情報の条件を示すものである。

0061

図10は、実行判断情報記憶部に記憶されている実行判断情報の一例を示す図である。実行判断情報記憶部506は、上述したように、テキストファイル読込オブジェクト401が文字変換処理に用いた設定情報であって、テキスト印刷オブジェクト402の内部処理である印刷処理を実行するために要求される設定情報の条件を示す実行判断情報1000を記憶するものである。具体的には、実行判断情報記憶部506は、設定情報(例えば、設定情報名:文字コード,フォント等、および設定情報値:Shift_JIS,EUC-JP等)の条件を示す実行判断情報1000を記憶している。

0062

なお、実行判断情報が示す設定情報の条件にはワイルドカード(*で示す)を用いることができる。例えば、設定情報名の条件にワイルドカードが示されている場合、テキスト印刷オブジェクト402は、テキストファイル読込オブジェクト401が内部処理に用いた設定情報名にかかわらず印刷処理が実行可能であることを示している。また、設定情報値の条件にワイルドカードが示されている場合、テキスト印刷オブジェクト402は、テキストファイル読込オブジェクト401が内部処理に用いた設定情報値にかかわらず印刷処理が実行可能であることを示している。

0063

判断部507は、受信部505により受信したメッセージが含む設定情報が、実行判断情報記憶部506に記憶する実行判断情報が示す設定情報の条件に該当するか否かを判断する。

0064

本実施の形態では、判断部507は、まず、実行判断情報が示す設定情報名の条件にワイルドカードが用いられているか否かを判断する(ステップS903)。実行判断情報が示す設定情報名の条件にワイルドカードが用いられている場合(ステップS903:No)、判断部507は、受信したメッセージが含む設定情報が、実行判断情報が示す設定情報の条件に該当すると判断して、当該受信したメッセージを実行部502に送出して処理を終了する(ステップS908)。

0065

一方、実行判断情報が示す設定情報名の条件にワイルドカードが用いられていない場合(ステップS903:Yes)、判断部507は、取得した実行判断情報が示す設定情報の条件を順に読み出し(ステップS904)、受信したメッセージが含む設定情報名が読み出した設定情報の条件に含まれる設定情報名に該当するか否かを判断する(ステップS905)。受信したメッセージが含む設定情報名が読み出した設定情報の条件に含まれる設定情報名に該当すると判断した場合(ステップS905:Yes)、判断部507は、受信したメッセージが含む設定情報値が読み出した設定情報の条件に含まれる設定情報値に該当するか否かを判断する(ステップS906)。

0066

そして、受信したメッセージが含む設定情報値が読み出した設定情報の条件に含まれる設定情報値に該当すると判断した場合(ステップS906:Yes)、判断部507は、取得した実行判断情報から全ての設定情報の条件を読み出したか否かを判断する(ステップS907)。そして、取得した実行判断情報から全ての設定情報の条件を読み出したと判断した場合(ステップS907:Yes)、判断部507は、受信したメッセージが含む設定情報が、実行判断情報が示す設定情報の条件に該当すると判断して、当該受信したメッセージを実行部502に送出して処理を終了する(ステップS908)。一方、取得した実行判断情報から全ての設定情報の条件を読み出していないと判断した場合(ステップS907:No)、ステップS904に戻る。

0067

また、受信したメッセージが含む設定情報名が読み出した設定情報の条件に含まれる設定情報名に該当しないと判断した場合(ステップS905:No)、判断部507は、受信したメッセージ、および読み出した設定情報の条件に含まれる設定情報名に該当しないと判断した当該受信したメッセージが含む設定情報名を生成部508に送出する(ステップS909)。また、受信したメッセージが含む設定情報値が読み出した設定情報の条件に含まれる設定情報値に該当しないと判断した場合(ステップS906:No)、判断部507は、受信したメッセージ、および読み出した設定情報の条件に含まれる設定情報値に該当しないと判断した当該受信したメッセージが含む設定情報値を生成部508に送出する(ステップS909)。

0068

図11は、内部処理を実行することができないと判断された場合の処理手順を示すフローチャートである。具体的には、図9に示すステップS909において、受信したメッセージおよび読み出した設定情報の条件に該当しないと判断した設定情報が生成部508に送出された場合の処理手順である。

0069

まず、生成部508は、判断部507から送出されたメッセージおよび設定情報を受け取る(ステップS1101)。次いで、生成部508は、受け取ったメッセージおよび設定情報を用いて、テキスト印刷オブジェクト402の内部処理が実行できない原因を通知する不整合通知メッセージを生成する(ステップS1102)。本実施の形態では、生成部508は、判断部507から送出されたメッセージに、テキスト印刷オブジェクト402の内部処理が実行できない原因である判断部507から送出された設定情報を追加した不整合通知メッセージを生成する。

0070

図12は、生成部により生成される不整合通知メッセージの一例を示す図である。本実施の形態では、生成部508は、図8に示すメッセージと同様、XML形式の不整合通知メッセージ1200を生成するものとする。不整合通知メッセージ1200は、符号1201で示すように、送信元のオブジェクト(テキストファイル読込オブジェクト401)の実行部502で生成されたメッセージ800に、テキスト印刷オブジェクト402の内部処理が実行できない原因である設定情報を示すメタデータであるerror要素を含んでいる。具体的には、不整合通知メッセージ1200は、図9に示すステップS905またはステップS906において読み出した設定情報の条件に該当しないと判断した設定情報名および設定情報値の少なくとも1つを含むものである。

0071

次に、生成部508は、生成した不整合通知メッセージを送信部503に送出する(ステップS1103)。送信部503は、通信部504を介して、生成部508により生成された不整合通知メッセージを、メッセージの送信元であるテキストファイル読込オブジェクト401に送信する(ステップS1104)。

0072

図13は、内部処理を実行することができると判断された場合の処理手順を示すフローチャートである。具体的には、図9に示すステップS908において、受信したメッセージが実行部502に送出された場合の処理手順である。

0073

まず、実行部502は、判断部507から送出されたメッセージを受け取る(ステップS1301)。次いで、実行部502は、受け取ったメッセージを用いて、テキスト印刷オブジェクト402の内部処理である印刷処理を実行する(ステップS1302)。本実施の形態では、実行部502は、メッセージのinfo要素を参照してテキストファイル読込オブジェクト401により文字変換処理を施されたテキストファイルを取得し、取得したテキストファイルをUSBインターフェース201やIEEE1394インターフェース202を介して接続されたプリンタに出力する。

0074

次に、実行部502は、他のオブジェクトにメッセージを送信するか否かを判断する(ステップS1303)。具体的には、実行部502は、テキスト印刷オブジェクト402の内部処理が行われたことを示す処理結果メッセージを送信元のオブジェクトであるテキストファイル読込オブジェクト401に送信するか否かを判断する。なお、処理結果メッセージを送信しないと判断した場合(ステップS1303:No)、そのまま処理が終了する。なお、処理結果メッセージを送信するか否かは予め設定されているものとする。

0075

処理結果メッセージを送信すると判断した場合(ステップS1303:Yes)、実行部502は、内部処理が正常に行われたことを示す処理結果メッセージを生成する(ステップS1304)。

0076

そして、実行部502は、生成した処理結果メッセージを送信部503に送出する(ステップS1305)。送信部503は、通信部504を介して、実行部502により生成された処理結果メッセージを、受信したメッセージの送信元のオブジェクトであるテキストファイル読込オブジェクト401に送信する(ステップS1306)。

0077

図14は、不整合通知メッセージを受信した場合の処理手順を示すフローチャートである。まず、受信部505は、通信部504を介して、テキスト印刷オブジェクト402から送信されたメッセージを、テキストファイル読込オブジェクト401の操作である不整合受信()により受信する(ステップS1401)。

0078

不整合判断部509は、受信部505により受信したメッセージが不整合通知メッセージであるか否かを判断する(ステップS1402)。具体的には、不整合判断部509は、受信したメッセージにerror要素が含まれているか否かにより不整合通知メッセージであるか否かを判断する。なお、受信したメッセージが不整合通知メッセージでないと判断した場合(ステップS1402:No)、そのまま処理を終了する。

0079

受信したメッセージが不整合通知メッセージであると判断した場合(ステップS1402:Yes)、不整合判断部509は、受信した不整合通知メッセージから、テキスト印刷オブジェクト402が内部処理を実行できない原因であるerror要素が示す設定情報を抽出する(ステップS1403)。さらに、不整合判断部509は、受信した不整合通知メッセージおよび抽出した設定情報を実行部502に送出する(ステップS1404)。

0080

実行部502は、不整合判断部509から送出された設定情報に応じて、設定情報記憶部501から設定情報を抽出し、抽出した設定情報を用いて再度内部処理(図6に示す処理)を実行し、さらにテキスト印刷オブジェクト402に再度メッセージを送信する(ステップS1405)。

0081

具体的には、実行部502は、設定情報記憶部501から取得した設定情報に含まれる設定情報値のうち、不整合判断部509から送出された設定情報に含まれる設定情報値(選択カーソルにチェックが入っている設定情報値)の次に設定優先度が高い設定情報値に従って文字変換処理を実行するものとする。

0082

ここで、図15を用いて、上述したオブジェクトの連携処理により得られる効果について説明する。図15は、連携処理を行うオブジェクトを模式的に示すブロック図である。図15に示す例は、オブジェクトA(1501)、オブジェクトB(1502)、およびオブジェクトC(1503)がメッセージを送受信する主体となるオブジェクトであるものとする。また、メッセージM1(1504)、メッセージM2(1505)、メッセージM3(1506)、およびメッセージM4(1507)は、オブジェクト間を流れるメッセージであり、メッセージを示す矢印の起点がメッセージの送信を表し、終点がメッセージの受信を表している。さらに、処理A1(1501a)、処理A2(1502a)、および処理A3(1503a)は、各オブジェクトの内部関数による処理であり、各オブジェクトが固有に実行する内部処理に相当するものである。

0083

図15に示すように、オブジェクトA(1501)とオブジェクトB(1502)との連携処理は、メッセージM1(1504)を介して行われる。オブジェクトA(1501)は、基本的には、オブジェクトB(1502)の持つ内部関数について関知せずにメッセージを送信する。なお、各オブジェクトは、連携処理を行う他のオブジェクトの内部関数(操作)には関知しないが、共通の操作であるメッセージ受信と不整合受信を持つことは、全てのオブジェクトについて共通であるものとする。そして、オブジェクト間のメッセージのやりとりは、各オブジェクトが操作区画に有するメッセージ受信の呼び出しにより行われるものとする。また、不整合通知メッセージのやりとりは、各オブジェクトが操作区画に有する不整合受信の呼び出しにより行われるものとする。

0084

オブジェクトB(1502)は、メッセージM1(1504)を受信し、メッセージM1(1504)に基づいてオブジェクトB(1502)の内部処理が実行可能であると判断した場合、メッセージM1(1504)の受信に反応して処理A2を起動する。

0085

また、オブジェクトB(1502)の内部処理が実行できないと判断した場合、オブジェクトB(1502)は、オブジェクトA(1501)に不整合通知メッセージであるメッセージM4(1507)を送信して、オブジェクトA(1501)の処理A1(1501a)に用いた設定情報の不備(メッセージM1(1504)が含む不備)を通知する。これにより、オブジェクトA(1501)は、不整合(処理A1(1501a)に用いた設定情報の不備)を解消するように、再度処理A1(1501a)を実行して新たにメッセージM1(1504)を生成してオブジェクトB(1502)に送信することができるので、仮に連携処理の途中で何か不具合が生じた場合にも回復して連携処理を継続することが可能となる。

0086

なお、受信したメッセージM1(1504)がオブジェクトB(1502)にとって関連のないものである場合、つまり、メッセージM1(1504)に含まれる送信先のオブジェクトの場所を示す情報(URL)がオブジェクトB1(1502)を示すものでない場合、オブジェクトB(1502)は何の反応もしない。

0087

つまり、オブジェクトA(1501)とオブジェクトB(1502)とは、有為な連携を取り得るが、それはオブジェクトA(1501)とオブジェクトB(1502)との間で送受信されるメッセージM1(1504)およびメッセージM4(1507)による結び付きによるものといえる。

0088

なお、オブジェクトB(1502)とオブジェクトC(1503)との連携処理についても、上述したオブジェクトA(1501)とオブジェクトB(1502)との連携処理と同様にして行われるものとする。また、連携処理を行うオブジェクトは、2つだけに限らず、例えば、オブジェクトA(1501)からオブジェクトB(1502)にメッセージM1(1504)を送信し、さらにオブジェクトB(1502)からオブジェクトC(1503)にメッセージM2(1505)を送信することにより、3つ以上のオブジェクトによる連携処理を行うことも可能である。

0089

このように、本実施の形態にかかるPC100によれば、オブジェクトが内部処理を実行することができないと判断した場合、連携処理を行う他のオブジェクトに当該内部処理を実行できない原因を通知することにより、オブジェクトが連携処理を行う際に必要な条件等を確認し、条件が満たされない場合には条件を満たすようにオブジェクトが内部処理に用いる設定情報を変更して不整合を解消することができるので、オブジェクト間の連携処理を動的かつ柔軟に行うことができる。

0090

(第2実施の形態)
本実施の形態にかかるPCは、オブジェクトの内部処理の実行により物理的な状態が変化する場合、実際に内部処理の仮実行を行わず、あたかも内部処理を実行したかのような処理結果を得ることができる内部処理の仮実行を行うものである。なお、PC100の構成については、第1実施の形態とほぼ同様であるため、第1実施の形態と異なる部分の処理のみを説明する。

0091

以下の説明では、USBインターフェース201やIEEE1394インターフェース202を介して接続されたスキャナを用いてスキャン処理を行い、スキャン処理により得られたデータに含まれるQRコード解析処理を行う例について説明する。

0092

まず、図16を用いて、スキャン処理およびQRコードの解析処理を行うオブジェクトの関係について説明する。図16は、スキャン処理およびQRコードの解析処理を行うオブジェクトの関係を示す図ある。

0093

図16に示すより、スキャン処理およびQRコードの解析処理は、USBインターフェース201やIEEE1394インターフェース202を介して接続されたスキャナを用いてスキャン処理を行うスキャンオブジェクト1601、およびスキャンオブジェクト1601によるスキャン処理により得られたデータに含まれるQRコードの解析処理を行うQRコード解析オブジェクト1602の連携処理により行われるものとする。スキャンオブジェクト1601およびQRコード解析オブジェクト1602は、互いにメッセージ1603およびメッセージ1604を送出し、送出されたメッセージに反応して内部処理を実行する。

0094

次に、図17および図18を用いて、スキャンオブジェクト1601およびQRコード解析オブジェクト1602のオブジェクトモデルについて説明する。図17は、スキャンオブジェクトのUMLクラス図である。図18は、QRコード解析オブジェクトのUMLクラス図である。

0095

スキャンオブジェクト1601のクラスは、操作として、メッセージ受信()、不整合受信()、およびスキャン処理()を有する。

0096

スキャン処理()は、スキャンオブジェクト1601の内部処理であり、USBインターフェース201やIEEE1394インターフェース202を介して接続されたスキャナを制御する処理である。スキャン処理()は、スキャンオブジェクト1601の操作であるスキャン処理を仮実行することができる。なお、メッセージ受信()および不整合受信()について第1実施の形態と同様であるため、ここでは説明を省略する。

0097

また、スキャンオブジェクト1601のクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、および仮実行結果の生成用テンプレートを有する。これらの属性と操作のうち、スキャン処理()、設定情報名、設定情報値、および仮実行結果の生成用テンプレートは、クラスの外部に公開されない。

0098

オブジェクトIDは、オブジェクトを特定するための情報であり、例えば、“ScanObject”である。オブジェクトの名前は、オブジェクトの名称であり、例えば、“スキャンオブジェクト”である。オブジェクトのURLは、オブジェクトを指定する情報であり、例えば、“http://example.com/scanObject”である。オブジェクトの種類は、オブジェクトが実行する内部処理の種類であり、例えば、“入力”である。設定情報名は、オブジェクトが内部処理に用いるパラメータ等の設定情報の名称であり、例えば、“解像度”である。設定情報値は、オブジェクトが内部処理に用いるパラメータの値であり、例えば、“300dpi”である。テンプレートは、オブジェクト間で送受信するメッセージの書式である。仮実行結果の生成用テンプレートは、メッセージに含めるダミーのデータであり、例えば、“ダミーのJPEGデータ”である。

0099

QRコード解析オブジェクト1602のクラスは、操作として、メッセージ受信()、不整合受信()、およびQRコード解析処理()を有する。

0100

メッセージ受信()は、QRコード解析オブジェクト1602の内部処理の実行または仮実行を要求するメッセージをスキャンオブジェクト1601から受信する処理である。また、不整合受信()は、連携処理を行えない原因を通知する不整合通知メッセージを他のオブジェクトから受信する処理である。QRコード解析処理()は、QRコード解析オブジェクト1602の内部処理であり、スキャンオブジェクト1601のスキャン処理により得られたデータに含まれるQRコードを解析する処理である。なお、QRコード解析処理()は、内部処理の仮実行を行わないものとする。

0101

また、QRコード解析オブジェクト1602のクラスは、属性として、オブジェクトID、オブジェクトの名前、オブジェクトのURL、オブジェクトの種類、設定情報名、設定情報値、および仮実行結果の生成用テンプレートを有する。これらの属性と操作のうち、QRコード解析処理()、設定情報名、設定情報値、および仮実行結果の生成用テンプレートは、クラスの外部に公開されない。

0102

オブジェクトIDは、オブジェクトを特定するための情報であり、例えば、“QR Code Object”である。オブジェクトの名前は、オブジェクトの名称であり、例えば、“QRコード解析オブジェクト”である。オブジェクトのURLは、オブジェクトを指定する情報であり、例えば、“http://example.com/qrCodeObject”である。オブジェクトの種類は、オブジェクトが実行する内部処理の種類であり、例えば、“加工”である。設定情報名は、オブジェクトが内部処理に用いるパラメータ等の設定情報の名称であり、例えば、“解像度”である。設定情報値は、オブジェクトが内部処理に用いるパラメータの値であり、例えば、“600dpi”である。テンプレートは、オブジェクト間で送受信するメッセージの書式である。仮実行結果の生成用テンプレートは、メッセージに含めるダミーのデータであり、QRコード解析オブジェクト1602は内部処理の仮実行を行わないため、“なし”である。

0103

次に、スキャンオブジェクト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で接続されているものとする。

0104

図20は、スキャンオブジェクトからQRコードオブジェクトにメッセージを送信する処理手順を示すフローチャートである。まず、仮実行部1901は、設定情報記憶部501から設定情報を取得する(ステップS2001)。次に、仮実行部1901は、設定情報記憶部501から取得した設定情報に含まれる設定情報値のうち、設定優先度が最も高い設定情報値(解像度)をスキャナに設定して、スキャンオブジェクト1601の操作であるスキャン処理を仮実行する(ステップS2002)。

0105

図21は、選択カーソルにチェックが入っている設定情報値に従って仮実行を行う例の説明図である。取得した設定情報に含まれる設定情報値(現在選択されている設定情報):300dpiと対応付けられた選択カーソルにチェックが入っている場合(図21(a)に示す)、仮実行部1901は、設定情報値:300dpiの次に設定優先度が高い設定情報値(次に優先して選択される設定情報):600dpiに従ってスキャン処理を仮実行する(図21(b)に示す)。そして、仮実行部1901は、設定情報値:600dpiと対応付けられた選択カーソルにチェックを入れた設定情報を設定情報記憶部501に記憶する。

0106

ここで、仮実行とは、上述したように、実際にスキャンオブジェクト1601の内部処理であるスキャン処理を行わず、仮実行結果の生成用テンプレートを用いて、あたかもスキャン処理を行ったかのようなデータ(例えば、ダミーのJPEGデータ)を生成する処理である。例えば、ADF原稿台にセットされた原稿読み取りを行わず、原稿がセットされていないコンタクトガラススキャンする処理である。

0107

具体的には、スキャン処理のような処理前と処理後とでスキャナの物理的な状態が変化してしまう処理においては、実行部502によるスキャン処理の実行後に不整合通知メッセージを受信した場合、当該不整合通知メッセージに従って設定情報を再設定したとしても、再度スキャン処理を行うためには物理的な状態を元に戻さなければならない。例えば、ADFを用いて原稿のスキャン処理を実行して不整合通知メッセージを受信した場合には、再度スキャン処理を行う必要が生じ、そのためには排出部に排出された原稿を再度ADFの原稿台にセットしなおさなければならない。そこで、本実施の形態では、実行部502による内部処理を行わずに、仮実行部1901によって内部処理を仮実行することを実現し、前述の不都合を解消している。

0108

次に、仮実行部1901は、スキャンオブジェクト1601と連携処理を行うQRコード解析オブジェクト1602の内部処理の仮実行を要求するものであって、内部処理の仮実行により得られたデータおよび当該内部処理の仮実行に用いた設定情報を含むメッセージを生成する(ステップS2003)。そして、仮実行部1901は、生成したメッセージを送信部1902に送出する(ステップS2004)。

0109

図22は、仮実行部により生成されるメッセージの一例を示す図である。本実施の形態では、仮実行部1901は、XML形式のメッセージ2200を生成するものとする。メッセージ2200は、符号2201で示すように、送信元のオブジェクト(スキャンオブジェクト1601)の場所を示す情報(URL)および送信先のオブジェクト(QRコード解析オブジェクト1602)の場所を示す情報(URL)を含んでいる。

0110

また、メッセージ2200は、符号2202で示すように、仮実行部1901が内部処理の仮実行に用いた設定情報を示すメタデータであるinfo要素を含んでいる。具体的には、メッセージ2200は、仮実行部1901が内部処理の仮実行に用いたパラメータのメタデータを含んでいる。例えば、メッセージ2200は、仮実行部1901が内部処理の仮実行に用いた設定情報名:解像度や設定情報値:300dpiのメタデータを含んでいる。

0111

また、メッセージ2200は、符号2203で示すように、内部処理の仮実行により得られたデータのタイトルおよびデータの場所を示すメタデータであるentry要素を含んでいる。符号2203で示すentry要素を含むメッセージ2200を受信したQRコード解析オブジェクト1602は、内部処理の仮実行を行わないため、entry要素が示すデータに対して内部処理を実行する。

0112

送信部1902は、通信部504を介して、仮実行部1901により生成されたメッセージを、実行部502(スキャンオブジェクト1601)の内部処理の実行により得られたメッセージとして、連携処理を行うQRコード解析オブジェクト1602に送信する(ステップS2005)。なお、メッセージを受信したQRコード解析オブジェクトが内部処理を行う際の処理手順(図9に示す)、および内部処理を実行することができないと判断された場合の処理手順(図11に示す)は、第1実施の形態とほぼ同様であるため、ここでは説明を省略する。

0113

図23は、内部処理を実行することができると判断された場合の処理手順を示すフローチャートである。具体的には、図9に示すステップS908において、受信したメッセージがQRコード解析オブジェクト1602の実行部502に送出された場合の処理手順である。

0114

まず、実行部502は、判断部507から送出されたメッセージを受け取る(ステップS2301)。次いで、実行部502は、受け取ったメッセージを用いて、QRコード解析オブジェクト1602の操作であるQRコード解析処理を実行する(ステップS2302)。本実施の形態では、実行部502は、メッセージのinfo要素を参照してスキャンオブジェクト1601によりスキャンしたデータを取得し、取得したデータに含まれるQRコードの解析処理を実行する。

0115

次に、実行部502は、他のオブジェクトにメッセージを送信するか否かを判断する(ステップS2303)。具体的には、実行部502は、QRコード解析オブジェクト1602のQRコード解析処理が行われたことを示す処理結果メッセージを送信元のオブジェクトであるスキャンオブジェクト1601に送信するか否かを判断する。なお、処理結果メッセージを送信しないと判断した場合(ステップS2303:No)、そのまま処理が終了する。

0116

処理結果メッセージを送信すると判断した場合(ステップS2303:Yes)、実行部502は、内部処理が正常に行われたことを示す処理結果メッセージを生成する(ステップS2304)。

0117

そして、実行部502は、生成した処理結果メッセージを送信部1902503に送出する(ステップS2305)。送信部1902は、通信部504を介して、実行部502により生成された処理結果メッセージを、受信したメッセージの送信元であるスキャンオブジェクト1601に送信する(ステップS2306)。

0118

図24は、不整合通知メッセージを受信した場合の処理手順を示すフローチャートである。まず、受信部505は、通信部504を介して、QRコード解析オブジェクト1602から送信されたメッセージを、スキャンオブジェクト1601の操作である不整合受信()により受信する(ステップS2401)。

0119

不整合判断部509は、受信部505により受信したメッセージが不整合通知メッセージであるか否かを判断する(ステップS2402)。具体的には、不整合判断部509は、受信したメッセージにerror要素が含まれているか否かにより不整合通知メッセージであるか否かを判断する。なお、受信したメッセージが不整合通知メッセージでないと判断した場合(ステップS2402:No)、そのまま処理を終了する。

0120

図25は、不整合通知メッセージの一例を示す図である。本実施の形態にかかる不整合通知メッセージ2500も、第1実施の形態と同様、XML形式のメッセージである。不整合通知メッセージ2500は、符号2501で示すように、送信元のオブジェクト(スキャンオブジェクト1601)の実行部502で生成されたメッセージ2200に、スキャンオブジェクト1601との連携処理が可能な設定情報を示すメタデータであるerror要素を含んでいる。本実施の形態では、生成部508は、実行部502によりQRコード解析処理が可能な設定情報名および設定情報値を含む不整合通知メッセージ2500を生成するものとする。

0121

例えば、スキャンオブジェクト1601から解像度:300dpiでスキャン処理を行ったデータに対するQRコード解析処理の実行要求を受けた場合、生成部508は、QRコード解析処理が可能な解像度:600dpiを含む不整合通知メッセージ2500を生成する。

0122

受信したメッセージが不整合通知メッセージであると判断した場合(ステップS2402:Yes)、不整合判断部509は、受信した不整合通知メッセージからスキャンオブジェクト1601との連携処理が可能な設定情報であるerror要素を抽出する(ステップS2403)。さらに、不整合判断部509は、受信した不整合通知メッセージおよび抽出した設定情報を仮実行部1901に送出する(ステップS2404)。

0123

仮実行部1901は、不整合判断部509から送出された設定情報を用いて、再度、内部処理を仮実行し、さらにQRコード解析オブジェクト1602に再度メッセージを送信する(ステップS2405)。その際、仮実行部1901は、不整合判断部509から送出された設定情報に含まれる設定情報値と対応付けられた選択カーソルにチェックを入れた設定情報を設定情報記憶部501に記憶するものとする。

0124

なお、本実施の形態では、不整合判断部509から送出された設定情報を用いて仮実行部1901によって内部処理の仮実行を再度行っているが、これに限定するものではない。例えば、不整合通知メッセージがスキャンオブジェクト1601との連携処理が可能な設定情報を含む場合、不整合判断部509から送出されたメッセージおよび抽出した設定情報を実行部502に送出し、実行部502によるスキャン処理を実行してもよい。

0125

ここで、図26を用いて、上述したオブジェクトの連携処理により得られる効果について説明する。図26は、連携処理を行うオブジェクトを模式的に示すブロック図である。図26に示すように、本実施の形態では、スキャンオブジェクト1601は、まず、スキャン処理を仮実行し(ステップS2601)、その結果を含むメッセージをQRコード解析オブジェクト1602に送信する(ステップS2602)。次いで、QRコード解析オブジェクト1602は、内部処理が実行できないと判断した場合、不整合通知メッセージをスキャンオブジェクト1601に送信する(ステップS2603)。そして、スキャンオブジェクト1602は、不整合通知メッセージからerror要素が示す設定情報を抽出し、抽出した設定情報を用いて再度内部処理を仮実行し(ステップS2604)、その結果を含むメッセージをQRコード解析オブジェクト1602に再度送信する(ステップS2605)。

0126

これにより、スキャンオブジェクト1601のように紙文書をスキャンしてQRコード解析処理を行うためのデータを生成する場合等、スキャンオブジェクト1601の内部処理の処理前と処理後とで物理的な状態が変化する場合であっても、不整合通知メッセージの通知に従って再度内部処理の仮実行(または内部処理)を実行することにより、不整合を解消することができる。

0127

(第3実施の形態)
本実施の形態では、オブジェクトに連携処理を行わせるソフトウェアを開発するソフトウェア開発環境について説明する。

0128

なお、本実施の形態では、アイコン手段を用いて操作表示部211の画面上でグラフカルにソフトウェアの開発を行うソフトウェア開発環境を主要な例として説明するが、これに限定されるものではない。例えば、テキストエディタなどによる文字入力手段を用いて画面上で文字入力によりソフトウェア開発を行うソフトウェア開発環境、あるいはアイコン手段より一連の処理を行うソフトウェアを開発することができるCASEツールにも同様に用いることができる。

0129

図27は、ソフトウェア開発システムの構成を示す説明図である。ソフトウェア開発システム2700は、ソフトウェア開発環境(エンジン102)を実現するPC100、およびオブジェクトが実体化されたデバイス2701を備えて構成されている。

0130

PC100は、Web等の様々なネットワーク上のサービス稼働しているインターネット2702に接続されているものとする。また、PC100は、操作表示部211の画面であるビットマップスクリーンと、マウスなどのポインティングデバイスと、キーボードなどの文字入力部と、を備えているものとする。

0131

図28は、PC上に実現されるソフトウェア開発環境の機能構成を示すブロック図である。図28に示すように、ソフトウェア開発環境であるエンジン102は、入力部2801、編集部2802、表示部2803、オブジェクト仮実行部2804、オブジェクト実行部2805、オブジェクト監視部2806、およびオブジェクト通信部2807を備えて構成されている。

0132

入力部2801は、ポインティングデバイスや文字入力部を介して、文字列の入力やビットマップスクリーンに表示されたアイコンの選択や操作を受け付けるものである。ここで、ビットマップスクリーンに表示されたアイコンは、デバイス2701上に実現されたオブジェクトを視覚的に表現したものである。

0133

編集部2802は、入力部2801により入力を受け付けた文字列、入力部2801により選択や操作が可能なアイコンを保持するものである。

0134

表示部2803は、オブジェクト間の連携処理の様子をビットマップスクリーンに表示するものである。具体的には、表示部2803は、入力部2801により受け付けた文字列の入力やアイコンの選択や操作に応じて、編集部2802から文字列やアイコンを取得し、ビットマップスクリーンに表示する。

0135

図29は、表示部の詳細な機能構成を示すブロック図である。表示部2803は、オブジェクト一覧表示部2803aおよびオブジェクトレイアウト表示部2803bを備えて構成されている。オブジェクト一覧表示部2803aは、インターネット2702を介して接続されたデバイス2701上に実現されたオブジェクトの一覧をビットマップスクリーンに表示するものである。オブジェクトレイアウト表示部2803bは、オブジェクト一覧表示部2803aによりビットマップスクリーンに表示されたオブジェクトのうち、入力部2801により受け付けたアイコンの選択に従って連携処理を行うオブジェクトをビットマップスクリーンに表示するものである。

0136

本実施の形態では、ビットマップスクリーンには、オブジェクトの一覧であって、各オブジェクトを視覚的に表すアイコンを表示するオブジェクト一覧表示領域と、連携処理を行うオブジェクトであって、入力部2801を介して受け付けたアイコンの選択に従ってアイコンを適切な位置に表示するオブジェクトレイアウト表示領域と、がある。ユーザは、マウス等を操作してオブジェクト一覧表示領域に表示されているオブジェクトのアイコンをドラッグし、オブジェクトレイアウト表示領域にドロップすることにより、ソフトウェアの開発をグラフィカルに行うことができる。

0137

なお、本実施の形態では、アイコンは、当該アイコンがどのオブジェクトを示しているかのインターネット2702上で判別するため識別情報と、オブジェクトを視覚的に表す絵と、がセットになったものである。また、識別情報は、例えば、インターネット2702上でユニークとなる整数や文字列により構成されるものとする。

0138

図30は、ビットマップスクリーンの画面構成の一例を示す図である。図30に示すように、表示部2803は、ビットマップスクリーン3000上に、オブジェクト一覧表示領域3001およびオブジェクトレイアウト表示領域3002を設ける。そして、ユーザは、マウス等を操作してオブジェクト一覧表示領域3001に表示されているアイコンをドラッグし、オブジェクトレイアウト表示領域3002にドロップすることにより、ソフトウェアの開発を行うことができる。

0139

図31は、テキストエディタなどによる文字入力手段を用いてソフトウェア開発を行う場合におけるビットマップスクリーンの画面構成を示す図である。図31に示すように、表示部2803は、ビットマップスクリーン3100上に、文字列表示領域3101を設ける。表示部2803は、入力部2801により受け付けた文字列であって、編集部2802に保持されている文字列を文字列表示領域3101に表示する。これにより、ユーザは、文字列表示領域3101に表示された文字列を見ながらソフトウェアの開発を行うことができる。

0140

図32は、CASEツールを用いてソフトウェア開発を行う場合におけるビットマップスクリーンの画面構成を示す図である。図32に示すように、表示部2803は、ビットマップスクリーン上3200上に、オブジェクト一覧表領域3201およびオブジェクトレイアウト表示領域3202を設ける。そして、ユーザは、マウス等を操作してオブジェクト一覧表示領域3201に表示されているアイコンをドラッグし、オブジェクトレイアウト表示領域3202にドロップすることにより、ソフトウェアの開発を行うことができる。

0141

ここで、CASEツールを用いてソフトウェア開発が行われる場合、オブジェクトレイアウト表示部2803bは、各デバイス2702のオブジェクトの通信部504に記憶されているオブジェクトの識別情報を参照して、オブジェクトレイアウト表示領域3202に表示されたアイコンを実線等で結ぶことができ、この線によって動作フローを視覚的に表すことができる。

0142

以下、オブジェクト仮実行部2804、オブジェクト実行部2805、オブジェクト監視部2806、およびオブジェクト通信部2807により実行される処理について説明する。

0143

まず、図33を用いて、デバイス2701上に実体化されたオブジェクトの仮実行部1901に仮実行を行わせる処理手順について説明する。図33は、オブジェクトの仮実行部に仮実行を行わせる処理のフローチャートである。

0144

オブジェクト仮実行部2804は、オブジェクトレイアウト表示領域3002にドロップされたアイコン群からオブジェクトの識別情報群を抽出する(ステップS3301)。その際、オブジェクト仮実行部2804は、連携処理を行う順番に合わせて各オブジェクトの識別情報を抽出するものとする。さらに、オブジェクト仮実行部2804は、抽出したオブジェクトの識別情報群をオブジェクト通信部2807に送出する(ステップS3302)。

0145

次に、オブジェクト通信部2807は、ウェブサーバ103を介して、オブジェクト仮実行部2804から受け取ったオブジェクトの識別情報群のうち、連携処理を開始する開始部分となるオブジェクトの識別情報に基づいて、内部処理の仮実行を要求するメッセージを送信する(ステップS3303)。オブジェクトにメッセージが送信された後は、上述の実施の形態で説明したオブジェクト間における連携処理が行われる。

0146

さらに、オブジェクト仮実行部2804は、オブジェクト監視部2806を監視状態に設定して処理を終了する(ステップS3304)。オブジェクト監視部2806は、ウェブサーバ103を介して、オブジェクト間で送受信されるメッセージを監視するものであり、メッセージの送受信が行われる毎にエンジン102により実現されるソフトウェア開発環境にフィードバックする。

0147

このように、オブジェクト仮実行部2804と、上述の実施の形態にかかるオブジェクトが備える仮実行部1901と、を連携させることにより、連携処理を行うオブジェクトを組み合わせたソフトウェアを作成することができる。

0148

ここで、図34および図35を用いて、オブジェクト間で送受信されるメッセージを監視する処理について説明する。図34は、オブジェクト間で不整合通知メッセージが送受信された場合の処理の説明図である。図35は、オブジェクト間で処理結果メッセージが送受信された場合の処理の説明図である。

0149

まず、図34を用いて、オブジェクト間において不整合通知メッセージが送受信された場合の処理について説明する。まず、オブジェクト監視部2806は、オブジェクト仮実行部2804により監視状態に設定されると、共通の通信路510上を流れるメッセージを監視する状態に移る。

0150

そして、オブジェクト監視部2806は、不整合通知メッセージを検知すると(ステップS3401)、編集部2802を介して表示部2803に対して、当該不整合通知メッセージの送信先のオブジェクトに設定する設定情報を入力させるためのダイアログ等(3406)の表示を要求する(ステップS3402)。

0151

入力部2801により設定情報が受け付けられると、オブジェクト監視部2806は、当該入力部2801により受け付けた設定情報を取得し(ステップS3403)、取得した設定情報をオブジェクト仮実行部2804に通知する(ステップS3404)。

0152

なお、オブジェクト仮実行部2804は、オブジェクト監視部2806から設定情報が通知されると、当該設定情報を含むメッセージを生成し、オブジェクト通信部2807を介して生成したメッセージを、不整合通知メッセージの送信先のオブジェクトに送信するものとする(ステップS3405)。

0153

また、上述の実施の形態では、設定情報記憶部501に記憶されている設定情報に含まれる設定情報値のうち、設定優先度が高い設定情報値に従って、オブジェクトの内部処理または内部処理の仮実行を行ったが、これに限定するものではない。例えば、エンジン102(オブジェクト仮実行部2804)から設定情報を含むメッセージを受信した場合、オブジェクトの実行部502または仮実行部1901は受信したメッセージに含まれる設定情報を用いて内部処理または内部処理の仮実行を行ってもよい。

0154

次に、図35を用いて、オブジェクト間において処理結果メッセージが送受信された場合の処理について説明する。まず、オブジェクト監視部2806は、オブジェクト仮実行部2804により監視状態に設定されると、共通の通信路510上を流れるメッセージを監視する状態に移る。

0155

そして、オブジェクト監視部2806は、処理結果メッセージを検知すると(ステップS3501)、編集部2802を介して表示部2803に対して、オブジェクトレイアウト表示領域3503に内部処理が正常に行われた旨のアイコン等の表示3503aを行うことを要求する(ステップS3502)。これにより、オブジェクトの内部処理が成功した旨を視覚的に表現することができる。

0156

次に、図36を用いて、デバイス2701上に実体化されたオブジェクトの実行部502に内部処理を行わせる処理手順について説明する。図36は、オブジェクトの実行部に内部処理を行わせる処理のフローチャートである。

0157

オブジェクト実行部2805は、オブジェクトレイアウト表示領域3002にドロップされたアイコン群からオブジェクトの識別情報群を抽出する(ステップS3601)。その際、オブジェクト実行部2805は、連携処理を行う順番に合わせて各オブジェクトの識別情報を抽出するものとする。さらに、オブジェクト実行部2805は、例えば、図30のオブジェクトレイアウト表示領域3002に表示された実行アイコンがクリックされた際に、抽出したオブジェクトの識別情報群をオブジェクト通信部2807に送出する(ステップS3602)。

0158

次に、オブジェクト通信部2807は、オブジェクト実行部2805から受け取ったオブジェクトの識別情報群のうち、連携処理を開始する開始部分となるオブジェクトの識別情報に基づいて、内部処理の実行を要求するメッセージを送信する(ステップS3603)。オブジェクトにメッセージが送出された後は、上述の実施の形態で説明したオブジェクト間における連携処理が行われる。

0159

このように、オブジェクト実行部2805と、上述の実施の形態にかかるオブジェクトが備える実行部502と、を連携させることにより、連携処理を行うオブジェクトを組み合わせたソフトウェアを作成することができる。

0160

以上、本実施の形態にかかるPC100によれば、オブジェクトに連携処理を行わせるソフトウェアの開発が可能なソフトウェア開発環境を提供することができる。

0161

(第4実施の形態)
第1実施の形態および第2実施の形態では、MEM−C209に格納されているソフトウェアを起動して、RAM205b上にオブジェクト105を実体化する例について説明したが、これに限定するものではない。プログラムをPC100にインストールし、当該プログラムを起動することによりオブジェクト105を実体化できる媒体であればよい。

0162

図37は、オブジェクトを実体化できるプログラムを格納する記憶媒体の一例を示す図である。

0163

図37(a)は、PC100が備えるHDD210にインストールされているプログラムを起動することによりオブジェクト105をRAM205b上に実体化する例を示す図である。この場合、HDD210が記憶媒体に相当する。

0164

図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などが利用できる。

0165

図37(d)は、PC100がLAN(Local Area Network)インターネット等のネットワークに接続され、ネットワーク上のダウンロードサイト3708から有線または無線でプログラムをPC100のHDD210にダウンロードし、ダウンロードしたプログラムを起動することにより、オブジェクト105をRAM205b上に実体化する例を示す図である。この場合、ダウンロードサイト3708が記憶媒体に相当する。

図面の簡単な説明

0166

第1実施の形態にかかるPCのハードウェアおよびソフトウェアの構成を説明するための説明図である。
第1実施の形態にかかるPCのハードウェア構成を示すブロック図である。
オブジェクトのUMLクラス図である。
印刷処理を行うオブジェクトの関係を示す図である。
テキスト読込オブジェクトおよびテキスト印刷オブジェクトの機能構成を示すブロック図である。
テキスト読込オブジェクトからテキスト印刷オブジェクトにメッセージを送信する処理手順を示すフローチャートである。
設定情報記憶部に記憶されている設定情報の一例を示す図である。
選択カーソルにチェックが入っている設定情報値に従って文字変換処理を実行する例の説明図である。
実行部により生成されるメッセージの一例を示す図である。
メッセージを受信したテキスト印刷オブジェクトが内部処理(印刷処理)を行う際の処理手順を示すフローチャートである。
実行判断情報記憶部に記憶されている実行判断情報の一例を示す図である。
内部処理を実行することができないと判断された場合の処理手順を示すフローチャートである。
生成部により生成される不整合通知メッセージの一例を示す図である。
内部処理を実行することができると判断された場合の処理手順を示すフローチャートである。
不整合通知メッセージを受信した場合の処理手順を示すフローチャートである。
連携処理を行うオブジェクトを模式的に示すブロック図である。
スキャン処理およびQRコードの解析処理を行うオブジェクトの関係を示す図ある。
スキャンオブジェクトのUMLクラス図である。
QRコード解析オブジェクトのUMLクラス図である。
スキャンオブジェクトおよびQRコード解析オブジェクトの機能構成を示すブロック図である。
スキャンオブジェクトからQRコードオブジェクトにメッセージを送信する処理手順を示すフローチャートである。
選択カーソルにチェックが入っている設定情報値に従って仮実行を行う例の説明図である。
仮実行部により生成されるメッセージの一例を示す図である。
内部処理を実行することができると判断された場合の処理手順を示すフローチャートである。
不整合通知メッセージを受信した場合の処理手順を示すフローチャートである。
不整合通知メッセージの一例を示す図である。
連携処理を行うオブジェクトを模式的に示すブロック図である。
ソフトウェア開発システムの構成を示す説明図である。
PC上に実現されるソフトウェア開発環境の機能構成を示すブロック図である。
表示部の詳細な機能構成を示すブロック図である。
ビットマップスクリーンの画面構成の一例を示す図である。
テキストエディタなどによる文字入力手段を用いてソフトウェア開発を行う場合におけるビットマップスクリーンの画面構成を示す図である。
CASEツールを用いてソフトウェア開発を行う場合におけるビットマップスクリーンの画面構成を示す図である。
オブジェクトの仮実行部に仮実行を行わせる処理のフローチャートである。
オブジェクト間で不整合通知メッセージが送受信された場合の処理の説明図である。
オブジェクト間で処理結果メッセージが送受信された場合の処理の説明図である。
オブジェクトの実行部に内部処理を行わせる処理のフローチャートである。
オブジェクトを実体化できるプログラムを格納する記憶媒体の一例を示す図である。

符号の説明

0167

100,2701 PC
101ウェブブラウザ
102エンジン
103ウェブサーバ
104CGI
105オブジェクト
106オペレーティングシステム
107ハードウェアリソース
200コントローラ
201USBインターフェース
202IEEE1394インターフェース
203PCIバス
204 CPU
205MEM−P
205a ROM
205b RAM
206 NB
207 SB
208ASIC
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スキャンオブジェクト
1602QRコード解析オブジェクト
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フレキシブルディスク
3703CD−ROM
3704MOディスク
3705磁気ディスク
3706 DVD
3707半導体メモリ
3708 ダウンロードサイト

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ