JP2004054942A - Information processor and information processing method - Google Patents

Information processor and information processing method Download PDF

Info

Publication number
JP2004054942A
JP2004054942A JP2003198160A JP2003198160A JP2004054942A JP 2004054942 A JP2004054942 A JP 2004054942A JP 2003198160 A JP2003198160 A JP 2003198160A JP 2003198160 A JP2003198160 A JP 2003198160A JP 2004054942 A JP2004054942 A JP 2004054942A
Authority
JP
Japan
Prior art keywords
data
client
processing
template
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003198160A
Other languages
Japanese (ja)
Inventor
Hajime Enomoto
榎本 肇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003198160A priority Critical patent/JP2004054942A/en
Publication of JP2004054942A publication Critical patent/JP2004054942A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide consistency of data notations or the like between a client and a system by providing a means for mediating a process between the client and a plurality of service modules. <P>SOLUTION: The information processor and the information processing method has a plurality of service modules, a template, a processing procedure information outputting means, an applying means for selecting a service module, and a control means for carrying out conversion or the like of a data format. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【産業上の利用分野】
本発明は,クライアントがサーバと対話しながら、クライアントの意図にしたがったサービスを実行してゆくようにした情報処理装置および情報処理方法に関する。
【0002】
【従来の技術】
従来から情報処理装置の画面に向かって対話を行いつつ処理を実行することが行われる。そして、特開昭63−138430号公報、特開昭63−138431号公報に示すように、システムがオブジェクトや管理プログラムを意識することなく処理を実行するようにすることが知られている。
【0003】
ある課題を解決し処理結果を得るためには、好奇心から意図が発生し、その意図を満足させるようなサービス・システムが必要となる。このために図30のようなクライアント・サーバ間の対話モデルを考えると、意図をグラフ構造によって表現したオブジェクト・ネットワークによって定義することが考えられる。そして、個々の意図が逐次あるいは並行的にサービスを行う対話図式によって、オブジェクト・ネットワークの内容が表現される。
【0004】
図30の左側はクライアントであって当該クライアントが行う意図についての内容記述作業を矩形の枠で示し、図示の右側はサーバであって当該サーバが行う処理を矩形の枠で示し、中央部に点線で囲ってディスプレイなどの表示機能を含む表示的プロセスが介在していることを表している。なお、クライアントが行う意図はクライアントからの指示および/またはデータを受取り、システム側において解読される。
【0005】
クライアントは興味をもったサービス名によって意図として、表示的プロセスにサービスの要求を行う▲1▼。サーバは当該要求に対応して意図実現計画を実行して当該処理の対象となるオブジェクト・ネットワークを呈示する▲2▼。
【0006】
当該呈示されたオブジェクト・ネットワークを画面でみながら、クライアントは単位意図の選択を行う▲3▼。この選択された単位意図はサーバ側に示されてそのときの処理を実行する上での制約データや条件や処理を実行する関数計画を実行して画面上で呈示する▲4▼。
【0007】
クライアントは呈示されたデータや条件や関数を選択する▲5▼。サーバ側では選択されたデータや条件や関数にもとづいてサービス機能実行計画を実行してその実行結果を画面上で呈示する▲6▼。クライアントはその実行結果を評価して次の意図選択を行う▲7▼。
【0008】
上記の如くクライアントおよびサーバが協調して意図を実現する。即ちクライアントは意図を選択する過程でサーバに単位意図を要求する。これに答えてサーバはサービス実行に必要な制約条項を計画し、クライアントに向けて、それの必要性を応答する。このようなインタラクションのための場が対話に有効である。
【0009】
対話が円滑であるためには、対話プロセス意味論上の結束性が、意図駆動による意図内容の連接的整合性によって表現され、それはオブジェクト・ネットワークの妥当性を保証する。
【0010】
【発明が解決しようとする課題】
対話プロセスを円滑に進行させるためには、サービス・プロセスに役割を特化させるのが効率的である。人間にとって表現シンボルとしては、画像・図形の方がテキスト文よりも一眼で直観的に理解されるのに対し、計算機は論理的記述が処理し易い。役割は、理解解読機能、実行処理機能などの諸機能、あるいは述語や表現スタイルなどの記述形式によって規定される。
【0011】
本発明は、各種ウインドウをもつコモン・プラットフォームと呼ばれるものの如き処理手段を用意し、コモン・プラットフォーム内のコミュニケーション・マネージャと呼ばれるものの如き制御手段がクライアントとサーバとの間でのデータ表記形式などの整合をとるようにして、対話を効果的に進めうるようにすることを目的としている。
【0012】
【課題を解決するための手段】
図1は本発明の一実施例構成図を示す。図中の符号1はクライアント、2はコモン・プラットフォーム、3はサーバを表している。コモン・プラットフォームにおいて、4はディスプレイなどの表示手段上に表示されるウインドウであり、大別して、ネットワーク・オペレーション・ウインドウ5とデータ・ウインドウ9とに分けられる。そして、6はオペレーション・ウインドウであって各種オペレーションを指示可能にする画像や文字を表示するもの、7はコマンド・ウインドウであって各種コマンドを指示可能にする画像や文字を表示するもの、8はメッセージ・ウインドウであって各種メッセージを表示可能にするものを表している。
【0013】
またデータ・ウインドウ9は、処理結果を表すデータ・ウインドウ(I)9−1と、処理に必要な制約データなどを表すデータ・ウインドウ(II)9−2とからなる。
【0014】
10はコミュニケーション・マネージャであって、ウインドウ4を介して交換されるクライアント1とサーバ3との交信を仲介する。
【0015】
11はウエル・システム(各種のオブジェクト・ネットワークに対処できる拡張性をもっているという意味で、以下、エキステンシブ・ウエル・システムと呼ぶことがある)である。12はウエル・カーネルであって上記コミュニケーション・マネージャ10や以下の各種マネージャや、グラフ構造エディタを管理し、また作業領域をもっている。13はグラフ構造エディタであってオブジェクト・ネットワークをも一種のデータと考えて、グラフ構造をテンプレートとして表現して処理を行う。
【0016】
14はウインドウ・マネージャであって、ウインドウ4の選択などを処理する機能をもつものである。15はディスプレイ・マネージャであって、ウインドウを表示するディスプレイを制御する機能をもつものである。16は関数実行マネージャであって、オブジェクト・ネットワークに対してクライアントの意図に沿った処理を行う上での関数を実行する上での処理を行う機能をもつものである。
【0017】
17−1,17−2は夫々の目的に対応した処理を行うサービス・モジュールである。
【0018】
サーバ3はクライアントが処理対象にしようとしている意図内容を記述しているオブジェクト・ネットワークを呼び出して、グラフ構造エディタ13はウエル・カーネル12がもつ作業領域上に当該オブジェクト・ネットワークを記憶する。
【0019】
この結果にもとづいて、ウインドウ・マネージャ14などの働きによってかつコミュニケーション・マネージャ10の仲介によってオブジェクト・ネットワークがオペレーション・ウインドウ6に表示される。
【0020】
この状態の下で、クライアントは、表示されたオブジェクト・ネットワークにもとづいて、当該オブジェクト・ネットワーク上の全部または一部を特定して自己の意図を指示する。この指示に対応して、コミュニケーション・マネージャ10が当該意図を解釈し、サーバに対して処理対象となる位置に該当するオブジェクト(例えば名詞オブジェクト)についてのテンプレートを呼び出させる。そしてサービス・モジュールが当該テンプレートに対応した領域準備などを行い、ウインドウ4はそのときの制約データの存在をデータ・ウインドウ(II)9−2に表示する。
【0021】
クライアントは、制約データをデータ・ウインドウ(II)9−2上で選択し、サーバが実行計画を実行し、サービス・モジュール17が実行し、ウインドウ4が実行結果をデータ・ウインドウ(I)9−1に表示する。その結果をクライアントが評価し、次の指示を行う。
【0022】
図2と図3とは一緒になって1つのフローチャートを示すものであって、図1に示す構成が用いられる態様を表すフローチャートを示す。
(S1):後述する図5に示す如き、例えばカラー画像生成・色付け処理分野18Cに対応する処理を行う場合、サーバが該当するオブジェクト・ネットワーク19Cを呼び出す。
(S2):これに応じて、グラフ構造エディタは、ウエル・カーネル12上の作業領域上に当該オブジェクト・ネットワークを格納する。
(S3):ウエル・カーネル12によって、図1示すウインドウ・マネージャ14やディスプレイ・マネージャ15を起動しまたカーネル12が当該各マネージャからの応答を受けるなどの処理をへて、コミュニケーション・マネージャ10の仲介によって、オブジェクト・ネットワークがオペレーション・ウインドウ6に表示される。
(S4):クライアント1は、オペレーション・ウインドウ6上のオブジェクト・ネットワークをみた上で、当該オブジェクト・ネットワーク上の全部または一部を特定して自己の意図を指示する。
(S5):この状況をコミュニケーション・マネージャ10が識別し、カーネル12を介在させて、サーバに対して処理対象となる位置に該当するオブジェクトについてのテンプレートを呼出させる(サーバがテンプレートを呼出す)。
(S6):サービス・モジュールは当該テンプレートに対応した領域準備を行う。
(S7):コモン・プラットフォームにおいては、当該テンプレートに記述されていることのある制約データを抽出して、当該制約データをデータ・ウインドウ(II)9−2に表示する。
(S8):クライアント1は当該制約データをみて、その中から所望する制約データを選択する。
(S9):この状況をコミュニケーション・マネージャ10が識別し、カーネル12を介在させ、サーバに通知し、サーバが実行計画を実行する。
(S10):これにともなって、サービス・モジュールが所望される処理(例えば、線引きや色付けなどの処理)を実行する。
(S11):処理結果をデータ・ウインドウ(I)9−1に表示する。
(S12):クライアントはその処理結果を評価し、次の指示を行う。
【0023】
本願請求項1にいう(i)「サービス・モジュール」は図1に示すサービス・モジュール17−iに対応し、(ii) 「処理手順情報出力手段」は、上記図3におけるステップ(S3)に記述しているように、図1に示すウエル・カーネル12に対応し、(iii) 「適用手段」は、上記図3におけるステップ(S5)に記述しているような、図1に示すコミュニケーション・マネージャ10による処理に対応する処理手段に対応し、(iv)「制御手段」は、上記図3におけるステップ(S6)やステップ(S7)に記述している如く、図1に示すコモン・プラットフォーム2による制御手段に対応している。
【0024】
また本願請求項2にいう(v)「表示手段」は、図1に示すウィンドウ4に対応し、(vi)「制御手段がデータ変換後に表示手段に表示させる」処理は、後述するコモン・プラットフォームの機能(段落〔0026〕、〔0047〕、〔0071〕〜〔0079〕など参照)にもとづいている。
【0025】
【実施例】
図30に示した如きクライアントとサーバとの間の対話をより効果的に実現させるためには、クライアントと個々の処理を行うサーバとの間に、エイジェントの役割を行うエイジェント・ロール・サーバを介在させることが有効な場合がある。
【0026】
コモン・プラットフォーム機能は、オブジェクト・ネットワークを表示するウインドウ5と、実行に伴って必要とするデータおよび実行結果のデータを可視画像として表示するデータ・ウインドウ9−iとを持ち、これらを支援するためのコミュニケーション・マネージャ10などを有しており、これらの機能によりクライアント1としてのユーザに最も適した表示形式を使用可能にし、それをコモン・プラットフォーム2において、データ処理装置内部での処理用に変換するようにして、ユーザにとって使い易くしている。
【0027】
一方、サーバ3にとっては、個々のデータなどはインデックス形式のタグが付いたテキスト形式で処理する必要がある。このようなクライアント1とサーバ3とはそれぞれ特有の役割をもっているので、コミュニケーション・マネージャ10はそれらの役割に応じたデータ形式に変換する役割をもっている。このためのデータの型を規定するためにテンプレートで制御を行うようにする。
【0028】
このテンプレートにもとづいて、変換が行われるが、この場合クライアント1とサーバ3との役割の差に対応して表記の形式が異なる。クライアントである人間にとっては、テキスト形式よりは、グラフのような図や画像の方が分かり易く、また指示も容易である。特に点や線についてはデータ・ウインドウ上で直接あるいはマウスによって参照指示が行えることが望ましい。一方、サーバとしての計算機にとっては、点については(x,y) の座標値として数値化され、線については始点から終点まで通過する画素点をリストの形式となっていなければ処理効率が悪い。このような観点から表1に示す如く役割機能に応じて表記形式が異なる必要がある。
【0029】
【表1】

Figure 2004054942
【0030】
即ち、点や線を表すデータについては、クライアント1との間では、点や線を実体で表示しまたクライアント1がそれぞれの実体を参照しつつ指示できるようにし、サーバ3との間では、インデックス形式で特定しまた特定されたものについて一括転送したり連合して処理したりする。
【0031】
図形や画像を表すデータについては、クライアント1との間では、画像や図形を実体表示しまたクライアント1が参照指示できるようにし、サーバ3との間ではリスト構造やラスタ構造で特定するようにする。
【0032】
データ要素については、クライアント1との間では名前を指示し、サーバ3との間では名前ヘッダで特定するようにする。
【0033】
サービス機能(エイジェントの抽象化サービス機能)については、クライアント1との間では、サービスをどのようなプログラムで行うかを明細にするサービス構造が先ずジェネリック・オブジェクト・ネットワーク形式で与えるようにする(クライアント1はこれにもとづいて所望するパラメータを与える)。そしてサービス実行の途中では、(i) サービス制約項目をパラメータとしてもつサービス項目や、(ii)サービス名をクライアント1が与え得るようにする。サーバ3との間では、(i) サービス構造表を与え、(ii)クライアント1からのサービス項目の指示に応じて、サービスを実行するサーバやサービスに当たって責任をもつサーバを指定するようにする。
【0034】
図4はエイジェントをもつ構成を示している。図4に示すクライアント(Client)とサーバ(Specific role server)とが、図30に示すクライアント1とサーバ3″とに対応している。そして、図4に示す場合には、エイジェント(Agent role server )が中間において、例えて言えば旅行仲介業者の如き役割をはたすサーバ3′としてもうけられるようにされる。
【0035】
図4に示す表示的プロセス2−1および従属表示的プロセス2−2は夫々図30に示す表示的プロセスと同じ機能をもつものである。図4に示す場合には、クライアント1とエイジェント3′との間で表示的プロセス2−1に向かって、サービス要求と応答とが行われる。
【0036】
エイジェント3′はクライアント1の意図にしたがったサービス計画を準備し、その役割を実行するサーバ(Specific role server)を検索し、サービス役割割当計画を行って、従属表示的プロセス2−2に向かって役割機能を実行すべく要求する。
【0037】
サーバ(Specific role server)3″は割当サービス実行計画を実行し、実行結果を従属表示的プロセス2−2に呈示する。
【0038】
エイジェント3′はサービス結果の内容をチェックして、サービス結果をクライアント1に呈示すべく表示的プロセス2−1に指示する。
【0039】
図4に示す表示的プロセス2−1および従属表示的プロセス2−2は夫々、図1に示すコモン・プラットフォーム2によって実現される。そして図4に示すエイジェント3″は、図1に示すサービス・モジュール17−iの1つとして与えられると考えてもよい。
【0040】
図1に示すウエル・システム11は、WELL(indow−based  laborationanguage の略) と仮称される機能言語を取り扱う機能部であるとしているが、WELLと呼ばれる特別な言語を取り扱う機能部のみに限定して考えられるべきものではなく、ウインドウを用いて対話を行い得る、より広い意味の処理機能部が図1に示すウエル・システム11であると考えるべきである。
【0041】
図5はウエル・システムとオブジェクト・ネットワークとの関係を説明する図である。図中の符号11は図1に示すウエル・システムに対応している。また19A、19B、19Cは夫々図1に示すサービス・モジュールと組合わせられたオブジェクト・ネットワークであり、18A、18B、18Cは夫々所定の処理分野であり、図示の場合18Cはカラー画像生成・色付け処理(Color Picture Processing and Painting)分野を表している。
【0042】
WELLと仮称される機能言語に対して分野に対応するオブジェクト・ネットワークを与えると当該オブジェクト・ネットワークの処理がプログラムレスで実行が可能となる。また当該言語はウインドウ指向の言語であり、クライアントとのインターフェースはウインドウを介すことによって、クライアント・サーバ・モデルが実現される。
【0043】
図5においては、ウエル・システム11に対して、例えばカラー画像生成・色付け処理分野18Cに対応して必要とされるウインドウと当該対応する処理を行うサービス・モジュール定義とで与えられるオブジェクト・ネットワーク19Cを組合わせると、図示点線で示す如く当該ウエル・システムはカラー画像生成・色付け処理分野18Cに対応するシステムとなる。言うまでもなく他の分野のオブジェクト・ネットワーク19Aや19Bを組合わせると分野18Aや分野18Bに対応するシステムとなる。
【0044】
システムを構成する言語処理系に与えられるオブジェクト・ネットワークを変更すれば、システム機能は変化する。処理系は、対象とするオブジェクト・ネットワークの構成記述を入力データとして与えることにより、該当する分野処理を行うのであるから、WELLは元来グラフ構造エディタ13を持っている。従ってシステムに、実行時にオブジェクト・ネットワークの変更機能を持たせることにより、システムの拡張性を持たせられる。特にインターフェースのために制約条件を名詞オブジェクトに持たせ、コモン・プラットフォーム中にあるメッセージ・ウインドウを利用できる。
【0045】
互いに独立性のある多分野間の協調的統合のためにも拡張性は必要である。それは名詞オブジェクトについての制約関係の変更、動詞オブジェクトの実行制御についての同期性や排他性の動的変更など並行実行中のシステム環境への適応性がある。この場合、共通資財や計画修正などの管理の際に発生する役割転換を行う必要があり、得意機能に対応する対応処理機能を新しい共通の場の導入によって整合させる必要性が発生する。
【0046】
図6は処理の整合を行う状況を概念的に示した図である。図示左端のクライアントが意図Aないし意図Nをもって対応するサービスAないしNを並行して実行させようとするとき、各サービスを実行する上での制約が存在することが多い。
このような制約には、時相制約的なものと形態制約的なものとが存在し、前者にって実行時の規制やサービス間時相調整制御が行われ、後者によってサービス間形態調整制御が行われる。そして、このような規制や制御が行われた上で実行された複合サービス結果内容についてのチェックが行われ、クライアントに対してウインドウを介して呈示され、クライアントが評価を行うこととなる。
【0047】
図7はコミュニケーション・マネージャの働きを示す図である。図中の符号は図1に対応している。なお図7においてウインドウ4に対応して「コモン・プラットフォーム」というラベルを付しているが、図1に示すコモン・プラットフォーム2においてクライアント1から直接見える所がウインドウ4であってコモン・プラットフォーム2を代表しているとも考えられることから「コモン・プラットフォーム」とラベルを付しているだけであり、図1に対応するとウインドウ4に該当しているものである。
【0048】
図7に示す如くクライアントの意図がウインドウ4を介してシステムに伝えられるときには、必ずコミュニケーション・マネージャ10を経由してカーネル12や各マネージャ14,15,16更にはサービス・モジュール17−iに伝えられる。このことから、コミュニケーション・マネージャ10はウインドウ4に直結している唯一のマネージャとなり、対話プロセスを集中的に管理している。
当該コミュニケーション・マネージャ10の働きについては更に詳しく後述される。
【0049】
上述の如くWELLは分野を問わない拡張性のある言語である。それぞれの分野に対応するウインドウ定義やサービス・モジュール定義といったオブジェクト・ネットワークを与えると、WELLはその分野に対応する形で分野記述言語となる。このWELLを用いたウエル・システムは、ウエル・カーネル12と各種マネージャ14,15,16など(ウエル・マネージャ)との2つの要素から構成される。
【0050】
エキステンシブ・ウエル・カーネル12は、以下の項目を行う。
(1)データ状態の把握(プロセスの把握を行い、次に実行するべき関数の選択)
(2)イベントの解析(各ウインドウから送られてくるイベントを判別し、その結果に対応するシステム内のプロシージャをコール)
(3)関数実行要求(総称的関数に制約条件を付加し、関数の実行をリクエスト)
【0051】
また各マネージャは以下の4つに分けられる。
(1)コミュニケーション・マネージャ10(テンプレート(データ)の間接的管理及びコモン・プラットフォームからの入力に対する各マネージャの制御)
(2)関数実行マネージャ16(関数の実行管理)
(3)ウインドウ・マネージャ14(ウインドウの管理)
(4)ディスプレイ・マネージャ15(テンプレートの数値変換)
【0052】
分野に依存しないWELLと分野依存のサービス・モジュール17−iとのデータ変換は、コミュニケーション・マネージャ10が行う。このコミュニケーション・マネージャ10を介すことによって、あらゆる分野のデータを扱うことが可能となり、ウエル・システム自体の汎用性は失われないこととなる。
【0053】
ウインドウ4はクライアント1との間のインターフェースを行うものであり、以下の5つの個々のウインドウが存在する。
【0054】
(1)ネットワーク・オペレーション・ウインドウ5(システム全体の制御)
(2)オペレーション・ウインドウ6(ネットワークのオペレーション表示及びその制御)
(3)コマンド・ウインドウ7(選択候補の表示及びキーボードからの入力)
(4)メッセージ・ウインドウ8(システム側からのメッセージ表示)
(5)データ・ウインドウ9−1,9−2(データの表示)
【0055】
言うまでもなく、ある役割をプロセッサに導入する時、オブジェクト・ネットワーク中の個々のオブジェクトについての当該オブジェクトの表現方法は、役割依存でなければならない。人間に対しては、可視オブジェクトであり、計算機にとってはデータスキーマに則したデータ構造によって、オブジェクトが表現される必要がある。オブジェクト・ネットワークは個々のプロセッサで共有するが、データ構造は、テンプレート形式で定義されて、相互変換可能とされる。
【0056】
オブジェクト・ネットワークを構成する各オブジェクトとしては、分野記述言語の枠組みに従って、名詞オブジェクトと動詞オブジェクトと制約オブジェクトとされ、制約オブジェクトは、被制約オブジェクトと制約条件とが属性として与えられ、そのための妥当性が各マネージャによって判定されて対応するオブジェクト処理を行いうるようにされる。
【0057】
上述のウエル・システム11にカラー画像生成・色付け処理分野をあてはめると上記WELLはいわばWELL−PPP(Window−based Elaboration Language for Picture Processing and Painting )となる。そしてウエル・システム11はカラー画像生成・色付け処理システムとなる。この場合の1つのオブジェクト・ネットワークである要素ネットワークは、個別オブジェクトの外観を表しかつ領域を確保している輪郭(Outline)を生成する輪郭部(Frame Section)と、ラインとそれによって確保されている領域にしたがって属性値(Attribute value)を与えるカラー部(Color Section)とからなる。
【0058】
図8は要素ネットワークの関係を示す図である。図8における左半分の「フレーム」20は上述の輪郭部(Frame Section)に該当し、右半分の「カラー」21は上述のカラー部(Color Section)に該当している。
【0059】
輪郭部20ではデータ自身を表す項目(Entity)を作成し、カラー部21では輝度、色度などを表す属性(Attribute)を作成する。各クラスの状態は以下のようになる。
【0060】
<NONE>まだ処理の行われていない状態を表す
<POINT>輪郭の基本となる点を示し、これを主要点(Principal Point)と呼ぶ
<POINT SEQUENCE>主要点に対し、その接続順序を示す
<LINE SEGMENT>接続順序に基づいてスプライン関数で補間処理がされた状態
<LINE>LINE SEGMENTを接続して1つのラインを完成した状態<REGION SEGMENT>画像におけるその水平走査線1本分の領域を示す
<REGION>REGION SEGMENTを画像に沿って上下方向に接続したものを示す
<COLORED〜>輝度、色度情報を示したそれぞれの項目を表す。また輪郭部とカラー部を結ぶIDENTIFYは以下のように定義される。
〔IDENTIFY〕処理の対象を特定する作業を示す。
【0061】
図8に示す如きネットワークを利用してクライアントが絵を描く処理を行うことができる。当該処理の態様に関しては、本願発明と直接関連するものではないが、先に特許出願している特許第2801459号(特開平5−233690号公報)(オブジェクト・ネットワークによる言語処理システム)にも一部記述されている。
【0062】
図9はコモン・プラットフォームをもつシステムにおいてカラー画像生成・色付け処理を行う態様を示している。図中の符号1,2,3は図1に対応している。
【0063】
コモン・プラットフォームにおけるウインドウの表示によって、視覚的に要素ネットワークが組み込まれたことがクライアントにわかると、クライアントは描画するために必要な意図を選択する(クラス選択)。この例では点に輝度・色度を与えるCOLORED POINTを選択する。
【0064】
点に色をのせたいというクライアントの要求に対して、サーバは情報を格納するためのテンプレートを準備し(DEFINING PROCESS)、どの点に対して色情報をのせたいのかクライアントに要求する。テンプレートについては後述される。
【0065】
クライアントが点を指定すると(IDENTIFY)、サーバはインデックスを参照することでその点を認識する。そしてその点にのせる輝度・色度データをクライアントに要求する。
【0066】
クライアントからデータを応答として受け取るとDEFINE OPERATIONとしてテンプレートにデータを入力し、その結果としてのカラー画像をウインドウに表示する。
【0067】
この表示によってクライアントは、そのプロセスを認識し、それを評価し、次の意図選択へ移ることができる。このようにクライアントはサーバからの意図を可視化オブジェクトとして把握する。
【0068】
上述の如く描かれる点や線は夫々上述の名詞オブジェクトの形で管理され、また個々の名詞オブジェクトに対して行われる処理態様は上述の動詞オブジェクトとして与えられる。
【0069】
上述のコミュニケーション・マネージャ10は、WELLの拡張性を維持するためにデータ相互関係を管理する。そのためにデータは、テンプレートとして一元的に管理され、そこに属性を自由に設定できるようにされている。
【0070】
図10はテンプレートのフォーマットの一例を示す。個々のテンプレート22がその属するオブジェクトについての番号に対応するかを示すインデックスと、座標と、属性とをもつ。テンプレートは、サービス・モジュール17−i内では「インデックス」によって管理されるが、データ・ウインドウ9を通してクライアントから与えられるものは、データ・ウインドウ9上の座標値である。サービス・モジュール17−iは、座標値からテンプレートのインデックス検索を行えないので、コミュニケーション・マネージャ10は座標値をインデックスに変換し、それをサービス・モジュール17−iに引き渡す。更に、コミュニケーション・マネージャ10は、ウエル・システムの持つ対話プロセスを集中管理する。
コモン・プラットフォームは、(i)クライアントにオペレーションを伝えるオブジェクト・ネットワーク、(ii)メッセージや選択項目を伝えるメッセージ・ウインドウ、(iii)実際に描画などの作業を行い、画像データなどを表示するデータ・ウインドウなどを持つが、それらのウインドウを通して得られたクライアントの意図を実現するために、コミュニケーション・マネージャ10は、その意図内容の入力に応じて、それを各マネージャやカーネルへ伝える。コミュニケーション・マネージャ10のこのような対話プロセスの一元管理により、データが必ずここを通過することになり、テンプレートのチェックを行ったり、制約条件のチェックを行うことも可能になってくる。
【0071】
図11はコミュニケーション・マネージャの動作態様を示す。図中の符号1,3,5,8,9,10,12,14,15,17は夫々図1中の符号に対応している。
【0072】
ウインドウ上でのクライアントによる指示点(x,y)などがデータ・ウインドウ9からコミュニケーション・マネージャ10に伝えられ、メッセージはメッセージ・ウインドウ8を介して伝えられ、オペレーションはオペレーション・ウインドウ5を介して伝えられる。そしてそれらは夫々コミュニケーション・マネージャ10によって各種他のマネージャ14,15やカーネル12やサービス・モジュール17との間で情報の送受が行われる。
【0073】
図10に示す如きテンプレートは、点や線のデータ、図形/画像データなどに対応して用意されるものである。これは、点や線のデータ、図形/画像データなども、コモン・プラットフォームにおいて取り扱われるデータであることによる。それらは、オブジェクト・ネットワークの中でノードを形づくる名詞オブジェクトに属している。
【0074】
したがって、データをクライアントが表示させあるいは参照しようとする場合、ウインドウ4上に表示されているデータの参照部分をマウスなどで示すと共に、名詞オブジェクトをオブジェクト・ネットワーク上で参照指示する。
【0075】
このような参照指示機能は、クライアントが動詞オブジェクトの目的格としてのデータを指示することを主眼とするものである。これに対して、実体表示に当たっては、サーバが実行処理した結果をクライアントにみせるのに実際の点、線、図形、画像を実体としてウインドウ4上に見せるようにする。サーバ側ではデータを蓄積し、処理を行うに当たって、具体的なデータ構造(例えば、インデックス付加リスト構造、ラスタ構造など)に沿って蓄積したデータに対して処理を行う。
【0076】
図12はクライアントの指示に対応する動作を説明する図である。図中の符号1,4,10,12,15,17−iは夫々図1に対応し、23はカーネル12内にもうけられている作業用のバッファ、23’はバッファ23上の内容例、19Cはオブジェクト・ネットワークを表している。
【0077】
今、カラー画像生成・色付け処理がある程度進行しているとする。この場合、画像生成・色付け処理に対応するオブジェクト・ネットワーク19Cから、該当するサービス・モジュール17−iに対して、点や線などに対応するテンプレートがデータとして与えられ、当該サービス・モジュール17−iからカーネル12上(なお、バッファ23はコミュニケーション・マネージャ10上に位置していてもよい)のバッファ23に対して、図示のバッファ内容23’の如く、テンプレートのコピーが書き込まれている。即ち、例えば(i)インデックス「1」で特定される点の座標が(50,40)であって色度や輝度(属性で示される)については未定(?で表している)であり、(ii)インデックス「2」で特定される点の座標が(80,250)であって色度や輝度は未定であり、(iii)インデックス「3」で特定される点の座標が(270,400)であって色度や輝度は未定であり、・・・の如き、各テンプレートのコピーがバッファ23上に記述されている。
【0078】
この状態の下で、いま、クライアント1がウインドウ4上で例えば座標(80,250)を指示して1つの点を特定したとすると、コミュニケーション・マネージャはその動作を検出し、座標値についてウインドウ・マネージャ14が検出してコミュニケーション・マネージャ10に通知する。したがって、コミュニケーション・マネージャ10は当該指示された点の座標値(80,250)と対応するインデックス値を検索する。すなわちコミュニケーション・マネージャ10はバッファ23の内容にもとづいて座標(80,250)をもつテンプレートに対応するものがインデックス「2」であることをコミュニケーション・マネージャ10は知り、その後の処理に移る。
【0079】
したがって、輪郭部で打たれた主要点の全座標を作業領域にコピーしたテンプレートと送られた座標との照合が行われる。一致もしくは近似の座標を検索するとそのインデックスを特定し、コミュニケーション・マネージャ10はサービス・モジュール17−iに送り制御を行う。サービス・モジュール17−iはそのインデックスをもとにそのテンプレートの値を更新する。例えば座標位置を変更したり、属性上での輝度値を記述したりする。当該更新されたテンプレートはディスプレイ・マネージャ15によって可視化オブジェクトに変換されウインドウ4に表示される。この場合は打たれた点がクライアントに認識できるように反転し浮き上がる。このようにエキステンシブ・ウエルは常にインデックスを中心に管理しているサービス・モジュール17−iと情報交換をする。こうすることで特定の分野に依存しない拡張性の高いシステムが実現できるとともに、どのような分野に対してもクライアントはサーバの意図をディスプレイ・マネージャ15によって変換された可視化オブジェクトをみて操作できる環境を提供する。
【0080】
図13は情報の交換動作を説明する図である。図中の符号1,4,6,9,10,12,14,16,17は夫々図1に対応している。
【0081】
クライアントがサーバと情報のやりとりを行う際、クライアントは常にウインドウを介して情報のやりとりを行う。そのためシステムは常にウインドウで待ち状態になっていなければならない。クライアントの意図によって駆動される駆動(Event Drivenという)にたいして、システムの制御をウインドウでの待ち状態にする駆動をData Driven という。Colored Point のクラスが選択されていてそれを駆動するのがEvent Drivenである。しかし輝度・色度のデータが与えられなければ、関数は実行できないのでウインドウにてクライアントの入力待ちとなる必要がある。この駆動がData Driven である。
【0082】
図13において、クライアント1が或る座標上の点を指示して上記イベント・ドリブン(Event Driven)を行ったとする。この状況の下で、「コミュニケーション・マネージャ10によってウインドウ・マネージャ14に通知された上でウインドウ・マネージャ14が座標値(例えば80,250)を報告し、対応するインデックス「2」が調べられてサービス・モジュール17−iに通知される」ことは、図12に関連して説明した通りである。
【0083】
今、クライアント1が当該点に対して色付けを行おうとしているとすると、図8に示したクラス「 Colored Point」の状態分析をカーネル12が行う。当該分析を行ったカーネル12は関数実行マネージャ16に対して関数実行要求を発する。これによって関数実行マネージャ16は与えられる制約条件(Constraint)によって具体的関数を特定する。サービス・モジュール17−iは特定された具体的関数にもとづいて処理が実行可能であるかを判別し、当該処理に必要なデータが不足していればカーネル12を介して必要な作業を行う。例えば今、サービス・モジュールはクライアントに特定された点のテンプレートに輝度・色度情報を入力するようにしているとすると、輝度・色度データが未定であるため、関数の実行ができない。ここでData Driven が駆動され、この場合データ入力に必要なChrominance Diagram とLuminance Diagram が開かれ、輝度見本や色見本が表示され、クライアントの入力待ちとなる。
【0084】
サービス・モジュール17−iは必要なウインドウ(図13に示すDIAGRAMのためのウインドウ)を開いて、ユーザの応答を待つが、その応答以後そのウインドウが不要になる場合がある。またサービス・モジュールによっては多数のウインドウを必要とするものも考えられるため、表示されるウインドウは必要最小限にするべきである。そこでウインドウ・マネージャ14内にウインドウの状態を示すテーブルを用意し、不要ウインドウの自動消去を行う。
【0085】
図14はチェック・モジュールの動作を説明する図である。図中の符号8はメッセージ・ウインドウ、9はデータ・ウインドウ、22はテンプレート、24はチェック・モジュール、25は制約条件、26はオブジェクト・ネットワークを表している。
【0086】
クライアントは、オブジェクト・ネットワークに従った作業の流れの中で、自分がデータ・ウインドウ上に生成していったデータの正当性を確認したいと思うことがある。そのようなクライアントが確認したいと思う事柄を一つの制約条件として捉える。このような制約条件25は、オブジェクト・ネットワーク26のそれぞれの名詞オブジェクト(テンプレート22で表されるデータの状態)に付属的なものとして課され、サーバ側では、その制約条件とテンプレートの内容とを比較することで確認作業を行う。ここで問題にされるのは、サーバが、処理対象とされるテンプレートの特定方法(Identify)をどのように持つべきかである。ウエル・システムでは、コミュニケーション・マネージャの機能を利用してこれを実現できる。コミュニケーション・マネージャ10は、オブジェクト・ネットワークの持つテンプレートの内容データによってクライアントとサーバとの間のデータの整合性を管理しているので、クライアントがマウスでヒットした座標値(X,Y)から上記図12を参照して説明した如く処理対象を特定するための情報をテンプレート22から引き出して、チェック・モジュール24(具体的に制約条件をテンプレートに照らし合わせるサービス・モジュール)に渡すことが出来る。チェック・モジュールでは、その情報を頼りに、その制約条件が満足されているかどうかを確認し、その結果をメッセージ・ウインドウを通してクライアントに知らせる。このようなチェック・モジュール24によるチェック動作は、図8において例えばクラス<POINT>の状態からクラス<COLOREDPOINT>の状態へ移行した際に、正しい形で移行が行われたか否かをチェックするためなどに利用される。更に他の制約動作も、他のサービス・モジュールと同様に対応するマネージャを用意することで実現される。
【0087】
図15は制約条件の表示態様を示す図である。図中の符号5,8,9,10は図1に対応し、25は図14に示される制約条件、27は名詞オブジェクトを表している。
【0088】
図形描画の間に、例えば描かれたライン(線分)に対してどのような制約条件が付されているかをクライアントに知らせる必要があることがある。このような場合の各マネージャの動作が図15によって説明される。
【0089】
上記ライン(線分)は、それ自体がデータの状態を表していることから、名詞オブジェクト27の1つとして捉えることができる。上記制約条件25は名詞オブジェクト27に対応して付されているが、ライン(線分)という状態に対して課され得る制約条件25として考えられるのは「連続性(Continuity)」と「対称性(Symmetry)・・・(註)当該線分がある軸または点に対して対称な状態にあるか否か」といったものである。
【0090】
名詞オブジェクト27がもつこのような制約条件25はコミュニケーション・マネージャ10の介在の下でメッセージ・ウインドウ8に表示されてクライアントに知らされる。なお図15において、メッセージ・ウインドウ8の内容に関して「Symmetry−Point,Axis」とあるのは「点対称」か「線対称」かを問う表示である。当該表示に対応して、クライアントは「Point 」か「Axis」かをピック・アップするようにして意図をサーバ側に通知する。
【0091】
図14に示すチェック・モジュール24は、メッセージ・ウインドウ8を通しての起動要求をクライアントから受けるとファンクション・マネージャによって起動される。チェック・モジュール24は、必要があればクライアントに対してアイデンティファイ作業の要求をメッセージ・ウインドウ8を用いて行う。クライアントは、それに対してマウスでデータ・ウインドウ上の可視化対象をヒットすることでコミュニケーション・マネージャ10へその対象についてのデータ値の引き渡しを行う。このデータ値は、コミュニケーション・マネージャ10によって図12に示す如く対象に相当する項目データのインデックスに変換されるとチェック・モジュール24へ送られ、このインデックスを使ってチェック・モジュール24は、テンプレートから具体的な属性値を引き出してチェックを行う。
チェックされた結果は、メッセージ・ウインドウによってクライアントに知らされる。
【0092】
図16はアイデンティファイ作業を説明する図である。図中の符号4,5,8,9,10,14,17−iは夫々図1に対応している。
【0093】
上述の如くチェック・モジュール24がクライアントに対してアイデンティファイ作業の要求を行うと、クライアントはデータ・ウインドウ9上で、図16に示す如く、例えばあるライン(線分)をヒットする。これに対応して図12に示した如くウインドウ・マネージャ14の働きによって関連しているデータがコミュニケーション・マネージャ10に知らされ、コミュニケーション・マネージャ10が、対応するインデックスを知り、当該インデックスをチェック・モジュール24に通知する。これによって、図14に示した如く、チェック・モジュール24がチェックし、その結果がメッセージ・ウインドウ8において表示される。
【0094】
なお、図形描画における点や線が名詞オブジェクトとしてデータの1つとして把握され、図9に示す「単位意図(要求)」などの要求が動詞オブジェクトとして対応づけられる。そしてそれらの名詞オブジェクトや動詞オブジェクトが夫々テンプレートの形で表現される。
【0095】
上述した構成と動作とについて、より具体的に例を挙げつつ説明を補足する。
図4において、クライアント1の意向に従ってサービス計画を準備するようにする。例えば、図17に示す如き魚のうろこパターンのようなテキスチャを描画したいとの意図をクライアントが持つとき、テキスチャ描画の意図をサービス依頼(要求)としてエイジェント・ロール・サーバ3′に伝えると、エイジェント・ロール・サーバ3′は流れ線(flow lines)とセル画像(cell picture)とをクライアントと協力して描画するサービス計画を具体的に準備する。流れ線を書くには、図8の要素ネットワークがある要素画像を描くために利用できるので、それを利用する。すなわち、図8中でPOINT からLINEまでの部分ネットワークをまずオブジェクトネットワークとして表示する。
【0096】
それは図4に示す役割サーバ検索(事項検索)が流れ線(flow lines)のlineの事項を検索すると、相当する単語が要素ネットワーク中に存在することを検索し、その部分オブジェクト・ネットワークを、コモン・プラットフォーム2に「flow line 」の表示と共に表示する。
【0097】
クライアント1は当該表示に従って図17(a)に示すように魚体を示す点線を沿う形で曲線AとBとを描く。
【0098】
次に図17(b)に示すように、線C,Dを描く。このとき、How many points  do you divide on C and D ? の如き質問がエイジェントからメッセージ・ウインドウ8に表示され、それに対してクライアント1が値「4」とキーインして答えると、図17(c)に示すように、4個の補間曲線が引かれる。次のステップで質問How many points do you divide on A and B ?に対し値「16」と答えると、各補間曲線上に図17(d)に示す如くうろこを描くための16個の中心点が表示される。この場合、Flow linesについての制約条件として隣接するFlowlinesとの間の距離に比例して中心点間距離が大きくなるような制約条件が与えられるとすると、即ち、Flow lines間隔が狭ければ、Cell Pictureとしての「うろこ」の寸法が小さくなければならないとすると、このため次のSatisfying文制約記述が与えられる。
【0099】
Satisfying :
Every length between adjacent points along flow line is proportional having a fixed ratio with vertical length at the point between adjacent flow lines,
end.
【0100】
それと同時に「cell picture」の表示と共にうろこパターンを画像を描くようにFlow linesと同時に要素ネットワークとしてのオブジェクト・ネットワークが表示され、クライアントはそれに従って図18に示す如く、上記中心点(×印)を中心としてうろこのカラー画像を描く。
【0101】
この処理は、図2の処理フロー(I)に従って実行される。
この実行をある特定のスペシフィック・ロール・サーバ3″に割り当てるために、図4に示すサービス役割割り当て計画(サービス仕様)によって実施すべき処理内容があるサーバに要求される。
【0102】
それが図4に示すサービス役割機能(要求)として計画されたスペシフィック・ロール・サーバに実行要求が発行される。この発行はエイジェント・ロール・サーバ3′とスペシフィック・ロール・サーバ3″との間での共通の場を通じて機能する。
【0103】
エイジェント・ロール・サーバ3′に依存した図4に示す従属表示的プロセスで所定の表示が行われて、エイジェント・ロール・サーバ3′とスペシフィック・ロール・サーバ3″との交信が行われ、当該従属表示的プロセスがコモン・プラットフォームとして、エイジェント・ロール・サーバ3′とスペシフィック・ロール・サーバ3″群との間の連絡通信の場を提供する。したがって、エイジェント・ロール・サーバ3′が複数のスペシフィック・ロール・サーバ3″に依頼した複数の処理内容、この例では「Flow lines」と「cell picture」との間に存在する整合性についての制約条件について規定し、実行する必要がある。
【0104】
そのための前提条件として、予めテンプレートについての定義を行うことを必要とする。点についてのテンプレートは図10のように定義され、そこでの属性値集合としてのattributes for point(s)(x,y)として、当該点に関する輝度、色度などの属性値を入れるべきデータ形式が示されている。Lineについては、走査線インデックスを”i” とすると、”i” についてのリスト構造として(x,yi )の値が、図19に示す如きLine用テンプレートが定義される。
【0105】
即ち、当該Lineが走査線と交差する各点のうちの主要点No.1,No.2...No.nについてのテンプレート(図10参照)上のattributes for point(s)(x,y)に、入口側のポインタpと当該点の輝度と当該点の色度ベクトルと出口側のポインタpとが記述され、上記夫々のポインタによって他を指示することによって、全体が1つのLineに対応するLine用テンプレートとして定義される。
【0106】
なお、図19に示す各点の属性値に輝度と色度ベクトルとを記述しているのは次の理由による。即ち、Point とColored point とがオブジェクト・ネットワーク中に定義されているような要素ネットワークでは、最初からPoint のテンプレート中に、Colored の修飾形容詞に対応した輝度値や色度ベクトル値を属性値として持たせることが望まれるからである。
【0107】
FlowというLineを限定する形容詞節が付加されると、そのためにテンプレートに付加属性のためのスペースを必要とする。このスペースの設定は予め行われてもよいし、エクステンシブル WELL の機能の拡張機構としてのグラフ構造エディタを用いて必要時点で設定してもよい。
【0108】
図17(c)に示した流れ線を示すようにする当該形容詞節で特定するデータ構成としては、図20に示す如きものが用意される。図20における符号30はFlowという『Lineを限定する形容詞節』につけられたインデックスであり、符号31は当該Flowに属するLineについてのインデックスであり、符号32は当該Lineについてのデータ配列(図19に示す如きもの)である。
【0109】
Colored point についてFeature という形容詞をつけて、それをFeatured colored pointとすると、テンプレートの属性の所に、図21に示す如く、Feature 名を付加する。Feature 名の所には、”edge”,”highlight”または”none”を記述するようにする。”edge”が記述されると、その点が輝度や色度ベクトルからエッジと識別されたことを示す。”highlight” が記述されると、その点がハイライトとして示されることを示す。また”none”が記述されると、その点にはFeature を持たないことが示される。
【0110】
そのいずれにしても、Flow linesに対して図17に示したようなA,B,CおよびDの4個のLines に対応して、夫々のLine用テンプレートが準備される。次にクライアント1とコモン・プラットフォーム2中のメッセージ・ウインドウ8との通信によって更に4本のFlow linesのためのLine用テンプレートが設定される。次に”cell picture”を描画するために、オブジェクト・ネットワーク(図8に示す如き)に対応したオブジェクトに対応してテンプレートが設定され、最後のColred Region では輝度色度データをもつラスタ形式のテンプレートを持つようになる。
【0111】
このように設定された「うろこ」画像を、流れ線上に設定された中心点に「うろこ」の中心点を合わせ、サイズを選んで写像する。この際、制約条件を必要とする。
【0112】
この時点までにおいて、Interval between the adjacent center points on the flow lines が各center pointに定義されている。即ち、各flow line がもつ属性としてIntervalが定義されており、flow line のdrawing の実行後計算され、属性値として、各center points についてのテンプレート中にそのInterval値が格納されている。
【0113】
そして同様に、cell pictureのもつ属性としてscale をもち、そのscale 値とinterval値との間の制約関係として、
a scale of cell picture = the interval between the adjacent center points on the flow line
を設定する。そしてこれを満足するように、mapping を行うスペシフィック・ロール・サーバ3″にそのmapping を依頼する。
【0114】
図22と図23とは上下に組合されて1つの流れを表すテキスチャ描画の流れ図を示している。
【0115】
クライアント1の意図する所が、図22、図23における左端に、上から下に向かう時系列で示される。またエイジェント・ロール・サーバ3′の処理が、図22、図23の左右中央部に、上から下に向かう時系列で示される。さらにスペシフィック・ロール・サーバ3″の処理が、図22、図23における右端に、上から下に向かう時系列で示される。また図22、図23における符号1,2−1,2−2,3′,3″は図4に対応している。更に図22の下端における矢印(A)は図23に示す矢印(A)につらなるものである。
【0116】
クライアント1がテキスチャ描画を意図してテキスチャ・サービスを要求すると、エイジェント・ロール・サーバ3′はテキスチャ描画サービス計画を準備し、統合サービス・プラットフォームを設定する。これにもとづいて、クライアントは図17に示した如きFlow line を表示させようとして、Flow line 表示を要求する。
【0117】
エイジェント・ロール・サーバ3′はフローライン計画を検索し、スペシフィック・ロール・サーバ3″に対してフローライン実行サービス設定を要求する。
【0118】
スペシフィック・ロール・サーバ3″の設定した結果が、エイジェント・ロール・サーバ3′にて中継されて、クライアント1に示される。
【0119】
クライアント1がFlow line 描画を意図して、フローライン用画面を要求すると、エイジェント・ロール・サーバ3′からスペシフィック・ロール・サーバ3″に依頼されて、クライアント1に対してフローライン画面が表示されると共に制約条件の提示を要求する。
【0120】
制約条件について応答が了承されると、エイジェント・ロール・サーバ3′はフローラインとセンタ点とを表示する計算を行って、クライアント1に対して表示する。クライアント1は必要に応じて修正要求を行う。
【0121】
次いでクライアント1はCell pictureについての描画を意図し、図23に示す如く、エイジェント・ロール・サーバ3′とスペシフィック・ロール・サーバ3″との処理によって、セル・ピクチャ用のコモン・プラットフォームが設定される。
【0122】
クライアント1がセル・ピクチャの描画を意図すると、同様に、セル・ピクチャの画面が表示されかつ制約条件の提示が要求される。
【0123】
クライアント1が制約条件について応答すると、セル・ピクチャについての処理結果が統合サービス・プラットフォームに統合され、クライアント1の評価を待つようにされる。
【0124】
ここでは、フローライン描画とセルピクチャ描画との二つの仕事が並列に実行可能になっている。並列実行可能な動詞オブジェクトを検出するためのシステム構成は上記テキスチャ描画の例では、テキスチャを描くためのフローラインのための線を描くことと、フローライン上にセル画像を描くこととを並列に行い得るようにされる。そしてその結果がそろった所で、統合描画プロセスに移る。従ってスペシフィック・ロール・サーバ3″としてはフローライン用、セルピクチャ用、統合描画用の3個のサーバがエイジェント・ロール・サーバ3′に付属している。これらを制御するオブジェクト・ネットワークとしては図8の要素ネットワークを使用し、フローラインとしては図中右側のNoneからLineまでを使用する。これはFlow line のlineを描くことを目的としていることから、この部分のみがコモン・プラットフォームに図示され、表示的プロセス2−1中でクライアント1が使用する。Cell pictureと統合描画との両部はpicture を描画することから、図8全体がオブジェクト・ネットワークとしてクライアントに使用可能である。
【0125】
これら個々のスペシフィック・ロール・サーバ3″における実行結果は、エイジェント・ロール・サーバ3′を通じて、クライアント1とエイジェント・ロール・サーバ3′との間に存在するコモンプラットフォーム上にその実行結果としての画面表示される。
【0126】
得られた画像表示をクライアント1は観察しながら、エイジェント・ロール・サーバ3′はその仕事に関して必要とする属性もしくは制約についてクライアントに質問を行う。このための構成が図14に示されている。図14に示す如く実行され確認され、data identify の後に、コモン・プラットフォームのデータ・ウインドウ9に表示され、クライアントから応答された制約がチェックされ、その実行がValidity check24によっておこなわれ、メッセージ・ウインドウ8でその実行が確認されて、結果がデータ・ウインドウ9に表示される。
【0127】
これらの特定サービスは、エイジェント・ロール・サーバ3′からスペシフィック・ロール・サーバ3″へ、その間に存在するコモン・プラットフォームを用いて依頼される。このコモン・プラットフォームが図22、図23においては従属表示的プロセス2−2として示され、エイジェント・ロール・サーバ3′に従属しているものとして示されている。この場合の態様は、ソフトウェアの仕様からオブジェクト・ネットワーク・データをはじめとするすべては、クライアント1とエイジェント・ロール・サーバ3′との間の場合と全く同じ形式をとる。それは、システム開発の際のユーザフレンドリ性を確保するためである。
【0128】
インタラクションの形態としては、
(a)エイジェント・ロール・サーバ3′のような抽象化サービスはジェネリック・オブジェクト・ネットワークとして抽象化されている。当該ジェネリック・オブジェクト・ネットワークは、パラメータあるいは制約条件によって具体化されたスペシフィック・オブジェクト・ネットワークと階層化される。なおスペシフィック・オブジェクト・ネットワークは特定の機能に対応したサービスを行うネットワークである。
(b)個々のオブジェクト間の属性は、親の方から(例えばエイジェント・ロール・サーバ3′) から受け取り、それを用いてスペシフィック・ロール・サーバ3″は実行し、その結果は合成された属性(synthesized attribute) として、依頼した親の方に受け渡され、エイジェント・ロール・サーバ3′はそれらの属性値を用いて、制約条件を付し、新しいデータを得たり、チェック機構を動かす。(c)制約条件などは、図6に示す如く、形態的制約と時相的制約とが存在する。
【0129】
ジェネリック・オブジェクト・ネットワークは、図8に示す要素ネットワークの如きものでテキスチャ画像を図17、図18のように描くため、クライアントがテキスチャ描画の意図からその要求をエイジェント・ロール・サーバ3′に与えると、エイジェント・ロール・サーバ3′のもつジェネリック・オブジェクト・ネットワークを、統合サービスプラットフォームとして、クライアント1とエイジェント・ロール・サーバ3′との間の意志疎通のために設定する。そしてその上に上記図17や図18を表示するようにする。このようなネットワークは、エクステンシブル WELL のカーネル部の機能としてのグラフ構造エディタで行われる。
【0130】
図24はオブジェクト・ネットワークの階層構造を示すものである。例えば数学において変数を一般化して与えて公式を用意しておくように、パラメータや制約条件などを一般化して(抽象化して)与えておいたジェネリック・オブジェクト・ネットワーク33を用意しておく。そして、特定の処理を行わせるための特定のパラメータや制約条件34を、ジェネリック・オブジェクト・ネットワーク33中に組み込むことによって、当該特定の処理のためのスペシフィック・オブジェクト・ネットワーク35がつくり上げられる。
【0131】
図25はエイジェント・ロール・サーバ3′からスペシフィック・ロール・サーバ3″への処理の詳細化をテキスチャ描画の場合についてのジェネリック・オブジェクト・ネットワークを例示した図である。
【0132】
そして図25中で四角形で示した名詞オブジェクトと関連したテンプレートがテキスチャ描画システムの設計を行ったエキスパートによって準備され、それをWELLの機能によってエイジェント・ロール・サーバ3′もジェネリック・オブジェクト・ネットワークとデータとに分けてもつようにされる。
【0133】
Flow line の名詞オブジェクトがクライアントにより指示されると、図8の要素ネットワークのうちLINE〜NONEの部分グラフがFlow line のための部分描画プロセスとして、フローライン用コモン・プラットフォームがスペシフィック・ロール・サーバ3″からエイジェント・ロール・サーバ3′を中継して、クライアント1に指示され、これを用いて図17(a)(b)(c)(d)のように描画プロセスが進行するようにされる。
【0134】
この際、テンプレートは、要素ネットワークのもつテンプレートがそのまま利用される。FlowというLINEについた修飾用形容詞は、LINEに新しい属性構造をテンプレートとしてもち、さらに、(i) 制約条件を付加すべきこと、および(ii)テキスチャ描画のためにはLINEが描画用データウインドウに表示されるのではなくセルピクチャを写像する図26に示すような点の位置のみが必要であること、を示している。
【0135】
以上のことから、Flow line を描画するためには、図17(b)をもとに図17(d)を描き、さらに図26を描画するための制約条件、もしくはサブネットワークを与えるようにされる。
【0136】
したがってFlowという形容詞による修飾内容についての枠組みとして、前述したように、与えられた制約条件のもとに、
Length between adjacent points along flow line
Vertical Length between adjacent flow lines について、エイジェント・ロール・サーバ3′はクライアントから定義してもらう。このために、メッセージ・ウインドウ8によって前述したような分割する点の数についての質問応答が行われる。その結果が図14のConstraints on noun object25に与えられ、Flowの修飾が行われ、図26の結果が得られる。図中の点はCell pictureを写像する位置を知らせるためのもので、実際のTexture 画面には表示されない。これはTexture とFlow line の両者が与えられることから、Texture picture 表示の際、消去される。
【0137】
Cell pictureについても同様で、picture によって要素ネットワークによってカラー画像が描画される。この描画の後、図26の点集合中の各点の周りに写像されるが、picture はCellによって修飾されており、その大きさをFlow line での隣接点間距離との関係によって規定する。そのためにCell pictureに付属する制約としてCell pictureの2つのlengths がFlow line について定義されているlengthと一致させる処理が行われて写像(mapping) 描画がTexture picture によって行われる。この際、Cell picture size とFlow line のlengthとの比を設定することが可能である。これは図6に示される制約意図の実現と考えられ、サービス間形態調整制御が実際に整合化を行う。
【0138】
以上のことを実行するために、Texture picture を描画対策としての要求は、Request to paint texture pictureがクライアントから意図として、図22、図23に示されているように、エイジェント・ロール・サーバ3′に与えられると、エイジェント・ロール・サーバ3′は、統合サービス・プラットフォームをサービス計画準備のプロセスとして設定し、その上に図25で示されるジェネリック・オブジェクト・ネットワークをデータベース検索によって取り出し、それと同時にflow line とcell pictureとのためのスペシフィック・ロール・サーバが割り当てられる。
【0139】
以上のスペシフィック・ロール・サーバのなすべき仕事については、図4に示されるサービス計画準備で、役割サーバ検索(事項要求)が、エイジェント・ロール・サーバ3′を制御しているWELLシステムのカーネル部を介してデータベースサーバに検索依頼し、割り当てられたスペシフィック・ロール・サーバにその仕事を割り付ける。あるいは、元来その仕事を行っていたスペシフィック・ロール・サーバを事項検索を行って見出し、それに依頼する。
【0140】
スペシフィック・ロール・サーバが行う役割は基本的な名詞オブジェクトの実現を行うサービス実行と考えられ、その役割は具体的オブジェクトネットワークによって定義される。これに対しエイジェント・ロール・サーバは、それに制約条件や、他との整合化を行う仕事で、クライアントとの間でのインタラクティブな対話プロセスを伴うようなジェネリック・オブジェクト・ネットワークを含んだ仕事を分担する。
【0141】
以上述べたことを、インタラクションの形態について説明したオブジェクト指向の属性値についての継承および合成型の観点からシステムを考えると、
継承型データ:継承型データをもとにある処理を要求(Request) するエイジェント機能を行うサーバから具体的テンプレートを受け取る。即ちそのデータに対応したテンプレートの型として定まったデータ容器にデータ値が格納された具体的テンプレートを受け取る。この仕事を担当するスペシフィック・ロール・サーバもエクステンシブル WELL によって記述され、実行を行う。具体的実行は自身が行っても、他のサービスモジュールに依頼してもよい。
合成型データ:上記によりRequest されたデータをもとに依頼されたスペシフィック・ロール・サーバが実行処理を行う。その結果を格納すべきデータ型としてのテンプレート型式は、Request 時に受け取っており、それに格納して応答としてエイジェント・ロール・サーバに返す。この一連の仕事もエイジェント・ロール・サーバとの間に存在するコモン・プラットフォーム(これはスペシフィック・ロール・サーバがもっている)とそれを支援するコミュニケーション・マネージャが行う。
【0142】
以上のエイジェント・ロール・サーバ3′と、スペシフィック・ロール・サーバ3″との関係は、クライアントとServerとの間のエクステンシブル WELL の処理形態と全く同様である。しかしながらエイジェント・ロール・サーバが複数のデータをもとに継承型データとして複数個のスペシフィック・ロール・サーバに処理作業を依頼した時には、制約処理をエイジェント・ロール・サーバが行わなければならない。例として前述したTexture picture の描画を考えるとFlow linesとCell pictureとの描画を、それぞれ独立のスペシフィック・ロール・サーバに依頼し、その結果が返された時、Flow linesとCell pictureとの間の制約条件を満足させなければならないので、そのための制約条項が図25のIntegrating Constraints についての属性値とSatisfying文によっての規定とを満足させる。
【0143】
この制約処理をコミュニケーション・マネージャに行わせる。したがって、コミュニケーション・マネージャは、
(1)テンプレート構造の役割に応じた変換を行う。(上記表1参照)
(2)テンプレート内容および複数個のテンプレート内容についての制約処理に関連した整合化のための通信管理作業を行う。
【0144】
この制約処理は形態制約である。それはFlow linesとCell pictureとの2個のサービス・オブジェクト相互に関連していることによる。このため、図27のように制約処理の間での統合がはかられる。
【0145】
図27において、
▲1▼ クライアント1は、ウインドウのデータを眺めながら、オブジェクト・ネットワークによって要求を発する。
▲2▼ エイジェント・ロール・サーバ3′は、サービス計画用のデータを用意し、スペシフィック・ロール・サーバ3″に対して、即ち所望する処理を行うための各 Flow line 処理用のサーバや Cell picture 処理用のサーバや Texture picture 処理用のサーバに対して、要求を発しおよび/または処理の継承を指示する。
▲3▼  スペシフィック・ロール・サーバ3″における各サーバは、夫々自己の処理を行い、処理結果にもとづいた反応を返しおよび/または処理を合成して、エイジェント・ロール・サーバ3′へ応答する。
▲4▼ エイジェント・ロール・サーバ3′は、サービス内容をチェックし、制約条件があるか否かや現在の制約条件に追加や変更があるかなどを、クライアント1に尋ねるように処理する。
【0146】
このように図27に示す如く、スペシフィック・ロール・サーバ3′中の各サーバが処理した結果あるいは所定の制約条件の下で処理した結果について、改めて、各処理結果の間で生じうる制約条件を新たに考慮してゆくようにする。即ち、制約処理の間での統合がはかられる。
【0147】
図27に示すプロセスによって図25で述べたAgent roleとSpecific role との差異が示されている。Flow line とCell pictureとについてもFlowとCellとの修飾に関連した制約処理はagent roleの働きと考え、要素ネットワークに対応する処理はspecific role の働きによって行われる。
【0148】
また画像処理と画像描画とを相互作用のある形で、コモン・プラットフォームを用いて対話的情報処理を行うことができる。例えば、エッジ線やハイライト線のような特徴抽出を行う画像処理を行い、抽出されたハイライト線を移動させる。すなわち、左目から見た左画像が与えられた時に視点を右目の位置に移動させて右画像を求めるようにして、立体画像を得たり、あるいは顔の目尻を上下させて表情変化をさせる時に目尻の位置を検出するような画像処理によって表情の特徴を得たりすることができる。
【0149】
しかし、これら特徴検出については、サーバがいつも完全な実行処理できるとは限らない。そこで明確な特徴を検出しうる箇所をクライアントが選び、そこである性質としての特徴名としての制約を示して特徴を表現する点の候補を求め、次いでその中から特徴点を確定するようにする。この操作は例えば図8の要素ネットワークにおいて、クライアント側の動作を時系列的にC1,C2・・・として示し、システム側の処理を時系列的にS1,S2・・・として示すと次の如く処理が進行される。即ち、
(C1−1)Colored Region Segmentの項目名を指定し、データ・ウインドウ上で抽出したい特徴の明らかな、
(C1−2)Region SegmentをIdentifyする。
(C1−3)ついで、Featuredをキーボードから入力し、Colored Point の項目を指定することにより、Featured Colored Pointを求めたことを、クライアントの意図として、システムに要求する。
(S1)システムはメッセージ・ウインドウによって意図を確認してSeek featured Colored Point を表示し、IdentifyされたColored Region Segmentを表示する。
(C2)Featuredの制約としてHighlight をキーボードから入力する。Highlight の性質はシステムに既に与えてあるとする。
(S2)Featured(Highlight) Colored Point を抽出する。
(C3〜S3)Featured(Highlight) の単語をコピーし、Colored Line SegmentをIdentifyする。これにより、システムは、クライアントがFeatured Colored Point Sequence を経てFeatured Colored Line Segment を作るべきことを、サービスとして実行する。
【0150】
以上によって、Highlight 線を構成し、クライアントはその確認を行った後、それを移動した上で新Highlight 線およびエッジ線を左右の眼の視差に対応して移動する。この際、Colored 属性を継承し、その上でHighlight 線の特徴を維持するように描画サービスをシステムが行う。このHighlight 線の移動差をmoved highlight 線として修飾を行い、moving vector diagram を用いて時間的な移動を行うようにする。
【0151】
またこれらの修飾を行うのに当たって、colored.... によって輝度や色度の属性用テンプレートを付加したのと同様に追加テンプレート部分が付加される。これらは名詞オブジェクトに対するものであったが、動詞オブジェクトについてもpoint からline segmentに至るdrawが継承される。したがって動詞オブジェクトについても実行開始時、実行中、実行終了時の制約条件が付加される。
【0152】
また実行要求と制約との関係としては、サービスとしての実行要求を行いうる条件を規定することが必要で、
(1)属性値処理のために、エイジェント・ロール・サーバ3′からの継承性属性のみが要求により実行可能で、結果は合成属性として上位エイジェント・ロール・サーバ3′へ応答するようにされる。
(2)実行要求は、クライアントによってオブジェクト・ネットワーク上の動詞オブジェクトを指定し、もしくは上述のような実行の単位(pointからlineへのdraw) によって実行系列を定めるようにして、委任発行される。
(3)ジェネリック・オブジェクト・ネットワーク上のジェネリックな動詞オブジェクトについても実行系列命令の生成を(2)と同様に行う。
【0153】
このために図6に関連して記述した時相的制約が満足されていることを制約処理によって調べる。
【0154】
実行結果をエイジェント・ロール・サーバ3′に応答すると、エイジェント・ロール・サーバ3′は制約処理のプロセスに入る。制約条件を満足していない時には、合成データを応答してきたスペシフィック・ロール・サーバへ継承属性を変更させて再実行に移らせる。それでも不満足な時には合成ルートをたどって(図22、図23の中継などによって)最終的にクライアントの判断を仰ぐパスが設定される。
【0155】
これまでの説明は、クライアントが一人であったが、複数のクライアントの協調化も行いうる。それはクライアントの上位階層として協調化を行う協調化エイジェントが存在すると考えることによって、コモン・プラットフォームを協調化して実行する場として使用可能である。
【0156】
グラフ構造化エディタは、オブジェクト・ネットワークの定義を読み取り、それを可視化可能なオブジェクト・ネットワークに表示すると共に、各オブジェクトのテンプレート構造および制約条件を各オブジェクトの属性として管理している。したがってエクステンシブル WELL の機能によってエイジェント・ロール・サーバ, スペシフィック・ロール・サーバのソフトウェアが記述される。そしてオブジェクト・ネットワークとテンプレートの構造とは、システム設計の最初の段階で、開発担当のその分野を担当するエキスパートによって記述が行われる。
【0157】
サービス・モジュールが、できるだけ基本的なソフトウェア・モジュールとそれに対応する専門分野との組み合わせという考え方で、開発し用意される。
【0158】
並行処理のためには、オブジェクト・ネットワークの構造を図28のように、TOP を目的ゴール、BOTTOMを出発点として表現する。当該BOTTOMは上述の図8のNONEの如きものと考えてよい。
【0159】
図28においては、現在実行中のタスクが今CとEとであるとすると次に並行実行可能なタスクがAとDとであり、AとDとの並行実行が終了した時には次にAとBとに移ることを可能とすることが示されている。このように、オブジェクト・ネットワークの構造を解析して、並行実行の進行と共に複数個のサーバの並行実行を動的に制御させるようにする。
【0160】
図4において、クライアント1とエイジェント・ロール・サーバ3′とスペシフィック・ロール・サーバ3″との関係を示し、クライアント1とエイジェントとの間に表示的プロセス2−1としてのコモン・プラットフォーム2が存在し、かつエイジェントと各サーバ#iとの間に従属表示的プロセス2−2としてのコモン・プラットフォーム2が存在する態様を示した。
【0161】
図4においてクライアント1の存在を示しているが、当該クライアント1として、エイジェント・ロール・サーバ3′に対して処理を希望するユーザを考慮することは言うまでもないが、当該ユーザとエイジェント・ロール・サーバ3′との間の情報交換を援助するエキスパートを更に考慮することができる。
【0162】
図29はエキスパートの存在を考慮したシステム構成を示す。図中の符号1,2−1,2−2,3′,3″は夫々図1や図4に対応している。そして、符号1−1は図1や図4に示すクライアントに相当するユーザ、1−2はエイジェント・エキスパートであってユーザ1−1とエイジェント・ロール・サーバ3′との間の情報交換を援助するもの、1−3はスペシフィック・エキスパートであってエイジェント・ロール・サーバ3′とスペシフィック・ロール・サーバ3″との間の情報交換を援助するものを表している。
【0163】
図示のユーザ1−1は人間であるが、エイジェント・エキスパート1−2やスペシフィック・エキスパート1−3は夫々人間に限られるものではなくインテリジェント機能をもつ処理ユニットであってもよい。
【0164】
図29に示すように、エイジェントに対してユーザ1−1としてのクライアントは、ある局所的な特定の問題解決(problem resolution)を依頼する。すなわち、ある問題についてエイジェントの支援をたのみ満足する解を得る。
【0165】
これに対し、専門家としてのエイジェント・エキスパート1−2はエイジェントが担当する問題解決を行うための各種サービスの仲介実行を行う仕事を担当する。すなわち、ジェネリック・オブジェクト・ネットワークを構成し、それをエイジェント・ロール・サーバ3′に対して実際に実行するオブジェクト・ネットワーク群に分解し、図22,図23のような実行を可能とする方法を設計する。
【0166】
この際、ジェネリック・オブジェクト・ネットワークとそのためのテンプレート(これにはデータのみでなくサービスモジュール名を含む)と制約条項とをもっている。図22,図23に示したエイジェントの中継機能は、エイジェント・ロール・サーバ3′のもつウエル・システム11の中核部に備えられている。制約条項の処理は、一般的形式で記述されている部分については制約処理サーバに依頼する。
【0167】
ジェネリック・オブジェクト・ネットワークとそれに関連するテンプレートをエイジェント・ロール・サーバ3′のウエル・システム11の言語処理部に記憶し、それを抽象化サービスとして実現させるためには、ウエル・システム11のグラフ構造化エディタの機能を用いてエイジェント・エキスパート1−2が行う。
【0168】
同様に,個々のスペシフィック・ロール・サーバ3″にも,対応するスペシフィック・エキスパート1−3が存在し、この場合のユーザに該当するエイジェントが分配したある特定のサービスを実現するための実際に実行するオブジェクト・ネットワークとそれに関連したテンプレートを設計し、それぞれのウエル・システム11の言語処理に格納する。
【0169】
以上のようなジェネリック・オブジェクト・ネットワークおよび実際に実行するオブジェクト・ネットワークはウエル・システム11の拡張機能を利用して動的変更を行うことが可能である。
【0170】
同様のことが制約条項についても行われる。すなわち制約条項をその時点での入力データと見なし、制約条項を拡張し、設計を行うような制約処理用オブジェクト・ネットワークをジェネリック・オブジェクト・ネットワークと実際に実行するオブジェクト・ネットワークとの両者を設計し、それによって制約条項変更サービスを行うようにシステムを動的に変化させる。これもそれぞれのエキスパートが計画し、方法を実現させる。
【0171】
以上のことは、表1に示したサービス機能の計画設計に関しており、エキスパートの役割となり、エキスパートは、ユーザ1−1とサーバとの間の問題解決手段を提供し、その評価によって動的設計を行う。
【0172】
データに関連する部分については、ユーザのもつ得意機能とサーバのもつ得意機能に対応して、それぞれデータを理解し参照指示する機能にもとづいて記述内容のもつ役割を分化させ、全体システムを効率化するようにさせている。
【0173】
上述の如く、ユーザ1−1は或る目的意図の下でシステムを使用して成果を得る役目を果たすものであり、これに対してエキスパート1−2(又は1−3)はシステムを計画し設計し実現させてユーザ1−1の使用のために提供する。当該エキスパート1−2(又は1−3)も,エイジェント・ロール・サーバ3′やスペシフィック・ロール・サーバ3″との間でのインタラクションを行う場としてコモン・プラットフォーム2が用いられる。
【0174】
ユーザ1−1は可視型のオブジェクト・ネットワークを用いデータを入力するなどして操作を行う。オブジェクト・ネットワークは、オブジェクトとして名詞型オブジェクトや動詞型オブジェクトを用いる。他動詞型のオブジェクトでは目的語データや補語データについても可視型として表現され操作される。名詞や動詞についての修飾語ではテキスト形式の文や語を用いることが許される。上記のウエル・システム11(図5参照)はこの考え方にもとづいて実現されていると考えてよい。
【0175】
エキスパート1−2(又は1−3)は、ユーザ1−1が利用できるように、ウエル・システム11の機能を用いてオブジェクト・ネットワークを設定し、名詞オブジェクトについてはデータ構造としてのテンプレートを用意するようにし、動詞オブジェクトについても同様にサービス名や制約処理のためのテンプレートを用意するようにする。またオブジェクト間に制約条項が存在する場合には、テンプレート内に制約条項へのポインタが設定される。このためにグラフ構造エディタが上記ウエル・システム11における言語処理系に設けられてオブジェクト・ネットワークの変更や拡張が動的に行われる。この動的な処理は、ユーザ1−1の意図を実現する上での、キーワードにもとづいたデータベースに対する事項検索によって行われる。あるいは、エイジェント・ロール・サーバ3′の助けをかりてユーザ1−1自身がオブジェクト・ネットワークの書き下しや訂正を行う。勿論並行処理の下で行うこともできる。これらのサービス計画は、エイジェント・エキスパートによって設計され、ジェネリック・オブジェクト・ネットワークとしてコモン・プラットフォーム上に表示される。
【0176】
エイジェント・ロール・サーバ3′は、サービス計画として、ユーザ1−1の要求に対応したオブジェクト・ネットワークをユーザに提示し、その結果にもとづいてサービス役割の割当てを行い、個々のスペシフィック・ロール・サーバにサービス仕様を与えると共に、プロトコル仕様にもとづいて具体的に各割当てサービスを並行的に実行させる。
【0177】
【発明の効果】
以上説明した如く、本発明によれば、クライアントとサーバとの間に、可視的な表示をもってクライアントに通知しかつクライアントからの意図を受け取り、クライアント側への可視的表示を用いた情報授受とサーバ側へのデータスキーマに則したデータ構造での情報授受とを仲介し、クライアントはディスプレイのウインドウに表示された画像と対話を行いながら、所望するオブジェクト・ネットワーク例えばカラー画像生成・色付け処理分野に対する処理を実行することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例構成図を示す。
【図2】処理フロー(I)を示す。
【図3】処理フロー(II)を示す。
【図4】エイジェントをもつ構成を示す。
【図5】ウエル・システムとオブジェクト・ネットワークとの関係を説明する図である。
【図6】処理の整合を行う状況を概念的に示した図である。
【図7】コミュニケーション・マネージャの働きを示す図である。
【図8】要素ネットワークの関係を示す図である。
【図9】コモン・プラットフォームをもつシステムにおいてカラー画像生成・色付け処理を行う態様を示している。
【図10】テンプレートのフォーマットを示す。
【図11】コミュニケーション・マネージャの動作態様を示す。
【図12】クライアントの指示に対応する動作を説明する図である。
【図13】情報の交換動作を説明する図である。
【図14】チェック・モジュールの動作を説明する図である。
【図15】制約条件の表示態様を示す図である。
【図16】アイデンティファイ作業を説明する図である。
【図17】FLOW LINESの描画態様を示す図である。
【図18】うろこパターンの画像を表す図である。
【図19】ライン用のテンプレートのフォーマットを表す図である。
【図20】LINESを限定する形容詞節を表す図である。
【図21】属性にFeature 名を記述されたテンプレートを表す図である。
【図22】テキスチャ描画の流れ(I) を表す図である。
【図23】テキスチャ描画の流れ(II)を表す図である。
【図24】オブジェクト・ネットワークに概念を説明する図である。
【図25】サーバ3′とサーバ3″との処理例を表す図である。
【図26】中心点を表示した図である。
【図27】制約処理の統合を表す図である。
【図28】並列処理を分析した図である。
【図29】エキスパートの存在を表すシステムの図である。
【図30】クライアント・サーバ間の対話モデルを表す図である。
【符号の説明】
1 クライアント
1−1 ユーザ
1−2 エイジェント・エキスパート
1−3 スペシフィック・エキスパート
2 コモン・プラットフォーム
3 サーバ
4 ウインドウ
5 ネットワーク・オペレーション・ウインドウ
6 オペレーション・ウインドウ
7 コマンド・ウインドウ
8 メッセージ・ウインドウ
9 データ・ウインドウ
10 コミュニケーション・マネージャ
11 ウエル・システム
12 ウエル・カーネル
13 グラフ構造エディタ
14 ウインドウ・マネージャ
15 ディスプレイ・マネージャ
16 関数実行・マネージャ
17 サービス・モジュール
18 分野
18C カラー画像生成・色付け処理分野
19 オブジェクト・ネットワーク
20 輪郭部(Frame Section)
21 カラー部(Color Section)
22 テンプレート
23 バッファ
23’バッファの内容
24 チェック・モジュール
25 制約条件
27 名詞オブジェクト
33 ジェネリック・オブジェクト・ネットワーク
34 特定のパラメータや制約条件
35 スペシフィック・オブジェクト・ネットワーク[0001]
[Industrial applications]
The present invention relates to an information processing apparatus and an information processing method in which a client executes a service according to a client's intention while interacting with a server.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, processing has been performed while interacting with a screen of an information processing apparatus. As disclosed in Japanese Patent Application Laid-Open Nos. 63-138430 and 63-138431, it is known that a system executes a process without being conscious of an object or a management program.
[0003]
In order to solve a certain problem and obtain a processing result, an intention arises from curiosity, and a service system that satisfies the intention is required. Considering the interaction model between the client and the server as shown in FIG. 30 for this purpose, it is conceivable that the intention is defined by an object network expressed by a graph structure. Then, the contents of the object network are expressed by an interactive scheme in which individual intentions perform services sequentially or in parallel.
[0004]
The left side of FIG. 30 is a client, and the content description work on the intention performed by the client is indicated by a rectangular frame. The right side of the drawing is the server, the processing performed by the server is indicated by a rectangular frame. Indicates that a display process including a display function such as a display is interposed. The intention of the client is received by receiving an instruction and / or data from the client, and is decoded on the system side.
[0005]
The client makes a request for a service to the display process as intention by the service name of interest (1). The server executes the intention realization plan in response to the request, and presents the object network to be processed by (2).
[0006]
The client selects the unit intention while viewing the presented object network on the screen (3). The selected unit intention is indicated on the server side, and the constraint data and conditions for executing the process at that time and the function plan for executing the process are executed and presented on the screen (4).
[0007]
The client selects the presented data, conditions and functions (5). The server executes the service function execution plan based on the selected data, conditions and functions, and presents the execution result on the screen (6). The client evaluates the execution result and selects the next intention (7).
[0008]
As described above, the client and the server cooperate to realize the intention. That is, the client requests the server for the unit intention in the process of selecting the intention. In response, the server plans the constraints required to perform the service and responds to the client with its need. A place for such interaction is effective for dialogue.
[0009]
In order for the dialogue to be smooth, the semantic cohesion of the dialogue process is expressed by the intentionally driven coherence of intentions, which guarantees the validity of the object network.
[0010]
[Problems to be solved by the invention]
In order for the interaction process to proceed smoothly, it is efficient to specialize the role in the service process. Images and graphics are more intuitively understood by human beings as expression symbols than text sentences, but a logical description is easier for a computer to process. The role is defined by various functions such as an understanding decoding function and an execution processing function, or a description form such as a predicate or an expression style.
[0011]
The present invention provides processing means such as a so-called common platform having various windows, and a control means such as a so-called communication manager in the common platform matches data notation formats and the like between a client and a server. The purpose is to enable the dialogue to proceed effectively.
[0012]
[Means for Solving the Problems]
FIG. 1 shows a configuration diagram of an embodiment of the present invention. In the figure, reference numeral 1 denotes a client, 2 denotes a common platform, and 3 denotes a server. In the common platform, reference numeral 4 denotes a window displayed on display means such as a display, which is roughly divided into a network operation window 5 and a data window 9. Reference numeral 6 denotes an operation window that displays images and characters that allow various operations to be specified, 7 denotes a command window that displays images and characters that allow various commands to be specified, and 8 denotes a command window. It shows a message window that allows various messages to be displayed.
[0013]
The data window 9 includes a data window (I) 9-1 representing a processing result and a data window (II) 9-2 representing constraint data and the like necessary for processing.
[0014]
Reference numeral 10 denotes a communication manager, which mediates communication between the client 1 and the server 3 exchanged via the window 4.
[0015]
Reference numeral 11 denotes a well system (hereinafter, sometimes referred to as an extensible well system in the sense that it has expandability to cope with various object networks). A well kernel 12 manages the communication manager 10, the following various managers, a graph structure editor, and has a work area. Reference numeral 13 denotes a graph structure editor which performs processing by expressing the graph structure as a template, considering the object network as a kind of data.
[0016]
Reference numeral 14 denotes a window manager having a function of processing selection of the window 4 and the like. A display manager 15 has a function of controlling a display for displaying a window. Reference numeral 16 denotes a function execution manager, which has a function of performing a process for executing a function for performing a process on the object network according to a client's intention.
[0017]
17-1 and 17-2 are service modules that perform processing corresponding to each purpose.
[0018]
The server 3 calls an object network describing the content of the intention that the client intends to process, and the graph structure editor 13 stores the object network on a work area of the well kernel 12.
[0019]
On the basis of this result, the object network is displayed in the operation window 6 by the operation of the window manager 14 and the like and through the mediation of the communication manager 10.
[0020]
Under this state, the client specifies all or part of the object network based on the displayed object network and indicates its own intention. In response to this instruction, the communication manager 10 interprets the intention and causes the server to call a template for an object (for example, a noun object) corresponding to the position to be processed. Then, the service module prepares an area corresponding to the template, and the window 4 displays the existence of the constraint data at that time in the data window (II) 9-2.
[0021]
The client selects the constraint data on the data window (II) 9-2, the server executes the execution plan, the service module 17 executes the execution plan, and the window 4 displays the execution result on the data window (I) 9-9. 1 is displayed. The client evaluates the result and gives the next instruction.
[0022]
FIG. 2 and FIG. 3 together show one flowchart, and show a flowchart showing an aspect in which the configuration shown in FIG. 1 is used.
(S1): As shown in FIG. 5 to be described later, for example, when performing processing corresponding to the color image generation / coloring processing field 18C, the server calls the corresponding object network 19C.
(S2): In response, the graph structure editor stores the object network in a work area on the well kernel 12.
(S3): The well kernel 12 activates the window manager 14 and the display manager 15 shown in FIG. 1, and the kernel 12 receives a response from each of the managers. Thus, the object network is displayed on the operation window 6.
(S4): After viewing the object network on the operation window 6, the client 1 specifies all or part of the object network and indicates its own intention.
(S5): The communication manager 10 identifies this situation, and causes the server to call the template for the object corresponding to the position to be processed through the kernel 12 (the server calls the template).
(S6): The service module prepares an area corresponding to the template.
(S7): In the common platform, constraint data that may be described in the template is extracted, and the constraint data is displayed in the data window (II) 9-2.
(S8): The client 1 looks at the restriction data and selects desired restriction data from the restriction data.
(S9): The communication manager 10 identifies this situation, notifies the server via the kernel 12, and the server executes the execution plan.
(S10): In response to this, the service module executes a desired process (for example, a process such as drawing or coloring).
(S11): The processing result is displayed in the data window (I) 9-1.
(S12): The client evaluates the processing result and gives the next instruction.
[0023]
(I) “Service module” in claim 1 of the present application corresponds to the service module 17-i shown in FIG. 1, and (ii) “processing procedure information output means” corresponds to step (S 3) in FIG. As described, it corresponds to the well kernel 12 shown in FIG. 1, and (iii) << "applying means" is the communication and communication method shown in FIG. 1 described in step (S5) in FIG. Corresponding to the processing means corresponding to the processing by the manager 10, (iv) "control means" is the common platform 2 shown in FIG. 1 as described in step (S6) and step (S7) in FIG. Corresponding control means.
[0024]
In addition, (v) “display means” in claim 2 of the present application corresponds to the window 4 shown in FIG. 1, and (vi) “the control means causes the display means to display the data after the data conversion” is performed by a common platform described later. (See paragraphs [0026], [0047], [0071] to [0079], etc.).
[0025]
【Example】
In order to more effectively realize the interaction between the client and the server as shown in FIG. 30, an agent role server that plays the role of an agent is interposed between the client and the server that performs individual processing. It may be effective to do so.
[0026]
The common platform function has a window 5 for displaying an object network, and a data window 9-i for displaying data necessary for the execution and data of the execution result as a visible image to support these. These functions make it possible to use the display format most suitable for the user as the client 1 and convert it to the common platform 2 for processing inside the data processing device. To make it easier for the user to use.
[0027]
On the other hand, for the server 3, it is necessary to process individual data and the like in a text format with an index tag. Since the client 1 and the server 3 each have a specific role, the communication manager 10 has a role of converting the data into a data format according to the role. In order to define the data type for this, control is performed using a template.
[0028]
The conversion is performed based on this template. In this case, the format of the notation differs according to the difference between the roles of the client 1 and the server 3. For a client, a figure or image such as a graph is easier to understand and instruct than a text format. In particular, it is desirable that a point or line can be referred to directly on the data window or by a mouse. On the other hand, for a computer as a server, a point is quantified as a coordinate value of (x, y), and a line has poor processing efficiency unless pixel points passing from a start point to an end point are in a list form. From such a viewpoint, the notation format needs to be different depending on the role function as shown in Table 1.
[0029]
[Table 1]
Figure 2004054942
[0030]
That is, with respect to data representing points and lines, points and lines are displayed as entities with the client 1 so that the client 1 can give an instruction while referring to each entity, and index data with the server 3 Identify in the form and batch transfer or associate with the identified ones.
[0031]
With respect to data representing figures and images, the images and figures are actually displayed with the client 1 so that the client 1 can refer to the data, and the data with the server 3 is specified in a list structure or a raster structure. .
[0032]
As for the data element, a name is specified with the client 1 and specified with a name header with the server 3.
[0033]
With respect to the service function (agent abstract service function), a service structure that specifies in what program the service is to be performed is first given to the client 1 in the form of a generic object network (client 1 gives the desired parameters based on this). During the execution of the service, the client 1 can provide (i) a service item having a service restriction item as a parameter, and (ii) a service name. A service structure table (i) is provided with the server 3, and (ii) a server that executes a service or a server that is responsible for the service is specified in accordance with a service item instruction from the client 1.
[0034]
FIG. 4 shows a configuration having an agent. The client (Client) and the server (Specific role server) shown in Fig. 4 correspond to the client 1 and the server 3 "shown in Fig. 30. In the case shown in Fig. 4, the agent (Agent role server) is used. ) Can be provided in the middle as a server 3 ′ that plays the role of, for example, a travel agency.
[0035]
The display process 2-1 and the subordinate display process 2-2 shown in FIG. 4 have the same functions as the display process shown in FIG. 30, respectively. In the case shown in FIG. 4, a service request and a response are performed between the client 1 and the agent 3 'toward the display process 2-1.
[0036]
The agent 3 'prepares a service plan according to the intention of the client 1, searches for a server (Specific @ role \ server) to execute the role, performs a service role assignment plan, and proceeds to the dependent display process 2-2. Request to perform a role function.
[0037]
The server (Specific @ role @ server) 3 "executes the assigned service execution plan, and presents the execution result to the dependent display process 2-2.
[0038]
The agent 3 'checks the contents of the service result and instructs the display process 2-1 to present the service result to the client 1.
[0039]
The display process 2-1 and the subordinate display process 2-2 shown in FIG. 4 are each realized by the common platform 2 shown in FIG. The agent 3 ″ shown in FIG. 4 may be considered to be provided as one of the service modules 17-i shown in FIG.
[0040]
The well system 11 shown in FIG.Windo-basedE laborationLAlthough it is assumed that the functional unit handles a functional language tentatively referred to as "language {}), it is not limited to only a functional unit handling a special language called WELL, and a dialog can be performed using a window. In a broader sense, the processing function should be considered to be the well system 11 shown in FIG.
[0041]
FIG. 5 is a diagram for explaining the relationship between the well system and the object network. Reference numeral 11 in the figure corresponds to the well system shown in FIG. Reference numerals 19A, 19B, and 19C denote object networks combined with the service modules shown in FIG. 1, respectively, 18A, 18B, and 18C, each of which is a predetermined processing field, and in the illustrated case, 18C denotes color image generation and coloring. It represents the field of processing (Color \ Picture \ Processing \ Painting).
[0042]
When an object network corresponding to a field is provided for a functional language tentatively called WELL, processing of the object network can be executed without a program. The language is a window-oriented language, and a client-server model is realized by interfacing with a client through a window.
[0043]
In FIG. 5, an object network 19C provided to the well system 11 by a window required corresponding to, for example, a color image generation / coloring processing field 18C and a service module definition for performing the corresponding processing. Is combined, the well system becomes a system corresponding to the color image generation / coloring processing field 18C as shown by the dotted line in the figure. Needless to say, when the object networks 19A and 19B in other fields are combined, a system corresponding to the field 18A and the field 18B is obtained.
[0044]
If the object network provided to the language processing system constituting the system is changed, the system function changes. The processing system performs the corresponding field processing by giving the configuration description of the target object network as input data, so that WELL originally has the graph structure editor 13. Therefore, by providing the system with the function of changing the object network at the time of execution, the system can be expanded. In particular, the noun object can have constraints for the interface and use the message window in the common platform.
[0045]
Extensibility is also necessary for cooperative integration between multidisciplinary areas that are independent of each other. It is adaptable to the system environment that is being executed concurrently, such as changing the constraint relationship of the noun object, and dynamically changing the synchronization and the exclusiveness of the execution control of the verb object. In this case, it is necessary to perform a role change that occurs during management of common assets and plan revisions, and it is necessary to match the processing functions corresponding to the specialty functions by introducing a new common place.
[0046]
FIG. 6 is a diagram conceptually showing a situation in which processing is matched. When the client at the left end of the figure attempts to execute the corresponding services A to N in parallel with intentions A to N, there are often restrictions on the execution of each service.
There are two types of constraints: temporal constraints and morphological constraints. The former regulates runtime and controls inter-service temporal coordination, and the latter controls inter-service temporal coordination. Is performed. Then, the result of the composite service executed after such regulation and control is performed is checked, presented to the client via a window, and the client evaluates the result.
[0047]
FIG. 7 is a diagram showing the operation of the communication manager. The reference numerals in the figure correspond to those in FIG. In FIG. 7, the label “common platform” is given in correspondence with the window 4. However, in the common platform 2 shown in FIG. Since it is considered to be representative, it is simply labeled as “common platform”, and corresponds to the window 4 in FIG.
[0048]
As shown in FIG. 7, when the intention of the client is transmitted to the system via the window 4, the intention is always transmitted to the kernel 12, the managers 14, 15, 16 and the service module 17-i via the communication manager 10. . From this, the communication manager 10 is the only manager directly connected to the window 4 and centrally manages the interactive process.
The operation of the communication manager 10 will be described later in more detail.
[0049]
As described above, WELL is an extensible language regardless of the field. When an object network such as a window definition or a service module definition corresponding to each field is provided, WELL becomes a field description language in a form corresponding to the field. The well system using the WELL is composed of two elements, a well kernel 12 and various managers 14, 15, 16 and the like (well manager).
[0050]
The Extensive Well Kernel 12 performs the following items.
(1) Understanding the data state (understand the process and select the function to be executed next)
(2) Event analysis (determining the event sent from each window and calling a procedure in the system corresponding to the result)
(3) Function execution request (restriction is added to the generic function to request execution of the function)
[0051]
Each manager is divided into the following four.
(1) Communication manager 10 (indirect management of template (data) and control of each manager for input from common platform)
(2) Function execution manager 16 (function execution management)
(3) Window manager 14 (window management)
(4) Display Manager 15 (Numerical conversion of template)
[0052]
The communication manager 10 performs data conversion between the field-independent WELL and the field-dependent service module 17-i. Through the communication manager 10, data in all fields can be handled, and the versatility of the well system itself is not lost.
[0053]
The window 4 serves as an interface with the client 1 and has the following five individual windows.
[0054]
(1) Network operation window 5 (control of entire system)
(2) Operation window 6 (network operation display and its control)
(3) Command window 7 (display of selection candidates and input from keyboard)
(4) Message window 8 (message display from system side)
(5) Data window 9-1, 9-2 (data display)
[0055]
Of course, when a role is introduced into a processor, the representation of that object for each object in the object network must be role-dependent. It is a visible object to humans, and the computer needs to represent the object with a data structure that conforms to the data schema. Although the object network is shared by the individual processors, the data structure is defined in a template format and is interchangeable.
[0056]
Each object constituting the object network is a noun object, a verb object, and a constraint object in accordance with the framework of the field description language, and the constraint object is given a constrained object and a constraint condition as attributes, and the validity for that. Can be determined by each manager to perform the corresponding object processing.
[0057]
If the field of color image generation / coloring processing is applied to the well system 11 described above, the WELL becomes a so-called WELL-PPP (Window-based Evolution / Language / Picture / Processing / Painting). The well system 11 is a color image generation / coloring processing system. An element network, which is one object network in this case, is a contour part (Frame @ Section) that represents the appearance of an individual object and generates a contour (Outline) that secures an area, a line, and a line. A color section (Color Section) for giving an attribute value (Attribute @ value) according to the area.
[0058]
FIG. 8 is a diagram showing the relationship between element networks. The “frame” 20 in the left half in FIG. 8 corresponds to the above-described outline (Frame @ Section), and the “color” 21 in the right half corresponds to the above-described color (Color @ Section).
[0059]
The outline section 20 creates an item (Entity) representing the data itself, and the color section 21 creates an attribute (Attribute) representing luminance, chromaticity, and the like. The status of each class is as follows.
[0060]
<NONE> Indicates a state where processing has not been performed yet
<POINT> Indicates a basic point of the contour, which is called a principal point (Principal @ Point).
<POINT @ SEQUENCE> Indicates the connection order for the main points
<LINE @ SEGMENT> Interpolated by spline function based on connection order
<LINE> LINE @ SEGMENT is connected to complete one line. <REGION @ SEGMENT> Indicates an area of one horizontal scanning line in the image.
<REGION> REGION @ SEGMENT connected vertically along the image
<COLORED ~> Represents respective items indicating luminance and chromaticity information. Further, IDENTIFY connecting the outline portion and the color portion is defined as follows.
[IDENTIFY] Indicates an operation for specifying a processing target.
[0061]
A client can perform a process of drawing a picture using a network as shown in FIG. Although the mode of the processing is not directly related to the present invention, it is described in Japanese Patent Application No. 2801459 (Japanese Patent Application Laid-Open No. 5-233690) (a language processing system using an object network). Section is described.
[0062]
FIG. 9 shows a mode in which a color image generation / coloring process is performed in a system having a common platform. Reference numerals 1, 2, and 3 in the figure correspond to FIG.
[0063]
When the client visually recognizes that the element network has been incorporated by displaying the window on the common platform, the client selects the intent necessary for drawing (class selection). In this example, COLORED @ POINT that gives luminance and chromaticity to points is selected.
[0064]
In response to the client's request to place a color on a point, the server prepares a template for storing information (DEFINING @ PROCESS) and requests the client for which point the color information is to be placed. The template will be described later.
[0065]
When the client specifies a point (IDENTIFY), the server recognizes the point by referring to the index. Then, the client requests the client for luminance / chromaticity data to be placed on the point.
[0066]
When data is received as a response from the client, the data is input to the template as DEFINE OPERATION, and the resulting color image is displayed in the window.
[0067]
This indication allows the client to recognize the process, evaluate it, and move on to the next intent selection. Thus, the client grasps the intention from the server as a visualized object.
[0068]
The points and lines drawn as described above are managed in the form of the above-mentioned noun objects, and the processing mode performed on each noun object is given as the above-mentioned verb object.
[0069]
The communication manager 10 described above manages data correlation to maintain the scalability of WELL. For this purpose, data is centrally managed as a template, and attributes can be freely set there.
[0070]
FIG. 10 shows an example of a template format. It has an index indicating whether each template 22 corresponds to the number of the object to which the template 22 belongs, coordinates, and attributes. The template is managed by the “index” in the service module 17-i, but what is provided from the client through the data window 9 is the coordinate value on the data window 9. Since the service module 17-i cannot perform an index search for the template from the coordinate values, the communication manager 10 converts the coordinate values into an index and hands it over to the service module 17-i. Further, the communication manager 10 centrally manages the interactive process of the well system.
The common platform includes (i) an object network for transmitting operations to clients, (ii) a message window for transmitting messages and selection items, and (iii) data for actually performing operations such as drawing and displaying image data. The communication manager 10 has windows and the like, and in order to realize the client's intention obtained through those windows, the communication manager 10 transmits the intention to each manager or kernel in response to input of the contents of the intention. Due to the unified management of such a dialogue process by the communication manager 10, data always passes through it, and it becomes possible to check a template and check a constraint condition.
[0071]
FIG. 11 shows an operation mode of the communication manager. Reference numerals 1, 3, 5, 8, 9, 10, 12, 14, 15, and 17 in the figure respectively correspond to the reference numerals in FIG.
[0072]
The point (x, y) specified by the client on the window is transmitted from the data window 9 to the communication manager 10, the message is transmitted through the message window 8, and the operation is transmitted through the operation window 5. Can be Information is transmitted and received between the various managers 14 and 15, the kernel 12, and the service module 17 by the communication manager 10.
[0073]
The template as shown in FIG. 10 is prepared corresponding to point and line data, graphic / image data, and the like. This is because point and line data, graphic / image data, and the like are data handled by the common platform. They belong to the noun objects that form the nodes in the object network.
[0074]
Therefore, when the client wants to display or refer to the data, the reference portion of the data displayed on the window 4 is indicated by a mouse or the like, and the noun object is designated for reference on the object network.
[0075]
Such a reference designating function is mainly intended for a client to designate data as a target case of a verb object. On the other hand, in displaying the entity, actual points, lines, figures, and images are shown as entities on the window 4 so that the client can display the result of the execution processing by the server. In storing and processing the data on the server side, the server processes the data stored along a specific data structure (for example, an indexed list structure, a raster structure, etc.).
[0076]
FIG. 12 is a diagram illustrating an operation corresponding to an instruction from a client. Reference numerals 1, 4, 10, 12, 15, and 17-i in the figure respectively correspond to those in FIG. 1, reference numeral 23 denotes a work buffer provided in the kernel 12, reference numeral 23 'denotes a content example on the buffer 23, 19C represents an object network.
[0077]
Now, it is assumed that the color image generation / coloring processing has progressed to some extent. In this case, a template corresponding to a point or a line is given as data from the object network 19C corresponding to the image generation / coloring process to the corresponding service module 17-i, and the service module 17-i is provided. A copy of the template is written into the buffer 23 on the kernel 12 (the buffer 23 may be located on the communication manager 10) as shown in the buffer content 23 '. That is, for example, (i) the coordinates of the point specified by the index “1” are (50, 40), the chromaticity and the luminance (indicated by the attribute) are undecided (represented by?), And ( ii) The coordinates of the point specified by the index “2” are (80, 250), the chromaticity and the luminance are undecided, and (iii) the coordinates of the point specified by the index “3” are (270, 400). ), The chromaticity and the luminance are undecided, and a copy of each template is described in the buffer 23, such as.
[0078]
In this state, if the client 1 specifies a point on the window 4 by specifying, for example, coordinates (80, 250), the communication manager detects the operation and determines the coordinate value in the window. The manager 14 detects and notifies the communication manager 10. Therefore, the communication manager 10 searches for an index value corresponding to the coordinate value (80, 250) of the designated point. That is, the communication manager 10 knows that the one corresponding to the template having the coordinates (80, 250) is the index “2” based on the contents of the buffer 23, and proceeds to the subsequent processing.
[0079]
Therefore, the template is copied to the work area with all the coordinates of the main points struck by the outline, and the sent coordinates are collated. When matching or approximate coordinates are searched, the index is specified, and the communication manager 10 sends the index to the service module 17-i to perform control. The service module 17-i updates the value of the template based on the index. For example, a coordinate position is changed, or a luminance value on an attribute is described. The updated template is converted into a visualized object by the display manager 15 and displayed on the window 4. In this case, the hit point is inverted and floats so that the client can recognize it. In this way, the extensible well always exchanges information with the service module 17-i that manages the index. In this way, a highly scalable system independent of a specific field can be realized, and in any field, the client can create an environment in which the client can operate the intention of the server by looking at the visualized object converted by the display manager 15. provide.
[0080]
FIG. 13 is a diagram for explaining the information exchange operation. Reference numerals 1, 4, 6, 9, 10, 12, 14, 16, 17 in the figure respectively correspond to FIG.
[0081]
When a client exchanges information with a server, the client always exchanges information via a window. Therefore, the system must always be waiting in a window. With respect to the drive driven by the intention of the client (called Event @ Driven), the drive for putting the control of the system in a waiting state in the window is called Data @ Driven. Event {Driven} drives the Colored {Point} class that is selected. However, if the luminance and chromaticity data are not provided, the function cannot be executed, and it is necessary to wait for a client input in the window. This drive is Data {Driven}.
[0082]
In FIG. 13, it is assumed that the client 1 instructs a point on a certain coordinate to perform the event driven (Event @ Driven). Under this circumstance, "The window manager 14 notifies the window manager 14 by the communication manager 10 and then reports the coordinate value (for example, 80, 250), and the corresponding index" 2 "is examined to determine the service. "Notified to module 17-i" is as described with reference to FIG.
[0083]
Assuming that the client 1 is going to colorize the point, the kernel 12 performs a state analysis of the class “\ Colored \ Point” shown in FIG. The kernel 12 that has performed the analysis issues a function execution request to the function execution manager 16. Thereby, the function execution manager 16 specifies a specific function by the given constraint condition (Constraint). The service module 17-i determines whether the processing can be executed based on the specified specific function, and performs necessary work via the kernel 12 if data necessary for the processing is insufficient. For example, if the service module inputs luminance / chromaticity information to the template of the point specified by the client, the function cannot be executed because the luminance / chromaticity data is undecided. Here, Data {Driven} is driven. In this case, Chrominance {Diagram} and Luminance {Diagram} necessary for data input are opened, a luminance sample and a color sample are displayed, and the client waits for input.
[0084]
The service module 17-i opens a necessary window (a window for the DIAGRAM shown in FIG. 13) and waits for a response from the user. However, the window may become unnecessary after the response. Since some service modules may require a large number of windows, the displayed windows should be minimized. Therefore, a table indicating the state of the window is prepared in the window manager 14, and unnecessary windows are automatically deleted.
[0085]
FIG. 14 illustrates the operation of the check module. In the figure, reference numeral 8 denotes a message window, 9 denotes a data window, 22 denotes a template, 24 denotes a check module, 25 denotes a constraint, and 26 denotes an object network.
[0086]
In the course of working with an object network, a client may want to verify the validity of the data that it has generated in a data window. Consider what the client wants to see as a constraint. Such a constraint 25 is imposed on each noun object (the state of the data represented by the template 22) of the object network 26, and the server side defines the constraint and the contents of the template. Confirmation work is performed by comparing. What matters here is how the server should have a method (Identify) of specifying a template to be processed. In the well system, this can be achieved using the function of the communication manager. Since the communication manager 10 manages the data consistency between the client and the server based on the content data of the template held by the object network, the communication manager 10 uses the coordinate values (X, Y) at which the client hits the mouse with the above-described figure. As described with reference to FIG. 12, information for specifying a processing target can be extracted from the template 22 and passed to the check module 24 (specifically, a service module that checks constraints against the template). The check module uses the information to check whether the constraint is satisfied and informs the client of the result through a message window. Such a check operation by the check module 24 is, for example, for checking whether or not the shift has been performed in a correct manner when the state has been shifted from the class <POINT> to the class <COLOREDPOINT> in FIG. Used for Still another constraint operation is realized by preparing a corresponding manager similarly to other service modules.
[0087]
FIG. 15 is a diagram illustrating a display mode of the constraint condition. Reference numerals 5, 8, 9, and 10 in the figure correspond to those in FIG. 1, 25 indicates a constraint shown in FIG. 14, and 27 indicates a noun object.
[0088]
During graphic drawing, for example, it may be necessary to notify the client what restrictions are applied to the drawn line (line segment). The operation of each manager in such a case will be described with reference to FIG.
[0089]
The line (line segment) itself can be regarded as one of the noun objects 27 because it represents the state of data. Although the above-mentioned constraint condition 25 is assigned corresponding to the noun object 27, the constraint condition 25 that can be imposed on the state of a line (line segment) is considered to be “continuity (continuity)” and “symmetry”. (Symmetry) (Note) Whether or not the line segment is symmetric with respect to a certain axis or point. "
[0090]
Such a constraint condition 25 possessed by the noun object 27 is displayed in the message window 8 under the intervention of the communication manager 10 to notify the client. In FIG. 15, “Symmetry-Point, Axis” in the contents of the message window 8 is a display asking whether “point symmetry” or “line symmetry”. In response to the display, the client notifies the server of the intention by picking up “Point @” or “Axis”.
[0091]
The check module 24 shown in FIG. 14 is started by the function manager when a start request through the message window 8 is received from the client. The check module 24 requests the client to perform an identification operation using the message window 8 if necessary. The client hits the visualization target on the data window with the mouse to deliver the data value of the target to the communication manager 10. When this data value is converted by the communication manager 10 into an index of item data corresponding to the target as shown in FIG. 12, the data value is sent to the check module 24, and using this index, the check module 24 Checks by extracting typical attribute values.
The checked result is notified to the client by a message window.
[0092]
FIG. 16 is a diagram illustrating the identification operation. Reference numerals 4, 5, 8, 9, 10, 14, 17-i in the figure respectively correspond to FIG.
[0093]
When the check module 24 requests the client for the identification work as described above, the client hits, for example, a certain line (line segment) on the data window 9 as shown in FIG. Correspondingly, as shown in FIG. 12, related data is notified to the communication manager 10 by the operation of the window manager 14, and the communication manager 10 knows the corresponding index, and checks the index by the check module. Notify 24. As a result, as shown in FIG. 14, the check module 24 checks, and the result is displayed in the message window 8.
[0094]
Note that a point or a line in the graphic drawing is grasped as one of data as a noun object, and a request such as “unit intention (request)” shown in FIG. 9 is associated with a verb object. These noun objects and verb objects are each represented in the form of a template.
[0095]
The description of the above-described configuration and operation will be supplemented with more specific examples.
In FIG. 4, a service plan is prepared according to the intention of the client 1. For example, as shown in FIG.ScalesWhen the client has an intention to draw a texture such as a pattern, the agent is notified of the intention of drawing the texture as a service request (request) to the agent role server 3 '. A service plan for drawing a flow (lines @ line) and a cell image (cell @ picture) in cooperation with a client is specifically prepared. In order to write a flow line, the element network shown in FIG. 8 can be used to draw an element image. That is, in FIG. 8, the partial network from POINT # to LINE is first displayed as an object network.
[0096]
When the role server search (item search) shown in FIG. 4 searches for a line item of a flow line (flow @ lines), it searches for the existence of a corresponding word in the element network, and sets the partial object network to the common object network. Display on the platform 2 together with the message "flow @ line @".
[0097]
According to the display, the client 1 draws the curves A and B along the dotted line indicating the fish as shown in FIG.
[0098]
Next, lines C and D are drawn as shown in FIG. At this time, How many points points do you divide on C and D? When a question such as is displayed from the agent in the message window 8 and the client 1 answers it by keying in the value “4”, four interpolation curves are drawn as shown in FIG. 17C. In the next step, ask how many points, do you, divide, on A, and B? When the value “16” is answered in response to the above, as shown in FIG.Scales16 center points for drawing are displayed. In this case, assuming that a constraint condition that the center-to-center distance increases in proportion to the distance between adjacent Flowlines is given as a constraint condition on Flow @ lines, that is, if the Flow @ lines interval is narrow, Cell Assuming that the size of the "scale" as a picture must be small, the following Satisfying statement constraint description is given.
[0099]
Satisfying:
Everything length between adjustments points long flow line is proportional having a fixed ratio withth vertical length at the point wetween
end.
[0100]
At the same time, with the message "cell @ picture"ScalesAn object network as an element network is displayed at the same time as Flow @ lines so that the pattern is drawn as an image, and the client follows the center point (x mark) as shown in FIG.ScalesDraw a color image of.
[0101]
This processing is executed according to the processing flow (I) of FIG.
In order to assign this execution to a specific specific role server 3 ", a server having processing contents to be executed is required by a service role assignment plan (service specification) shown in FIG.
[0102]
An execution request is issued to the specific role server planned as the service role function (request) shown in FIG. This issuance functions through a common space between the agent role server 3 'and the specific role server 3 ".
[0103]
A predetermined display is performed in a dependent display process shown in FIG. 4 which depends on the agent role server 3 ', and communication between the agent role server 3' and the specific role server 3 "is performed. The subordinate display process serves as a common platform and provides a place for communication between the agent role server 3 'and the specific role server 3 "group. Therefore, a plurality of processing contents requested by the agent role server 3 ′ to the plurality of specific role servers 3 ″, in this example, restrictions on the consistency existing between “Flow @ lines” and “cell @ picture” Conditions must be specified and implemented.
[0104]
As a prerequisite for this, it is necessary to define a template in advance. A template for a point is defined as shown in FIG. 10, and a data format in which attribute values such as luminance and chromaticity of the point are to be entered as attributes @ for @ point (s) (x, y) as an attribute value set there. It is shown. For Line, assuming that the scanning line index is “i”, the list structure of “i” is (x, y).i) Defines a Line template as shown in FIG.
[0105]
That is, the main point No. of the points where the line intersects the scanning line. 1, No. 2. . . No. The pointer p on the entrance side, the luminance of the point, the chromaticity vector of the point, and the pointer p on the exit side are described in attributes @ for @ point (s) (x, y) on the template for n (see FIG. 10). Then, by pointing the others by the respective pointers, the whole is defined as a Line template corresponding to one Line.
[0106]
Note that the luminance and chromaticity vector are described in the attribute value of each point shown in FIG. 19 for the following reason. That is, in an element network in which Point @ and Colored @ point are defined in an object network, a luminance value or a chromaticity vector value corresponding to a modified adjective of Colored @ is initially provided in a Point @ template as an attribute value. It is because it is desired to make it.
[0107]
When an adjective clause that restricts Line called Flow is added, the template needs space for additional attributes. The setting of the space may be performed in advance, or may be set at a necessary time using a graph structure editor as an extension mechanism of the function of the extensible {WELL}.
[0108]
As a data structure specified by the adjective clause that shows the flow line shown in FIG. 17C, the data structure shown in FIG. 20 is prepared. Reference numeral 30 in FIG. 20 denotes an index attached to the “adjective clause limiting the Line” called Flow, reference numeral 31 denotes an index for the Line belonging to the Flow, and reference numeral 32 denotes a data array for the Line (see FIG. 19). As shown).
[0109]
If the adjective "Feature" is assigned to Colored {point} and it is called "Featured colored point", a Feature name is added to the attribute of the template as shown in FIG. "Edge", "highlight" or "none" is described in the place of the Feature # name. When "edge" is described, it indicates that the point has been identified as an edge from the luminance or chromaticity vector. When "highlight" is described, it indicates that the point is shown as a highlight. If "none" is described, it indicates that the point does not have Feature @.
[0110]
In any case, Line templates corresponding to the four Lines A, B, C, and D shown in FIG. 17 are prepared for Flow {lines}. Next, a Line template for four Flow @ lines is set by communication between the client 1 and the message window 8 in the common platform 2. Next, in order to draw "cell @ picture", a template is set corresponding to an object corresponding to an object network (as shown in FIG. 8). In the last "Colled {Region}", a raster format template having luminance and chromaticity data is set. To have
[0111]
The “scale” image thus set is mapped to the center point of the “scale” set on the flow line, and the size is selected and mapped. At this time, a constraint condition is required.
[0112]
Up to this point, the intervals "between" the "adjacent" center "points" on "the flow lines" have been defined for each center point. That is, Interval is defined as an attribute of each flow {line}, is calculated after execution of drawing of the flow {line}, and the Interval value is stored as an attribute value in a template for each center {points}.
[0113]
Similarly, cell $ picture has scale $ as an attribute, and as a constraint relationship between the scale $ value and the interval value,
a scale cell picture = the interval between the adjacent center points on the flow line
Set. In order to satisfy this, the specific roll server 3 ″ that performs the mapping is requested for the mapping.
[0114]
FIGS. 22 and 23 show a flow chart of texture drawing which is combined up and down to represent one flow.
[0115]
The intention of the client 1 is shown in a time series from the top to the bottom at the left end in FIGS. Further, the processing of the agent role server 3 'is shown in a time series from the top to the bottom in the left and right central portions of FIGS. Further, the processing of the specific role server 3 ″ is shown in a time series from top to bottom at the right end in FIGS. 22 and 23. Also, reference numerals 1, 2-1, 2-2, and 2 in FIGS. 3 'and 3 "correspond to FIG. Further, the arrow (A) at the lower end of FIG. 22 is continuous with the arrow (A) shown in FIG.
[0116]
When the client 1 requests a texture service for texture drawing, the agent role server 3 'prepares a texture drawing service plan and sets up an integrated service platform. Based on this, the client requests Flow {line} display to display Flow {line} as shown in FIG.
[0117]
The agent role server 3 'retrieves the flow line plan and requests the specific role server 3 "to set the flow line execution service.
[0118]
The result set by the specific role server 3 ″ is relayed by the agent role server 3 ′ and shown to the client 1.
[0119]
When the client 1 requests the flow line screen for the purpose of drawing the Flow {line}, the agent role server 3 'requests the specific role server 3 "to display the flow line screen for the client 1. And request the presentation of constraints.
[0120]
When the response is accepted for the constraint condition, the agent role server 3 ′ performs a calculation for displaying the flow line and the center point, and displays it to the client 1. The client 1 issues a correction request as needed.
[0121]
Next, the client 1 intends to draw the Cell @ picture, and as shown in FIG. 23, the common role for the cell picture is set by the processing of the agent role server 3 'and the specific role server 3 ". You.
[0122]
When the client 1 intends to draw a cell picture, a screen of the cell picture is displayed and the presentation of the constraint condition is similarly requested.
[0123]
When the client 1 responds about the constraint, the processing result for the cell picture is integrated into the integrated service platform, and the evaluation of the client 1 is awaited.
[0124]
Here, two tasks of flow line drawing and cell picture drawing can be executed in parallel. In the example of the texture drawing, the system configuration for detecting a verb object that can be executed in parallel is to draw a line for a flow line for drawing a texture and draw a cell image on the flow line in parallel. To be able to do it. Then, when the results are complete, the process proceeds to the integrated drawing process. Therefore, three servers for flow line, cell picture, and integrated drawing are attached to the agent roll server 3 'as the specific roll server 3 ". The object network for controlling these is shown in FIG. 8 is used, and flow lines from None to Line on the right side of the figure are used as the flow lines, since this is intended to draw a Flow {line} line, only this part is shown on the common platform. Is used by the client 1 in the display process 2-1. Since both the Cell {picture and the integrated drawing render the picture}, the whole of FIG. 8 is available to the client as an object network.
[0125]
The execution result of each of these specific role servers 3 "is displayed on the common platform existing between the client 1 and the agent role server 3 'through the agent role server 3'. Is displayed.
[0126]
While observing the obtained image display by the client 1, the agent role server 3 'asks the client about attributes or restrictions required for the job. The configuration for this is shown in FIG. After execution and confirmation as shown in FIG. 14, after data {identify}, the data is displayed in the data window 9 of the common platform, the constraints responded from the client are checked, the execution is performed by the Validity check 24, and the message window 8 is executed. Confirms the execution, and the result is displayed in the data window 9.
[0127]
These specific services are requested from the agent role server 3 'to the specific role server 3 "using the common platform existing between them. This common platform is a subordinate in FIGS. 22 and 23. It is shown as a representational process 2-2, and is shown as being subordinate to the agent role server 3'.In this case, all aspects of the software specification, including object network data, are performed. , Takes exactly the same form as that between the client 1 and the agent role server 3 'in order to ensure user friendliness during system development.
[0128]
As a form of interaction,
(A) An abstract service such as the agent role server 3 'is abstracted as a generic object network. The generic object network is layered with a specific object network embodied by parameters or constraints. Note that a specific object network is a network that provides services corresponding to specific functions.
(B) The attributes between the individual objects are received from the parent (for example, the agent role server 3 '), and the specific role server 3 ″ is executed using the received attributes. It is passed to the requesting parent as (synthesized {attribute)}, and the agent role server 3 'attaches constraints using those attribute values, obtains new data, and operates the check mechanism. c) As shown in FIG. 6, the constraint conditions include morphological constraints and temporal constraints.
[0129]
The generic object network draws a texture image as shown in FIGS. 17 and 18 using an element network shown in FIG. 8, so that the client gives the request to the agent role server 3 'from the intention of drawing the texture. And the generic object network of the agent role server 3 'as an integrated service platform for communication between the client 1 and the agent role server 3'. 17 and 18 are displayed thereon. Such a network is performed by a graph structure editor as a function of the kernel part of the extensible {WELL}.
[0130]
FIG. 24 shows the hierarchical structure of the object network. For example, like a generalized variable in mathematics and a formula is prepared, a generic object network 33 in which parameters and constraints are generalized (abstracted) is prepared. Then, by incorporating specific parameters and constraints 34 for performing a specific process into the generic object network 33, a specific object network 35 for the specific process is created.
[0131]
FIG. 25 is a diagram exemplifying a generic object network in the case of texture drawing in detailing processing from the agent role server 3 'to the specific role server 3 ".
[0132]
Then, a template related to the noun object indicated by a square in FIG. 25 is prepared by the expert who designed the texture drawing system, and the agent roll server 3 'also transmits the generic object network and data by the WELL function. It is made to have separately.
[0133]
When the noun object of Flow {line} is designated by the client, the sub-graph of LINE to NONE of the element network of FIG. 8 is used as a partial drawing process for Flow {line}, and the common platform for flow lines is changed to the specific roll server 3. The command is instructed to the client 1 by relaying the agent role server 3 'from "", and the drawing process proceeds as shown in FIGS. 17 (a), (b), (c) and (d) using this. .
[0134]
At this time, the template of the element network is used as it is. The modifier adjective attached to the LINE named Flow has a new attribute structure as a template for the LINE, and furthermore, (i) a constraint must be added, and (ii) the LINE is added to the drawing data window for texture drawing. This indicates that only the position of a point as shown in FIG. 26 for mapping a cell picture instead of being displayed is necessary.
[0135]
From the above, in order to draw Flow {line}, FIG. 17 (d) is drawn based on FIG. 17 (b), and a constraint condition or a sub-network for drawing FIG. 26 is given. You.
[0136]
Therefore, as described above, under the given constraints, as a framework for the content of modification by the adjective Flow,
Length between adjustment points along flow line
Regarding Vertical {Length} between {adjustment} flow {lines}, the agent role server 3 'has the client define it. For this purpose, a message window 8 is used to answer the question about the number of points to be divided as described above. The result is given to Constraints \ on \ noun \ object 25 in FIG. 14 and the modification of Flow is performed, and the result in FIG. 26 is obtained. The dots in the figure are for notifying the position where Cell {picture) is mapped, and are not displayed on the actual Texture @ screen. This is given when both Texture @ and Flow {line} are given, so that it is deleted when the Texture @ picture is displayed.
[0137]
The same applies to Cell @ picture, and a color image is drawn by the element network by picture @. After this drawing, the image is mapped around each point in the point set of FIG. 26. The picture {} is modified by Cell, and its size is defined by the relationship with the distance between adjacent points in Flow {line}. For this purpose, as a constraint attached to the Cell picture, a process of matching the two lengths of the Cell picture with the length defined for the Flow line is performed, and the drawing is performed by the Texture picture. At this time, it is possible to set the ratio between the length of Cell {picture} size and Flow {line}. This is considered to be the realization of the restriction intention shown in FIG. 6, and the inter-service configuration adjustment control actually performs the matching.
[0138]
In order to execute the above, a request for using Texture {picture} as a drawing measure is as follows: Request @ to \ paint \ texture \ picture is intentional from the client, as shown in FIGS. 22 and 23, and the agent role server 3 'is shown in FIG. , The agent role server 3 ′ sets up the integrated service platform as a service planning preparation process, on which the generic object network shown in FIG. 25 is retrieved by a database search, and at the same time Specific role servers for line @ and cell @ picture are assigned.
[0139]
Regarding the work to be performed by the specific role server, in the service plan preparation shown in FIG. 4, the role server search (item request) is performed by the kernel unit of the WELL system controlling the agent role server 3 '. Through a search request to the database server, and assign the job to the assigned specific role server. Alternatively, the specific role server that originally performed the job is searched for and found, and requested.
[0140]
The role played by the specific role server is considered to be a service execution for realizing a basic noun object, and its role is defined by a concrete object network. Agent role servers, on the other hand, share the task of including generic object networks that involve an interactive dialogue process with the client in the work of constraining conditions and coordinating with others. I do.
[0141]
Considering the system from the viewpoint of inheritance and composition of object-oriented attribute values that describe the form of interaction,
Inherited data: A specific template is received from a server which performs an agent function for requesting a certain process based on inherited type data (Request). That is, a specific template in which data values are stored in a data container determined as a template type corresponding to the data is received. The specific role server responsible for this job is also described and executed by the extensible {WELL}. The concrete execution may be performed by itself or may be requested to another service module.
Synthetic data: The requested specific role server performs the execution process based on the Requested data as described above. The template type as the data type in which the result is to be stored is received at the time of Request #, is stored there, and is returned to the agent role server as a response. This series of tasks is also performed by the common platform that exists between the agent role server (which has the specific role server) and the communication manager that supports it.
[0142]
The relationship between the agent role server 3 'and the specific role server 3 "is exactly the same as the processing format of the extensible {WELL} between the client and the server. When requesting processing operations to a plurality of specific role servers as inherited data based on the above data, the agent role server must perform the constraint processing.As an example, consider the above-described drawing of the Texture {picture}. , Flow @ lines, and Cell @ picture are each rendered to an independent specific role server, and when the result is returned, the constraint between Flow @ lines and Cell @ picture must be satisfied. Since no constraint provisions therefor to satisfy the provisions of the attribute values and Satisfying statement for Integrating Constraints in Figure 25.
[0143]
This restriction processing is performed by the communication manager. Therefore, the communication manager
(1) Perform conversion according to the role of the template structure. (See Table 1 above)
(2) Perform communication management work for coordination related to restriction processing on template contents and a plurality of template contents.
[0144]
This constraint processing is a form constraint. It is because two service objects, Flow @ lines and Cell @ picture, are interrelated. For this reason, as shown in FIG. 27, integration between the constraint processes is achieved.
[0145]
In FIG.
{Circle around (1)} The client 1 issues a request via the object network while looking at the data in the window.
{Circle around (2)} The agent role server 3 ′ prepares data for service planning, and performs processing for each {flow line} processing or {cell picture} for the specific role server 3 ″, that is, for performing desired processing. It issues a request and / or instructs the processing server or {Texture} picture processing server to inherit the processing.
{Circle around (3)} Each server in the specific role server 3 ″ performs its own processing, returns a response based on the processing result, and / or combines the processing, and responds to the agent role server 3 ′.
{Circle around (4)} The agent role server 3 ′ checks the service contents and processes the client 1 to inquire whether there are any constraints or whether there is any addition or change in the current constraints.
[0146]
As shown in FIG. 27, as to the result processed by each server in the specific role server 3 'or the result processed under a predetermined constraint, constraints that may occur between the processing results are again described. Make new considerations. That is, integration between the constraint processes can be achieved.
[0147]
The difference between Agent @ role and Specific @ role described in FIG. 25 is shown by the process shown in FIG. Regarding Flow @ line @ and Cell @ picture, the constraint processing related to the modification of Flow and Cell is considered to be the function of the agent @ role, and the processing corresponding to the element network is performed by the function of the special @ role @.
[0148]
In addition, interactive information processing can be performed using a common platform in an interactive manner between image processing and image drawing. For example, image processing for extracting features such as edge lines and highlight lines is performed, and the extracted highlight lines are moved. That is, when the left image viewed from the left eye is given, the viewpoint is moved to the position of the right eye to obtain the right image, and a three-dimensional image is obtained. The characteristic of the expression can be obtained by image processing such as detecting the position of.
[0149]
However, the server may not always be able to completely execute these feature detections. Therefore, the client selects a location where a clear feature can be detected, and obtains a candidate for a point expressing the feature by indicating a constraint as a feature name as a certain property, and then determines a feature point from the candidate. For example, in the element network of FIG. 8, the operation on the client side is shown as C1, C2... In time series, and the processing on the system side is shown as S1, S2. Processing proceeds. That is,
(C1-1) Specify the item name of Colored \ Region \ Segment and specify the feature to be extracted on the data window.
(C1-2) Identify Region @ Segment.
(C1-3) Next, by inputting Feature from the keyboard and designating the item of Colored {Point}, the client is requested to the system that the featured Colored Point has been obtained.
(S1) The system confirms the intention by the message window, displays Seek featured Colored Point, and displays Identified Colored Region Segment.
(C2) Highlight $ is input from the keyboard as a featured constraint. It is assumed that the property of Highlight is already given to the system.
(S2) Featured (Highlight) {Colored} Point is extracted.
(C3 to S3) Word of Featured (Highlight) is copied, and Colored {Line} Segment is identified. Accordingly, the system executes as a service that the client should create the Featured Colored Line Segment via the Featured Colored Point Sequence.
[0150]
As described above, the Highlight line is formed, and after confirming the Highlight line, the client moves it, and then moves the new Highlight line and the edge line corresponding to the parallax between the left and right eyes. At this time, the system performs a drawing service so as to inherit the Colored attribute and maintain the characteristics of the Highlight line based on the Colored attribute. The movement difference of the Highlight line is modified as a moved {highlight} line, and the movement is performed temporally using the moving vector diagram.
[0151]
In carrying out these modifications, colored. . . . The additional template portion is added in the same manner as in the case where the attribute template for luminance and chromaticity is added by. These are for noun objects, but for verb objects, draw from point @ to line @ segment is inherited. Therefore, the constraint conditions at the start of execution, during execution, and at the end of execution are also added to the verb object.
[0152]
Also, as for the relationship between the execution request and the constraint, it is necessary to define the conditions under which the execution request as a service can be made,
(1) For the attribute value processing, only the inheritability attribute from the agent role server 3 'can be executed upon request, and the result is returned to the higher-level agent role server 3' as a composite attribute. .
(2) The execution request is delegated and issued by specifying the verb object on the object network by the client, or defining the execution sequence by the unit of execution (draw from point to line) as described above.
(3) For a generic verb object on the generic object network, an execution sequence instruction is generated in the same manner as in (2).
[0153]
For this purpose, it is checked by constraint processing that the temporal constraint described with reference to FIG. 6 is satisfied.
[0154]
When the execution result is returned to the agent role server 3 ', the agent role server 3' enters a constraint processing process. When the constraint condition is not satisfied, the specific role server responding to the synthesized data is caused to change the inheritance attribute and the process is restarted. If it is still unsatisfactory, a path that finally seeks the judgment of the client is set by following the combining route (by relaying in FIGS. 22 and 23).
[0155]
In the above description, one client is used, but a plurality of clients can be coordinated. It can be used as a place to cooperate and execute the common platform by considering that there is a coordination agent that cooperates as a higher layer of the client.
[0156]
The graph structuring editor reads the definition of an object network, displays the definition on a visualizable object network, and manages the template structure and constraints of each object as attributes of each object. Therefore, the software of the agent role server and the specific role server is described by the function of the extensible {WELL}. The object network and the structure of the template are described in the first stage of system design by an expert in charge of the field in charge of development.
[0157]
Service modules are developed and prepared with the idea of combining as basic software modules as possible with the corresponding specialized fields.
[0158]
For parallel processing, the structure of the object network is expressed with TOP $ as the goal and BOTTOM as the starting point, as shown in FIG. The BOTTOM may be considered as the above-mentioned NONE in FIG.
[0159]
In FIG. 28, if the currently executing tasks are now C and E, the next tasks that can be executed in parallel are A and D, and when the parallel execution of A and D ends, A and D B is shown to be possible. In this way, the structure of the object network is analyzed, and the parallel execution of a plurality of servers is dynamically controlled as the parallel execution progresses.
[0160]
FIG. 4 shows the relationship between the client 1, the agent role server 3 ', and the specific role server 3 ", and a common platform 2 exists as a display process 2-1 between the client 1 and the agent. In this embodiment, the common platform 2 exists as a subordinate process 2-2 between the agent and each server #i.
[0161]
Although the presence of the client 1 is shown in FIG. 4, it is needless to say that a user who wants to perform processing with respect to the agent role server 3 ′ is considered as the client 1. Experts who assist in exchanging information with 3 'can be further considered.
[0162]
FIG. 29 shows a system configuration considering the presence of experts. 1, 2-2, 3 ′, and 3 ″ correspond to FIGS. 1 and 4, respectively, and reference numeral 1-1 corresponds to the client shown in FIGS. User 1-2 is an agent expert which assists in information exchange between user 1-1 and agent role server 3 '. 1-3 is a specific expert which is an agent role server. 3 'and those supporting information exchange between the specific role server 3 ".
[0163]
Although the illustrated user 1-1 is a human, the agent expert 1-2 and the specific expert 1-3 are not limited to humans, and may be processing units having intelligent functions.
[0164]
As shown in FIG. 29, the client as the user 1-1 requests the agent to solve a specific local problem (problem @ resolution). That is, a solution that satisfies only a certain problem with the assistance of an agent is obtained.
[0165]
On the other hand, the agent expert 1-2 as an expert is in charge of the job of mediating and executing various services for solving the problem assigned by the agent. That is, a method for constructing a generic object network, decomposing the generic object network into a group of object networks that are actually executed for the agent role server 3 ', and enabling execution as shown in FIGS. design.
[0166]
At this time, it has a generic object network, a template for it (this includes not only data but also a service module name), and constraints. The agent relay function shown in FIGS. 22 and 23 is provided in the core part of the well system 11 of the agent role server 3 '. For the processing of the constraint clause, the part described in the general format is requested to the constraint processing server.
[0167]
In order to store the generic object network and the templates related thereto in the language processing unit of the well system 11 of the agent role server 3 'and realize it as an abstraction service, the graph structure of the well system 11 is required. This is performed by the agent expert 1-2 using the function of the conversion editor.
[0168]
Similarly, each specific role server 3 ″ also has a corresponding specific expert 1-3, and in this case, the actual execution for realizing a specific service distributed by the agent corresponding to the user is performed. An object network and associated templates are designed and stored in the language processing of each well system 11.
[0169]
The above-described generic object network and the actually executed object network can be dynamically changed using the extended function of the well system 11.
[0170]
The same is true for constraints. That is, the constraint clause is regarded as the input data at that time, and the constraint clause is extended and the object network for the constraint processing that performs the design is designed for both the generic object network and the object network that actually executes the constraint processing. , Thereby dynamically changing the system to perform the constraint change service. This is also planned and implemented by each expert.
[0171]
The above is related to the planning and design of the service functions shown in Table 1, and the role of the expert is provided. The expert provides a means for solving the problem between the user 1-1 and the server, and evaluates the dynamic design by the evaluation. Do.
[0172]
For the parts related to the data, the roles of the description contents are differentiated based on the functions of understanding and referring to the data, corresponding to the user's specialty function and the server's specialty function, and the overall system is made more efficient I am trying to do it.
[0173]
As described above, the user 1-1 plays a role of using the system under a certain purpose and intends to obtain results, while the expert 1-2 (or 1-3) plans the system. Designed and implemented and provided for use by user 1-1. The expert 1-2 (or 1-3) also uses the common platform 2 as a place for performing an interaction with the agent role server 3 'or the specific role server 3 ".
[0174]
The user 1-1 performs an operation by inputting data using a visible object network. The object network uses a noun type object or a verb type object as an object. In transitive type objects, object data and complement data are also expressed and manipulated as visible types. Modifiers for nouns and verbs can use textual sentences and words. The above-described well system 11 (see FIG. 5) may be considered to be realized based on this concept.
[0175]
The expert 1-2 (or 1-3) sets up an object network using the function of the well system 11 so that the user 1-1 can use it, and prepares a template as a data structure for the noun object. In this way, a service name and a template for constraint processing are prepared for the verb object in the same manner. If there is a constraint between objects, a pointer to the constraint is set in the template. For this purpose, a graph structure editor is provided in the language processing system in the well system 11 to dynamically change or expand the object network. This dynamic processing is performed by performing an item search on a database based on a keyword to realize the intention of the user 1-1. Alternatively, the user 1-1 writes or corrects the object network with the help of the agent role server 3 '. Of course, it can be performed under parallel processing. These service plans are designed by Agent Expert and displayed on the common platform as a generic object network.
[0176]
The agent role server 3 'presents an object network corresponding to the request of the user 1-1 to the user as a service plan, allocates service roles based on the result, and performs individual specific role server. , And each assigned service is executed in parallel based on the protocol specification.
[0177]
【The invention's effect】
As described above, according to the present invention, between a client and a server, the client is notified with a visible display, the intention is received from the client, and information transfer and server using the visible display to the client side are performed. Intermediate with the exchange of information in a data structure in accordance with the data schema to the side, and the client interacts with the image displayed on the display window while processing the desired object network such as a color image generation / coloring processing field. Can be executed.
[Brief description of the drawings]
FIG. 1 shows a configuration diagram of an embodiment of the present invention.
FIG. 2 shows a processing flow (I).
FIG. 3 shows a processing flow (II).
FIG. 4 shows a configuration with agents.
FIG. 5 is a diagram illustrating a relationship between a well system and an object network.
FIG. 6 is a diagram conceptually showing a situation in which process matching is performed.
FIG. 7 is a diagram showing the operation of a communication manager.
FIG. 8 is a diagram showing a relationship between element networks.
FIG. 9 illustrates a mode of performing a color image generation / coloring process in a system having a common platform.
FIG. 10 shows a format of a template.
FIG. 11 shows an operation mode of the communication manager.
FIG. 12 is a diagram illustrating an operation corresponding to an instruction from a client.
FIG. 13 is a diagram illustrating an information exchange operation.
FIG. 14 is a diagram illustrating the operation of the check module.
FIG. 15 is a diagram showing a display mode of a constraint condition.
FIG. 16 is a diagram illustrating an identification operation.
FIG. 17 is a diagram illustrating a drawing mode of FLOW @ LINES.
FIG. 18 is a diagram illustrating an image of a scale pattern.
FIG. 19 is a diagram illustrating a format of a line template.
FIG. 20 is a diagram showing adjective clauses that limit LINES.
FIG. 21 is a diagram illustrating a template in which a Feature # name is described in an attribute.
FIG. 22 is a diagram illustrating a flow (I) of texture drawing.
FIG. 23 is a diagram illustrating a flow (II) of texture drawing.
FIG. 24 is a diagram for explaining the concept of an object network.
FIG. 25 is a diagram illustrating a processing example of the server 3 ′ and the server 3 ″.
FIG. 26 is a diagram showing a center point.
FIG. 27 is a diagram illustrating integration of constraint processing.
FIG. 28 is a diagram illustrating an analysis of parallel processing.
FIG. 29 is a diagram of a system representing the presence of an expert.
FIG. 30 is a diagram illustrating an interaction model between a client and a server.
[Explanation of symbols]
1 Client
1-1 user
1-2 @ Agent Expert
1-3 Specific Expert
2 Common platform
3 Server
4 window
5 Network Operation Window
6 Operation window
7 Command window
8 Message window
9 Data window
10 Communication Manager
11-well system
12 well kernel
13 Graph editor
14 Window Manager
15 Display Manager
16 Function execution / manager
17 Service Module
18 field
18C Color Image Generation / Coloring Processing Field
19 Object Network
20 Contour (Frame Section)
21 @ Color section (Color Section)
22 template
23 buffer
23 'buffer contents
24 check module
25 constraints
27 Noun object
33 Generic Object Network
34 Specific parameters and constraints
35 Specific Object Network

Claims (4)

複数のサービス・モジュールと、
クライアントから送られてくる情報の形式と前記複数のサービス・モジュールが処理できるデータ形式との対応関係を示したテンプレートと、
クライアントが入力したサービス要求情報に応じてそのサービスの処理手順を出力する処理手順情報出力手段と、
クライアントが前記処理手順情報出力手段によって出力された処理手順の各項目に対して選択した処理に応じて適用する前記サービス・モジュールを選択する適用手段と、
前記適用手段による選択処理の後、クライアントからのデータが到来すると、前記テンプレートを参照し、該データを、前記処理手順情報出力手段により出力された処理手順に従って次に処理すべき前記サービス・モジュールが処理できるデータ形式に変換を行い、対応する前記サービス・モジュールに変換されたデータによって処理を行わせる制御手段と、
を備えたことを特徴とする情報処理装置。
Multiple service modules,
A template indicating the correspondence between the format of the information sent from the client and the data format that can be processed by the plurality of service modules;
Processing procedure information output means for outputting a processing procedure of the service according to the service request information input by the client;
An application unit that selects the service module to be applied according to the process selected by the client for each item of the processing procedure output by the processing procedure information output unit;
After the selection process by the application unit, when data from the client arrives, the service module to be processed next according to the processing procedure output by the processing procedure information output unit refers to the template by referring to the template. Control means for converting the data into a data format that can be processed, and causing the corresponding service module to perform processing with the converted data;
An information processing apparatus comprising:
表示手段を有し、
前記テンプレートは、前記各サービス・モジュールの出力データの形式と前記表示手段に表示させるデータ形式との対応関係も記憶しており、
前記制御手段は、更に、前記テンプレートを参照して、前記サービス・モジュールからの出力形式をデータ変換した後、前記表示手段に表示させる
ことを特徴とする請求項1記載の情報処理装置。
Having display means,
The template also stores a correspondence relationship between a format of output data of each service module and a data format to be displayed on the display unit,
2. The information processing apparatus according to claim 1, wherein the control unit further converts the output format from the service module by referring to the template and displays the data on the display unit.
複数のサービス・モジュールと、
クライアントから送られてくる情報の形式と前記複数のサービス・モジュールが処理できるデータ形式との対応関係を示したテンプレートと、
を有する情報処理装置が、
クライアントが入力したサービス要求情報に応じてそのサービスの処理手順を出力する処理手順情報出力ステップと、
前記処理手順情報出力ステップによる処理手順によって出力された処理手順の各項目に対して選択した処理に応じて適用する前記サービス・モジュールを選択する適用ステップと、
前記適用ステップによる選択処理の後、クライアントからのデータが到来すると、前記テンプレートを参照し、該データを、前記処理手順情報出力ステップにより出力された処理手順に従って次に処理すべき前記サービス・モジュールが処理できるデータ形式に変換を行い、対応する前記サービス・モジュールに変換されたデータによって処理を行わせる処理ステップと、
を実行することを特徴とする情報処理方法。
Multiple service modules,
A template indicating the correspondence between the format of the information sent from the client and the data format that can be processed by the plurality of service modules;
Information processing device having
A processing procedure information output step of outputting a processing procedure of the service according to the service request information input by the client;
An application step of selecting the service module to be applied according to the processing selected for each item of the processing procedure output by the processing procedure by the processing procedure information output step;
After the selection process by the application step, when data from the client arrives, the service module to be processed next according to the processing procedure output by the processing procedure information output step refers to the template by referring to the template. A processing step of converting the data into a data format that can be processed and causing the corresponding service module to perform processing with the converted data;
An information processing method characterized by executing the following.
前記情報処理装置は、更に
表示手段を有するとともに、前記各サービス・モジュールの出力データの形式と前記表示手段に表示させるデータ形式との対応関係も記憶しており、
前記テンプレートを参照して、前記サービス・モジュールからの出力形式をデータ変換した後、前記表示手段に表示させる表示ステップを実行する
ことを特徴とする請求項3記載の情報処理方法。
The information processing apparatus further includes a display unit, and also stores a correspondence relationship between a format of output data of each service module and a data format to be displayed on the display unit,
4. The information processing method according to claim 3, further comprising: executing a display step of displaying on the display unit after data conversion of an output format from the service module with reference to the template.
JP2003198160A 1994-03-04 2003-07-17 Information processor and information processing method Pending JP2004054942A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003198160A JP2004054942A (en) 1994-03-04 2003-07-17 Information processor and information processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP3470194 1994-03-04
JP2003198160A JP2004054942A (en) 1994-03-04 2003-07-17 Information processor and information processing method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP04157295A Division JP3979504B2 (en) 1994-03-04 1995-03-01 Interactive information processing system with common platform function

Publications (1)

Publication Number Publication Date
JP2004054942A true JP2004054942A (en) 2004-02-19

Family

ID=31948473

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003198160A Pending JP2004054942A (en) 1994-03-04 2003-07-17 Information processor and information processing method

Country Status (1)

Country Link
JP (1) JP2004054942A (en)

Similar Documents

Publication Publication Date Title
JP3979504B2 (en) Interactive information processing system with common platform function
US5630069A (en) Method and apparatus for creating workflow maps of business processes
US6154875A (en) Graphical programming system that allows easy handling of data structures and creation of programs by manipulating graphic components
JP2923552B2 (en) Method of constructing organization activity database, input method of analysis sheet used for it, and organization activity management system
JP3507302B2 (en) System configuration proposal support method and tool
Wang Using augmented reality to plan virtual construction worksite
US20060121436A1 (en) Graphical workspace for idea management
Sharp et al. The Role of Story Cards and the Wall in XP teams: a distributed cognition perspective
US7949690B2 (en) Project structure
Fruchter Conceptual, collaborative building design through shared graphics
CA2089842C (en) Language processing system using object networks
Carvalho et al. Toward the design of transitional interfaces: an exploratory study on a semi-immersive hybrid user interface
JP2004054942A (en) Information processor and information processing method
JP2000268084A (en) Integral job package software introduction planning support system
JP2002503842A (en) Dynamic interface synthesizer
WO2002007100A1 (en) Method, system and program of indicating expression phenomenon of biosystem
CN115857930A (en) Prototype rapid design method and system based on real-scene model
JPH09161097A (en) Graphic processor and its method
US20050210281A1 (en) Service system based on sensibility information
JP2009157538A (en) Activity management apparatus, system and program
Boyashova et al. Problems of Graphic Design of the Results of a Geometric Experiment
Tan et al. Application of BIM Technology in Civil Engineering Under the Background of Big Data
JP2001184318A (en) Graph display controller and storage medium
JP2003280928A (en) Information processing device using object network
JPH0719257B2 (en) Word attribute registration processing method in document processing system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070130