JP2801459B2 - オブジェクトネットワークによる言語処理システム - Google Patents

オブジェクトネットワークによる言語処理システム

Info

Publication number
JP2801459B2
JP2801459B2 JP4034864A JP3486492A JP2801459B2 JP 2801459 B2 JP2801459 B2 JP 2801459B2 JP 4034864 A JP4034864 A JP 4034864A JP 3486492 A JP3486492 A JP 3486492A JP 2801459 B2 JP2801459 B2 JP 2801459B2
Authority
JP
Japan
Prior art keywords
network
verb
function
noun
objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4034864A
Other languages
English (en)
Other versions
JPH05233690A (ja
Inventor
肇 榎本
稔 鴨志田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP4034864A priority Critical patent/JP2801459B2/ja
Priority to CA002089842A priority patent/CA2089842C/en
Priority to DE69328452T priority patent/DE69328452T2/de
Priority to EP93400438A priority patent/EP0557205B1/en
Publication of JPH05233690A publication Critical patent/JPH05233690A/ja
Priority to US08/279,861 priority patent/US5682542A/en
Application granted granted Critical
Publication of JP2801459B2 publication Critical patent/JP2801459B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Machine Translation (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,操作対象のデータおよ
びそれらのデータに対する操作手段をオブジェクトとし
て管理し処理する計算機システムであって,ある特定の
応用分野のシステムを容易に構築できるようにしたオブ
ジェクトネットワークによる言語処理システムに関す
る。
【0002】
【従来の技術】コンピュータの急激な進歩に伴い,シス
テム全体に占めるソフトウェアのコストの割合が増大し
てきている。そして,システムが巨大になるにつれ,ソ
フトウェア開発者の労力は指数関数的に増え,ソフトウ
ェア危機と呼ばれる状態が続いている。従来の多くのソ
フトウェア開発では,開発対象のシステムを,その処理
の手続きを記述することにより表現するという,プログ
ラミング(手続き)中心の開発がなされており,これが
ソフトウェア危機の解決を難しくする原因になってい
た。
【0003】これに対し,手続きを中心に考えるのでは
なく,処理や操作の対象を中心に考える,いわゆる「オ
ブジェクト指向」と呼ばれるソフトウェアの概念がコン
ピュータの世界に持ち込まれ,注目されている。
【0004】このようなオブジェクト指向によるソフト
ウェアの構築方法が,いろいろ研究・開発されている
が,従来,例えば画像システム等といった特定応用分野
のシステムを,オブジェクト指向を取り入れて容易に記
述し,構築できるような言語処理システムの研究・開発
は,まだ十分なされていない。
【0005】
【発明が解決しようとする課題】画像システムやマルチ
メディアを扱うシステム等,特定応用分野のシステムを
開発するとき,従来の汎用言語による開発では,ソフト
ウェアの生産性や信頼性の面から考えて十分とは言い難
く,またソフトウェア・パッケージとしてもカスタマイ
ズが困難であり,さらにまたユーザ・フレンドリなシス
テムの構築が難しいという問題がある。
【0006】本発明は上記問題点の解決を図り,特定応
用分野のシステムをオブジェクトネットワークとしてモ
デル化し,それを記述したものによって目的とする処理
を行わせる言語処理システムを提供することにより,ソ
フトウェアの生産性,柔軟性を向上させ,かつユーザ・
フレンドリなシステムの構築を容易にできるようにする
ことを目的としている。
【0007】
【課題を解決するための手段】図1は,本発明の原理説
明図である。図1において,10は分野記述言語による
システム記述,11はトランスレータ,12は実行シス
テム,13はプロセスの並行処理のための制御を行うプ
ロセス構築管理機構,14は名詞オブジェクトを管理す
る名詞オブジェクト管理機構,15は動詞オブジェクト
の実行制御機能を持つ動詞オブジェクト制御機構,16
はオブジェクトネットワークを定義するオブジェクト管
理情報,20はオブジェクトネットワーク,21は名詞
オブジェクト,22は動詞オブジェクト,23は制約条
件,24は総称的関数,25は具体的関数を表す。
【0008】本発明は,操作対象のデータおよびそれら
のデータに対する操作手段をオブジェクトとして管理し
処理する計算機システムにおいて,そのオブジェクトを
名詞オブジェクト21−1,21−2,…と,動詞オブ
ジェクト22−1,22−2,…とに大分類し,名詞オ
ブジェクトをノード,動詞オブジェクトをブランチとし
て表現したオブジェクトネットワーク20を,参照モデ
ルとし,この参照モデルにおいて,あるノードに存在す
る名詞オブジェクトに動詞オブジェクトとしての関数の
内容を作動させると,その動詞オブジェクト名に対応す
るブランチの方向にある目的対象となっている名詞オブ
ジェクトが得られるようにしている。
【0009】名詞オブジェクトについては,普通名詞に
対応する集合オブジェクト21aと,固有名詞に対応す
る個別オブジェクト21bとを有し,それらを名前づけ
または参照指示機能によって区別する名詞オブジェクト
管理機構14を持つ。
【0010】名詞オブジェクト管理機構14は,名詞オ
ブジェクトを修飾する形容詞としての制約条件を,名詞
オブジェクトに付加し,オブジェクトとして管理する修
飾管理機構を持ち,この修飾管理機構は,具体化された
個別オブジェクトが属する名詞オブジェクトの持つ性質
とそれを修飾する制約条件に対する充足性を判定する手
段を持つ。
【0011】動詞オブジェクト22として,あるオブジ
ェクトにデータなどの制約条件と併合した演算を施し,
目的対象オブジェクトとして名詞オブジェクトを具体化
する演算動詞と,集合オブジェクトを構成する個別オブ
ジェクト群に作動して,新しい関係を持った名詞オブジ
ェクトを生成する関係付加動詞と,目的名詞オブジェク
トに,制約条件の性質を規定する前置詞と併合する名詞
オブジェクトによって具体的制約条件を与え,制約を満
足するように目的名詞オブジェクトに対し演算を行う制
約演算動詞の少なくとも3種類の機能が存在し,これら
が文単位で判定処理されるように構成されている。
【0012】動詞オブジェクトについて,総称的(gener
ic) 関数24と,具体的(actual)関数25の種別を持
つ。具体的関数25は,目的対象としての名詞オブジェ
クトに対し,実際に実行処理が可能な関数である。総称
的関数24は,制約条件23が付けられることによって
具体的関数25に変換される。動詞オブジェクト制御機
構15は,総称的関数24から具体的関数25への変換
制御を行う。
【0013】この動詞オブジェクト制御機構15は,総
称的関数24に対応する動詞オブジェクトに対する制約
条件23として,現在処理の実行が終了した名詞オブジ
ェクト名を状態名として制約条件化する機能を持ち,こ
れによって実行可能な具体的関数25を得るようになっ
ている。
【0014】また,関数実行管理機構を有し,この関数
実行管理機構は,動詞オブジェクトを関数として作動さ
せるに当って,作動開始前,作動中,終了後の制約条件
を付加し,各時点でこれらの妥当性を検定する手段を持
つ。総称的関数24の制約条件は総称的条件で,これに
加えて具体的制約条件が規定されて具体的関数25に変
換される。このシステムの特徴として,以上の制約条件
に関し,変換過程において逐次的に妥当性判定と変換の
ための変換手続の生成を行う制御機能を持つ。
【0015】オブジェクトネットワーク20中の普通名
詞に対応する集合オブジェクトは,特定化された固有名
詞に対応する個別オブジェクト集合を代表するので,集
合オブジェクト名を持つ名詞オブジェクトに,データと
しての制約を他から与えると,個々の個別オブジェクト
が生成される。このために,参照モデルとしてのオブジ
ェクトネットワーク20は,構造を示すネットワークで
あり,この中の集合オブジェクト状態から,特定の具体
的関数の実行によって個別オブジェクトを生成し,それ
らの要素間関係を表現し,要素ネットワークを構成す
る。要素ネットワークでは,個別オブジェクトについて
の実行要求によって実際に処理を行う。プロセス構築管
理機構13は,これらのネットワークの生成および管理
を行う。
【0016】このプロセス構築管理機構13において,
処理順序に関する制約条件については,結合されている
オブジェクトネットワーク20中の動詞オブジェクトの
方向性によって規定されると同時に,次にそのオブジェ
クトが実行可能な状態であることを示す可能性(possibi
lity) トークンの存在する動詞オブジェクトが並行処理
可能であることを判定し,この動詞オブジェクトに対す
る作動要求を受付けて具体的に実行を行わせるようなプ
ロセスの並行処理のための制御が行われる。
【0017】構造を規定する部分を持つオブジェクトネ
ットワーク20での動詞オブジェクトが作動して対応す
る要素ネットワークが作られ,そこに要素オブジェクト
に関するデータが制約条件として付加される。このプロ
セスの実行は,動詞オブジェクトについてのシステム内
外からの要求と,処理順序に関する制約のもとに,プロ
セス構築管理機構13の指示制御のもとに並列実行され
るように構成されている。
【0018】プロセス構築管理機構13は,参照モデル
となる構造ネットワークに基づいて,新しく構造ネット
ワークを生成し,参照モデルとしてのオブジェクトネッ
トワーク20の制約条件を,他システムの要求に従って
変更改定し,新しく生成されたオブジェクトネットワー
クの制約条件を規定し,その結果完成した構造ネットワ
ークが行うべき処理順序に基づいて要素ネットワークへ
の要求を他システムから受付け可能とすることにより,
要素ネットワークへ制御権限を委託し,その結果処理が
完了したことの受付けをし,構造ネットワークを消滅さ
せる。この動作が同時に要素ネットワークの完成となる
ようにされ,処理結果が他システムへ表示される。
【0019】プロセス構築管理機構13から構造ネット
ワークの生成処理要求,その結果の応答,また構造ネッ
トワークから要素ネットワークの生成処理要求および応
答というように,要求(request) と応答(respond) とを
対として,下層ネットワークへの要求,上層ネットワー
クへの応答というように,要求に対し,対応する関数の
実行を行う関数実行管理機構がサービスを行う。この関
数実行管理機構は,総称的関数から具体的関数への変
換,実行上の妥当性検定の指示制御を行う。その結果不
備であれば新しい要求と応答との対を,逆に上層ネット
ワークへ向けて発行し,完備させる。完備していれば実
行し,上層ネットワークへの応答の処理を行う。
【0020】以上のオブジェクトネットワークによる言
語処理システムのインプリメントは,例えば次のように
実現される。図1の(イ)に示す分野記述言語によるシ
ステム記述10によって,(ロ)に示すオブジェクトネ
ットワーク20の定義,動詞オブジェクトに対応する総
称的関数24,具体的関数25,制約条件23の定義,
また必要に応じてマンマシンインタフェースのためのウ
インドウ定義等を行う。この定義体をトランスレータ1
1にかけて,内部データ表現で表されるオブジェクト管
理情報16に変換し,また定義された関数群を実行シス
テム12に組み込むことにより,自動的に特定応用分野
のシステムが構築されるようになっている。
【0021】
【作用】システムの設計者とユーザの両方の立場から,
オブジェクト指向により,システムをデータ中心に構築
するのが望ましい。システム内部での処理を,データの
段階的な変換として捉え,各段階での変換を関数と考え
る。ここで,データの各段階をノードとし,関数をブラ
ンチとすると,これをネットワークとみなすことができ
る。
【0022】すなわち,ソフトウェアシステムをネット
ワークで表現すると,ノードとしてのシステムの構成要
素は,名詞オブジェクト(データ)であり,要素の接続
関係であるブランチは,動詞オブジェクトである。動詞
オブジェクトは,ノード間の変換関数として表現され,
変換関数もネットワークで表現される。そして,ネット
ワーク自身もオブジェクトとみなすことができ,上位の
ネットワークの関係関数である。つまり,ネットワーク
階層構造が存在する。
【0023】以上のことから,本発明では,システムの
構成要素をオブジェクトとして捉え,オブジェクトを名
詞オブジェクトと動詞オブジェクトとに分類し,それら
によって構成されるオブジェクトネットワーク20を参
照モデルとして,目的対象の処理を行わせる。
【0024】
【実施例】図2は,本発明に係るオブジェクトネットワ
ークの参照モデルの例を示す。ここでは,特定分野とし
て,画像システムを例にして説明する。
【0025】図2の(ロ)に示すように,ディスプレイ
画面上で,画像を描画する場合を考える。最初,何もな
い状態(a) であり,マウス等によって点が指定されるこ
とにより,点が描画された状態(b) になる。さらに,い
くつかの点が指定されて,点列が形成された状態(c) に
遷移する。
【0026】このような点や点列などのデータを,名詞
オブジェクトとして捉えると,ある名詞オブジェクト
(例えばpoint)に,関数としての動詞オブジェクト (例
えばlist points)が作動することにより,目的とする名
詞オブジェクト(例えばpointsequence) が得られると
考えることができる。すなわち,図2の(イ)に示すよ
うに,描画対象のデータの各状態を,名詞オブジェクト
としてノードに置き,ノード間を結ぶブランチを動詞オ
ブジェクトとして,オブジェクトネットワークを表現す
れば,そのオブジェクトネットワークによって,そのま
ま描画のための画像システムの構造が形成できることに
なる。
【0027】例えば,名詞オブジェクト(point) につい
て,特定の座標値がまだ定まっていない抽象的な点の概
念に相当するものは,普通名詞に対応する集合オブジェ
クトとして扱われ,実際に点(point) の座標値が付与さ
れて個性を持つものは,その集合オブジェクトから生成
された固有名詞に対応する個別オブジェクトとして扱わ
れる。したがって,1つの集合オブジェクトから多数の
個別オブジェクトが派生することになり,この意味で図
1に示すような分野記述言語によるシステム記述10に
よって定義されたオブジェクトネットワーク20は,参
照モデルである。
【0028】図3は,本発明に係る名詞オブジェクト管
理機構の構成例を示す。図1に示す名詞オブジェクト管
理機構14は,図3に示すように,個別オブジェクト2
1bに対して,ユーザまたはシステムが任意に名前を付
けることができる名前づけ機能32を有し,これにより
付けた名前を管理する名前管理機能33を有する。この
名前によって,特定の個別オブジェクト21bを他のも
のと区別することできるようになっている。また,特定
の個別オブジェクト21bについての参照を指示する参
照指示機能34によっても,他のものと区別することが
可能である。
【0029】また,名詞オブジェクト管理機構14は,
名詞オブジェクトを修飾する形容詞としての制約条件2
3−1,23−2を,名詞オブジェクトに付加し,オブ
ジェクトとして管理する修飾管理機構30を持つ。この
修飾管理機構30は,具体化された個別オブジェクト2
1bが属する名詞オブジェクトの性質と,それを修飾す
る制約条件に対する充足性を判定する制約条件妥当性検
査/制約条件付加機能31を持つ。
【0030】制約条件妥当性検査/制約条件付加機能3
1によって,普通名詞に対応する集合オブジェクト21
aに対する制約条件は,それに属する固有名詞としての
個別オブジェクト21bの制約条件ともなり,さらに妥
当性のある制約条件を付加しうる。
【0031】図4は,本発明に係る動詞オブジェクトの
動詞の種類を示している。(a) に示す演算動詞は,オブ
ジェクトAをオブジェクトBに変換する関数の要素であ
る。図2の例において,名詞オブジェクト(None)から座
標値のデータを制約として名詞オブジェクト(point) を
生成する要素がこれに当たる。
【0032】(b) に示す関係付加動詞は,固有名詞オブ
ジェクト群の集合オブジェクトSに,ある関係を与えて
新しいオブジェクト(関係オブジェクトという)を生成
する関数の要素である。図2の例において,point の順
序集合である名詞オブジェクト(point sequence)に,po
int の接続条件を与えて, 新しい関係を持った名詞オブ
ジェクト(line segment)を生成する要素がこれに当た
る。
【0033】(c) に示す制約演算動詞は,オブジェクト
AからオブジェクトCへの変換を行うとき,制約条件と
してオブジェクトBが与えられるような関数の要素であ
る。図2の例では,点に付与される輝度属性を示す名詞
オブジェクト(luminance onthe point)を, 点の順序集
合に対する輝度属性を示す名詞オブジェクト(luminance
on the point sequence) に変換するとき,点の順序集
合を定める名詞オブジェクト(point sequence)が制約条
件となるが,このような場合が制約演算動詞に相当す
る。
【0034】図5は,本発明に係る総称的関数と具体的
関数の関係説明図である。動詞オブジェクトの具体化に
は,総称的関数24と制約条件23とから,具体的関数
25を生成する翻訳生成機能50を設けることにより,
ユーザに対し,総称的関数24だけを意識させればよい
構造とする。ユーザは,実際の処理手続きに対応する具
体的関数25を覚える必要がなくなり,ユーザ・フレン
ドリ性の増大を図ることができる。
【0035】例えば,send(X) と名付けられた総称的関
数は,send(X) to D で,DにXを送る。この送る手段
として制約条件を付けることができる。また,総称的動
詞オブジェクトに対する制約条件として,現在実行中の
名詞オブジェクト名がシステムの現状態を表すことを積
極的に利用する。例えば,図5の(ロ)に示すように,
現在のシステムの実行状態である名詞オブジェクト名が
Noneであるとき,それを制約条件とすることにより,総
称的関数(draw)24を,具体的関数(set point) 25に
変換する。
【0036】例えば, 図2の(イ)に示すオブジェクト
ネットワークにおいて,set point,list points, gener
ate curve は,すべて具体的関数であるが,これらを1
つの総称的関数(draw)で表すことができる。ユーザは,
set point, list points, generate curveといった具体
的関数を覚える必要はなく,すべてdrawとして取り扱う
ことができる。drawが, set point, list points, gene
rate curveのどれを意味するかは,現在のシステムの実
行状態が制約条件として付加されることにより,自動的
に決定される。
【0037】すなわち,総称的関数(draw)+制約条件(N
one)→具体的関数(set point) であり,総称的関数(dra
w)+制約条件(point) →具体的関数(list points) であ
る。図6は,本発明の実施例に係る動詞オブジェクトの
実行管理説明図である。
【0038】動詞オブジェクトの具体的実行に際して
は,さらに作動の開始前制約条件23a,作動中制約条
件23b,終了制約条件23cが付加され,これらが考
慮される。関数実行管理機構60は,総称的関数に対応
する動詞名の指定による作動要求があると,開始前制約
条件23aを付加し,他の制約条件と合わせて,妥当性
の検査および具体的関数への変換を行う。そして,具体
的関数の実行61に移るが,実行中においても,逐次的
に作動中制約条件23bを付加し,システム動作の妥当
性検定機能や推論機能に役立てる。さらに,実行終了時
には,終了制約条件23cを付加し,妥当性検定機能に
役立てる。
【0039】例えば,円弧を描く場合,少なくとも3点
の座標値が定められていなければならない。もし,2点
の座標値しか決まっていなかったとすると,円弧を描く
関数の実行は矛盾を生じさせることになる。しかし,本
実施例においては,関数実行管理機構60における妥当
性検定機能によって事前に検査し,矛盾の発生を回避す
ることができる。この機構により,必要に応じて3点目
の座標値の入力をユーザに要求する関数を自動的に起動
させることもできる。
【0040】図7は,本発明に係る並行プロセス構築の
層構造の例を示す。ユーザから提起される多様な要求に
対し,一般にシステムは機能を適当なレベルで基本的な
モジュールに分け,それらを必要な順序で縦続的に,あ
るいは並行的に組み合わせ,積み上げることにより処理
を進める形態が採られる。各要求に対する処理のしかた
と,ユーザ要求の相続く発生とから,システムは処理の
階層構成と各層における種々の並行処理を必要とする。
【0041】本発明によって構築されるシステムでは,
このような処理は,名詞オブジェクトと動詞オブジェク
トとからなるオブジェクトネットワーク上の移動として
考えられる。このオブジェクトネットワークにおいて,
複数のプロセスが並行処理される場合には,オブジェク
トネットワーク上の移動に関する制御が必要となる。以
下,このオブジェクトネットワークと並行プロセスの構
築について説明する。
【0042】独立な制御を受ける単位をプロセスとす
る。複数個のプロセスの進行が考えられるシステムが,
並行プロセスシステムである。特に,複数個のプロセス
が1つのまとまった仕事を遂行する場合,ある操作の実
行や同一資源へのアクセスに際し,プロセス間に相互作
用が生じ,順序等を規定する必要がでてくる。並行プロ
セスをオブジェクトネットワーク上で実現させるには,
ノード間の移動を制御することが必要になる。そのた
め,図7に示すようなシステムの階層化を図り,プロセ
ス構築管理機構13によって,プロセスの制御を行う。
【0043】階層として,基本的に次の4階層がある。 (1) プロセス構築層:集合オブジェクトの生成要求を受
付け,個別オブジェクトを生成するプロセスを決定す
る。
【0044】(2) 構造ネットワーク層:参照モデルとし
てのオブジェクトネットワークを示し,処理順序を制御
する。 (3) 要素ネットワーク層:個別オブジェクトを生成す
る。
【0045】(4) 関数実行層:実際に関数を実行する。 これらの層の間では,要求と応答の対によって制御の受
け渡しが行われる。プロセス構築管理機構13は,外部
ユーザからのシステムへの要求を受け,そのオブジェク
トの処理順序を決定し,次段の層の構造ネットワーク7
1−1,71−2を生成する。構造ネットワーク71−
1では,プロセス構築管理機構13によって決定された
処理順序に従って,要素ネットワーク72を生成する。
ネットワーク自身もオブジェクトとみなし,さらに詳細
な処理順序を制御するためのサブプロセス構築管理機構
73への要求を行うこともできる。
【0046】要求を受けたサブプロセス構築管理機構7
3では,同様にサブ構造ネットワーク74への生成処理
要求,サブ構造ネットワーク74では,サブ要求ネット
ワーク75への生成処理要求を行い,順次,下位層から
の応答を受ける。
【0047】並行プロセスを実現するための実行順序の
具体化として,ペトリネットワークにおけるトークンの
制御方式を用いることができる。図8は,その制御方式
を示している。
【0048】図8において,例えばオブジェクトAをpo
int に対するluminance data値(輝度データ値)とする
と,点としてのpoint をidentifyすることが, 可能性ト
ークンを発生させ, これとオブジェクトAからの実行ト
ークンとがそろうことにより,実行要求が発せられる。
【0049】図9は,要素オブジェクトを生成する例を
示している。構造を規定する部分を持つ構造ネットワー
ク71での動詞オブジェクトが作動して,要素ネットワ
ーク72が作られる。そこに,要素オブジェクトに関す
るデータが制約条件として付加される。この参照生成の
際における処理順序の制御に関する制約条件は,他シス
テムからの要求に従って変更・改定することができる。
要素オブジェクトA1,A2は処理順序の制約が異な
る。
【0050】次に,特定応用分野への適用例として,カ
ラー画像を描画するための画像システムに本発明を適用
した例を説明する。画像システムに限らず,イベント駆
動やデータ駆動によって,システム内の状態を変化させ
るような動作を行う各種のシステムについて,同様に本
発明を適用することができる。
【0051】まず,図1に示す分野記述言語によるシス
テム記述10に相当する画像システム記述言語の構文と
意味について説明する。本実施例による画像システム記
述言語は,オブジェクトネットワークを記述するネット
ワーク記述部,関数を記述する関数記述部,オペレータ
との入出力インタフェースのためのウインドウを定義す
るウインドウ記述部を持つ。構文は,文脈自由文法であ
るので,BNF(Backus-Naur Form) により記述可能で
ある。構文に関係する基本語句は以下のとおりである。
【0052】(1) 文字 この画像システム記述言語で使用される文字は,英大文
字,英小文字,数字の3種類である。英大文字は,定義
文の記述や識別子に用いられ,英小文字は,識別子に用
いられる。数字は,数値の表現や識別子の中で使われ
る。英大文字,英小文字,数字をBNF記法で表す。
【0053】<英小文字>::=a|b|c|d|e|
f|……|x|y|z|_ <英大文字>::=A|B|C|D|E|F|……|X
|Y|Z|_ <数字> ::=1|2|3|4|5|6|7|8|
9|0 (2) 数値 数値は,座標や大きさなどを表すために使われる。BN
F記法で表すと, <数値>::=<数値><数字>|<数字> とな
る。
【0054】(3) 識別子 ネットワーク名やウインドウ名などの名前の表現のため
に使われる。識別子の規則として先頭の文字は,英文字
でなくてはならない。識別子は,英小文字と数字だけ,
英大文字と数字だけ,英大文字と英小文字と数字混在の
3種類がある。
【0055】 <英小文字&数字>::=<英小文字>|<数字> <英大文字&数字>::=<英大文字>|<数字> <英文字&数字> ::=<英小文字>|<英大文字>
|<数字> <小文字識別子>::=<小文字識別子><英小文字&
数字>|<英小文字> <大文字識別子>::=<大文字識別子><英大文字&
数字>|<英大文字> <識別子>::=<識別子><英文字&数字>|<英小
文字>|<英大文字> (4) ネットワーク記述部 ネットワーク記述部は,ネットワーク定義文(DEF-NET
文)により,オブジェクトネットワークを記述する。ネ
ットワーク定義文の構文は,次のようになる。
【0056】 DEF-NET[<ネット名>]{<ネットワーク定義>} <ネットワーク定義>::=ENTITY[<項目ネット名>] {<項目リスト>;}<属性定義> <属性定義>::=<属性定義> ATTRIBUTE[<属性ネッ
ト名>]{<属性リスト>;}| ATTRIBUTE[<属性ネ
ット名>]{<属性リスト>;} <項目リスト>::=<項目オブジェクト>;<項目リス
ト>|<項目オブジェクト>; <属性リスト>::=<属性オブジェクト>;<属性リス
ト>|<属性オブジェクト>; <項目オブジェクト>::=<データクラス名>:<総称
的関数リスト> <属性オブジェクト>::=<属性名>:<総称的関数リ
スト> <総称的関数リスト>::=<総称的関数リスト>, , <総称的関数名> −> <方向> |<総称的関数名> −> <方向> <方向>::=UP|DOWN|END|<データクラス
名>!<項目ネット名>@<ネット名>|<属性名>!
<属性ネット名>@<ネット名> <ネット名>::=<識別子> <項目ネット名>::=<識別子> <属性ネット名>::=<識別子> <データクラス名>::=<大文字識別子> <属性ネット名>::=<大文字識別子> <総称的関数名>::=<大文字識別子> このネットワーク定義文の意味を,箇条書きに自然言語
で表現すると,次のとおりである。
【0057】(a) この定義文は,オブジェクトネットワ
ークを定義する。 (b) オブジェクトネットワークは,1つの項目(entity)
ネットワークと複数の属性(attribute) ネットワークか
ら構成される。
【0058】(c) 項目ネットワークは,データクラスと
それに対応する総称的関数リストで構成される。 (d) 属性ネットワークは,データクラスの属性名とそれ
に対応する総称的関数リストで構成される。
【0059】(e) 総称的関数リストは,総称的関数とそ
の関数の実行後の行き先を“−>”で繋いだリストで構
成される。 (f) 行き先は,1つ上位のデータクラスへの移動を意味
する“UP”か,1つ下位のデータクラスへの移動を意
味する“DOWN”か,終了を意味する“END”か,
ネットワーク内の絶対的な位置を指定する。指定の書式
は,データ名(データの属性名)!項目ネットワーク名
(属性ネットワーク名)@ネットワーク名である。
【0060】(5) 関数記述部 関数記述部は,総称的関数定義文(DEF-GENERIC-FUNC
文) により, 総称的関数を記述し,具体的関数定義文(D
EF-ACTUAL-FUNC文) により, 具体的関数を記述する。
【0061】(5-1) 総称的関数定義文の構文を,BNF
記法で示す。 DEF-GENERIC-FUNC[<総称的関数名>]{<具体的関数
リスト>;} <具体的関数リスト>::=<具体的関数リスト>;<制
約付き具体的関数>|<制約付き具体的関数> <制約付き具体的関数>::=<制約条件>:<具体的関
数名> <制約条件>::=<制約条件><論理演算子><表現>
|<表現> <表現>::=<システム変数><関係演算子><値> <論理演算子>::=&&|‖ <関係演算子>::= ==|!=|<|>|<=|>= <システム変数>::= CURRENT-NET|CURRENT-PART|CU
RRENT-STEP|DIRECTION <総称的関数名>::=<大文字識別子> この総称的関数定義文の意味を箇条書きで表すと,次の
とおりである。
【0062】(a) 総称的関数定義文は,総称的関数を定
義する。 (b) 総称的関数は,制約条件が真であった場合,対応す
る具体的関数が選択されるよう定義される。
【0063】(c) 制約条件は,システム変数とその値を
関係演算子で接続した式を,論理演算子で接続して表
す。 (d) システム変数は,CURRENT-NET が現在のネットワー
クを表し, CURRENT-PARTが選択されている項目・属性ネ
ットワークを表し, CURRENT-STEPがネットワーク上の位
置を表し, DIRECTION がネットワーク上を進む方向を表
す。
【0064】(5-2) 具体的関数定義文の構文を,BNF
記法で表す。 DEF-ACTUAL-FUNC[<具体的関数名>]:<出力クラス
名>,<入力クラス名リスト>] { /* C言語プログラム */ } <出力クラス名>::=<データクラス名> <入力クラス名リスト>::=<入力クラス名リスト> /<入力クラス>|<入力クラス> <入力クラス>::=<データクラス名>:<要求形式> <要求形式>::= ALL|CURRENT |<具体的関数名> <具体的関数名>::=<小文字識別子> <データクラス名>::=<大文字識別子> この具体的関数定義文の意味を箇条書きで表すと,次の
とおりである。
【0065】(a) 具体的関数定義文は,具体的関数を定
義する。 (b) 具体的関数は,関数の結果としての出力クラスと,
関数の引数としての入力クラスリストを定義する。
【0066】(c) 入力クラスリストは,入力クラスとそ
のクラスの要求形式を指定する。要求形式は,そのクラ
スのすべてのデータを要求する“ALL”と,1つ前に
実行されたそのクラスのデータを要求する“CURRE
NT”と,そのクラスのデータを生成する具体的関数の
実行を要求する<具体的関数名>がある。
【0067】(6) ウインドウ記述部 ウインドウ記述部は,ウインドウクラス定義文(DEF-WIN
-CLASS文) により,データウインドウクラスを記述し,
データウインドウ定義文 (DEF-DATA-WIN文) により, デ
ータウインドウを記述し,選択ウインドウ定義文 (DEF-
SELECT-WIN文)により,選択ウインドウを記述する。
【0068】データウインドウは,データウインドウク
ラスのオブジェクトとして生成され,指定された名詞オ
ブジェクトの表示および消去ができ,マウス等により指
定された座標データの入力ができる機能を持つウインド
ウである。選択ウインドウは,システムが処理を行うと
き,ユーザの判断が必要になる場合があるが,そのよう
なとき,ユーザに対し判断を要求するためのウインドウ
である。
【0069】(6-1) ウインドウクラス定義文の構文をB
NF記法で表す。 DEF-WIN-CLASS[<ウインドウクラス名>:<バースイ
ッチ>,<表示域の幅>, <表示域の高さ>] <ウインドウクラス名>::=<識別子> <バースイッチ>::= ON|OFF <表示域の幅>::=<数値> <表示域の高さ>::=<数値> この意味は,次のとおりである。
【0070】(a) データウインドウクラスを定義する。 (b) データウインドウクラスは,生成されるデータウイ
ンドウが,スクロールバーを持つかどうかを指定するス
イッチと,仮想的画面である表示域(canvas)の縦横の大
きさを指定する。
【0071】(6-2) データウインドウ定義文の構文をB
NF記法で表す。 DEF-DATA-WIN[<データウインドウ名>:<ウインドウ
クラス名>,<初期値x>,<初期値y>,<初期幅
>,<初期高>] <データウインドウ名>::=<識別子> <初期値x>::=<数値> <初期値y>::=<数値> <初期幅>::=<数値> <初期高>::=<数値> この意味は,次のとおりである。
【0072】(a) ウインドウクラスのインスタンスとし
てデータウインドウを定義する。 (b) データウインドウの初期表示位置,縦横の大きさを
定義する。 (6-3) 選択ウインドウ定義文の構文をBNF記法で表
す。
【0073】DEF-SELECT-WIN[<選択ウインドウ名>]
{<選択ウインドウリスト>} <選択ウインドウ名>::=<識別子> <選択ウインドウリスト>::=<選択ウインドウリスト
>;<選択ウインドウ定義>|<選択ウインドウ定義> <選択ウインドウ定義>::= menu(<表示項目リスト
>)|key(<メッセージ>) <表示項目リスト>::=<表示項目リスト>/<表示項
目>|<表示項目> <表示項目>::=<英文字&数字> <メッセージ>::=<英文字&数字> この意味は,次のとおりである。
【0074】(a) 選択ウインドウを定義する。 (b) 選択ウインドウは,メニュータイプかキータイプか
のどちらかを指定できる。
【0075】(c) メニュータイプの場合には,表示する
項目(item) を記述する。 (d) キータイプの場合には,メッセージを記述する。 図10は,本発明の実施例による画像描画用オブジェク
トネットワークの例を示す。
【0076】例えば,図10に示すような画像描画用オ
ブジェクトネットワークに従って動作する画像システム
を構築するとする。このオブジェクトネットワークで
は,画像データが,ポイント,ライン,リージョンなど
の数段階のノードに分けられ,あるデータクラスのデー
タを別のデータクラスのデータに変換させる動詞オブジ
ェクトとして,ポイント生成,ライン生成,リージョン
生成などのいくつかの関数が存在する。これらの関数
は,DRAW, SEGMENTALIZE等といった総称的関数によって
表現される。
【0077】画像描画において重要である色情報は,各
画像データの属性として定義され,この属性に対しても
オブジェクトネットワークが定義される。図10に示す
オブジェクトネットワークを,上述したネットワーク定
義文の記述文法によって定義すると,以下のようにな
る。
【0078】 DEF-NET[Painting]{ ENTITY[Outline ]{ NONE : DRAW −> UP ; POINT : DRAW −> UP ; POINT-SEQ : DRAW −> UP ; LINE-SEG : DRAW −> UP ; LINE : SEGMENTALIZE −> UP , DRAW −> POINT; REGION-SEG : SEGMENTALIZE −> UP ; REGION : DRAW −> POINT, PUT −> POINT-COLOR!Color ; } ATTRIBUTE [Color ]{ NONE : PUT−> UP ; POINT-COLOR : PUT−> UP ; POINT-SEQ-COLOR : PAINT−> UP ; LINE-SEG-COLOR : PAINT−> UP ; LINE-COLOR : PAINT−> UP ; REGION-SEG-COLOR: PAINT−> UP ; REGION-COLOR : PUT−> POINT-COLOR; } } この描画用オブジェクトネットワークのネットワーク名
は“Painting”であり,項目ネットワークとして“Outl
ine ”, 属性ネットワークとして“Color ”が定義され
ている。このオブジェクトネットワークでは,LINE, RE
GIONにおいて複数の関数が定義されている。LINEの場
合, DRAW−> POINTが定義されることにより,総称的関
数DRAWが実行された後, POINT に移動するようにされて
いる。
【0079】これにより, ループ構造を記述することが
でき,複数のLINEを描画できる。このループから抜け出
るためには,LINEにおいてSEGMENTALIZEを選択する。RE
GIONでは,DRAW−> POINTと,PUT −> POINT-COLOR!
Color が定義されている。DRAW−> POINTは,DRAW実行
後, POINT へ移動することを表し, 複数の輪郭を描画で
きる。PUT −> POINT-COLOR!Color は,PUT 実行後,
"Color”ネットワークのPOINT-COLOR へ移動すること
を示している。これにより,輪郭生成終了後, 直接, 色
情報生成ネットワークへ移動することができる。
【0080】動詞オブジェクトの内容となる描画関数
は,総称的関数と具体的関数が,例えば次のように定義
される。 (1) 総称的関数の定義 DEF-GENERIC-FUNC[ DRAW ]{ CURRENT-NET == "Painting"&& CURRENT-PART == "Outli
ne"&& CURRENT-STEP == "NONE"&& DIRECTION == "UP" :set-p
p; CURRENT-NET == "Painting"&& CURRENT-PART == "Outli
ne"&& CURRENT-STEP == "POINT"&& DIRECTION == "UP":creat
e-ps ; CURRENT-NET == "Painting"&& CURRENT-PART == "Outli
ne"&& CURRENT-STEP == "POINT-SEQ"&& DIRECTION == "UP":c
reate-ls ; CURRENT-NET == "Painting"&& CURRENT-PART == "Outli
ne"&& CURRENT-STEP == "LINE-SEG"&& DIRECTION == "UP" :c
reate-l ; CURRENT-NET == "Painting"&& CURRENT-PART == "Outli
ne"&& CURRENT-STEP == "LINE"&& DIRECTION == "POINT":set
-pp ; CURRENT-NET == "Painting"&& CURRENT-PART == "Outli
ne"&& CURRENT-STEP == "REGION"&& DIRECTION == "POINT":s
et-pp ; 総称的関数は,上述したシステム記述の文法に従って,
具体的関数への変換条件を記述することで定義される。
ここでは,総称的関数DRAWを例に, その定義例を示した
が,SEGMENTALIZE,CONNECT,PUT,PAINT等についても, 同
様に定義される。
【0081】DRAWは, 輪郭生成を行う総称的関数であ
り,具体的関数であるset-pp, create-ps, create-ls,
create-lのいずれかに対応する制約条件が与えられるこ
とにより,具体的関数に変換される。例えば, 制約条件
として,現在のネットワークCURRENT-NET が "Paintin
g" であり,選択されている項目ネットワークCURRENT-P
ARTが "Outline"であり,ネットワーク上の位置CURRENT
-STEPが"NONE"であり,ネットワーク上の進む方向DIREC
TION が "UP" であれば,総称的関数DRAWは,点の座標
データを設定する具体的関数set-ppに変換される。
【0082】(2) 具体的関数の定義 この画像システムにおける具体的関数は,次のように定
義される。 DEF-ACTUAL-FUNC[set-pp : POINT, COORDINATES :draw
1] DEF-ACTUAL-FUNC[create-ps : POINT-SEQ, POINT : cu
rrent] DEF-ACTUAL-FUNC[create-ls : LINE-SEG, POINT-SEQ :
current ] DEF-ACTUAL-FUNC[create-l : LINE, LINE-SEG : curre
nt ] DEF-ACTUAL-FUNC[create-rs : REGION-SEG, LINE : cu
rrent] DEF-ACTUAL-FUNC[create-r : REGION, REGION-SEG : c
urrent ] DEF-ACTUAL-FUNC[create-de : REGION, DESSIN-ELEMEN
T : current] DEF-ACTUAL-FUNC[put-color-pp : POINT, COORDINATES :draw1/l-diagram/c-diagram] DEF-ACTUAL-FUNC[put-color-ps : POINT-SEQ, POINT :
current ] DEF-ACTUAL-FUNC[paint-color-ls : LINE-SEG, POINT-
SEQ : current] DEF-ACTUAL-FUNC[paint-color-l : LINE, LINE-SEG :
current] DEF-ACTUAL-FUNC[paint-color-rs : REGION-SEG, LINE
: current ] DEF-ACTUAL-FUNC[paint-color-r : REGION, REGION-SE
G : current] ここで,画像データクラスCOORDINATES について補足説
明する。COORDINATESは,座標を表すクラスで, 画像デ
ータクラスの中で最も上位のクラスである。よってこの
クラスは,具体的関数の出力クラスに書かれることはな
い。入力クラスに書かれる場合, 他の画像データクラス
は,<要求形式>が書かれるが, COORDINATES のみ, 座
標データ入力を要求するデータウインドウ名を指定す
る。座標データ要求ウインドウ名は,複数指定可能であ
る。
【0083】具体的関数put-color-ppの入力データクラ
ス指定では,COORDINATES の要求ウインドウ名として,
データウインドウdraw1, l-diagram,c-diagram が指定
されている。これにより, この3つのデータウインドウ
から並行に座標データの入力が可能になる。
【0084】本実施例では,具体的関数の具体的な処理
の記述は,C言語によって行っている。具体的処理内容
は,以下のとおりである。 set-pp :主要点のセット。
【0085】create-ps :ポイントシーケンスを生成。 create-ls :ラインセグメントを生成。 create-l :ラインを生成。
【0086】create-rs :リージョンセグメントを生
成。 create-r :リージョンを生成。 create-de :デッサンエレメントを生成。
【0087】put-color-pp :色度情報の主要点への設
定。 put-color-ps :色度情報のポイントシーケンスへの設
定。 paint-color-ls:ラインセグメント上での色度のペイン
ト。
【0088】paint-color-l :ライン上での色度のペイ
ント。 paint-color-rs:リージョンセグメント上での色度のペ
イント。 paint-color-r :リージョン上での色度のペイント。
【0089】この他に,ウインドウ関係の定義も行わ
れ,画像システムが記述される。このような定義体によ
るシステム記述は,図1に示すようなトランスレータ1
1によって実行形式データに変換される。図11は,そ
のトランスレータ11のフローチャートを示している。
以下の処理を行う。
【0090】 システム記述(ソースプログラム)を
入力する。 システム記述言語の文法に従って,ソースプログラ
ムの構文解析を行い,必要な情報をデータベースに整理
する。
【0091】 データベースから実行システム(ラン
タイムシステム)用のデータを生成する。 実行システムの構造は,本実施例では,図12に示すよ
うになっている。図12において,120は画像システ
ムカーネル,121はオブジェクト間インタフェース
(IFO:Interface Function between Object),12
2はデータマネージャ,123は関数マネージャ,12
4はウインドウマネージャを表す。
【0092】画像システムカーネル120は,実行シス
テムの中心に存在し,トランスレータからのデータを基
に,以下の処理を行う。 (1) オブジェクトネットワーク上でのデータ状態把握 描画プロセスの把握を行い,次に実行すべき関数を選択
する。
【0093】(2) イベントの解析 各ウインドウから送られてくるイベントを判別し,その
結果に対応するシステム内のプロシジャをコールする。
【0094】(3) 関数実行要求 総称的関数に制約条件を付加し,オブジェクト間インタ
フェース121に関数の実行を要求する。
【0095】オブジェクト間インタフェース121は,
画像システムカーネル120と,データ,関数,ウイン
ドウを管理するマネージャ間を,要求(リクエスト)−
応答(レスポンド)方式の標準的プロトコルにより,イ
ンタフェースをとる。標準プロトコルを用意すること
で,画像システムカーネル120には変更を加えずに,
言語のカスタマイズが可能になる。
【0096】オブジェクト間インタフェース121のプ
ロトコルは,データマネージャ122,関数マネージャ
123,ウインドウマネージャ124の各々に対しての
3つに分けられている。
【0097】データマネージャ122に対しては,デー
タの読み書き,変更,削除などのデータ操作に関するプ
ロトコルが用意されている。関数マネージャ123に対
しては,総称的関数から具体的関数への変換,具体的関
数の実行に必要とするデータの準備,具体的関数の実行
要求プロトコルがある。ウインドウマネージャ124に
対しては,データウインドウ,選択ウインドウ,メッセ
ージウインドウ,オペレーションウインドウに対するプ
ロトコルが用意されている。
【0098】これらのプロトコルの実現のために,オブ
ジェクト間インタフェース121は,カーネルインタフ
ェース,関数サーバ,データサーバ,ウインドウサーバ
を持つ。
【0099】カーネルインタフェースは,画像システム
カーネルと内部の各サーバとのインタフェースである。
このカーネルインタフェースは,ただ単にインタフェー
スの役目を行っているだけでなく,カーネルからの要求
を解析し,解析した結果により,その要求を満足できる
サーバに対し,処理要求を行い,処理を進める。
【0100】関数サーバは,関数の起動要求に従い,要
求のあった総称的関数名により,そのときシステムの状
態を付加し,そのときに起動すべき具体的関数を実行さ
せる。データサーバは,名詞オブジェクトについて,各
クラスごとに登録,読み出し,修正,削除を行う。また
名詞オブジェクトを代名詞によって参照する機能を持
つ。ウインドウサーバは,ウインドウマネージャ124
を介して,登録されているウインドウへの描画,入力な
どの入出力処理を行う。
【0101】実際のデータ,関数,ウインドウは,それ
ぞれ各マネージャにより一括管理される。データマネー
ジャ122は,画像データの管理を行う。関数マネージ
ャ123は,関数の実行管理を行う。ウインドウマネー
ジャ124は,ウインドウの管理およびウインドウへの
オブジェクトの描画を行う。これらのマネージャは,一
般に構築するシステムによりカスタマイズされるが,そ
のプロトコルは変更されないので,他に影響を与えずに
カスタマイズが可能である。
【0102】図13は,この実行システム(ランタイム
システム)のフローチャートを示している。 (a) イベントの駆動制御により,入力イベント等が発生
すると,画像システムカーネル(以下,単にカーネルと
いう)が起動される。
【0103】(b) カーネルは,イベントを解析する。 (c) イベントを判別した結果,関数リクエスト待ち状態
のときのオブジェクトウインドウからのイベントであれ
ば,処理(d) へ進む。座標データ入力待ち状態のときの
データウインドウからのイベントであれば,処理(j) へ
進む。
【0104】(d) リクエストされた関数(動詞オブジェ
クト)を判別する。 (e) カーネルは,オブジェクト間インタフェース(IF
O)に要求し,総称的関数から具体的関数への変換を行
う。
【0105】(f) さらにIFOに,その関数が座標デー
タを必要とするかどうか,必要とする場合,その座標デ
ータが保存されているかどうかを問い合わせる。 (g) 問い合わせた結果,座標データが必要ない場合に
は,処理(h) へ進み,座標データが必要である場合に
は,処理(i) へ進む。
【0106】(h) IFOに関数の実行を要求し,関数を
実行する。その後,処理(a) により次のイベントを待
つ。 (i) 座標データが必要な場合,カーネルを座標データ入
力状態にし,次のイベントを待つ。
【0107】(j) イベントが,データの入力イベントで
あれば,そのデータが座標データか制御用データかを判
別する。制御用データとは,例えばデータ入力終了を示
すようなデータである。
【0108】(k) 制御用データの場合,処理(n) へ進
み,座標データの場合,処理(l) へ進む。 (l) IFOに依頼し,座標データを保存する。
【0109】(m) 座標データが用意されることにより,
関数の実行が可能であれば,関数を実行し,次のイベン
トを待つ。 (n) データ入力終了を示すような制御用データが入力さ
れたならば,カーネルを関数リクエスト待ち状態にし,
リクエスト(イベント)を待つ。
【0110】この画像システムでは,ユーザとのインタ
フェースとして,マルチウインドウを使用している。ウ
インドウは,その機能別に分割され,オペレーションウ
インドウ,データウインドウ,メッセージウインドウ,
選択ウインドウの4種類がある。データウインドウ,選
択ウインドウは,前述したシステム記述の定義文によ
り,ユーザがカスタマイズできる。
【0111】図14に,本発明の実施例におけるオペレ
ーションウインドウの例を示す。図14において,(a)
はネットワークウインドウの制御,データウインドウの
呼び出しおよびシステム全体の制御を行うためのコント
ロールウインドウ,(b)はオブジェクトネットワークを
表示するネットワークウインドウを表す。各部の詳細は
以下のとおりである。
【0112】(a) コントロールウインドウ a1は,データウインドウ切り替えボタンである。この
ボタンをヒットとすると,登録されているデータウイン
ドウ名のメニューが表示され,画面の最前列に呼び出し
たいデータウインドウ名を選択することができる。
【0113】a2は,ネットワーク切り替えボタンであ
る。この画像システムでは,複数のオブジェクトネット
ワークを使用できるように設計されている。しかし,ネ
ットワークウインドウは1つであるため,表示するネッ
トワークを切り替える方式を採る。このボタンを押す
と,登録されているネットワーク名のメニューが表示さ
れ,使用するネットワークを選択することができる。
【0114】a3は,システムボタンである。このボタ
ンにより,システムの終了,状態の保存など,システム
全体の制御を行うようになっている。a4は,ネットワ
ーク名表示エリアである。現在選択されているネットワ
ーク名を表示する。
【0115】a5は,項目・属性名表示エリアである。
現在選択されているネットワークの項目・属性ネットワ
ーク名を表示する。 (b) ネットワークウインドウ b1は,項目・属性切り替えウインドウである。現在選
択されているネットワークに含まれる項目・属性ネット
ワークを切り替える。一番左側に表示されているボタン
が,項目ネットワーク名であり,1つだけ存在する。そ
れより,右側に表示されているボタンは,属性ネットワ
ーク名を示し,複数存在することがある。表示されてい
る任意のボタンをヒットすると,選択されたネットワー
クがb2の表示ウインドウに表示される。
【0116】表示ウインドウb2は,オブジェクトネッ
トワークを表示し,ネットワークをどこまで進んだか
と,そこからどのようなオペレーションが行なえるかと
いうシステムの状態を表現する。ネットワーク上の現在
の位置を表す名詞オブジェクト名(例えばPOINT 等)
は,赤文字で表示され,次に実行できる動詞オブジェク
トの関数名(例えば上から2つ目のDRAW等) は,青枠で
囲まれて,他と区別される。
【0117】ユーザは,マウスにより,青枠で囲まれた
関数名をヒットするか,赤文字で表示された名詞オブジ
ェクト名(データ名)の1つ下をヒットすることで,次
に実行するオペレーションを要求することができる。ヒ
ットされた関数は実行中であることをユーザに示すた
め,反転表示される。実行が終了すると,今まで赤文字
で表示されていたデータ名と青枠で囲まれ反転表示され
ていた関数名が黒文字で再表示される。そして,ネット
ワーク上の次のデータが赤文字で表示され,そのデータ
に対する実行可能な関数が青枠で囲まれる。
【0118】このオペレーションウインドウで指定され
たオペレーションに従って,データウインドウ(図示省
略)へのオブジェクトの表示,消去,座標データの入力
などの処理が行われる。
【0119】
【発明の効果】以上説明したように,本発明によれば,
画像システムなどの特定応用分野のシステムをオブジェ
クトネットワークとしてモデル化することによって,容
易に構築できるようになり,システム開発者にとって
は,ソフトウェアシステムの生産性が向上するという効
果がある。また,システムの状態や実行可能なオペレー
ションについて,わかりやすい形でユーザに提示できる
ので,ユーザにとっては,ユーザ・フレンドリなシステ
ムの利用が可能であり,操作性が向上するという効果が
ある。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明に係るオブジェクトネットワークの参照
モデルの例を示す図である。
【図3】本発明に係る名詞オブジェクト管理機構の構成
例を示す図である。
【図4】本発明に係る動詞オブジェクトの動詞の種類を
示す図である。
【図5】本発明に係る総称的関数と具体的関数の関係説
明図である。
【図6】本発明の実施例に係る動詞オブジェクトの実行
管理説明図である。
【図7】本発明に係る並行プロセス構築の層構造の例を
示す図である。
【図8】本発明の実施例におけるトークンの制御方式を
示す図である。
【図9】本発明の実施例による要素オブジェクトを生成
する例を示す図である。
【図10】本発明の実施例による画像描画用オブジェク
トネットワークの例を示す図である。
【図11】本発明の実施例によるトランスレータのフロ
ーチャートを示す図である。
【図12】本発明の実施例に係る実行システムの構造を
示す図である。
【図13】本発明の実施例に係る実行システムのフロー
チャートを示す図である。
【図14】本発明の実施例におけるオペレーションウイ
ンドウの例を示す図である。
【符号の説明】
10 分野記述言語によるシステム記述 11 トランスレータ 12 実行システム 13 プロセス構築管理機構 14 名詞オブジェクト管理機構 15 動詞オブジェクト制御機構 16 オブジェクト管理情報 20 オブジェクトネットワーク 21 名詞オブジェクト 22 動詞オブジェクト 23 制約条件 24 総称的関数 25 具体的関数
フロントページの続き (56)参考文献 「情報処理学会論文誌」VOL.30, NO.11(1989−11)P.1479−1493 「情報処理学会研究報告」VOL. 90,NO.10(90−SE−71−19) (1990−2) (58)調査した分野(Int.Cl.6,DB名) G06F 9/44 G06F 9/06 G06F 17/27 - 17/28

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 操作対象のデータおよびそれらのデータ
    に対する操作手段をオブジェクトとして管理し処理する
    計算機システムであって,前記オブジェクトを名詞オブ
    ジェクトと動詞オブジェクトとに大分類し名詞オブジ
    ェクトをノード,動詞オブジェクトをブランチとして表
    現したオブジェクトネットワークを,参照モデルとし
    この参照モデルにおいて,あるノードに存在する名詞オ
    ブジェクトに動詞オブジェクトとしての関数の内容を作
    動させると,その動詞オブジェクト名に対応するブラン
    チの方向にある目的対象となっている名詞オブジェクト
    が得られるようにしたオブジェクトネットワークによる
    言語処理システムにおいて, 前記動詞オブジェクトとして, あるオブジェクトにデータなどの制約条件と併合した演
    算を施し,目的対象オブジェクトとして名詞オブジェク
    トを具体化する演算動詞と, 集合オブジェクトを構成する個別オブジェクト群に作動
    して,新しい関係を持った名詞オブジェクトを生成する
    関係付加動詞と, 制約条件の性質を規定する前置詞と併合する名詞オブジ
    ェクトによって具体的制約条件を与え,制約を満足する
    ように目的名詞オブジェクトに対し演算を行う制約演算
    動詞の少なくとも3種類の機能が存在し, これらが文単位で判定処理されるように構成された処理
    機構を持つ ことを特徴とするオブジェクトネットワーク
    による言語処理システム。
  2. 【請求項2】 操作対象のデータおよびそれらのデータ
    に対する操作手段をオブジェクトとして管理し処理する
    計算機システムであって,前記オブジェクトを名詞オブ
    ジェクトと動詞オブジェクトとに大分類し,名詞オブジ
    ェクトをノード,動詞オブジェクトをブランチとして表
    現したオブジェクトネットワークを,参照モデルとし,
    この参照モデルにおいて,あるノードに存在する名詞オ
    ブジェクトに動詞オブジェクトとしての関数の内容を作
    動させると,その動詞オブジェクト名に対応するブラン
    チの方向にある目的対象となっている名詞オブジェクト
    が得られるようにしたオブジェクトネットワークによる
    言語処理システムにおいて, 前記動詞オブジェクトについて,目的対象としての名詞
    オブジェクトに対し,実際に実行処理が可能な具体的関
    数と,制約条件が付けられることによって具体的関数に
    変換される総称的関数の種別が存在し,総称的関数から
    具体的関数への変換制御を行う動詞オブジェクト制御機
    構を持つ ことを特徴とするオブジェクトネットワークに
    よる言語処理システム。
  3. 【請求項3】 請求項2記載のオブジェクトネットワー
    クによる言語処理システムにおいて, 前記動詞オブジェクト制御機構は,総称的関数に対応す
    る動詞オブジェクトに対する制約条件として,現在処理
    の実行が終了した名詞オブジェクト名を状態名として制
    約条件化する機能を持ち,その制約条件をもとに実行可
    能な具体的関数を得るように構成されている ことを特徴
    とするオブジェクトネットワークによる言語処理システ
    ム。
  4. 【請求項4】 請求項2記載のオブジェクトネットワー
    クによる言語処理システムにおいて, 動詞オブジェクトを関数として作動させるに当って,作
    動開始前,作動中,終了後の制約条件を付加し,各時点
    でこれらの妥当性を検定する手段を持つとともに,制約
    条件が総称的条件で与えられた総称的関数に対し,具体
    的制約条件を規定することにより具体的関数に変換する
    過程において逐次的に妥当性判定と変換のための変換手
    続の生成を行う関数実行管理機構を持つ ことを特徴とす
    るオブジェクトネットワークによる言語処理システム。
  5. 【請求項5】 操作対象のデータおよびそれらのデータ
    に対する操作手段をオブジェクトとして管理し処理する
    計算機システムであって,前記オブジェクトを名詞オブ
    ジェクトと動詞オブジェクトとに大分類し,名詞オブジ
    ェクトをノード,動詞オブジェクトをブランチとして表
    現したオブジェクトネットワークを,参照モデルとし,
    この参照モデルにおいて,あるノードに存在する名詞オ
    ブジェクトに動詞オブジェクトとしての関数の内容を作
    動させると,その動詞オブジェクト名に対応するブラン
    チの方向にある目的対象となっている名詞オブジェクト
    が得られるようにしたオブジェクトネットワークによる
    言語処理システムにおいて, 参照モデルとしての構造を示すオブジェクトネットワー
    ク中の普通名詞に対応する集合オブジェクト状態から,
    特定の具体的関数の実行によって個別オブジェクトを生
    成し,それらの要素間関係を表現することにより要素ネ
    ットワークを構成するとともに,その要素ネットワーク
    では,個別オブジェクトについての実行要求によって実
    際に処理を行うように,オブジェクトネットワークを生
    成管理するプロセス構築管理機構を持ち, 前記プロセス構築管理機構は, 参照モデルとなる構造ネットワークに基づいて,新しく
    構造ネットワークを生成し,参照モデルとしてのオブジ
    ェクトネットワークの制約条件を,他システムの要求に
    従って変更改定し,新しく生成されたオブジェクトネッ
    トワークの制約条件を規定し,その結果完成した構造ネ
    ットワークが行うべき処理順序に基づいて要素ネットワ
    ークへの要求を他システムから受付け可能とすることに
    より,制御権限を委託し,その結果処理が完了したこと
    の受付けをし,構造ネットワークを消滅させ,この動作
    が同時に要素ネットワークの完成となるようにされ,処
    理結果として他システムへ表示する制御手段を持つ こと
    を特徴とするオブジェクトネットワークによる言語処理
    システム。
  6. 【請求項6】 操作対象のデータおよびそれらのデータ
    に対する操作手段をオブジェクトとして管理し処理する
    計算機システムであって,前記オブジェクトを名詞オブ
    ジェクトと動詞オブジェクトとに大分類し,名詞オブジ
    ェクトをノード,動詞オブジェクトをブランチとして表
    現したオブジェクトネットワークを,参照モデルとし,
    この参照モデルにおいて,あるノードに存在する名詞オ
    ブジェクトに動詞オブジェクトとしての関数の内容を作
    動させると,その動詞オブジェクト名に対応するブラン
    チの方向にある目的対象となっている名詞オブジェクト
    が得られるようにしたオブジェクトネットワークによる
    言語処理システムにおいて, 参照モデルとしての構造を示すオブジェクトネットワー
    ク中の普通名詞に対応する集合オブジェクト状態から,
    特定の具体的関数の実行によって個別オブジェクトを生
    成し,それらの要素間関係を表現することにより要素ネ
    ットワークを構成するとともに,その要素ネットワーク
    では,個別オブジェクトについての実行 要求によって実
    際に処理を行うように,オブジェクトネットワークを生
    成管理するプロセス構築管理機構と, 前記プロセス構築管理機構から構造ネットワークの生成
    処理要求,その結果の応答,また構造ネットワークから
    要素ネットワークの生成処理要求および応答というよう
    に,要求と応答とを対として,下層ネットワークへの要
    求,上層ネットワークへの応答を繰り返すサービスを,
    各要求に対応する関数の実行により行う関数実行管理機
    構を持ち, この関数実行管理機構は,総称的関数から具体的関数へ
    の変換,実行上の妥当性検定の指示制御を行い,その結
    果不備であれば新しい要求と応答との対を,逆に上層ネ
    ットワークへ向けて発行し,完備させ,完備していれば
    実行し,上層ネットワークへの応答の処理を行うように
    構成されている ことを特徴とするオブジェクトネットワ
    ークによる言語処理システム。
JP4034864A 1992-02-21 1992-02-21 オブジェクトネットワークによる言語処理システム Expired - Fee Related JP2801459B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP4034864A JP2801459B2 (ja) 1992-02-21 1992-02-21 オブジェクトネットワークによる言語処理システム
CA002089842A CA2089842C (en) 1992-02-21 1993-02-18 Language processing system using object networks
DE69328452T DE69328452T2 (de) 1992-02-21 1993-02-19 System zur Entwicklung von Software aus einer Spezifikation in natürlicher Sprache mittels Objektnetzwerken
EP93400438A EP0557205B1 (en) 1992-02-21 1993-02-19 System for developing software from a natural language specification using object networks
US08/279,861 US5682542A (en) 1992-02-21 1994-07-26 Language processing system using object networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4034864A JP2801459B2 (ja) 1992-02-21 1992-02-21 オブジェクトネットワークによる言語処理システム

Publications (2)

Publication Number Publication Date
JPH05233690A JPH05233690A (ja) 1993-09-10
JP2801459B2 true JP2801459B2 (ja) 1998-09-21

Family

ID=12426037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4034864A Expired - Fee Related JP2801459B2 (ja) 1992-02-21 1992-02-21 オブジェクトネットワークによる言語処理システム

Country Status (5)

Country Link
US (1) US5682542A (ja)
EP (1) EP0557205B1 (ja)
JP (1) JP2801459B2 (ja)
CA (1) CA2089842C (ja)
DE (1) DE69328452T2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2938739B2 (ja) * 1993-02-26 1999-08-25 富士通株式会社 動画像処理装置
JP3979504B2 (ja) * 1994-03-04 2007-09-19 富士通株式会社 コモン・プラットフォーム機能による対話的情報処理装置
JPH09297684A (ja) * 1996-03-05 1997-11-18 Fujitsu Ltd オブジェクト・ネットワークによる情報処理装置
CN1065053C (zh) * 1997-08-12 2001-04-25 英业达股份有限公司 一种电脑视窗中文字资料的快速翻译方法与装置
US6745168B1 (en) 1998-01-28 2004-06-01 Fujitsu Limited Intention achievement information processing apparatus
US6445974B1 (en) * 1998-12-30 2002-09-03 Intergraph Corporation CAD-neutral application programming interface
US20050195743A1 (en) * 2000-04-03 2005-09-08 P-Cube Ltd. Real time charging of pre-paid accounts
US6513010B1 (en) 2000-05-30 2003-01-28 Voxi Ab Method and apparatus for separating processing for language-understanding from an application and its functionality
JP2002055820A (ja) 2000-08-09 2002-02-20 Fujitsu Ltd 情報処理装置
US7325190B1 (en) 2000-10-02 2008-01-29 Boehmer Tiffany D Interface system and method of building rules and constraints for a resource scheduling system
JP2002290708A (ja) 2001-03-27 2002-10-04 Fujitsu Ltd サービス機能実行システムにおける安全性確保方式
US20030126234A1 (en) * 2001-11-20 2003-07-03 P-Cube Ltd. Apparatus, method, and software for analyzing network traffic in a service aware network
US7844688B2 (en) * 2001-11-20 2010-11-30 P-Cube Ltd. Apparatus, method, and software for analyzing network traffic in a service aware network
US7761858B2 (en) * 2004-04-23 2010-07-20 Microsoft Corporation Semantic programming language
US7996520B2 (en) 2007-09-19 2011-08-09 Cisco Technology, Inc. Behavioral classification of communication sessions using active session initiation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5617467A (en) * 1979-07-20 1981-02-19 Fujitsu Ltd Word-to-word connection approval unit
US5123103A (en) * 1986-10-17 1992-06-16 Hitachi, Ltd. Method and system of retrieving program specification and linking the specification by concept to retrieval request for reusing program parts
JP2728411B2 (ja) * 1987-12-16 1998-03-18 株式会社日立製作所 図形データ表示方法及び装置
US4914590A (en) * 1988-05-18 1990-04-03 Emhart Industries, Inc. Natural language understanding system
US5133052A (en) * 1988-08-04 1992-07-21 Xerox Corporation Interactive graphical search and replace utility for computer-resident synthetic graphic image editors
JPH02240769A (ja) * 1989-03-14 1990-09-25 Canon Inc 自然言語文生成装置
JP3114181B2 (ja) * 1990-03-27 2000-12-04 株式会社日立製作所 異言語交信用翻訳方法およびシステム
EP0473864A1 (en) * 1990-09-04 1992-03-11 International Business Machines Corporation Method and apparatus for paraphrasing information contained in logical forms
US5119475A (en) * 1991-03-13 1992-06-02 Schlumberger Technology Corporation Object-oriented framework for menu definition

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
「情報処理学会研究報告」VOL.90,NO.10(90−SE−71−19)(1990−2)
「情報処理学会論文誌」VOL.30,NO.11(1989−11)P.1479−1493

Also Published As

Publication number Publication date
CA2089842C (en) 1998-11-24
JPH05233690A (ja) 1993-09-10
DE69328452T2 (de) 2000-09-07
EP0557205A2 (en) 1993-08-25
DE69328452D1 (de) 2000-05-31
EP0557205A3 (en) 1994-08-17
CA2089842A1 (en) 1993-08-22
EP0557205B1 (en) 2000-04-26
US5682542A (en) 1997-10-28

Similar Documents

Publication Publication Date Title
JP2801459B2 (ja) オブジェクトネットワークによる言語処理システム
US6976020B2 (en) Software composition using graph types, graph, and agents
USRE42105E1 (en) Object-oriented programming apparatus, object-oriented programming supporting apparatus, component builder apparatus, object-oriented program storage medium, program storage medium for use in object-oriented programming, component storage medium, and object-between-network display method
JP3216979B2 (ja) ポインタ・ベース装置による多量データ探索方法
US5603018A (en) Program developing system allowing a specification definition to be represented by a plurality of different graphical, non-procedural representation formats
JP2008512794A (ja) オブジェクト処理グラフアプリケーション開発システム
JPH0756628B2 (ja) グラフィカル・ユーザインターフェースの編集装置
JPH0475170A (ja) データベース操作方法
JP5147240B2 (ja) リバーシブルなデザイン・ツリーの変換のための方法とシステム
JPH0475182A (ja) データ駆動型情報処理装置
JPH08329004A (ja) アプリケーション・プログラム使用の端末操作性向上方法
JP3183660B2 (ja) ユーザインタフェース作成装置
JPH06195189A (ja) 対話式コマンド構成システム
JP2798118B2 (ja) データベース問合せ文作成装置
JPH0475135A (ja) プログラム開発装置
JPH0475136A (ja) プログラム開発装置
JPH07219753A (ja) 会話型プログラム開発支援システム
Wood et al. User interface—application communication in the Chimera user interface management system
JPH0378861A (ja) マンマシンインタフェース部品化処理方式
Paterna' et al. The design and specification of a visual language: an example for customising geographic information systems functionalities
JPH0475133A (ja) プログラム開発装置
Scogings et al. Linking Task and Dialogue Modeling: Toward an Integrated Software Engineering Method
Bird et al. A practical approach to software engineering by using an interaction handler and skeleton code generator
JPH03246612A (ja) ユーザインタフェース管理方式
Bouillon et al. User Interface Reverse Engineering.

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980623

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

Free format text: PAYMENT UNTIL: 20080710

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090710

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees