JP2788850B2 - 最適メニュー問い合わせ方式及び階層的メニュー問い合わせによる構造データの編集方式 - Google Patents

最適メニュー問い合わせ方式及び階層的メニュー問い合わせによる構造データの編集方式

Info

Publication number
JP2788850B2
JP2788850B2 JP5339029A JP33902993A JP2788850B2 JP 2788850 B2 JP2788850 B2 JP 2788850B2 JP 5339029 A JP5339029 A JP 5339029A JP 33902993 A JP33902993 A JP 33902993A JP 2788850 B2 JP2788850 B2 JP 2788850B2
Authority
JP
Japan
Prior art keywords
skeleton
data
menu
inquiry
syntax tree
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
JP5339029A
Other languages
English (en)
Other versions
JPH07175621A (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.)
NIPPON DENKI ENJINIARINGU KK
NEC Corp
Original Assignee
NIPPON DENKI ENJINIARINGU KK
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NIPPON DENKI ENJINIARINGU KK, Nippon Electric Co Ltd filed Critical NIPPON DENKI ENJINIARINGU KK
Priority to JP5339029A priority Critical patent/JP2788850B2/ja
Priority to EP94301053A priority patent/EP0612014B1/en
Priority to DE69428144T priority patent/DE69428144T2/de
Priority to US08/197,194 priority patent/US5546522A/en
Publication of JPH07175621A publication Critical patent/JPH07175621A/ja
Application granted granted Critical
Publication of JP2788850B2 publication Critical patent/JP2788850B2/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/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ユーザとの対話手段を
備えたコンピュータシステムにおける階層構造を有する
複数の質問をグラフィック上に表示する場合の最適メニ
ュー問い合わせ方式及び階層構造を有する複数の質問を
グラフィック画面に表示しながら構造データを編集する
階層的メニュー問い合わせによる構造データの編集方式
に関する。
【0002】
【従来の技術】従来、コンピュータシステム上でのこの
種のメニュー問い合わせに関する第1の技術としては、
1つの質問に対応してアイテム(項目)を選択する際
に、プログラムまたはファイル記述上で固定となってい
るものがあり、この場合、質問の文脈上不要とされる選
択アイテムもメニュー問い合わせに含まれている。ま
た、メニュー問い合わせに関する第2の技術としては、
各々の質問に対応する専用のメニュー出力,結果解釈及
び次メニュー判断のプログラムを備えて、質問に応じた
メニュー問い合わせ処理を実行するものがある。
【0003】また、構造データを編集する場合の第1の
技術として、階層構造を有する各々の質問に対応する専
用の問い合わせ手段と、問い合わせ結果を判断すること
によって構造データを編集する編集手段とを備え、編集
手段により構造データを構築する技術がある。また、構
造データを編集する場合の第2の技術としては、プログ
ラムの入力及び編集に使用される構文エディタがある。
即ち、一般的にプログラムは単なるテキストではなく、
テキストを階層的に積み上げた構造データであると言え
る。この構文エディタは、プログラム言語の意味及び規
則を記述した属性文法からそのプログラム言語専用の構
文エディタとして生成され、プログラムの構造を表現し
た構文木を構築してゆくことで、構造データの一種であ
るプログラムが編集される。
【0004】
【発明が解決しようとする課題】従来のメニュー問い合
わせに関する上記第1の技術の例では、質問の文脈上で
不要の選択アイテムも表示されてしまうため、実際にコ
ンピュータシステムを操作するうえで操作性が悪いとい
う問題があった。上述したメニュー問い合わせに関する
第2の技術及び構造データを編集する場合の第1の技術
では、質問の一つ一つに対応する専用処理が必要となる
ため、問い合わせ手段及び編集手段を実現するプログラ
ムの規模が質問数に比例して大きくなるという欠点があ
った。また、システムの構築後に質問の追加や構築デー
タの形態の変更が生じた場合、これに応じたプログラム
の追加や元来備えられているプログラムの変更が生じ保
守性が悪いという欠点もあった。
【0005】また構造データを編集する場合の第2の技
術では、問い合わせの文脈を処理手段から外して属性文
法に持たせているが、これは言語指向の方式であり、属
性文法及び結果として構築される構文木も言語の意味及
び規則に応じたもので、汎用的な構造データを構築する
問い合わせシステムには利用できないという欠点があっ
た。
【0006】したがって本発明は、操作性かつ保守性に
優れたメニュー問い合わせの処理を小規模のプログラム
で実現すると共に、汎用的な構造データを構築する問い
合わせ方式を提供することを目的とする。
【0007】
【課題を解決するための手段】このような課題を解決す
るために本発明は、質問の文脈を記述したルール記述の
中から質問の1つ1つを木構造データで繋げたスケルト
ンデータとして生成するスケルトンデータ生成手段と、
実際に選択された項目(アイテム)の情報を木構造デー
タとして構築する場合にスケルトンデータを辿りながら
構築する木構造データ構築手段と、メニュー表示前にス
ケルトンデータ上の評価式を木構造データを参照しなが
ら評価し,メニュー上に表示する候補を決定するメニュ
ー候補決定手段と、スケルトンデータの問い合わせ方法
に応じたメニュー候補評価手段の呼び出し処理,メニュ
ー表示作成処理及び木構造データ構築手段の呼び出し処
理を実行するメニュー問い合わせ制御手段とを設けたも
のである。
【0008】また、問い合わせの文脈を定義するルール
記述から問い合わせの骨組みとなるスケルトンデータを
構築するスケルトンデータ生成手段と、スケルトンデー
タ及び問い合わせの結果を示す構文木データを参照,評
価しながら問い合わせを行い構文木データを構築する問
い合わせ手段と、スケルトンデータ及び問い合わせの結
果を示す構文木データを参照,評価して構造データを出
力する構造データ構築手段とを設けたものである。
【0009】
【作用】項目選択時、即ちメニュー問い合わせ時に木構
造データ構築手段により構築された木構造データには、
過去の質問の文脈(選択情報)が記憶され、メニュー候
補評価手段は木構造データを参照しながら、スケルトン
データの評価式の評価を行い過去の質問の文脈の中から
不要な選択肢を削り、メニュー上に表示する候補を決定
する。また、スケルトンデータ生成手段は、問い合わせ
の文脈を定義するルール記述から問い合わせの骨組みと
なるスケルトンデータを生成すると共に、問い合わせ手
段は生成されたスケルトンデータ及び問い合わせの結果
を示す構文木データを参照しながら問い合わせを行い構
文木データを構築する。そして、構造データ構築手段は
構築された構文木データから構造データを得る。
【0010】
【実施例】以下、本発明について図面を参照して説明す
る。図1は、本発明に係る最適メニュー問い合わせ方式
を適用したコンピュータシステムの機能ブロック図であ
る。同図において、このシステムは、質問の文脈を記述
したルール記述部11、このルール記述部11から質問
の1つ1つを木構造形態で繋げたスケルトンデータ12
として生成するスケルトンデータ生成手段13と、実際
に選択されたアイテム(項目)の情報を木構造データ1
4として構築してゆく木構造データ構築手段15と、メ
ニュー表示前にスケルトンデータ12上の後述する評価
式を木構造データ14を参照しながら評価を行い,メニ
ュー上に表示する候補を決定するメニュー候補評価手段
16と、スケルトンデータの問い合わせ方法に応じた処
理(メニュー候補評価手段16の呼び出し,メニュー表
示作成及び木構造データ構築手段15の呼び出し)を行
うメニュー問い合わせ制御手段17とから構成される。
【0011】次に、図2は、本実施例での効果を説明す
るための質問の文脈例を示す流れ図である。この例で
は、メニューA,メニューBの2つの質問を続けて選択
する状況を示している。即ち、ステップST1において
メニューAの表示選択肢としての表示テキストx,y,
zが存在し、この中からステップST2でテキストxま
たはzを選択した場合は次のステップST3でメニュー
Bの表示選択肢としての表示テキストp,q,rが選択
されると共に、ステップST2でテキストyが選択され
た場合はステップST4においてメニューB’の表示選
択肢としてのテキストp,qが選択されることを示して
いる。
【0012】即ち、メニューAは表示テキストx,y,
zの中から1つを選択し、メニューBは表示テキスト
p,q,rの中から1つを選択するものであり、この場
合、メニューAでテキストyを選ぶとメニューBではテ
キストrが選べなくなり、新たにメニューB’が必要に
なることを示している。このような場合、従来の技術で
はメニューB’の専用プログラムが必要となってしま
う。本発明では、メニューB’の専用プログラムを要す
ることなく、少量のルール記述でこのような質問の文脈
表現を可能とする。ここで、図2の質問文脈例を示す流
れ図に対応するルール記述の一例を図3に示す。
【0013】図3において、%xxxはスケルトン識別
名を示す。スケルトン識別名は、問い合わせの方法に応
じていくつかの種類が設けてあり、図3の記述例では、
「struct」,「oneOf」,「empty」の
3種類がこれに該当する。ここで、「スケルトン=st
ruct{スケルトン1 スケルトン2・・・}」につ
いては、スケルトンはスケルトン1,スケルトン2,・
・・の子木構造データから構成され、スケルトン1,ス
ケルトン2、・・・の順に子木構造データを構築される
ことを示している。したがって、「%inquiry」
は、「%menu−A」を問い合わせし、「%menu
−B」を問い合わせすることを意味する。
【0014】また、 「スケルトン=one0F{スケルトン1 スケルトン2・・・} menuText {表示アイテム1 表示アイテム2・・・} where {評価式}」 については、スケルトンはスケルトン1,スケルトン
2,・・・の何れかの子木構造データを有し評価式を評
価して候補に挙げられた表示アイテムを選択肢とするメ
ニューを表示し、例えば表示アイテムiが選択されたと
きスケルトンiを子木構造データとすることを示してい
る。なお、where構文が無いときは、全表示アイテ
ムが候補となる。
【0015】次に、図3中の評価式の中の各記号の意味
について説明する。まず、評価式中の「if(論理式)
文1 else 文2」は、論理式が満たされれば文
1を実行し、満たされなければ文2を実行することを示
している。ここで、論理式中の「式1==式2」は、式
1と式2との評価結果が等しいときに真となる論理式で
ある。また、「%$」は、自木構造データを示し、この
例では「%menu−B」の木構造データを示してい
る。
【0016】また、「式.up」は、式の評価結果が木
構造データであり、その木構造データの親木構造データ
を示す。この例では「%inquiry」の木構造デー
タを示している。また、「式.[n]」は、式の評価結
果が「struct」型の木構造データであり、その木
構造データのn番目の子木構造データを示す。この例で
は「%menu−A」の木構造データを示している。ま
た、「式.down」は、式の評価結果が「oneO
f」型の木構造データであり、この木構造データの子木
構造データを示す。この例では、「%menu−B」の
構築前に既に構築されている「%menu−A」の子木
構造データを示している。したがって、この場合、「%
item−x」,「%item−y」,「%item−
z」の木構造データの何れかを指す。
【0017】また、「式.class」は、式の評価結
果が木構造データであり、その木構造データのスケルト
ン識別名を示す。したがって、この例では、「%$.u
p.[0].down.class==%item−
x」は、「%menu−B」の構築前に既に構築された
「%menu−A」の子木構造データのスケルトン識別
が「%item−x」であるか否かを示す論理式とな
る。即ち、「%$.up.[0].down.clas
s」は、左から評価を行う。また「candidate
{表示アイテム1 表示アイテム2・・・}」は、表示
アイテム1,表示アイテム2,・・・を候補とする文で
ある。したがって「%menu−B」の評価式は、「%
menu−A」で選択されたものがテキストx,zなら
ば、テキストp,q,rを候補(candidate)
とし、それ以外ならばテキストp,qを候補とすること
を示している。なお、「スケルトン=empty」は、
中味を持たない木構造データであることを示している。
したがってこの場合は、問い合わせは無い。
【0018】このようなルール記述部11のルール記述
は、スケルトンデータ生成手段13によりスケルトンデ
ータ12に変換される。スケルトンデータ12は、複数
のスケルトンを親子関係で繋ぎ合わせたもので、それぞ
れのスケルトンはルール記述部11から得たスケルトン
種類,スケルトン識別,子スケルトン,メニュー表示テ
キスト及び評価式等の情報を有する。そしてこのスケル
トンデータ生成手段13はシステム起動時に呼び出され
スケルトンデータ12を生成して図示省略したメモリ上
に展開する。
【0019】次に、図2の質問文脈例を示す流れ図中に
おいて、メニューAからテキストyを,またメニューB
からテキストpをそれぞれ選択したときのメニュー問い
合わせ制御手段17の動作を図4の流れ図に基づいて説
明する。図4の例では、スケルトン種類が「oneOf
(単一選択)」のときの処理動作を示している。即ち、
メニュー問い合わせ制御手段17は、スケルトンデータ
12上の先頭スケルトン(「inquiry(質問)」
スケルトン)を処理対象とし、スケルトン種類が「st
ruct」であるので、子スケルトンである「menu
−A(メニューA)」スケルトン及び「menu−B
(メニューB)」スケルトンの問い合わせが必要なこと
を認識する。ただし「struct」自体は、問い合わ
せを持たない。
【0020】次に、メニュー問い合わせ制御手段17は
木構造データ構築手段15を呼び出して木構造データ1
4を構築させる。即ちここでは、「inquiry」構
文木が作成され、子構文木として「menu−A」構文
木,「menu−B」構文木が繋がれる。次に、処理対
象をスケルトン種類が「oneOf(単一選択)」であ
る「menu−A」スケルトンに移す。ここで、「me
nu−A」スケルトンは評価式を持たないので(whe
re構文が無いため)、全メニュー表示テキスト(x,
y,z)を候補とした単一選択型のメニューを作成して
表示する。
【0021】そしてこのときユーザにより表示テキスト
yが選択されると、メニュー問い合わせ制御手段17は
木構造データ構築手段15を呼び出し、木構造データ1
4の更新を行わせる。ここでは、「menu−A」構文
木の子構文木として「item−y(アイテム−y)」
構文木が繋がれる。繋がれた「item−y」スケルト
ンは、スケルトン種類が「empty(中味無し)」で
あるため、スケルトンデータ12を遡り次の処理対象を
「menu−B」スケルトンとする。ここで、「men
u−B」スケルトンは評価式を持つので、ステップST
11で「Y」と判定され、続くステップST12でメニ
ュー候補評価手段16を呼び出しメニュー表示項目の絞
り込みを行わせる。
【0022】即ち、呼び出されたメニュー候補評価手段
16は、現在までの木構造データ14を参照して、「m
enu−B」スケルトン上にある評価式の評価を行う。
この場合の評価式は、既に構築されている「menu−
A」の子構文木が「item−x」,「item−
y」,「item−z」の何れかによりメニュー候補を
変えるような式となっており、今回の場合は「item
−y」が子構文木となっているので、テキストp,qを
候補とすることを決定する(ステップST13)。こう
して候補が2つ(p,q)に決定されると、メニュー問
い合わせ制御手段17はステップST14でメニュー表
示テキスト(p,q)を候補とした単一選択型のメニュ
ーを作成して表示する。ただし候補が1つに絞りこまれ
た場合は、メニューの作成,表示は行わずにその1つが
ユーザに選択されたと仮定して次の処理へ移行する。
【0023】ここで、ステップST15でユーザにより
例えば表示テキストpが選択されると、メニュー問い合
わせ制御手段17はステップST16で木構造データ構
築手段15を呼び出し木構造データ14の更新を行わせ
る。なおここでは、「menu−B」構文木の子構文木
として「item−p」構文木が繋がれる。繋がれた
「item−p」スケルトンは、スケルトン種類が「e
mpty(中味無し)」であるので、スケルトンデータ
12を遡り次の処理対象をサーチするが、次処理対象が
存在しないためそのまま終了する。
【0024】このように質問文脈を評価式等を用いてル
ール記述し、このルール記述に基づいたスケルトンデー
タを辿りながら木構造データの構築を行い、メニュー表
示を行う候補を決定するようにしたものである。したが
って、メニュー表示項目を評価式により決定することが
できるため、最小限のメニュー選択肢を実現でき、評価
結果によっては質問そのものを省略し、次のメニュー表
示を行えるため、ユーザにとって扱い易いメニュー問い
合わせが実現できる。また、質問内容に対応する専用の
プログラムを必要としないため、小規模のプログラムで
多様なシステムにおけるメニュー問い合わせに用いるこ
とができ、したがって様々なシステムに汎用的に使用す
ることが可能になる。また、システム構築後の質問内容
変更または文脈の変更等においてもプログラム本体の変
更は必要とせず、ルール記述のデータの変更のみで対処
可能となるため、保守性が向上する。
【0025】図5は、本発明の他の実施例を示し、階層
的メニュー問い合わせによる構造データの編集方式を適
用したシステムの機能ブロック図である。同図におい
て、このシステムは、質問の形態,文脈等を定義するル
ール記述を格納するルール記述部21、ルール記述部2
1のルール記述の中から質問の一つ一つを木構造形態で
表現したスケルトンデータ23として生成するスケルト
ンデータ生成手段22、このスケルトンデータ23及び
現在までに構築された後述の構文木データを参照,評価
しながら質問を表示して選択された結果を木構造形態で
表現した構文木データ25として構築する問い合わせ手
段24、スケルトンデータ23及び構文木データ25を
参照しながら構造データ27を構築する構造データ構築
手段26から構成される。
【0026】次に、図5のシステムを構成する各手段の
機能を説明する。まず、ルール記述部21の機能から説
明する。ルール記述部21にはルール記述として、複数
のスケルトンが定義されている。ここで個々のスケルト
ンは次のように定義される。即ち、 スケルトン名=スケルトン種別 パラメータ リソース名 リソース値 リソース名 リソース値 ・・・・・
【0027】ここで各スケルトンは、問い合わせの形態
によって以下のような(1)〜(8)の種別があり、各
々持てるパラメータ及びリソース名が異なる。そしてこ
れらの組み合わせにより種々の問い合わせ形態が実現で
きる。 (1)field型スケルトン field型スケルトンは、文字列を入力させる問い合
わせを行い、パラメータは持たずに木構造の末端に位置
するスケルトンである。 (2)oneOf型スケルトン oneOf型スケルトンは、候補となり得る固定個の子
スケルトンをパラメータとして持ち、その中から1つを
選択させ、選択された子スケルトンの問い合わせを行う
スケルトンである。
【0028】(3)oneOfList型スケルトン oneOfList型スケルトンは、既に構築されてい
るリスト(List)の要素を選択要素とすることをパ
ラメータで指定して問い合わせを行い、その中から1つ
を選択させるスケルトンである。 (4)oneOfMap型スケルトン oneOfMap型スケルトンは、候補となりうる固定
個の子スケルトンをパラメータとして持ち、二次元的な
候補から選択させ選んだ子スケルトンの問い合わせを行
うスケルトンである。 (5)struct型スケルトン struct型スケルトンは、固定個の子スケルトンを
パラメータに持ち順に子スケルトンの問い合わせを行う
スケルトンである。
【0029】(6)randomStruct型スケル
トン randomStruct型スケルトンは、固定個の子
スケルトンをパラメータに持ち、問い合わせで選ばれた
子スケルトンの問い合わせを行うスケルトンである。 (7)list型スケルトン list型スケルトンは、パラメータで示される子スケ
ルトンを要素として不定個持つことができ、編集時には
要素の追加,変更,削除,カット,コピー及びペースト
等の編集機能を提供するスケルトンである。 (8)quote型スケルトン quote型スケルトンは、問い合わせは行わずに木構
造の末端に位置して定数値の定義を行うスケルトンであ
る。
【0030】次に各スケルトンが持てる代表的な以下の
(1)〜(6)に示すリソースについて説明する。リソ
ースは各リソースの性格上スケルトンにより持てるリソ
ースが異なる。 (1)formatリソース formatリソースは、構造データへの変換フォーマ
ットを定義するリソースで、全スケルトン種別で持つこ
とが可能である。 (2)messageリソース messageリソースは、問い合わせを行うスケルト
ンが持つことができ、問い合わせ項目と共に表示するテ
キストを定義するリソースである。 (3)maxCharsリソース maxCharsリソースは、入力可能最大文字数を定
義するもので、fieldスケルトン専用のリソースで
ある。
【0031】(4)menuItemリソース menuItemリソースは、選択項目としての表示テ
キストを定義するリソースで、oneOf,oneOf
List,oneOfMap,randomStruc
tの各スケルトンが持つことができる。 (5)whereリソース whereリソースは、選択項目の候補条件を式で指定
するリソースで、oneOf,oneOfList,o
neOfMapの各スケルトンが持つことができる。 (6)checkリソース checkリソースは、構築した構文木データの整合性
を式で指定するリソースで、全スケルトン種別で持つこ
とができる。
【0032】次に、スケルトンデータ生成手段22及び
このスケルトンデータ生成手段22により生成されるス
ケルトンデータ23について説明する。スケルトンデー
タ23は、ルール記述のシステム内部形式である木構造
の形態を有する静的なデータであり、システム起動時に
上述のスケルトンデータ生成手段22により構築され
る。スケルトンデータ23の各々の要素には、問い合わ
せ手段24の手続きポインタ及びリソースデータへのポ
インタを持ち、子スケルトンを持つ場合は子スケルトン
へのポインタも有する。
【0033】次に、問い合わせ手段24及び構文木デー
タ25について説明する。問い合わせ手段24はスケル
トン種別毎に存在し、カレントのスケルトンデータ23
を上下に辿りながら問い合わせを進める。その結果とし
て構文木データ25を追加及び削除しながら構築を進め
てゆく。問い合わせは全てのスケルトン種別で行われる
とは限らず、種別によっては問い合わせの行われないも
のもある。また問い合わせ手段24は、一つ一つの質問
に対して存在するものではなく、スケルトン種別毎に1
個存在し、同じスケルトン種別であれば汎用的に使用で
きる。また構文木データ25は、木構造の形式をとる動
的なデータで各々親構文木へのポインタ,対応するスケ
ルトンデータ23へのポインタ,子構文木へのポインタ
等を有する。
【0034】次に構造データ構築手段26及び構造デー
タ27について説明する。構造データ構築手段26は、
スケルトン種別毎に存在し、構文木データ25の最上位
構文木から階層的に各構文木を辿り、各構文木から指定
されるスケルトンのformatリソースを参照して目
的とする構造データ27を組み立てる。
【0035】以下、簡単な問い合わせ例を用い本システ
ムの動作を説明する。図6は問い合わせ例の流れ図であ
る。3つの質問があり、はじめにfield型のメニュ
ーa(menu−a)でテキストの入力し(ステップS
T61)、次いでoneOf型のメニューb(menu
−b)で単一項目を選択する(ステップST62)。最
後にoneOf型のメニューc(menu−c)で単一
選択(ステップST64、ステップST65)を行う。
ここで、メニューbでの選択によってメニューcでの選
択候補が異なることとする。
【0036】図7は問い合わせ例を実現するためのルー
ル記述の状況を示す説明図である。図中には行番号が付
されているが、これは以下の説明に供するために付与し
たものである。この例では、上述した各スケルトン種別
のうち4種類のスケルトン種別を用いて記述を行ってい
る。即ち図7の3〜5行のinquiryスケルトン記
述では、struct型スケルトンでメニュー(men
u−a,menu−b,menu−c)スケルトンの問
い合わせを順番に行うことを定義する。次に、7〜10
行のmenu−aスケルトン記述では、field型ス
ケルトンで定義する。続いて、12〜17行のmenu
−bスケルトン記述では、oneOf型スケルトンでi
tem−x,item−yスケルトンから単一選択を行
うことを定義する。
【0037】次に19〜34行のmenu−cスケルト
ン記述では、oneOf型スケルトンでitem−p,
item−q,item−rスケルトンから単一選択す
ることを定義する。ここで、26〜34行にはwher
eリソースの式があるが、既に選択されたmenu−b
スケルトンでの選択結果から選択候補を変えることを定
義する。最後に、36〜48行の各quoteスケルト
ン記述では、quote型スケルトンで末端に位置する
各スケルトンを定義する。
【0038】次に図8は、スケルトンデータ生成手段2
2が図7のルール記述例から構築したスケルトンデータ
の木構造を示す図である。即ちスケルトンデータ生成手
段22は、ルール記述上のスケルトン名、パラメータ、
リソースを解釈して%inquiryをルートとしたス
ケルトンデータを構築する。図8のスケルトンデータに
は、問い合わせに用いる表示テキスト、構造データのフ
ォーマット等もリソースデータとして格納され、問い合
わせの文脈全てを表現することができる。
【0039】次に、図9はstruct問い合わせ手段
の流れ図、図10はfield問い合わせ手段の流れ
図、図11はoneOf問い合わせ手段の流れ図、図1
2はquote問い合わせ手段の流れ図、図13は構文
木データの木構造を示す図である。これらの図9〜図1
3及び上述の図8を用い、上記システムにおける問い合
わせの動作を説明する。
【0040】まず問い合わせ手段24のメインとなる処
理において、図13の符号131に示す最初の問い合わ
せのstruct構文木を作成する。この場合この構文
木に存在するインデックス情報としては、「0」が初期
設定される。struct構文木131の場合は、図1
3の符号132,133,135で示す配下の子構文木
も同時に作成し繋がれる。これらの構文木作成の手段
は、後述するように問い合わせ手段24に内包されるス
ケルトン種別ごとの各問い合わせ手段により作成され
る。ここで問い合わせ手段24のメインとなる処理にお
いて、現在処理すべき構文木、即ちカレント構文木をs
truct構文木にしてカレント構文木のスケルトン種
別であるstruct問い合わせ手段を呼び出す。
【0041】呼び出されたstruct問い合わせ手段
では、図9のステップST91において最後の子構文木
まで問い合わせが終了しているかのチェックを行う。し
かしこの場合はまだ完了していないのでステップST9
2でインデックスを「1」加算して、ステップST93
でカレント構文木をインデックス番目の子構文木(この
場合図13のfield子構文木132)にしてから、
カレント構文木のスケルトン種別であるfield問い
合わせ手段をステップST94で呼び出す。
【0042】この場合field問い合わせ手段では、
図10のステップST101でメニューを表示し、ステ
ップST102でテキストが入力されるのを待つ。そし
てテキストが入力されると、ステップST103で入力
されたテキストをfield構文木(図13の子構文木
132)に設定し、ステップST104で次の問い合わ
せをfield構文木を上方向に辿りながらサーチす
る。この場合は、上方向に辿るとstruct構文木
(図13の構文木131)があるので、ステップST1
05の「処理すべき構文木なし?」の判定が「N」とな
り、したがってステップST106でカレント構文木を
struct構文木(図13の構文木131)にして、
ステップST107でカレント構文木のスケルトン種別
であるstruct問い合わせ手段を呼び出す。なお、
処理すべき構文木がない場合はステップST108に移
行し問い合わせを終了する。
【0043】呼び出されたstruct問い合わせ手段
では、図9のステップST91で最後の子構文木まで問
い合わせが終了しているかのチェックを行う。しかしこ
の場合、まだ完了していないので、ステップST92で
インデックスを「1」加算し、ステップST93でカレ
ント構文木をインデックス番目の子構文木(この場合図
13のoneOf構文木133)にしてから、カレント
構文木のスケルトン種別の問い合わせ手段としてステッ
プST94でoneOf問い合わせ手段を呼び出す。
【0044】oneOf問い合わせ手段では、図11の
ステップST111において、各々図8の符号84,8
5で示す%item−x、%item−yを選択候補と
するメニューを表示し、ステップST112で項目が選
択されるのを待つ。そして項目が選択され、これが2番
目の項目と判断されると、ステップST113で図8の
符号45で示すitem−yのスケルトンに対応するq
uote構文木(図13の構文木134)を作成し、ス
テップST114でoneOf構文木(図13の構文木
133)の子構文木として繋ぐ。次にステップST11
5でカレント構文木を子構文木(図13のquote子
構文木134)にして、ステップST116でカレント
構文木のスケルトン種別であるquote問い合わせ手
段を呼び出す。
【0045】この場合呼び出されたquote問い合わ
せ手段は問い合わせを行わないが、木構造の末端に位置
するので、図12のステップST121で次の問い合わ
せを構文木データを上方向に辿りサーチする。この場
合、上方向に辿ってゆくとstruct構文木(図13
の構文木131)となるため、ステップST122の
「処理すべき構文木なし?」の判定が「N」となり、し
たがってステップST123でこのstruct構文木
をカレント構文木とし、ステップST124でカレント
構文木のスケルトン種別であるstruct問い合わせ
手段を呼び出す。なお、処理すべき構文木がない場合は
ステップST125に移行し問い合わせを終了する。
【0046】struct問い合わせ手段では、図9の
ステップST91で最後の子構文木まで問い合わせが終
了しているか否かのチェックを行う。そしてこの場合
は、まだ問い合わせが完了していないので、ステップS
T92でインデックスを「1」加算し、ステップST9
3でカレント構文木を図13の子構文木135に設定し
てから、ステップST94でカレント構文木のスケルト
ン種別であるoneOf問い合わせ手段を呼び出す。
【0047】oneOf問い合わせ手段においては、図
11のステップST111でメニューを表示し、ステッ
プSTST112で項目が選択されるのを待つ。この場
合、メニューに表示される項目は、oneOf構文木
(図13の子構文木135)から辿れるoneOfスケ
ルトン(図8の符号86)にwhereリソースがある
ので、選択候補を図8の符号87及び符号88で示され
る%item−p、%item−qに絞り込む。ここで
選択された項目が1番目の項目であれば、ステップST
113でitem−pのスケルトン(図8の符号87)
に対応するquote構文木(図13の構文木136)
を作成し、ステップST114でoneOf構文木(図
13の構文木135)の子構文木として繋ぐ。次にステ
ップST115でカレント構文木を子構文木にして(図
13の構文木136)にして、ステップST116でカ
レント構文木のスケルトン種別であるquote問い合
わせ手段を呼び出す。
【0048】quote問い合わせ手段は問い合わせを
行わないが、図12のステップST121で次の問い合
わせを構文木データを上方向に辿りサーチする。この場
合は、上方向に辿るとstruct構文木(図13の構
文木131)がありステップST122の「処理すべき
構文木なし?」が「N」と判定されることから、ステッ
プST123でカレント構文木をstruct構文木
(図13の構文木131)にして、ステップST124
でカレント構文木のスケルトン種別であるstruct
問い合わせ手段を呼び出す。
【0049】struct問い合わせ手段においては、
図9のステップST91で最後の子構文木まで問い合わ
せが終了しているかのチェックを行う。そしてこの場合
は、インデックスが「3」になっていて全構文木の問い
合わせが完了していることがわかるので、ステップST
95で次の問い合わせを構文木データを上方向に辿りサ
ーチする。しかし自構文木がルートであるため、ステッ
プST96で他の問い合わせが無いと判断し、ステップ
ST98で問い合わせを終了する。なお、ステップST
96で他の問い合わせがあると判断される場合は、ステ
ップST97でカレント構文木を処理すべき構文木とし
てからステップST94の処理を実行する。
【0050】このようにして問い合わせ手段24による
問い合わせの結果を反映した構文木データが図13のよ
うに構築される。そして、構造データ変換手段26は、
各構文木データから指示されるスケルトンのリソース内
のフォーマットに従い、目的とする以下のような構造デ
ータを得る。 answer(abcdef,yyy,ppp) ここで、answerは%inquiryのforma
tリソース、abcdefは%menu−aで入力され
たテキスト、yyyは%menu−bで選択された%i
tem−yのformatリソース、pppは%men
u−cで選択された%item−pのformatリソ
ースを各々示している。
【0051】このように、汎用的に使用できるスケルト
ンデータ生成手段22、スケルトンデータ23、問い合
わせ手段24、構文木データ25、及び構造データ構築
手段26により構成されるため、階層的な問い合わせの
文脈に応じたルール記述を定義するだけで、階層的な問
い合わせを行い結果として構造データを得るようなシス
テムに汎用的に利用することができる。また、問い合わ
せの文脈を問い合わせ手段では無くルール記述に持たせ
たことにより、保守性に優れた構造データの編集システ
ムを実現できる。
【0052】
【発明の効果】以上説明したように、本発明によれば、
メニュー問い合わせを行う場合に木構造データ構築手段
により構築された木構造データには、過去の質問の文脈
が記憶されており、メニュー候補評価手段はこの木構造
データを遡りながら過去の質問の文脈の中から不要な選
択肢を削り、メニュー上に表示する候補を決定するよう
にしたので、常に必要最小限のメニュー表示を小規模の
プログラムで実現することができ、したがって操作性か
つ保守性に優れた最適なメニュー問い合わせを行うこと
ができる。また、問い合わせの文脈を定義するルール記
述から問い合わせの骨組みとなるスケルトンデータを生
成し、かつ生成されたスケルトンデータ及び問い合わせ
の結果を示す構文木データを参照しながら問い合わせを
行い構文木データを構築すると共に、構築された構文木
データから構造データを得るようにしたので、階層的な
問い合わせの文脈に応じたルール記述を定義するだけ
で、階層的な問い合わせを行い結果として構造データを
構築するような問い合わせシステムに汎用的に利用でき
ると共に、問い合わせの文脈をルール記述に持たせたこ
とにより、保守性に優れたシステムを実現することがで
きる。
【図面の簡単な説明】
【図1】本発明に係る最適メニュー問い合わせ方式を適
用した第1のシステムの機能ブロック図である。
【図2】上記第1のシステムにおける効果を説明するた
めの質問文脈例を示す流れ図である。
【図3】上記第1のシステムのルール記述状況を示す図
である。
【図4】上記第1のシステムを構成するメニュー問い合
わせ制御手段の動作を示す流れ図である。
【図5】本発明の階層的メニュー問い合わせによる階層
データの編集方式を適用した第2のシステムの機能ブロ
ック図である。
【図6】上記第2のシステムにおける効果を説明するた
めの問い合わせの例を示す流れ図である。
【図7】上記第2のシステムにおける効果を説明するた
めの問い合わせ例を実現するルール記述状況を示す図で
ある。
【図8】上記第2のシステムにおいてルール記述から生
成されるスケルトンデータの構成を示す図である。
【図9】上記第2のシステムを構成する問い合わせ手段
の中のstruct問い合わせ手段の動作を示す流れ図
である。
【図10】上記問い合わせ手段の中のfield問い合
わせ手段の動作を示す流れ図である。
【図11】上記問い合わせ手段の中のoneOf問い合
わせ手段の動作を示す流れ図である。
【図12】上記問い合わせ手段の中のquote問い合
わせ手段の動作を示す流れ図である。
【図13】上記第2のシステムにおいて構築された構文
木データの構成を示す図である。
【符号の説明】
11,21 ルール記述部 13,22 スケルトンデータ生成手段 15 木構造データ構築手段 16 メニュー候補評価手段 17 メニュー問い合わせ制御手段 24 問い合わせ手段 26 構造データ構築手段
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 3/14 340 G06F 9/06 530

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 質問の文脈を記述したルール記述から個
    々の質問を木構造形態で繋げたスケルトンデータとして
    生成するスケルトンデータ生成手段と、 実際に選択された項目の情報を木構造データとして構築
    する場合に前記スケルトンデータを辿りながら構築する
    木構造データ構築手段と、 メニュー表示前に前記木構造データを参照して前記スケ
    ルトンデータ中の評価式を評価し,メニュー上に表示す
    る候補の決定を行うメニュー候補決定手段と、 前記スケルトンデータの問い合わせ方法に応じた処理を
    実行するメニュー問い合わせ制御手段とを備えたことを
    特徴とする最適メニュー問い合わせ方式。
  2. 【請求項2】 問い合わせの文脈を定義するルール記述
    から問い合わせの骨組みとなるスケルトンデータを構築
    するスケルトンデータ生成手段と、 前記スケルトンデータ及び前記問い合わせの結果を示す
    構文木データを参照,評価しながら問い合わせを行い前
    記構文木データを構築する問い合わせ手段と、 前記スケルトンデータ及び前記問い合わせの結果を示す
    構文木データを参照,評価して構造データを出力する構
    造データ構築手段とを備えたことを特徴とする階層的メ
    ニュー問い合わせによる構造データの編集方式。
JP5339029A 1993-02-18 1993-12-03 最適メニュー問い合わせ方式及び階層的メニュー問い合わせによる構造データの編集方式 Expired - Fee Related JP2788850B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP5339029A JP2788850B2 (ja) 1993-02-18 1993-12-03 最適メニュー問い合わせ方式及び階層的メニュー問い合わせによる構造データの編集方式
EP94301053A EP0612014B1 (en) 1993-02-18 1994-02-14 Menu inquiry system
DE69428144T DE69428144T2 (de) 1993-02-18 1994-02-14 Menuabfragesystem
US08/197,194 US5546522A (en) 1993-02-18 1994-02-16 Optimal menu inquiry system and system for editing structure data by hierarchical menu inquiry processing

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-51326 1993-02-18
JP5132693 1993-02-18
JP5339029A JP2788850B2 (ja) 1993-02-18 1993-12-03 最適メニュー問い合わせ方式及び階層的メニュー問い合わせによる構造データの編集方式

Publications (2)

Publication Number Publication Date
JPH07175621A JPH07175621A (ja) 1995-07-14
JP2788850B2 true JP2788850B2 (ja) 1998-08-20

Family

ID=26391860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5339029A Expired - Fee Related JP2788850B2 (ja) 1993-02-18 1993-12-03 最適メニュー問い合わせ方式及び階層的メニュー問い合わせによる構造データの編集方式

Country Status (4)

Country Link
US (1) US5546522A (ja)
EP (1) EP0612014B1 (ja)
JP (1) JP2788850B2 (ja)
DE (1) DE69428144T2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07168708A (ja) * 1993-12-15 1995-07-04 Nec Corp 交換サービスシナリオ設計支援システム
US5734381A (en) * 1994-12-21 1998-03-31 Nec Corporation Cancel undo method and system for tree structure data edition based on hierarchical menu inquiry
US6384849B1 (en) * 1997-07-14 2002-05-07 Microsoft Corporation Method for displaying controls in a system using a graphical user interface
EP1196882A1 (en) * 1998-11-30 2002-04-17 Siebel Systems, Inc. Smart scripting call centers
US6311320B1 (en) 1998-12-07 2001-10-30 Lsi Logic Corporation Alterable scripting tool and method
US6463552B1 (en) 1998-12-07 2002-10-08 Lsi Logic Corporation Scripting method and apparatus for testing devices
JP3390357B2 (ja) * 1999-02-12 2003-03-24 日本電気株式会社 木構造データ編集システムにおける木構造差分出力方法及び装置
US6446196B1 (en) * 1999-02-17 2002-09-03 International Business Machines Corporation Method apparatus and computer program product including one-of and one-of-and-jump instructions for processing data communications
US6594783B1 (en) * 1999-08-27 2003-07-15 Hewlett-Packard Development Company, L.P. Code verification by tree reconstruction
GB2356946B (en) * 1999-12-01 2003-11-05 Int Computers Ltd Computer system user interface design
AU2001239976A1 (en) 2000-03-02 2001-09-12 Wind River Systems, Inc. System and method for common code generation
JP4557374B2 (ja) * 2000-06-15 2010-10-06 キヤノン株式会社 画像表示装置及びその制御方法、並びに記憶媒体
US7624356B1 (en) * 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7207031B2 (en) * 2001-03-01 2007-04-17 Wind River Systems, Inc. System and method for utilization of a command structure representation
US20020161828A1 (en) * 2001-04-30 2002-10-31 Michael Edison System and method for communicating with a device
JP2003157489A (ja) * 2002-06-03 2003-05-30 Equos Research Co Ltd 操作制御装置
JP4811287B2 (ja) * 2007-01-31 2011-11-09 ブラザー工業株式会社 階層構造表示装置および階層構造表示プログラム
TWI321313B (en) * 2007-03-03 2010-03-01 Ind Tech Res Inst Apparatus and method to reduce recognization errors through context relations among dialogue turns
US8095891B2 (en) * 2009-03-16 2012-01-10 Sony Corporation Smart menu apparatus
CN105589709A (zh) * 2014-12-24 2016-05-18 中国银联股份有限公司 一种修改pos终端菜单的装置和方法
KR102473155B1 (ko) * 2016-01-18 2022-11-30 주식회사 케이티 대화형 정보 제공 서비스 방법 및 이를 위한 장치
CN107506115A (zh) 2016-06-14 2017-12-22 阿里巴巴集团控股有限公司 一种菜单的显示处理方法、装置及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2126054A (en) * 1982-08-11 1984-03-14 Philips Electronic Associated Display system with nested information display
US5261042A (en) * 1986-03-27 1993-11-09 Wang Laboratories, Inc. Menu management system
US4772882A (en) * 1986-07-18 1988-09-20 Commodore-Amiga, Inc. Cursor controller user interface system
US4823283A (en) * 1986-10-14 1989-04-18 Tektronix, Inc. Status driven menu system
US4974174A (en) * 1987-08-24 1990-11-27 Wang Laboratories, Inc. Alignment method for positioning textual and graphic objects
US5287514A (en) * 1990-01-08 1994-02-15 Microsoft Corporation Method and system for customizing a user interface in a computer system
US5208910A (en) * 1990-04-19 1993-05-04 International Business Machines Menu driven and method system for informing which past selections have caused disabled actions
US5367619A (en) * 1990-04-27 1994-11-22 Eaton Corporation Electronic data entry system employing an expert system to facilitate generation of electronic data forms with complex interrelationships between fields and subforms

Also Published As

Publication number Publication date
EP0612014B1 (en) 2001-09-05
DE69428144T2 (de) 2002-05-29
DE69428144D1 (de) 2001-10-11
JPH07175621A (ja) 1995-07-14
EP0612014A3 (en) 1995-08-16
US5546522A (en) 1996-08-13
EP0612014A2 (en) 1994-08-24

Similar Documents

Publication Publication Date Title
JP2788850B2 (ja) 最適メニュー問い合わせ方式及び階層的メニュー問い合わせによる構造データの編集方式
US6651240B1 (en) Object-oriented software development support apparatus and development support method
US8185878B2 (en) Program maintenance support device, program maintenance supporting method, and program for the same
US5625771A (en) Method for making cursor form
JPH08314836A (ja) 管理サービスオブジェクト提供方法
JP2002251307A (ja) データベース管理システム、データベース管理システムにおける問合せ方法、およびデータベース管理システムにおける問い合わせ実行プログラム
US5600826A (en) Structured data processor for converting between sequential and tree structured data
US5655067A (en) Animation generating method in a design supporting system
CN116627418A (zh) 一种基于递归算法的多级表单界面可视化生成方法及装置
JP2870582B2 (ja) ハイパーメディア文書管理装置
CN112463141B (zh) 一种基于bpmn的微服务工作流部署方法
EP1862924A1 (en) Object-oriented system for mapping structered information to different structured information
JP3449256B2 (ja) クライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体
US5553278A (en) Method and system for manipulation of database and issuing report thereof
CN113407598A (zh) 需求文档的生成方法、装置、存储介质及电子设备
JP3166699B2 (ja) オブジェクト指向プログラム設計支援装置、方法および記録媒体
JP2002268882A (ja) Webアプリケーションシステム、及びプログラム
JP2003036170A (ja) クロスリファレンス構築装置、クロスリファレンス構築方法及びクロスリファレンス構築用プログラム
JP2001117761A (ja) 画面プログラム製造方法及びその装置並びに画面プログラム製造プログラムを記録した記録媒体
CN117453713A (zh) 多类型数据库的sql语句生成方法、设备和存储介质
CN117931167A (zh) 一种流程编排方法、装置、电子设备及存储介质
JP2728037B2 (ja) 動的メニュー生成装置
JPH07168708A (ja) 交換サービスシナリオ設計支援システム
JP2003085223A (ja) ハードウェア・ソフトウェア統合設計システム
JP2946509B2 (ja) 対話型マニュアルの制御方法

Legal Events

Date Code Title Description
S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080605

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20080605

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090605

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100605

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100605

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110605

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110605

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20130605

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees