JPH1049492A - 目的達成型利用者インタフェース装置 - Google Patents

目的達成型利用者インタフェース装置

Info

Publication number
JPH1049492A
JPH1049492A JP8216129A JP21612996A JPH1049492A JP H1049492 A JPH1049492 A JP H1049492A JP 8216129 A JP8216129 A JP 8216129A JP 21612996 A JP21612996 A JP 21612996A JP H1049492 A JPH1049492 A JP H1049492A
Authority
JP
Japan
Prior art keywords
state
user
input
final
sequence
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
JP8216129A
Other languages
English (en)
Inventor
Yuzo Fujishima
勇造 藤島
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP8216129A priority Critical patent/JPH1049492A/ja
Publication of JPH1049492A publication Critical patent/JPH1049492A/ja
Pending legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 利用者インタフェースにおいて、一度達成し
たことのある目的を再び達成しようとする場合に、達成
に必要な操作列の生成とその再実行を自動化して利用者
の負担を軽減する。 【解決手段】 状態−操作記録手段3は利用者の操作と
システムの状態とを状態−操作記録部4に記録する。状
態−操作依存情報部5は、状態が操作に及ぼす影響,操
作が状態に及ぼす影響に関する予め定義された情報を保
持する。利用者は、最終的に実現したい状態、最終的に
実行したい操作を最終目的状態−操作として入力する。
目的達成操作列生成手段7は、状態−操作記録部4の状
態−操作記録中から達成例を検索し、状態−操作依存情
報部5の情報を用いて目的達成に必要な操作を抽出し、
目的達成操作列を生成する。操作列実行手段9はこの目
的達成操作列を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータシステ
ムにおける対話型利用者インタフェース装置に関し、特
に与えられた目的を達成するために必要な操作列を過去
の操作履歴から自動的に抽出し、実行する目的達成型利
用者インタフェース装置に関する。
【0002】
【従来の技術】利用者の操作を記録しておき、後に操作
を繰り返す際に参照する装置は、対話型利用者インタフ
ェース装置などで、利用者の操作の負担を軽減するため
に用いられている。その一例が特開昭63−24784
7号公報に記載されている。この公報に記載された入力
データ履歴の保存方式は、履歴を不揮発性のヒストリー
保持装置に保持することにより、データの再入力を容易
にする。また、他の例として特開平5−143230号
公報に記載されているマウス型入力装置があり、この例
では、マウス操作内容を記憶し、実際に同じ操作をせず
にその操作内容を繰り返し再現させている。
【0003】他方、システムの状態を記憶しておいて、
状態の再現を容易にする装置は、プログラムのデバッグ
を支援する装置などで、利用者の操作の負担を軽減する
ために用いられている。その一例が、特開平4−352
245号公報に記載されている。この公報に記載された
シミュレーション方式では、シミュレーションの1ステ
ップ毎に内部状態要素の要素名と状態変化前の値とが記
録される。そして、それを基に逆シミュレーション実行
手段が過去の状態を再現する。
【0004】
【発明が解決しようとする課題】第1の問題点は、利用
者が過去に達成したことのある目的を再び達成しようと
する時に、必要な操作をすべて思い出すか、あるいは新
たに考え出さなければならないということである。その
理由は、対話型利用者インタフェースにおいては、異な
る目的を達成するための複数の操作が時間的に重なり合
いながら行われることがあるが、従来の技術では時間的
に連続していない操作間の関連性や、操作による状態の
変化、状態の違いによる操作の意味の違いなどを理解す
ることができないため、目的ごとに必要な操作を選び出
すことができないからである。つまり、異なる目的のた
めの操作をすべてまとめて再実行することしかできない
からである。
【0005】第2の問題点は、複数の操作が必要な場合
に、利用者はそれぞれの再実行を指示しなければならな
いということである。その理由は、従来の技術では時間
的に連続していない操作を連続して再実行することがで
きないからである。
【0006】そこで本発明の目的は、与えられた目的を
達成するために必要な操作列を過去の操作履歴から自動
的に生成することにある。
【0007】また本発明の他の目的は、生成した操作列
を自動的に実行することにある。
【0008】
【課題を解決するための手段】本発明の目的達成型利用
者インタフェース装置は、利用者の操作とシステムの状
態との両方を記録し、その記録の中から目的を達成した
事例を探し出し、必要な操作を調べ、それを再実行す
る。より具体的には、利用者の操作とシステムの状態と
を記録する状態−操作記録手段と、最終的に実現したい
システムの状態または最終的に実行したい操作を示す最
終目的状態−操作を利用者から入力する最終目的状態−
操作入力手段と、システムの状態と利用者の操作との依
存関係を示す状態−操作依存情報に基づいて前記記録さ
れた状態−操作記録中から前記入力された最終目的状態
−操作に影響を及ぼしうる操作を抽出し、前記入力され
た最終目的状態−操作を達成するための操作列である目
的達成操作列を生成する目的達成操作列生成手段とを備
えている。また、生成した操作列を自動的に実行するた
めの操作列実行手段を備えている。そして、本発明の好
ましい実施例においては、前記目的達成操作列生成手段
は、前記状態−操作記録から抽出した操作であっても、
前記記録された状態−操作記録中の状態の記録から判断
して実際には最終目的状態−操作に影響を与えなかった
操作は前記目的達成操作列中に含めない構成を有してい
る。
【0009】本発明の目的達成型利用者インタフェース
装置にあっては、状態−操作記録手段が、コマンドの投
入等の利用者の操作とそのコマンドの実行結果等のシス
テムの状態とを示す状態−操作を履歴として記録してお
り、利用者が、最終的に実現したいシステムの状態や、
最終的に実行したい操作を示す最終目的状態−操作を最
終目的状態−操作入力手段を通じて入力すると、目的達
成操作列生成手段が、システムの状態と利用者の操作と
の依存関係を示す予め設定された状態−操作依存情報に
基づいて、履歴として記録された状態−操作記録中か
ら、最終目的となる状態,操作を探し出すと共にその最
終目的状態−操作に影響を及ぼしうる操作を抽出し、最
終目的状態−操作を達成するための操作列である目的達
成操作列を生成する。そして、操作列実行手段がこの目
的達成操作列を実行することにより、システムを利用者
が入力した最終目的状態,最終操作入力状態とする。
【0010】
【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
【0011】図1は本発明の目的達成型利用者インタフ
ェース装置の構成例を示すブロック図である。この例の
目的達成型利用者インタフェース装置は、利用者操作観
察手段1,システム状態観察手段2,状態−操作記録手
段3,状態−操作記録部4,状態−操作依存情報部5,
最終目的状態−操作入力手段6,目的達成操作列生成手
段7,目的達成操作列格納部8および操作列実行手段9
を含んでいる。
【0012】利用者操作観察手段1は、利用者がシステ
ムに加えた操作を観察する手段である。操作としては、
キーボード等から入力されたコマンド,データ等があ
る。これらの操作は状態−操作記録手段3に伝達され
る。
【0013】システム状態観察手段2は、システムの状
態を観察する手段である。システムの状態としては図示
しない表示装置にシステムが表示したデータ等がある。
外部に出力したデータ以外にシステムの内部状態を観察
するよう構成しても良い。
【0014】状態−操作記録手段3は、利用者操作観察
手段1によって観察された、利用者がシステムに加えた
操作と、システム状態観察手段2によって観察されたシ
ステムの状態とを、状態−操作記録部4に記録する手段
である。
【0015】状態−操作記録部4は、メモリや磁気ディ
スク装置等で構成され、例えば過去一定期間内の状態−
操作の履歴を保存する。
【0016】状態−操作依存情報部5は、メモリや磁気
ディスク装置等で構成され、予め定義された複数の状態
−操作依存情報を記憶している。個々の状態−操作依存
情報は、システムの状態が操作に及ぼす影響や操作がシ
ステムの状態に及ぼす影響を定義している。それら以外
に、操作間の関連性や状態の違いによる操作の意味の違
いなどに関する情報も含めても良い。
【0017】最終目的状態−操作入力手段6は、キーボ
ードやマウス等で構成され、利用者から最終目的状態−
操作を入力し、目的達成操作列生成手段7に伝達する。
最終目的状態−操作とは、利用者が最終的に実現したい
状態、最終的に実行したい操作のことである。
【0018】目的達成操作列生成手段7は、最終目的状
態−操作入力手段6により入力された最終目的状態−操
作を実現する操作列を、状態−操作記録部4中の記録お
よび状態−操作依存情報部5中の状態−操作依存情報に
基づいて生成する手段である。本明細書ではそのような
操作列を目的達成操作列と呼ぶ。
【0019】目的達成操作列格納部8は、目的達成操作
列生成手段7で生成された目的達成操作列を格納するメ
モリ,磁気ディスク装置等の記憶部である。
【0020】操作列実行手段9は、目的達成操作列格納
部8から目的達成操作列を読み込み、それを実行する手
段である。操作列実行手段9は、目的達成操作列の先頭
の操作から順に最後の操作まで実行する。この際、1つ
の操作を実行する毎に、システム状態観察手段2で観察
されたシステムの状態を調べ、次の操作の実行が可能と
なったタイミングで次の操作を実行する。
【0021】次にこのように構成された本例の目的達成
型利用者インタフェース装置の動作を説明する。
【0022】利用者がシステムに何らかの操作を加える
ごとに、利用者操作観察手段1はその操作を採取して状
態−操作記録手段3に伝達し、また、システムの状態が
変化する毎にシステム状態観察手段2がその状態を採取
して状態−操作記録手段3に伝達し、状態−操作記録手
段3がこれらを状態−操作記録部4に時系列的に記録す
る。このようにして、状態−操作記録部4には過去の操
作−状態の履歴が蓄積されていく。
【0023】さて、利用者が最終的に実現したい状態や
最終的に実行したい操作を指定した最終目的状態−操作
を最終目的状態−操作入力手段6から入力すると、それ
が目的達成操作列生成手段7に伝達され、以降、図2の
流れ図に示すような動作が開始される。
【0024】先ず、目的達成操作列生成手段7は、最終
目的状態−操作入力手段6から最終目的状態−操作を読
み込む(ステップ201)。次に、この読み込んだ最終
目的状態−操作が、最終的に実行したい操作でなく、最
終的に実現したい状態を指定しているか否かを判断し
(ステップ202)、最終的に実現したい状態を指定し
ている場合には、状態−操作記録部4の状態−操作記録
の最新のものから古いものに向かって、入力された最終
目的状態−操作(即ち最終的に実現したい状態)の直前
の操作を検索する(ステップ204)。他方、入力され
た最終目的状態−操作が最終的に実行したい操作である
場合には、状態−操作記録部4の状態−操作記録の最新
のものから古いものに向かって、入力された最終目的状
態−操作(即ち最終的に実行したい操作)そのものを検
索する(ステップ203)。そして、何れの場合も検索
が失敗した場合は(ステップ205でNO)、過去に一
度もその目的を達成したことがないことを意味するの
で、処理を終了する。
【0025】検索が成功した場合(ステップ205でY
ES)、目的達成操作列生成手段7は、状態−操作依存
情報部5に格納されている状態−操作依存情報を使用し
て、状態−操作記録部4中の状態−操作記録の履歴中か
ら、最終目的状態−操作に影響を及ぼしうる操作を抽出
し、目的達成操作列を生成して、目的達成操作列格納部
8に格納する(ステップ206)。そして、この目的達
成操作列を操作列実行手段9が読み込み、実行する(ス
テップ207)。
【0026】図3は図2のステップ206の処理の詳細
を示す流れ図である。この図3の処理は、ステップ30
1からなる第1段階と、ステップ302〜310からな
る第2段階と、ステップ311からなる第3段階とに大
別される。
【0027】第1段階のステップ301では、状態変数
vjの設定と、各操作o毎のREF(o),DEF
(o)の設定とが行われる。ここで、状態変数vjと
は、今回の目的達成に関連のある操作を抽出する際のキ
ーとなる状態を表す変数であり、最終目的状態−操作の
入力パターン毎に1個或いは複数個の状態変数が予め定
められている(後述する実施例におけるカレントディレ
クトリやプログラム停止位置等は状態変数の例であ
る)。また、各操作o毎のREF(o)とは、操作oが
参照する状態変数vjの集合を意味し、各操作o毎のD
EF(o)とは、操作oによって変更され得る状態変数
vjの集合を意味する。これらの各操作o毎のREF
(o),DEF(o)は、状態−操作依存情報部5中の
状態−操作依存情報に基づいて設定される。
【0028】なお、ステップ301中に付記するよう
に、以下、状態−操作記録部4中の状態−操作記録を
r、最終目的状態−操作をg、目的達成操作列をs、状
態変数vjの集合をVとする。
【0029】第2段階では、まず、図2のステップ20
3またはステップ204で検索された操作をgに代入
し、Vを空集合にし、sおよびoにgを代入する(ステ
ップ302)。次に、REF(o)の要素のうちVに含
まれていないものをVに追加する(ステップ303)。
そして、Vが空集合か否かを調べ(ステップ304)、
空集合であれば、第2段階を終了して第3段階のステッ
プ311へ進む。他方、Vが空集合でなければ、r中に
おいてoの直前の操作pを検索する(ステップ30
5)。この検索が失敗したときは、Vに含まれているv
jを初期化する操作をsの先頭に追加し(ステップ31
0)、第2段階を終えて第3段階のステップ311へ進
む。
【0030】ステップ305の検索が成功したときは、
検索した操作pのDEF(p)とVとの共通部分Cが空
集合か否かを調べ(ステップ307)、共通部分Cが空
集合でなければ、pをsの先頭に追加し、共通部分Cに
含まれるvjをVから削除し、oにpを代入して(ステ
ップ308)、ステップ303に戻る。共通部分Cが空
集合であれば、oにpを代入して(ステップ309)、
ステップ305に戻る。
【0031】第3段階のステップ311では、sに含ま
れる操作のうち、実際には最終目的−操作に影響を与え
なかったものをr中の状態の記録を参照して調べ、sか
ら削除する。
【0032】この図3の処理は、大まかに言えば、
(1)最終目的操作の直前の操作が最終目的操作の実行
に影響を及ぼすかどうかを調べ、(2)影響を及ぼす場
合には、その操作を目的達成操作列に追加し、(3)そ
うでない場合には、さらに前の操作について調べ、
(4)新たに目的達成操作列に追加された操作を新たな
最終目的操作とみなして、上記作業を繰り返す。という
手順になっている。そして、最終目的操作が参照する状
態変数が直前の操作によって変更されうる場合には、直
前の操作が最終目的操作に影響を与える可能性があるた
め、影響を及ぼすか否かの判定にREF(o),DEF
(o)を導入し、REF(最終目的操作)∩DEF(直
前操作)≠φのとき、直前の操作が最終目的の操作に影
響を与える可能性があると判断している。
【0033】
【実施例】
(1)第1実施例 本発明をユニックス(UNIX)のシェル(SHEL
L)コマンドインタプリタに適用した実施例について説
明する。
【0034】利用者がディレクトリDIR- X中のファ
イルの一覧を表示したい場合、リストコマンドlsを使
用すれば、ディレクトリ中のファイルの一覧を表示させ
ることができる。このとき、カレントディレクトリがD
IR- Xの親ディレクトリであれば、ls DIR-
と入力すれば目的は達成されるが、カレントディレクト
リが別のディレクトリである場合にはその操作のみでは
目的は達成されない。カレントディレクトリをDIR-
Xの親ディレクトリに変更した後でls DIR- Xを
入力しなければならない。本実施例では、かつてそれを
実現したことがあれば、最終目的操作としてls DI
- Xを指定するだけで必要な操作を自動的に調べて実
行させることができる。
【0035】利用者が最終目的操作を指定する時点まで
に図1の状態−操作記録部4に図4に示すような状態−
操作記録が蓄積されていたものとする。ここで、図4中
の主要な部分について説明すると、%はシステムが利用
者に出力した入力促進用のプロンプト、cd,ls,c
atは利用者がシステムに入力したコマンドで、cd〜
は絶対パス指定、cd doc/,cd patet
n,cd patentは相対パス指定である。また、
patetn:No such file ordir
ectoryはシステムが出力したエラーメッセージで
ある。なお、この状態−操作記録は説明の便宜上簡略化
されている。
【0036】このような状況の下で、最終目的操作とし
て利用者からls DIR- Xが与えられた場合を考え
る。
【0037】利用者から最終目的状態−操作としてls
DIR- Xが入力されると、目的達成操作列生成手段
7はそれを読み込み(ステップ201)、操作なので
(ステップ202でNO)、図4の状態−操作履歴中の
最新のものから古いものに向かってls DIR- Xを
検索する(ステップ203)。図4の場合、下から4行
目で検索に成功するのでステップ206に進み、ステッ
プ206の詳細を示す図3の流れ図におけるステップ3
01において、状態変数として図5に示すような「カレ
ントディレクトリ」の状態変数v1を設定する。これ
は、最終目的状態−操作がls DIR- Xの場合、カ
レントディレクトリさえ同じならば同じ結果を生み出す
ような操作列を抽出できるからである。また、同ステッ
プ301では、状態−操作依存情報部5に格納されてい
る例えば図6に示すような状態−操作依存情報を参照し
て、各操作o毎に図7に示すようなREF(o),DE
F(o)を設定する。そして、ステップ302以下の処
理を実行する。
【0038】図8および図9はステップ302以降のス
テップの実行順序と各ステップにおけるV,s,o,
p,Cの状態とを示す遷移図である。なお、図9は図8
の続きの遷移を示す。このような実行手順によって、図
10に示すような合計5個の操作が図4の状態−操作記
録から抽出される。ここで、図4中に存在するlsコマ
ンドやcatコマンドの操作が抽出されていないのは、
それらはカレントディレクトリに影響を与えないからで
ある。
【0039】更に、ステップ311において、sに含ま
れる5個の操作のうち、実際には最終目的−操作に影響
を与えなかったものを状態−操作記録中の状態の記録を
参照して調べ、sから削除する。この結果得られた最終
的な目的達成操作列を図11に示す。ここでは、操作c
d patetnに対応する状態が図4に示すように
「patetn:No such file or d
irectory」であり、cd patetnの実行
が失敗し、カレントディレクトリを変更しなかったこと
が判明する為、図11では、図10中の操作列に含まれ
ていたcd patetnが削除されている。
【0040】このようにして生成された目的達成操作列
は、操作列実行手段9によって図11の先頭の操作から
順に最後の操作まで実行される。この際、操作列実行手
段9は1つの操作を実行すると、システム状態観察手段
2の観察結果を見て、次の操作が実行可能となったタイ
ミングで、次の操作を実行する。この結果、DIR-
中のファイルの一覧が表示されることになる。なお、D
IR- Xという名前をもつディレクトリは複数存在しう
るが、状態−操作記録に現れるDIR- Xと解釈される
ので、曖昧さは減少する。
【0041】(2)第2実施例 本発明をシンボリックデバッガに適用した実施例につい
て説明する。
【0042】今、利用者が最終目的状態−操作を入力す
る時点までに状態−操作記録部4に図12に示すような
状態−操作記録が蓄積されていたものとする。この状態
−操作記録の各行は以下のような利用者の操作,システ
ムの状態に対応している。
【0043】○1行目;利用者が、「prog」という
名前のプログラムをデバッグ対象として選択するコマン
ドfile progを入力した。なお、(dbg)は
デバッガの出力した入力促進用プロンプトである。 ○2行目;「prog」という名前のプログラムのシン
ボル情報を読み込み中であるというデバッガからのメッ
セージが出された。 ○3行目;「main」という関数で実行を停止するブ
レークポイント設定用のコマンドbreak main
を利用者が入力した。 ○4行目;その応答として、デバッガが、ブレークポイ
ントを設定したアドレス「0x22a8」とブレークポ
イント名「Breakpoint 1」とを利用者に通
知した。 ○5行目;「func1」という関数で実行を停止する
ブレークポイント設定用のコマンドbreak fun
c1を利用者が入力した。 ○6行目;その応答として、デバッガが、ブレークポイ
ントを設定したアドレス「0x2320」とブレークポ
イント名「Breakpoint 2」とを利用者に通
知した。 ○7行目;「func2」という関数で実行を停止する
ブレークポイント設定用のコマンドbreak fun
c2を利用者が入力した。 ○8行目;その応答として、デバッガが、ブレークポイ
ントを設定したアドレス「0x23f8」とブレークポ
イント名「Breakpoint 3」とを利用者に通
知した。 ○9行目;利用者がデバッグ対象プログラムの実行開始
を指示した。 ○10行目;デバッガがデバッグ対象プログラムの実行
中であることを利用者に通知した。 ○11行目;デバッガが関数mainの箇所でデバッグ
対象プログラムを停止したことを利用者に通知した。 ○12行目;プログラムのソースリストを表示するコマ
ンドlistを利用者が入力した。 ○13行目;それに応答してデバッガがソースリストを
利用者に提示した。 ○14行目;1行の実行を指示するコマンドnextを
利用者が入力した。なお、デバッガの応答は図示を省略
してある。 ○15行目;デバッグ対象プログラムの実行継続を指示
するコマンドcontinueを利用者が指示した。 ○16行目;その応答としてデバッガが実行継続中であ
る旨を利用者に通知した。 ○17行目;デバッグ対象プログラムが利用者に対して
「Input filename:」というメッセージ
を出力した。それに対して利用者が「sample」と
いうデータを入力した。 ○18行目;デバッガが関数func1の箇所でデバッ
グ対象プログラムを停止したことを利用者に通知した。 ○19行目;1行の実行を指示するコマンドnextを
利用者が入力した。なお、デバッガの応答は図示を省略
してある。 ○20行目;変数VAR- Xの値をプリントアウトする
旨のコマンドprintVAR- Xを利用者が入力し
た。 ○21行目;デバッガが変数VAR- Xの値を出力し
た。
【0044】このような状況の下で、利用者の最終目的
がプログラム実行の或る時点における変数VAR- Xの
値を知ることであり、それに対応する最終目的状態−操
作としてprint VAR- Xが与えられた場合を考
える。
【0045】利用者から最終目的状態−操作としてpr
int VAR- Xが入力されると、目的達成操作列生
成手段7はそれを読み込み(ステップ201)、操作な
ので(ステップ202でNO)、図12の状態−操作記
録の最新のものから古いものに向かってprint V
AR- Xを検索する(ステップ203)。図12の場
合、下から2行目で検索に成功するのでステップ206
に進み、ステップ206の詳細を示す図3の流れ図にお
けるステップ301において、状態変数として図13に
示す3つの状態変数v1,v2,v3を設定する。ここ
で、状態変数v1はプログラム停止位置、状態変数v2
はプログラム状態(停止位置以外)、状態変数v3はデ
バッガ状態をそれぞれ表す変数である。このような3個
の状態変数v1,v2,v3を設定したのは、最終目的
状態−操作がprint VAR-Xの場合、これらの
状態変数を考慮すれば同じ結果を生み出すような操作列
を抽出できるからである。また、同ステップ301にお
いて、状態−操作依存情報部5に格納された例えば図1
4に例示するような状態−操作依存情報を参照して、各
操作o毎に図15に示すようなREF(o),DEF
(o)を設定する。そして、ステップ302以下の処理
を実行する。
【0046】図16乃至図18はステップ302以降の
ステップの実行順序と各ステップにおけるV,s,o,
p,Cの状態とを示す遷移図である。なお、図17は図
16の続きの遷移を、図18は図17の続きの遷移をそ
れぞれ示す。このような実行順序によって、図19に示
す一番上の操作(delete)を除く9個の操作が図
12の状態−操作記録から抽出される。ここで、図12
中に存在する12行目のlistコマンドや14行目の
nextコマンドの操作が抽出されていないのは、それ
らは状態変数に影響を与えないからである。
【0047】また本実施例では、oにfile pro
gが代入された後のステップ305の検索において、f
ile prog以前の状態−操作記録が存在しないこ
とから検索が失敗し、ステップ310が実行される。そ
して、その時点のVの要素がv3であるため、v3つま
りデバッガ状態を初期化する操作deleteが図19
に示すように先頭に追加されている。
【0048】更に、ステップ311において、状態−操
作記録を参照して、sに含まれる10個の操作のうち、
実際には最終目的−操作に影響を与えなかったものが削
除される。今の場合、break mainによって設
定されたブレークポイントはプログラムを停止させてい
る(Breakpoint,main…)。しかし、そ
の後のcontinueによって実行が再開されるまで
の間に、プログラムの状態(停止位置を除く)を変化さ
せるような操作や、デバッガの状態を変化させるような
操作は実行されていない。sampleが入力される時
点でのプログラムおよびデバッガの状態は、break
main,continueが実行される場合もされ
ない場合も同じである。このため、目的達成操作列生成
手段7はbreak mainとcontinueとを
目的達成操作列から取り除く。また、break fu
nc2によって設定されたブレークポイントは実際には
プログラムを停止させることはなかった。そのため、b
reak func2も目的達成操作列から取り除かれ
る。この結果、最終的な目的達成操作列は、図20に示
すような合計7個の操作から構成される。
【0049】このようにして生成された目的達成操作列
は、操作列実行手段9によって図20の先頭の操作から
順に最後の操作まで実行される。この際、操作列実行手
段9は1つの操作を実行すると、システム状態観察手段
2の観察結果を見て、次の操作が実行可能となったタイ
ミングで、次の操作を実行する。この結果、変数VAR
- Xの値の値が表示されることになる。なお、VAR-
Xという名前をもつ変数は複数存在しうるが、状態−操
作記録に現れるVAR- Xと解釈されるので、曖昧さは
減少する。
【0050】なお、利用者の最終目的がプログラムを関
数func1において停止している状態にすることであ
る場合には、状態−操作記録の中でfunc1において
停止した例を探し出し、同様の処理を行う。また、利用
者の最終目的が、プログラムが或るデータ(DATA-
Xとする)を出力した直後の状態を再現することである
場合にも同様の処理が行われる。これらの場合でも、状
態−操作記録に現れるという制限により、func1や
DATA- Xの曖昧さは減少する。
【0051】
【発明の効果】第1の効果は、かつて達成されたことが
ある目的が与えられた場合に、それを達成するために必
要な操作列を生成することができることである。その理
由は、利用者の操作とシステムの状態とを履歴として記
録し、その記録の中から目的となる状態,操作を探し出
し、それに影響を及ぼしうる操作を状態−操作依存情報
に基づき抽出するためである。
【0052】第2の効果は、利用者の負担が軽減される
ことである。その理由は、最終的に実現したいシステム
の状態や最終的に実行したい操作を最終目的状態−操作
として入力すれば足り、必要な操作を一々指定する必要
がないからである。なお、最終的に実現したいシステム
の状態や最終的に実行したい操作は、通常は複数の意味
を持ちうるため曖昧さが問題となるが、本発明では状態
−操作記録中から達成例を検索するため、曖昧さは減少
される。
【0053】第3の効果は、目的を達成する操作列の実
行まで自動化できることである。その理由は、生成され
た目的達成操作列を実行する操作列実行手段を備えてい
るからである。これにより、利用者の負担が更に軽減さ
れる。
【図面の簡単な説明】
【図1】本発明の目的達成型利用者インタフェース装置
の構成例を示すブロック図である。
【図2】本発明の目的達成型利用者インタフェース装置
の動作例を示す流れ図である。
【図3】図2のステップ206の処理の詳細を示す流れ
図である。
【図4】第1実施例における状態−操作記録部に記録さ
れていた状態−操作記録の例を示す図である。
【図5】第1実施例で使う状態変数の説明図である。
【図6】第1実施例における状態−操作依存情報部に格
納されている状態−操作依存情報の例を示す図である。
【図7】第1実施例における各操作o毎に設定されるR
EF(o),DEF(o)の説明図である。
【図8】第1実施例における、図3のステップ302以
降のステップの実行順序と各ステップにおけるV,s,
o,p,Cの状態とを示す遷移図である。
【図9】図8の続きの、ステップの実行順序と各ステッ
プにおけるV,s,o,p,Cの状態とを示す遷移図で
ある。
【図10】第1実施例において状態−操作記録から抽出
された操作列を示す図である。
【図11】第1実施例における最終的な目的達成操作列
を示す図である。
【図12】第2実施例における状態−操作記録部に記録
されていた状態−操作記録の例を示す図である。
【図13】第2実施例で使う状態変数の説明図である。
【図14】第2実施例における状態−操作依存情報部に
格納されている状態−操作依存情報の例を示す図であ
る。
【図15】第2実施例における各操作o毎に設定される
REF(o),DEF(o)の説明図である。
【図16】第2実施例における、図3のステップ302
以降のステップの実行順序と各ステップにおけるV,
s,o,p,Cの状態とを示す遷移図である。
【図17】図16の続きの、ステップの実行順序と各ス
テップにおけるV,s,o,p,Cの状態とを示す遷移
図である。
【図18】図17の続きの、ステップの実行順序と各ス
テップにおけるV,s,o,p,Cの状態とを示す遷移
図である。
【図19】第2実施例において状態−操作記録から抽出
された操作列を示す図である。
【図20】第2実施例における最終的な目的達成操作列
を示す図である。
【符号の説明】
1…利用者操作観察手段 2…システム状態観察手段 3…状態−操作記録手段 4…状態−操作記録部 5…状態−操作依存情報部 6…最終目的状態−操作入力手段 7…目的達成操作列生成手段 8…目的達成操作列格納部 9…操作列実行手段

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 利用者の操作とシステムの状態とを記録
    する状態−操作記録手段と、 最終的に実現したいシステムの状態または最終的に実行
    したい操作を示す最終目的状態−操作を利用者から入力
    する最終目的状態−操作入力手段と、 システムの状態と利用者の操作との依存関係を示す状態
    −操作依存情報に基づいて前記記録された状態−操作記
    録中から前記入力された最終目的状態−操作に影響を及
    ぼしうる操作を抽出し、前記入力された最終目的状態−
    操作を達成するための操作列である目的達成操作列を生
    成する目的達成操作列生成手段とを備えることを特徴と
    する目的達成型利用者インタフェース装置。
  2. 【請求項2】 前記目的達成操作列生成手段は、前記状
    態−操作記録から抽出した操作であっても、前記記録さ
    れた状態−操作記録中の状態の記録から判断して実際に
    は最終目的状態−操作に影響を与えなかった操作は前記
    目的達成操作列中に含めない構成を有することを特徴と
    する請求項1記載の目的達成型利用者インタフェース装
    置。
  3. 【請求項3】 前記生成された目的達成操作列を実行す
    る操作列実行手段を備えることを特徴とする請求項1ま
    たは2記載の目的達成型利用者インタフェース装置。
JP8216129A 1996-07-29 1996-07-29 目的達成型利用者インタフェース装置 Pending JPH1049492A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8216129A JPH1049492A (ja) 1996-07-29 1996-07-29 目的達成型利用者インタフェース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8216129A JPH1049492A (ja) 1996-07-29 1996-07-29 目的達成型利用者インタフェース装置

Publications (1)

Publication Number Publication Date
JPH1049492A true JPH1049492A (ja) 1998-02-20

Family

ID=16683723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8216129A Pending JPH1049492A (ja) 1996-07-29 1996-07-29 目的達成型利用者インタフェース装置

Country Status (1)

Country Link
JP (1) JPH1049492A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654732B1 (en) 1998-12-04 2003-11-25 Fujitsu Limited Apparatus and method for adjusting interaction level, and storage medium for storing program therefor
JP2014182462A (ja) * 2013-03-18 2014-09-29 Fujitsu Ltd 情報処理装置、情報処理方法、及び情報処理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654732B1 (en) 1998-12-04 2003-11-25 Fujitsu Limited Apparatus and method for adjusting interaction level, and storage medium for storing program therefor
JP2014182462A (ja) * 2013-03-18 2014-09-29 Fujitsu Ltd 情報処理装置、情報処理方法、及び情報処理プログラム

Similar Documents

Publication Publication Date Title
JP3407809B2 (ja) コンピュータ・アプリケーション・ソフトウェアの自動化試験システム
US7134115B2 (en) Apparatus, method, and program for breakpoint setting
US6888542B1 (en) Error recovery in a computer aided design environment
JPH02272645A (ja) プログラム・デバツグ支援方法
US20110202505A1 (en) Computer program product and data backup method
JP2005266954A (ja) 操作情報記録・再生装置
JP5677924B2 (ja) テスト自動化システム
JP2897741B2 (ja) 利用者インタフェース装置、該利用者インタフェース装置における操作列生成方法および操作列生成用プログラムを記憶した記憶媒体
US8120610B1 (en) Methods and apparatus for using aliases to display logic
JPH1049492A (ja) 目的達成型利用者インタフェース装置
JP4630489B2 (ja) ログ比較デバッグ支援装置および方法およびプログラム
JPH0934698A (ja) ソフトウェア生成方法及び開発支援方法
WO1995032476A1 (en) A system and method for creating design configurations and for controlling the execution of multiple design tools
JPH10149301A (ja) スクリプト作成装置
JP2006127117A (ja) Web閲覧操作の記録・再生方法及び装置及びプログラム及びプログラムを格納した記憶媒体
JP2642788B2 (ja) 実行監視点削減方式
JP2013137716A (ja) マクロ展開装置及びプログラム
JP7479188B2 (ja) デバッグ支援装置、デバッグ支援方法およびプログラム
JP4259896B2 (ja) オペレーション記録・再生プログラム
JPH03260742A (ja) プログラムのトレース表示方法
JP2000148562A (ja) データバックアップ方法及びこれを利用したデータバックアップ装置並びにデータバックアッププログラムを記録したコンピュータ読み取り可能な記録媒体
JP3083552B2 (ja) 階層編集処理装置
JP3110391B2 (ja) プログラム再実行方法
JPH10312314A (ja) シミュレーション装置及び情報記録媒体
JPH07160533A (ja) デバッグツール