JPH06222897A - コンピュータベース訓練装置及び方法 - Google Patents

コンピュータベース訓練装置及び方法

Info

Publication number
JPH06222897A
JPH06222897A JP5274481A JP27448193A JPH06222897A JP H06222897 A JPH06222897 A JP H06222897A JP 5274481 A JP5274481 A JP 5274481A JP 27448193 A JP27448193 A JP 27448193A JP H06222897 A JPH06222897 A JP H06222897A
Authority
JP
Japan
Prior art keywords
message
event
application software
events
script
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
JP5274481A
Other languages
English (en)
Inventor
Richard J Potts
ジェイ ポッツ リチャード
Mark A Vershel
エイ ヴァーシェル マーク
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.)
Borland Software Corp
Original Assignee
Borland International Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25517404&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH06222897(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Borland International Inc filed Critical Borland International Inc
Publication of JPH06222897A publication Critical patent/JPH06222897A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)

Abstract

(57)【要約】 【目的】 本発明はコンピュータベース訓練(CBT)
システムを提供する。 【構成】 CBTシステムは、1以上の応用翻訳ユニッ
ト(ATU)と、メッセージエンジンと、スクリプトエ
ンジンとを有する。1以上の関心目標応用のためにAT
Uはその応用に特定の事象を処理し、事象をトラップ
し、それらをメタメッセージに翻訳して特定事象に関す
る情報をシステムへ送る。一般的なシステム事象をトラ
ップする汎用オペレーティングシステムATUも設けら
れている。翻訳済事象メッセージは事象ハンドラ(45
0)によって処理される。関心がない応用特定メッセー
ジは単純に通過させられる。個々のハンドラはメッセー
ジを、目標応用の活動を指令する命令を含むスクリプト
エンジン(320)へディスパッチする。スクリプトエ
ンジンは入力メッセージに作用する。ディスパッチされ
たメッセージが適切な(スクリプト内の命令による)動
作をトリガする。

Description

【発明の詳細な説明】
【0001】
【著作権通告】本願明細書の一部は著作権保護の対象で
ある資料を含む。著作権所有者は、特許商標局の特許フ
ァイルまたは記録に現れた特許文書または特許開示を誰
が複写再生しても異議は申し立てないが、それ以外は如
何なることに対しても全ての著作権を留保する。
【0002】
【産業上の利用分野】本発明は、一般的には、コンピュ
ータのユーザを支援する装置及び方法に関する。具体的
には、本発明は、コンピュータのユーザが所望のタスク
を遂行する際にユーザを支援するための援助及びコンピ
ュータベース訓練(CBT)システムに関する。
【0003】
【従来の技術】パーソナルコンピュータの開発と共に、
毎日の生活の中でのコンピュータシステムの使用が益々
普及してきている。例えばワードプロセッサ及びスレッ
ドシートのようなソフトウェア応用を操作することによ
って殆どの作業者は実質的な生産性利得を実現すること
ができる。実際、今日の殆どのビジネスは毎日の動作を
コンピュータに大きく頼っている。今日の典型的なコン
ピュータユーザは、コンピュータ科学の訓練、もしくは
パーソナルコンピュータの基本的使用法さえも殆ど、ま
たは全く受けていない。しかしながらコンピュータを効
率的に操作するためには、ユーザは多数のコマンド及び
データフォーマットの習熟が要求される急峻な学習曲線
を征服しなければならない。この問題への1つのアプロ
ーチは、殆ど暗号に近いユーザマニュアル(良く言って
も魅力のないオプションである)に悩まされる時間を費
やすことであるが、殆どのユーザは印刷されたマニュア
ルを放棄し、試行錯誤的学習の方を選ぶのが普通であ
る。若干のより良いマニュアルも書かれた教材を含んで
いる。これはライブまたはビデオテープ化された講義に
よって増補することができる。しかしながら、このアプ
ローチにしても時間がかかり、多くのユーザは単純にこ
れらの教材を完了するための十分な時間を見出すことが
できない。更にこのアプローチは退屈且つ不十分であ
り、多くのユーザは彼等が使用することがない特色を学
ぶために時間を浪費するようになる。そして極く僅かな
人だけが本に書かれたスクリーンショットから学習する
ことができるようになる。
【0004】コンピュータ及びソフトウェア技術が進歩
するにつれて、応用ソフトウェアでさえも必ずしも容易
に使用できなくなってきている。むしろ、技術的な進歩
に伴って既存応用に一層複雑な機能を大きく取り入れる
ようになり、(アイコンのスタガリングアレイのよう
な)ユーザを呆然とさせるような複雑なユーザインタフ
ェースの使用をもたらしている。以上のように、コンピ
ュータ応用の機能性は増加し続けているが、ユーザにと
って複雑さも大きく増大している。コンピュータ支援援
助システムの開発は、コンピュータの複雑さを減少させ
ることに成功した多分最初の努力である。ある型の“援
助”機能を使用するこれらのシステムは、コンピュータ
ユーザにオンライン援助を提供する。ユーザによる(例
えば“F1”または援助キーを使用する)要求に応答し
てこれらのシステムは、コンピュータの表示画面上に文
章による援助情報を表示する。初期の援助システムは、
援助の要求を取り巻く文脈または環境には無関係に、単
に同一の(静的な)情報を表示するに過ぎなかった。そ
の後の援助システムは、“文脈感応援助”を提供するよ
うに精緻になった。つまり、ユーザが応用プロブラムの
どの特定部分または文脈にあるのか(現在実行中である
のか)を斟酌するような援助情報を提供し、現文脈また
はユーザ位置に関連する援助情報が表示されるようにな
ったのである。
【0005】援助システムの開発が進んで、人工知能技
術が適用されるようになった。例えば、合衆国特許 5,1
03,498号は、履歴待ち行列内のデータとしてどの事象
(ユーザ事象及びコンピュータ事象の両方)を記憶する
のかを決定するための監視装置を含むインテリジェント
援助システムを開示している。これらのデータ自体は知
識ベース内に記憶される。推論エンジンが知識ベースデ
ータに対して所定の規則を試験し、それによってその特
定のユーザに適切な援助を提供する。インテリジェント
援助システムは疑いもなく単なる、または文脈感応型の
援助システムを改善してはいるが、結局はユーザに対し
て援助情報だけを提供できるに過ぎない。語またはピク
チャの何れによるにしても、これらのシステムは特定の
型のタスクをどのように遂行するのかをユーザに「告げ
る」だけである。確かにユーザはそのタスクに特定の援
助情報を直ちに認識することはできるが、実際にはこの
援助情報が常にユーザにとって十分な情報を提供すると
は限らない。本質的に、如何に多くの情報を提供できる
かには限界が存在する。また、その特定援助情報を提供
し、詳細な文章または図形説明の画面内画面を必要とす
るこれらのシステムにおいては、ユーザが如何に多くの
情報を読取ることができるか、または読取るであろうか
という限界が存在する。殆どのユーザはたとえオンライ
ンで与えられても、詳細な援助情報を読むことを単純に
欲してはいないのである。即ち、援助システムが如何に
知能的または精緻であっても、結局のところ所与のタス
クを如何にして遂行するかをユーザに「告げる」ことに
頼らなければならない。ユーザが真に欲しているのは、
誰かがユーザに、どのようにしてそのタスクを直ちに遂
行するのかを「示す」ことなのである。
【0006】コンピュータのユーザを支援する別のアプ
ローチは、合衆国特許 4,622,013号に記載されているよ
うな対話式ソフトウエア訓練システムである。このシス
テムは、キーボードからのデータの流れに割込み、入力
データに割込んで処理し、入力データに応答してメッセ
ージを選択的に生成し、そして入力データの部分集合を
目標コンピュータプログラムによって選択的に処理でき
るようにする“教材モジュール”を含んでいる。各選択
された、または目標コンピュータプログラム毎に分離し
たコースウェアモジュールが提供される。各コースウェ
アモジュールは選択されたコンピュータプログラムの動
作に関連する事象または文脈環境の集合を含む。マルチ
メディア、特にCD−ROM技術の開発に伴って、現在
では精緻なコースウェア教材が入手可能である。例えば
音響及びアニメーションを使用するマルチメディアコー
スウェアは、キーの押下によって“ハウツー”ビデオ、
フルモーションビデオをオンラインで使用可能にする。
またマルチメディアハードウェアの価格が低下するにつ
れて、現在ではコースウェアを応用自体内に組込むこと
が実現可能である。
【0007】コースウェア、特にマルチメディアコース
ウェアは、従来の援助システムに勝る幾つかの長所を提
供する。例えば、独特なユーザ入力に応答するコースウ
ェアを設計し、各コースウェアモジュールを特定の目標
プログラムに合わせることが可能である。またコースウ
ェアは完全に自己調速式であるので、初心ユーザでもユ
ーザの都合の良い時に、ユーザ自身の速度で応用を学習
することができる。更に、これらのプログラムは典型的
には対話式であるので、ユーザが居眠りをしたり、気が
散ったりする恐れは少ない。しかしながら、コースウェ
アシステムにも欠点がない訳ではない。具体的にはこれ
らのシステムは同時に発生する目標応用の独特な“挙
動”を考慮に入れることに失敗している。このアプロー
チは、選択されたユーザ事象をトラップし、これらに作
用するモジュールを提供してはいるが、一方では教材モ
ジュールとユーザとの間に、また他方では教材モジュー
ルと応用との間に、真の双方向通信が存在していない。
このため、このシステムはユーザ事象ではなく、目標応
用事象自体に応答して目標応用を変更し、目標応用に作
用する能力に欠ける。マイクロソフトの“ウィザード”
のようなスマートマクロは、コンピュータベース教材の
別のアプローチである。ウィザードは基本的に標準タス
クを完了させるためのマクロを提供する。動作に際し、
ウィザードは直ちにタスクを中断し、一連の質問をユー
ザに提示する(典型的には1またはそれ以上のモード対
話ボックスを通して提示される)。次いでウィザードは
ユーザが入力した応答を使用してマクロを実行、または
“演ずる”。しかしながら、マクロが演じられる速度を
ユーザがセット可能なオプションを通してユーザ自身が
低速化させない限り、通常はマクロの実行は殆どのユー
ザにとって(有意味の教材として)観測するには余りに
も早く出現する。
【0008】コースウェアとは異なり、ウィザードは目
標応用のトップに作用する。即ち、“ライブ”応用の様
相( look )は保っている。このアプローチは、ユーザが
目標応用内にある間は、スプレッドシート内のグラフの
作成のような特定の「型」のタスクを実演するには効果
的である。しかしながらウィザードマクロは、文脈スイ
ッチを生じさせる。対話ボックスを表示中には目標応用
を中断させるから、ウィザードは真に対話式の教材(即
ちユーザと実際の目標応用との間に対話を有しているよ
うな教材)を提供するものではない。むしろウィザード
は“罐詰めにされた”または事前に組立てられた応用タ
スクを完了させるために所定のマクロを演ずるように制
限されている。以上のように、ウィザードはある応用の
ある“様相”を提供するものではあるが、目標応用の真
の“感じ”に欠けるのである。
【0009】
【発明の概要】本発明は真に対話式の援助及び教材シス
テム、即ちユーザがタスクを学習中にユーザが絶えず目
標応用と対話し続けるようなシステムに対する要望があ
ることを認識している。本発明は、1またはそれ以上の
「応用翻訳ユニット(ATU)と、メッセージエンジン
と、スクリプトエンジンとを有するコンピュータベース
訓練システム(CBT)を含む。システムの特定動作
は、典型的には教材ライタによって与えられる一連のユ
ーザ命令によって管理される。スクリプト内に、CBT
システムと1またはそれ以上の関心目標応用との間のリ
ンクが確立される。詳述すれば、特定の応用の中の個々
の制御(例えばメニュー項目、ボタン制御器、対話ボッ
クス等々)にリンクが確立されるので、スクリプトライ
タは目標応用の挙動及び動作の完全制御を有することに
なる。各関心目標応用毎に、その応用に特定の事象を処
理するためのATUが設けられている。一般的なシステ
ム事象をトラップするための汎用オペレーティングシス
テム(OS)ATUも設けられている。ATUは事象を
トラップし、それらをシステムの特定事象に関する情報
を伝送するための抽象メッセージまたは“メタメッセー
ジ”に翻訳する。このようにして低レベルメッセージ
は、スクリプトを介して作用することができる高レベル
の、より有意味のメッセージに抽象化される。
【0010】翻訳された事象メッセージは、事象ハンド
ラとの突き合わせのためにメッセージエンジンへ送られ
る。好ましい実施例では、メッセージエンジンはメッセ
ージと所望の目標ハンドラとを突き合わせるためのルッ
クアップテーブルを維持している。関心がないシステム
メッセージまたは応用特定メッセージは単に通過を許さ
れるだけである。個々のハンドラは、メッセージエンジ
ンからそれぞれのメッセージをスクリプトエンジンへデ
ィスパッチする。スクリプトエンジン自体は入ってくる
メッセージとスクリプトの予約語とを突き合わせる。ス
クリプト内の予約語の使用に基づいて、適切な動作が遂
行される。本発明は、関心の表示画面対象のための即時
解答援助及び教材情報を提供するための援助情報連続体
( continuum ) をも含む。本発明のコンピュータ援助シ
ステムは、ユーザによって作成される文章及び図形対象
を表示するための表示装置と、表示装置画面上の位置を
指示するためのカーソル位置決め装置と、関心がある特
定表示画面対象(即ち、検査中の対象)に特定される援
助及び教材情報を自動的に提供するための情報検査装置
または連続体インタフェースとを有するコンピュータを
含む。
【0011】
【実施例】用語の説明 連想テーブル:データを編成するために使用されるコン
テナ対象。テーブル内の各項目は容易なアクセスを可能
にするための連想タグを有している。 CBT:コンピュータベース訓練;コンピュータ及び教
示のために特に設計された教材プログラムの使用。 CBTメッセージ:出現した特定事象に関する情報を記
述または密閉(カプセル封じ)する高レベルメッセージ
またはメタメッセージであって、それによってユーザは
低レベルシステムメッセージをスクリプト制御のための
高レベル(及びより有意味の)メッセージに抽象化する
ことができる。 CBT対象:ダイナミックリンクライブラリ(DLL)
内に配置することが可能な、及び教材が実行されている
時に動的にロードすることが可能なC++対象のような対
象。 制御窓:ユーザから情報を入手するために使用されるC
BT対象。典型的には複数の対話制御を有する窓を含
む。
【0012】対話対象:ユーザとの対話に使用されるC
BT対象。これらの対象は「提示」窓、「制御」窓、及
びメッセージハンドラを含む。 レッスンスクリプト:CBT教材の実行を制御するスク
リプト命令文(ステートメント)。各レッスンはシーン
の収集を含む。 リスト:未編成データを保持するために使用されるコン
テナ対象。 メッセージハンドラ:目標応用と対話するCBT対象。
これらの対象は外部事象を処理するために使用される。 対象特性:特定対象に対応付けられた例えば名前、表
題、色、等々のような属性または他のデータ。 遂行:CBTシステムによるCBTシーンの実行。 提示窓:ユーザに対して情報を表示するCBT対象。こ
の情報は文章、図形、及びマルチメディア情報の全部ま
たは何れかを含むことができる。 シーン:CBTレッスン内の特定点において遂行させる
動作を記述するスクリプト対象。 スクリプト:スクリプトエンジンによって理解される命
令文の収集。
【0013】ウィンドウズフック:ウィンドウズ事象が
応用によって受信される前にウィンドウズ事象を横取り
するためにウィンドズOSと応用との間に導入されてい
る機能。 以下にマイクロソフトウィンドウズ( Microsoft (R) Wi
ndows ) 環境において動作する本発明の現在では好まし
い実施例に関して説明する。しかしながら、本発明は特
定の1つの応用または何れかの特定ウィンドウズ環境に
限定されるものではない。当業者ならば理解できるよう
に、本発明の装置及び方法は、むしろ、データベース管
理システム、ワードプロセッサ、スプレッドシート等を
含む種々のシステム及び応用ソフトウエアに有利に適用
することが可能である。更に本発明は、Macintosh 、UN
IX、NextStep等を含む種々の異なるプラットフォーム上
に実現することが可能である。従って、以下の実施例の
説明は例示のためだけのものであり、本発明を限定する
ものではないことを理解されたい。システムハードウエア 図1に示すように、本発明はシステム100のようなコ
ンピュータシステム内で実施することができる。システ
ム100は、中央プロセッサ101、主メモリ102、
入力/出力コントローラ103、キーボード104、位
置決め装置105(例えば、マウス、トラックボール、
ペン装置等)、表示装置106、及び大容量記憶装置1
07(例えばハードディスク)を具備する。望むなら
ば、印刷装置108のような別の入力/出力装置もシス
テム100内に含ませることができる。図示してあるよ
うに、システム100のこれらの種々成分はシステムバ
ス110または類似アーキテクチャを通して通信し合
う。好ましい実施例では、コンピュータシステム100
は、数社(ニューヨーク州アーモンクのIBMを含む)
から入手可能なIBM互換パーソナルコンピュータを含
む。システムソフトウエア A.概要 図2に示すように、コンピュータシステム100の動作
を指令するためにコンピュータソフトウェアシステム1
20が設けられている。システムメモリ102内及びデ
ィスクメモリ107上に記憶されているソフトウエアシ
ステム120は核またはオペレーティングシステム(O
S)140、及びウィンドウズシェル150を含む。応
用ソフトウエア125またはウィンドウズ応用ソフトウ
エア145のような1またはそれ以上の応用プログラム
は、システム100による実行のために“ロード”(即
ち記憶装置107からメモリ102内へ転送)すること
ができる。
【0014】システム120は、ユーザコマンド及びデ
ータを受信するためのユーザインタフェース(UI)1
60(図形ユーザインタフェース(GUI)であること
が好ましい)を含む。システム100は、オペレーティ
ングモジュール140、ウィンドウズモジュール150
及び応用モジュール125、145の全てまたは何れか
からの命令に従ってこれらの入力自体を操作することが
できる。UI160は操作の結果を表示するようにもな
っており、ユーザは表示を見て付加的な入力を供給した
り、またはセッションを終了させたりすることができ
る。概念的に分離したモジュールとして図示してはある
が、UIは、典型的にはOS140の下で動作するウィ
ンドウズシェル150によって提供されるものである。
好ましい実施例では0S140はMS−DOSであり、
ウィンドウズ150はマイクロソフトウィンドウズであ
って、共にワシントン州レッドモンドの Microsoft Cor
porationから入手可能である。システム120は、コン
ピュータ100のユーザを支援するための本発明による
コンピュータベース訓練(CBT)システム130をも
含む。図示のように、CBTシステム130はウィンド
ウズシェル150を介してシステム100にインタフェ
ースし、またOS140を介して直接インタフェースを
とる。しかしながら、CBTシステム130の構造及び
動作の詳細な説明に着手する前に、先ずUI160の全
般的な方法論及びその動作を駆動する事象駆動アーキテ
クチャを調べることが有用である。
【0015】B.図形ユーザ(窓表示)インタフェース 図3に示すように、システム100は典型的にはUI1
60を窓表示インタフェースもしくは作業領域161と
して提示する。窓表示インタフェース161は画面10
6上に表示するための矩形の図形ユーザインタフェース
(GUI)であり、望むならば付加的な窓表示要素を種
々の大きさとフォーマットで(例えば傾斜させたりまた
はカスケードにして)表示させることができる。窓16
1の頂部は、複数のユーザコマンド選択を有するメニュ
ーバー170であり、これらの各コマンドは応用対象と
共に使用する付加的なサブメニュー及びソフトウェアツ
ールを呼出すことができる。窓表示インタフェース16
1は、図形対象181及び文章対象182のような画面
対象を表示し、操作するための依頼者領域180を含
む。依頼者領域は本質的に、ユーザがコンピュータシス
テム100内に存在するデータ対象と対話するための作
業領域またはビューポートである。窓表示インタフェー
ス161は、関心画面対象を選択乃至は呼出すための画
面カーソルまたはポインタ185を含む。位置決め装置
105からのユーザ運動信号に応答して、カーソル18
5は画面106を横切って所望の画面位置まで浮動(即
ち自由に運動)する。カーソルの運動中に、または運動
後に、公知のようにしてユーザは対象を選択し、操作す
るためにユーザ事象信号(例えばマウスのボタンの“ク
リック”及び“引きずり”)を生成することができる。
例えば、窓161は画面成分172、174/175、
及び177/178をそれぞれ“クリックオン”(選
択)することによって閉じたり、大きさを決め直した
り、またはスクロールさせることができる。キーボード
104を介してこれらの、及び他のユーザ操作を遂行す
るために、キーボード加速装置または“ホットキー”を
含むキーストローク等価装置が設けられている。
【0016】C.事象駆動アーキテクチャ 窓表示インタフェースの基礎をなしているのは、メッセ
ージまたは事象駆動アーキテクチャである。このモデル
の動作は、伝統的に使用されてきたモデル即ち順次アー
キテクチャの動作と対比すると多分理解し易い。このよ
うにするとメッセージ駆動システムの付加された柔軟性
が理解できるであろう。この柔軟性は、CBTシステム
とユーザとの間だけではなく、CBTシステムと目標応
用との間にも双方向通信を提供するように、本発明のC
BTシステムが使用するものである。図4に示すよう
に、モードプログラム200は、十分に限定された始ま
り、中央部及び終わりを有する一連の離散した動作ブロ
ックまたはモード210からなる。実際の動作では、こ
のようなプログラムは典型的には、例えば書かれた報告
を作成するためにユーザ情報を受信するための一連の入
力画面を表示する。例えば、第1入力画面は顧客名を要
求し、第2入力画面は顧客住所を要求し、第3入力画面
は部品番号を要求する等々である。典型的にはプログラ
ムは、種々の入力から決定された結果を報告するための
出力モードで終了する。従って、プログラム200はか
なり厳格な動作シーケンスを辿り、各入力またはエント
リモードはプログラムが次の段階に進む前にその段階を
成功裏に完了していることを要求する。
【0017】モードプログラムは、設計及び実現は比較
的容易ではあるが、使用はそれ程容易ではない。この設
計は、確かに全ての要求された情報が入力されることを
保証するが、ユーザはプログラムの指図通りに操作する
ことを強いられる。詳述すれば、プログラムは予め配列
されたモードの集合の周囲に組まれているから、ユーザ
は先に要求したモードを最初に完了させなければ、1つ
のモードから別のモードへ達することはできない。例え
ばこの例では、部品番号情報に一寸アクセスするのにも
顧客名入力画面(及び他の何等かの介在入力画面)を不
必要に完了させなければならない。ユーザがこのシーケ
ンスから外れることは許されていな。柔軟性に欠けるこ
とから、実ワールドタスクを処理するのにモードプログ
ラムを選択することが良い選択であるとは言い難い。図
4の右側に示してある事象駆動アーキテクチャ250は
予め選択されたシーケンスを避け、代わりに“事象ルー
プ”を選択している。事象ループ260はユーザ事象及
びシステム事象に関するメッセージを処理するための集
中化された機構である。事象ループ260は事象待ち行
列270と、検索機構263と、メッセージを種々の窓
クラスへディスパッチする機構269とを含む。これら
の各成分を詳述する前に、“メッセージ”を十分に理解
しておく必要がある。
【0018】典型的なモード環境、特に文字ベースUI
を典型とする環境では、プログラムはC機能 getchar
( )のような機能への明示呼出しを行うことによってキ
ーボードから読込まれる。この機能は、典型的には、文
字コードをプログラムへ戻す前にユーザがあるキーを押
すまで待機し、全てのシステム動作はこの1段階が完了
するまで中止される。これに対してウィンドウズ環境に
おけるオペレーティングシステムは、マウスのクリック
またはキーボードの押下のような多数の応用及びハード
ウェア事象(これらはウィンドウズ事象ハンドラによっ
てメッセージに変換される)を管理し、同期させるため
にメッセージを使用する。プログラミングの観点から
は、メッセージは特定事象に関する情報を含む単なるデ
ータ構造である。マイクロソフトウィンドウズでは、メ
ッセージは特定事象のための記号定数として役立つ 16
ビットの符号のない整数であり、この整数内にはメッセ
ージ識別子とメッセージパラメタとがパックされてお
り、これらのパラメタは提示される各事象型と共に変化
する。例えば窓対象からのメッセージは窓の作成( WM
CREATE )、閉じ( WM CLOSE ) 、移動( WM MOVE )、及
び大きさの決め直し( WM SIZE )を含むことができる。
入力メッセージはシステム規模の待ち行列内に集めら
れ、次いで適切な窓へ導かれる。これらのメッセージ
は、タイマメッセージ及び画面塗りメッセージと共に、
1または複数の関心目標応用へ渡されなければならな
い。
【0019】システム待ち行列からメッセージを検索
し、それらを適切な応用へディスパッチするための機構
が設けられ、この応用は到着するメッセージを処理する
ように進むことができる。各窓はある窓型に属し、この
窓型はその型の全ての窓に共通する若干の特性を定義す
る。各型に対応付けられているのは、その型の窓に送ら
れた全てのメッセージを処理するウィンドウズ機能であ
る。応用待ち行列が設けられ、この待ち行列では特定応
用に属するメッセージをウィンドウズが配置することが
できる。応用が入力を受ける準備を整えると、応用は待
機中のメッセージを単純に読込む。もし何も見出せない
か、またはより高い優先権を有する他の応用のためのメ
ッセージが存在すれば、ウィンドウズは制御をこの他の
応用に引渡す。例えば図4に示すメッセージまたは事象
ループ260は単純に以下のように符号化することがで
きる。
【0020】
【表1】
【0021】ここに、メッセージ( &msg )は GetMessag
e への呼出しによって検索され(段階263)、もし必
要ならば、検索されたメッセージを TranslateMessage
( ) への呼出しによって翻訳し、次いでDispatchmessag
e への呼出しによってディスパッチすることができる
(段階269)。この“while ”ループは GetMessage
機能が0の値に戻り、このループが待ち行列から WM
QUITメッセージを読込んで応用が終わったことを指示す
る(段階265が YESになる)まで続行される。ウィン
ドウズによって生成されたメッセージに加えて、応用は
それら自身のメッセージを作成し、それらを他の応用の
応用待ち行列へ配置することができる。SendMessage 及
び PostMessage機能は応用にメッセージをそれらの窓
へ、または他の応用の窓へ渡させる。PostMessage 機能
は、メッセージを応用待ち行列内へ配置することによっ
てメッセージを転記(ポスト)するようにウィンドウズ
を導く。制御は直ちに呼出し応用へ戻され、メッセージ
の結果として遂行される何等かの動作は、メッセージが
待ち行列から読込まれるまで発生しない。一方、SendMe
ssage 機能はメッセージを所与のウィンドウズ機能へ直
接送るようにウィンドウズを導き、それによって応用待
ち行列をバイパスさせる。メッセージを受信したウィン
ドウズ機能がそれを処理するまで、ウィンドウズは制御
を呼出し応用へ戻さない。しかしながら、このような非
待ち合わせメッセージは、一般的にはその窓だけに影響
を与えるメッセージである。
【0022】マイクロソフトウィンドウズのような事象
ベースシステムにおいてメッセージを検索し、ディスパ
ッチする汎用機構は公知である。例えば 1990 年刊 Mic
rosoft Press, Petzold, C., Programming Windowsの第
2版を参照されたい。別の情報は、ワシントン州レッド
モンドの Microsoft Corp.から入手可能な1)Guideto
Programming, 2)Reference, Vols. 1 and 2, 及び
3)Tools を含む Microsoft's Window Software Devel
opment Kitに見出すことができる。コンピュータベース訓練システム 以下に本発明のCBTシステムを、C++プログラミング
言語を用いて事象駆動アーキテクチャ内に実現されてい
る成分を含む現在では好ましい実施例に関して説明す
る。具体的には、新しい対象を現存対象(クラス)から
作成することができる対象向きモデルを採用している。
データカプセル封じ、引き継ぎ、及び多形性を含むC++
の一般的な特色、並びにクラス階層及びクラス方法を実
現するためのC++技術は公知である。例えば 1990 年 A
ddison-Wwsley 刊 Ellis, M 及びStroustrup, B., 著、
The Annotated C++ Reference Manual を参照された
い。また特に対象向きプログラミング及びC++の別の情
報に関しては、カリフォルニア州スコットバレーの Bor
land Internationalから入手可能な Borland C++ 3.1:
1)User's Guide, 2)Programmer's Guide, 及び3)
Library Reference を参照されたい。
【0023】A.概要 図5に示す本発明のコンピュータベース訓練システム3
00は、1またはそれ以上の応用翻訳ユニット(AT
U)340と、メッセージエンジン350と、スクリプ
トエンジン330とを含む。また図示のようにシステム
300は、スクリプトエンジンに機能的に結合されてい
るCBT窓対象370をも含む。CBT窓対象370
は、1またはそれ以上の特注ダイナミックリンクライブ
ラリ(DLL)380にリンクすることができる。命令
またはスクリプト320の集合によって駆動されるシス
テム300は、ウィンドウズシステム及び所望の目標応
用の種々の事象を監視する。これらの事象からのメッセ
ージ(システムメッセージ310及び目標応用メッセー
ジを含む)はATU340によってトラップされ、CB
Tメッセージとしてメッセージエンジン350に報告さ
れる。メッセージエンジンは、スクリプト320の制御
の下に動作するスクリプトエンジン330によって指定
されるハンドラに従って、メッセージをディスパッチす
る。関心メッセージは要望に応じて処理され、その他は
単なる通過が許容される。これらの成分の構造及び動作
の詳細を以下に説明する。
【0024】1.応用翻訳ユニット及びそれらの目標応
用 システム100が通常の動作をしている場合には、ユー
ザは、スプレッドシート、ワードプロセッサ、データベ
ース等であることができる例えば図2のプログラム14
5のような1またはそれ以上のウィンドウズ応用プログ
ラムを使用している。CBT支援が望まれる各応用毎
に、その応用(ここでは図5に目標応用360として示
してある)に特定の事象を処理するために、応用特定A
TU340が設けられている。各ATU340は、特定
の目標応用に関するメッセージを処理するためにダイナ
ミックリンクライブラリ(DLL)として実現すること
が好ましいモジュールである。応用特定DLLの他に、
ATU340はウィンドウズATUを含む。特定目標応
用内へフックする他のATUとは対照的に、ウィンドウ
ズATUはシステムメッセージ310を含む全てのウィ
ンドウズ事象を処理する。このようにすると、一般シス
テム事象、即ち如何なる特定応用にも特定されていない
事象をCBTシステム300によって処理することがで
きる。応用特定であるか否かには関わりなく各ATUは
事象をトラップし、それらを“CBTメッセージ”に変
換する。これらのCBTメッセージは、システム内で出
現する事象がウィンドウズ特定であろうと、または応用
特定であろうと、これら全ての事象のためのリングァフ
ランカ、つまり共通言語である。詳述すれば、CBTメ
ッセージはメタメッセージであり、出現する1またはそ
れ以上の事象を記述する高レベルメッセージである。例
えば、WM RBUTTONDOWN 、WM LBUTTONDOWN 、WM RBUT
TONUP 、WM LBUTTONUP 等のような多数の低レベルメッ
セージを監視する代わりに、ユーザ/スクリプトライタ
は単一のメッセージ CBT MOUSECLICKだけを監視すれば
よく、どのウィンドウズシステムまたは応用が行われて
いるかを決定するタスクはATUに任されている。低レ
ベルシステムメッセージを高レベル(そしてより有意味
な)CBTメッセージに抽象化することによって、本発
明のシステムはスクリプトの設計及び書くことを大幅に
簡略化する。
【0025】整数として内部的に記憶されているCBT
メッセージは、特定の型の事象を表す。一方各事象に特
定の、活動している窓、カーソル位置等のような情報ま
たはデータはその事象を完全に記述する離散したデータ
対象( EventInfo 対象) としてパッケージ化される。Ev
entInfo 対象は、CBTメッセージと共にATUからメ
ッセージエンジン350へディスパッチされ、さらなる
処理を受ける。 2.メッセージエンジン及びスクリプトエンジン メッセージエンジン350は、CBTシステムがスクリ
プト320の指令の下で動作する際に、メッセージエン
ジン350が受信した多くのCBTメッセージの中のど
のCBTメッセージがCBTシステムにとって特に関心
があるかを決定する。始動時に、スクリプト320にと
って関心のある各目標応用はメッセージエンジンに登録
される。それ自体が対象の収集を含むスクリプト320
は、特定のプラットフォームが望むようにコンパイル、
プリコンパイル、または擬似コンパイルすることができ
る。好ましい実施例では、スクリプト320はプリトー
クン化されており、それによって原始リスト及び注釈
(任意選択的に)は最初の原始に再構成することが可能
な圧縮した形状で記憶される。従って、スクリプト32
0は命令の集合であればよく、本発明は特定のフォーマ
ットを要求しない。
【0026】登録された各応用毎にメッセージエンジン
はその応用に特定の(CBTメッセージによって表され
ている)事象を処理するために、1またはそれ以上の
“ハンドラ”またはモジュールを維持している。即ちメ
ッセージエンジンは、どのCBTメッセージがスクリプ
ト320にとって関心があるか、即ちどのメッセージを
リスト内に写像するかを決定するために、目標ハンドラ
のリストを管理する。システムにとって関心のあるメッ
セージ、即ちスクリプト32によって指定されているメ
ッセージはトラップされ、指定されたハンドラへ転送さ
れる。関心がないメッセージは、個々の目標応用360
へ“フォールスルー”(即ち通過)することを許容され
る。本質的に、メッセージエンジンは特定の応用のため
の事象を濾過するので、関心応用、即ちその事象のため
に限定されたハンドラを有する応用が処理される。 B.システム動作 1.方法:CBTセッション 図6及び7は、システム300を動作させる一般的な方
法を示す流れ図400である。一般的な方法論はどのC
BTセッションでも不動であるが、何れか1つのCBT
セッションの特定の段階はスクリプト320内に定義さ
れている命令及びスクリプト対象によって指令されるこ
とを理解されたい。例えば、スクリプトは、どの特定目
標応用がメッセージエンジンに登録されるのか、及びこ
れらの応用のどの事象がディスパッチされるのかを記述
する。従って、以下の説明はCBTシステムの動作の基
本的な枠組みを示すものである。
【0027】スクリプト32の指令の下に、段階410
においてCBTシステムは CBTApplication 対象を作成
することによって関心目標応用を登録する。CBTシス
テムのための主入口点として役立つこの対象は、スクリ
プト教材を初期化し、実行する。更にこの対象は、メッ
セージエンジン及びスクリプトエンジンを使用してセッ
ションを初期化し、全ての外部機能及び各CBTレッス
ン内の対象方法呼出しのための集中化されたディスパッ
チ点として動作する。ここから個々のCBTレッスンが
ロードされ、遂行される。レッスンスクリプトがロード
されると CBTApplication 対象は、その特定レッスンを
管理する責を負う CBTLesson対象を作成する。CBTLesso
n 対象はレッスンスクリプトを読込み、それぞれがレッ
スンスクリプト内に記述されている CBTScene 対象のデ
ックを作成する。代替として、特に高性能環境において
は、各シーンをオンザフライ構成することができる。CB
TLesson 対象はステートマシンに類似している。即ち、
CBTLesson 対象は活動シーン(活動状態)を維持し、適
切なスクリプトシーン( CBTScene 対象)をスクリプト
エンジン330へ送って提示させる。各対象はスクリプ
ト変数を介して直接的にスクリプトライタにアクセス可
能であり、例えば CBTApplication 対象は theCBTApp広
域変数を介してアクセスされ、 CBTLesson対象は theCB
TLesson 広域変数を介してアクセスされる。
【0028】段階410の初期化を完了させるために、
目標応用はメッセージエンジン350に登録される。具
体的には、関心目標応用内の事象をトラップするよう
に、対応するATU340によってフックが導入され
る。後述するように、これらの事象自体はCBTメッセ
ージとしてメッセージエンジン350に報告される。段
階420においては、個々の関心資源へのスクリプト特
定のリンクが確立される。目標応用自体内では種々の資
源(例えば、ボタン、メニュー等)がスクリプトライタ
にとって関心があろう。例えば、もし“援助”ボタンの
ような目標応用の特定ボタンに関心があるのであれば、
そのボタンがメッセージエンジン350に登録される。
ボタン(例えば“マウス入力”ボタン)に対応付けられ
た事象がトラップされ、ATUによって処理される。リ
ンクは以下のようにしてCBTスクリプト320内に指
定される。好ましい実施例では、リンクは、個々の資源
または制御のウィンドウズクラス名、ウィンドウズ表
題、または資源ID(これらは全て容易にアクセス可能
なウィンドウズデータ構造である)の選択された1つを
指示することによって、その資源または制御に対して確
立される。一般的には、リンクは資源IDを使用するこ
とによって確立されよう。特定のリンクは、要望に応じ
て、セッション中に作成したり、または除去することが
できる。
【0029】段階430においてシステムは、確立され
たリンクに関連する種々の事象をトラップする。図7に
詳細を示すこの動作は以下のようにして行われる。目標
応用のメッセージ待ち行列にメッセージが到達する度
に、メッセージフィルタフック機能( WM MsgFilter )
431が呼出される。フック機能は先ず、そのメッセー
ジが“フックされた”タスクを表しているか否か、即ち
目標応用のこの事象のための特定リンクが作成されたか
否かを決定する。もし否であれば、その事象は他のフッ
ク(即ちフック433、435、437)の1つによっ
て処理するためにフック鎖を渡って行く。例えばウィン
ドウズフック437は全てのウィンドウズメッセージ
( WM )をトラップする。どのフック機能が呼出され
るかは、どの型のメッセージが目標応用へ到来したかに
依存する。例示としてフックを以下のようにして導入す
ることができる。
【0030】
【表2】
【0031】図示のように、コールバック機能が各フッ
ク毎に導入される。各コールバック機能自体はATUへ
の入口点として働く。マイクロソフトウィンドウズにお
けるフックの導入及び使用に関する付加的な情報に関し
ては前記 Microsoft's WindowSoftware Development Ki
tを参照されたい。システムメッセージをトラップする
ためのフックを導入することに加えて、1またはそれ以
上の応用特定フック(コールバック機能)439が導入
される。例えば目標応用は、例えば SS CELLSELECT、
SS CELLEDIT、SS BLOCKDEFINE 等のようなそれ自身の
内部メッセージ集合を含むスプレッドシートであること
ができる。これらのメッセージを監視するために、AT
Uは応用特定コールバック機能を目標応用に登録する
(実際にはATUをその目標応用に動的に結合する)こ
とができる。ランタイムには、内部または応用特定メッ
セージをディスパッチするために、応用はコールバック
機能を呼出す。このように、本発明のCBTシステムは
ウィンドウズ事象及びそれらのメッセージに限定される
のではなく、代わりにCBTシステムは、システム規模
であろうと、または厳格に内部的であろうと、如何なる
関心メッセージも受信し、翻訳することができるのであ
る。
【0032】段階440においては、ATU340によ
ってトラップれた事象がCBTメッセージ/事象情報対
象としてメッセージエンジン350へ“ディスパッチ”
される。図7に示されているように、各ATUのディス
パッチモジュールは各ウィンドウズ事象に対応する機能
を含んでいる。従って、WM COMMAND 、WM MENUSELEC
T、WM BUTTONDOWN、及び WM SETCURSOR メッセージ
に対して以下の翻訳機能を定義することができる。
【0033】
【表3】
【0034】各々はその特定事象を処理するために設計
されている。カーソルが窓境界を横切ったか(即ち、新
しい窓に入ったか)否かを決定するためのウィンドウズ
メッセージの処理を例としてATUディスパッチャの動
作を説明する。この例は、多数のウィンドウズ WM SE
TCURSOR メッセージをどのようにして MOUSELEAVE 及び
MOUSEENTER メタメッセージに変換できるかを示すもの
である。CBTメッセージとしての他の事象のディスパ
ッチイングは表13に示す。図8に示すように、doWM
SetCursor ディスパッチ方法500は、SetCursorメッ
セージがATUにトラップされると(即ち、事象が応用
によって受信される前にフック機能によって捕捉される
と)呼出される。ここでは、スクリプトライタは単に既
に活動している窓に入るだけの画面カーソルには関心は
なく、従って本方法は段階501においてウィンドウズ
メッセージを単に目標応用へ通過させることを“許容”
し、戻すだけである。詳述すれば、画面カーソルは既に
活動中の窓へ入りつつあるのであるから、この時点にお
いてはスクリプトライタは特定のCBT生成メッセージ
または他の介在を望んでおらず、従ってWM SETCURSOR
メッセージは通過することを許されるのである。
【0035】この例の説明を続行する。スクリプトライ
タは活動窓を去るカーソルの事象に関心があってトラッ
プすべきであることを指定することができる。カーソル
は単に活動窓へ再び入るだけではないから(段階501
が NO )、カーソルが去りつつある窓はその事象を通告
されるべきである。CBTシステムはこの動作を以下の
ようにしてメッセージエンジンへ通告する。先ず段階5
02において、この事象が出現した窓に関する情報がC
++対象(これは後述する EventInfoクラス階層から導出
される)内にカプセル封じされる。段階503におい
て、この情報対象及び“MouseLeave”メッセージが先行
(出発した)窓へディスパッチされ、このメッセージは
“通告”( NOTIFY )メッセージと表示される。好まし
い実施例では、2つの異なるクラスのメッセージ、即ち
CBT NOTIFY及び CBT CONFIRM が設けられている。マ
ウスの運動のような純粋に情報を提供するこれらのメッ
セージが CBT NOTIFYメッセージである。一方それらが
目標応用に到達する前に停止させることができる情報を
CBT CONFIRM と呼ぶ。各メッセージは応用特定ウィン
ドウズ事象としてウィンドウズに登録される。EventInf
o内に定義されている2つの方法を使用してスクリプト
320は、 CBT CONFIRM型メッセージを目標応用への
到達を許容したり、または阻止したりすることができ
る。詳述すれば、メッセージを目標応用へ通過させるこ
とを許すか否かを(スクリプト命令に基づいて)決定す
る stopMessage方法が呼出される。
【0036】段階503の後に、本方法はカーソルが新
しい窓へ入りつつあることをメッセージエンジンに警告
する諸段階へ進む。“MouseLeave”メッセージを送るの
と同様に、本方法は先ず段階504において EventInfo
対象を作成する。次に段階505において、 CBT NOTI
FY型の“MouseEnter”メッセージをその事象に関する情
報( EventInfo対象)と共に応用へディスパッチする。
段階506において、活動窓フラグがセットされる。こ
のフラグは、マウスカーソルが活動窓へ入りつつあるか
否かを決定するために段階501において読取られるフ
ラグである。最後に本方法は、段階507においてその
メッセージを応用へ通過させる(即ち、メッセージを
“許容”する)ことによって終了する。本方法の終了時
に、EventInfo 対象のためのメモリを(例えば、手動ま
たは自動不要部分整理技術を使用して)回復させること
ができる。上記方法をC++プログラミング言語で実現す
る例を以下に示す。
【0037】
【表4】
【0038】ここに、pEntryは更新される記録 CbtEntr
y を指し示すポインタである。この記録はフックされた
タスク(フックされた応用)及び現在活動中の窓へのハ
ンドルを含む。
【0039】
【表5】
【0040】上表に示されているように、メタメッセー
ジは、より高いレベル(例えば、活動窓のステータス)
における事象を追跡するために、それ自体のデータ構造
を維持することができる。一方 DispatchToCbt機能は、
プロセスの2つの半分と見ると好都合である。即ち、メ
ッセージエンジンはコールバック機能をATUに登録す
る。動作のプロセスは以下の通りである。ATU側で
は、ATUは DispatchCBTMessage 方法へ特定応用を識
別するためのタスクハンドルを渡す。システムは多数の
応用を処理するから、この機構は異なる応用(及びそれ
らのインスタンス)を区別するのに役立つ。
【0041】
【表6】
【0042】このようにしてATUは、目標応用によっ
て事象を濾過またはグループ化し、その事象をメタメッ
セージとして他のCBT成分へ通信する。図6の段階4
40が完了した時には、ATUはCBTメッセージ、そ
の型、及び EventInfo対象をメッセージエンジン350
へディスパッチし終わっており、それによってトラップ
した事象を完全に通信している。しかしながら全ての事
象に関心がある訳ではない。従って、関心がある事象だ
けに作用するように事象を濾過すべきである。段階45
0において、メッセージエンジンは、CBTメッセージ
と既知事象ハンドラとを比較することによってこのタス
クを遂行する。換言すれば、エンジンは関心のあるCB
Tメッセージ、即ちその事象に対して定義されたハンド
ラを有するメッセージをディスパッチすることを企て
る。このように、メッセージエンジン側では、メッセー
ジエンジンはそのテーブル内のどの入力がそのタスクに
対応するかを決定する。
【0043】
【表7】
【0044】特に図7に基づいてこのプロセスを説明す
る。メッセージエンジンは、例えばTargetApplication
ハンドラ451、TargetWindowハンドラ453、顧客ハ
ンドラ455、省略時ハンドラ457を含む複数のメッ
セージハンドラ(他のハンドラ例は表14に示す)を介
してCBTメッセージを濾過する。関心CBTメッセー
ジは特定のハンドラへ渡される。表14に示すように、
各メッセージは特定のメッセージハンドラクラスに属
し、情報を提供するメッセージ( CBT NOTIFY )である
か、または阻止可能なメッセージ( CBT CONFIRM ) の
何れかである。例えば、“mouseEnter”メッセージは T
argetWindow ハンドラクラスに属し、従ってこのメッセ
ージは TargetWindow ハンドラ453によって処理され
る。一方スプレッドシート目標応用からの SS EDITCE
LLメッセージのような応用特定事象は、典型的には Tar
getApplicationハンドラ451に渡される。最後に、ハ
ンドラを有していないメッセージ、即ちスクリプトライ
タが特定の関心を持たないメッセージは省略時ハンドラ
(例えば、無視、破棄、その他所望の省略時動作を呼出
すハンドラ)に渡すことができ、従ってスクリプトライ
タは関心メッセージのためのハンドラ方法を列挙するだ
けでよい。
【0045】もしハンドラと整合すれば、そのメッセー
ジはディスパッチされる。即ち、ハンドラはそのメッセ
ージの特性及び付属 EventInfo対象を抽出する。例えば
TargetWindow ハンドラクラスのメッセージの場合、使
用可能な対象特性は、 1)名前:制御の表題列、 2)クラス:制御のウィンドウズクラス、 3)ID:制御の資源ID、 4)スタイル:制御のスタイルフラグ、 5)可能化:制御が使用可能か否か、 6)位置:制御の座標、及び 7)EventInfo :もしあれば、現 EventInfo対象、 を含む。種々のメッセージハンドラクラスに使用可能な
別の特性例を表15に示す。幾つかの事象ハンドラを定
義する代替として、より好ましい実施例は2つの基本的
事象ハンドラ、即ち応用リンクハンドラ及び窓リンクハ
ンドラだけを提供する。各ハンドラは渡される各メッセ
ージに適切に応答するためのハンドラ方法を有する対象
である。メッセージエンジンが遂行するルックアップ
(即ち通告または確認( CONFIRM ) )に基づいて、応用
リンクハンドラは(例えば)以下のようにしてディスパ
ッチを遂行することができる。
【0046】
【表8】
【0047】ここでは、doDispatch−方法が直接スクリ
プトエンジンと通信している。スクリプトエンジンは活
動スクリプト内に定義されているスクリプト対象に従っ
て応答する。例えばある事象が許容されているか否かを
指定する stopMessage方法を呼出すことによって、事象
を目標応用に到達させないように停止させることができ
る。しかしながら殆どの場合、スクリプトライタは単に
省略時(その事象を単純に目標応用へ通り抜けさせるべ
きこと)を指定するだけであろう。スクリプトライタ
は、種々の関心事象を処理するための方法を与えること
も、またはCBTシステムによって定義されている省略
時方法に頼ることもできる。動作中にCBTメッセージ
は対象に渡される。各対象は(その方法定義を介して)
どのメッセージに関心があるかを知ること、及びどのよ
うにして各関心メッセージを処理すべきかに関して責を
負う。例えば目標応用において、もしスクリプトライタ
はその応用のリストボックスまでの窓リンクをフックす
るのであれば、スクリプトライタはそのリストボックス
の事象を処理する(CBTメッセージによって通信され
たものとして)方法を与えるべきである。図9は、メッ
セージをディスパッチする総合的な方法を要約したもの
である。本発明の doDISPATCH 方法520においては、
CBTメッセージがメッセージエンジンに到達し、以下
のように処理される。先ず段階521において、メッセ
ージと応用リンクハンドラとの突き合わせが試みられ
る。もし突き合わせが不成功であれば(段階522にお
いて NO )、メッセージは単なる“通過”(即ち未処理
のままか、または省略時ハンドラによって処理)とされ
るだけである。そうでなければ(段階522において Y
ES)、段階523においてメッセージエンジンはCBT
メッセージを( EventoInfo 対象と共に)識別された応
用リンクハンドラへ送る。
【0048】段階524において、応用リンクハンドラ
は EventoInfo を調べて、それを登録された窓リンクと
突き合わせる。もしこの段階が不成功であれば(段階5
25において NO )、その事象を処理するために段階5
26において省略時ハンドラが割当てられる。段階52
7において、メッセージは窓リンクハンドラへ転送され
る。段階528において、窓リンクハンドラはそのメッ
セージをスクリプトエンジンへディスパッチする。この
点においてスクリプトエンジンは、その既知の予約語の
集合内へメッセージを写像することによってその事象を
識別する。段階529において、スクリプトエンジンは
スクリプトの命令に従ってメッセージを処理する(即
ち、整合予約語の使用によって指示されるようなスクリ
プトライタが望む動作を遂行する)。この段階が完了し
た時には本方法はメタメッセージを成功裏にディスパッ
チしており、そのメッセージに応答した適切な動作が遂
行されている。 2.CBTレッスンの作成 教材を設計する時にCBTスクリプトライタは、視覚外
観と、教材の流れとを表す“ストーリーボード”を作成
する。このストーリーボードがCBTレッスンスクリプ
トの基礎になる。CBTスクリプトは、メッセージ処理
及び対象向きの両機能を含む単純な言語で書かれる。各
レッスンスクリプトはシーンの収集として編成され、各
シーンはレッスンの特定点において遂行される動作を記
述している。例えば、あるシーンは、目標応用内で特定
メニュー項目が選択された時、ある文章を含む窓を表示
するようにCBTシステムに命令することができる。レ
ッスンスクリプトが進行するにつれて、新しいシーンを
遂行することができる。このプロセスは、ユーザがCB
Tから出ることを選択するか、またはレッスンが終了す
るまで続行される。
【0049】目標応用を制御するために、CBTシステ
ムはその応用に関する全てのウィンドウズ事象を横取り
し、それらをCBTメッセージに翻訳する。これらのメ
ッセージは、あるシーン内に定義されている対応メッセ
ージハンドラをトリガする。メッセージハンドラがトリ
ガされると、そのスクリプトが実行される。各シーン内
には、関心のある応用内の各UI制御毎にメッセージハ
ンドラが定義されている。例えば、スクリプト内のボタ
ンクリックに応答するために以下のハンドラが定義され
ている。
【0050】
【表9】
【0051】この仮説シーンは、目標応用内のUI制御
にリンクされる TargetButton 対象を作成し、UI制御
資源IDは120である。次に、buttonClick メッセー
ジのために TargetButton 対象からメッセージハンドラ
が定義される。このメッセージを受信すると、スクリプ
トエンジンは新しいシーン(シーン2)を遂行する。従
って命令文表10
【0052】
【表10】
【0053】は広域対象“theCBTLesson”(CBTレッ
スン対象)の遂行方法を呼出す。ユーザ動作を制御する
ことに加えてCBTレッスンは、適切なメッセージを送
ることによって目標応用を自主的に駆動する。代替とし
て、後刻再生するために事象のシーケンスを(例えば、
MSレコーダに類似のツールを使用して)記録すること
ができる。スクリプトは、目標応用にその現特性を問合
わせることもできる。もし窓リンクが例えばあるボタン
に対して確立されていれば、スクリプトはそのボタン
に、その大きさ、その表題等のようなその特性を問合わ
せることができる。特性を問合わせる能力が、事象及び
それらのメッセージの処理には無関係に動作することに
注目されたい。別の例として、目標応用自体は対話ボッ
クスの全てのボタンを列挙するように依頼されることも
できる。スクリプトは、選択された資源の変更を含む照
会された情報に作用することができる。このようにする
と、目標応用の資源を動的に変化させることが可能とな
り、それによって代替ユーザインタフェースを有する目
標応用(オンザフライ変更可能なUI成分を有する目標
応用)が得られる。
【0054】表16は、本発明のCBTシステムを動作
させるためのスクリプト統語論及び方法論を示す原始リ
ストである。 3.多重応用レッスン 図5に示すように、本発明のシステムは1またはそれ以
上の応用360と共に動作する。詳述すれば、本発明に
よれば、単一のスクリプト320は複数の応用を同時に
制御するだけではなく、複数の応用間の対話を制御する
ためにも使用することができる。スクリプトは、例えば
ワードプロセッサから文章を切取ってそれをデータベー
ス応用に貼付けるというような、応用間の切り貼り動作
をユーザに教えるために与えることができる。即ち、C
BTシステム130はある応用に境界を定められている
のではなく、むしろ応用間の対話及びシステムの動作の
両者または何れか一方を含む複数の応用の制御が可能
な、また必要に応じて付加的な応用に着手することさえ
可能な完全サブシステムなのである。 4.事象情報( EventoInfo )対象 特定の事象に関する情報を記憶する EventoInfo 対象を
図10の EventoInfoクラス550に例示する。図10
は EventoInfo 継承樹木を示し、各クラスの特性をリス
トしている。 EventoInfo クラス階層550は、種々の
標準CBTメッセージに関する状態情報を含む9つの導
出された EventoInfo クラスを含む。この階層の根は E
ventoInfo ベースクラス551である。好ましい実施例
では、このクラスは以下のC++クラス定義を用いて構成
することができる。
【0055】
【表11】
【0056】上表に示すように EventoInfo クラス55
1は、ウィンドウズ名及びそのクラス、その資源ID、
そのウィンドウズスタイル、及びそのメッセージが許容
されているか否か(スクリプト320に従って)へのア
クセスを与える。EventoInfoクラス551から導出され
ているのは、他の EventoInfo クラスのための純粋な仮
想ベースクラスである WindowInfo クラス552であ
る。このサブクラスは、ベースクラス551によって与
えられた同一の4つの情報片を提供する。更に所与の窓
ハンドルのために、この対象は窓の名前、クラス、I
D、及びスタイルを抽出するであろう。このクラスは以
下のC++クラス定義を用いて構成することができる。
【0057】
【表12】
【0058】ウィンドウイング情報に加えて、他の事
象、特にマウス及びキーボード事象にも関心がある。こ
れらの他の事象には WindowInfo クラス552のサブク
ラスを介してアクセス可能である。詳述すれば、 Windo
wInfo クラスは5つのサブクラス、即ち WinHelpInfoク
ラス561、WinPositionInfo クラス563、WinShowI
nfo クラス565、WinSelectInfo クラス567、及び
KeyboardInfo クラス569を伴う。図示のように、援
助文章、窓位置、メニュー情報、キーボード事象等にア
クセスするために、対象をこれらのサブクラスに列挙す
ることができる。例えば WinHelpInfoは WinHelpエンジ
ンからCBTに送られる文章を含む。この文章は、実行
されるか、または単に文章の列であるスクリプト命令文
のシーケンスであることができる。WinPosition は窓の
座標を与える。WinShowInfo はウィンドウズ ShowWindo
w ( ) 機能に対応する SWP フラグを含む。WinSelectI
nfoは選択されたメニュー、即ち制御窓項目の名前を含
む。KeyboardInfoは押下されたキー、並びに < ALT >、
< SHIFT > 、または < CTRL > キーも押下されているか
否かを指示する何等かのフラグを含む。2つのクラス、
即ち WinPositionInfoクラス563及び WinSelectInfo
クラス567は付加的なサブクラスを伴う。図示のよう
に、 WinPositionInfoクラス563から導出される Mou
seInfoクラス571はマウス事象への直接アクセスを提
供し、クリックされたマウスボタン、及びそれが単一の
クリックであったかまたは二重クリックであったか、並
びにマウスの位置を含む。一方 WinSelectInfoクラス5
67は、MenuInfoクラス573及び ListInfo クラス5
75を伴う。MenuInfoクラス573は、メニュー項目が
グレー化されているかまたは強調表示されているか等を
指示するメニューIDフラグ及びメニューフラグへのア
クセスを提供し、 ListInfo クラス575は、もしリス
トが文章を含んでいなければ重要となる選択された項目
の索引を提供する。
【0059】5.情報連続体 図11−12は、援助及び教材を提供するための本発明
の改良されたインタフェース及び方法を示す。図11に
示すように、モニタ装置106はGUI窓165を表示
し、この窓165内には種々の画面対象が含まれてい
る。これらの画面対象の多くは、ユーザがそれらに関し
て何も知らないかも知れない。例えば、窓165は“ツ
ールバー”618を含み、ツールバー618自体は複数
の画面ボタンを含む。図5に関して説明したように、C
BTシステム300は、目標応用のインタフェースとと
もに同時に表示することができるCBT UI成分であ
る1またはそれ以上のCBT対象(例えば、図5の窓対
象370)を含む。従って、CBTシステムが1または
複数の目標応用のインタフェースを保存している間は、
スクリプトライタは彼等自身のUI成分を用いてインタ
フェースを拡張することもできる。更に、これらの成分
は、公知のDDL技術(DDL技術の詳細に関しては、
前記 Microsoft Windows SDKを参照されたい)を使用し
て、スクリプトライタ自身のライブラリをシステムに動
的にリンクできるように完全に拡張可能である。
【0060】好ましい実施例では、画面カーソル185
を目標応用内の関心画面対象に接近させると、情報連続
体窓対象またはインタフェース600が出現するように
なっている。この動作は、カーソルが関心画面対象から
最小距離に接近した時にトリガするのように、自動的に
トリガすることができる。代替として、インタフェース
600はユーザ事象に応答して出現させてもよい。好ま
しい実施例の情報連続体インタフェースは、<シフト>
右マウスボタンクリック動作に応答してトリガされる。
呼出されると、インタフェース600は関心対象(即
ち、カーソル185に最も近い画面対象)に関する援助
情報検査を提供する。インタフェース600自体は、種
々の援助成分を含む窓対象である。即ち、インタフェー
ス600は、表題601、マルチメディア対象603、
記述フィールド605、教材対象607、及び援助対象
609を含む。これらに関して以下に順番に説明する。
表題601は、現在どの援助情報(例えば“脚注援
助”)を検査中であるかを記述する短い文章列である。
記述フィールド605は、援助情報を望んでいる現画面
対象を理解するのにユーザを支援する文章及び図形の両
方または何れか一方の援助情報を提供する。一方マルチ
メディア対象603は画像対象に望まれる何等かのマル
チメディアデータを含む。例えば、マルチメディア対象
603は、現画像対象をどのように使用するかを示す短
いフィルムクリップを上映することができる。
【0061】インタフェース600は、教材モジュール
及び援助モジュールへのリンクをも含む。即ち教材成分
607は、現在関心を寄せている画面対象に関する全教
材を始動させるためにユーザによって(例えば、マウス
クリックによって)トリガすることができる。一方援助
成分609を呼出すと、インタフェース600は検査中
の現対象に関する援助リンクを表示する。このように、
ユーザは現対象に関する情報階層を迅速に通り抜けるこ
とができる。総じて、インタフェース600は現在ユー
ザが関心を寄せている全ての援助情報及び教材情報へ即
座に、且つ自動的にアクセスする情報連続体を提供する
のである。図12は、本発明による情報検査方法620
を示す流れ図である。段階621において援助のトリガ
を待機する事象ループが確立される。好ましい実施例で
はユーザ事象がトリガとして使用される。代替として、
例えば関心対象に向かうカーソルの運動に応答して自動
的にこの段階をトリガすることもできる。段階622に
おいて、関心画面対象(典型的には図11のカーソル1
85に最も近い対象)が、公知の技術(例えばカーソル
185のプリセットされたヒット半径以内)を使用して
識別される。段階623においては、モードまたは非モ
ードの何れであっても差し支えない(システム設計者の
希望による)情報連続体ボックスを表示する。段階62
4では、ユーザは援助連続体または階層の他の成分を通
ることができる。ユーザは例えば位置決め装置(図1の
装置105)を使用して、段階625においてはマルチ
メディア対象を、段階626においては教材を、また段
階627においては別の援助情報を呼出すことができ
る。情報連続体対話から出ると、本方法は終了するか、
または段階621の事象ループへ再び入ることができ
る。
【0062】以上に単独の好ましい実施例と若干の代替
とを参照して本発明をある程度詳細に説明したが、上述
した特定実施例または特定代替によって本発明を限定す
る意図はない。例えば、上述した EventoInfo クラス階
層550はマイクロソフトウィンドウズ環境に関連して
いるが、当業者ならば個々のクラスが例えば OS/2 、Ne
xtStep、X-Windows 等を含む他のプラットフォームに適
用可能であることが理解されよう。更にクラス階層は、
仮想的に定義される方法の使用を介して、特定応用環境
に合わせるための拡張可能性を含む。クラスは、例えば
特定のスプレッドシート事象を処理するスプレッドシー
トのために定義することが可能である。スプレッドシー
ト事象の広義クラスから、ユーザ活動の特定の型を処理
するためのサブタイプを導出することができる。例えば
クラスは、セルの編集、セルのフォーマット化、セルの
削除、等々のような活動を含むスプレッドシート“セ
ル”事象のために定義することができる。以上のよう
に、本発明の真の範囲は上記実施例の何れにも限定され
ず、特許請求の範囲によって限定されるものである。
【0063】
【表13】表13 CBTメッセージの例 1)menuSelect: −ある項目がプルダウンメニュー内で強調表示されてい
る時に送られる。 −WM MENUSELECT 事象を翻訳。 2)menuChhoose: −ある項目がメニューバーから選択された時に送られ
る。 −メニュー項目によって生じたWM COMMAND を翻訳。 3)windowActivate: −ある窓が活動になろうとしている時に送られる。 −CBTフック内のHCBT MOVE事象を翻訳。 4)windowMove: −ある窓が移動しようとしている時に送られる。 −CBTフック内のHCBT MOVE事象を翻訳。 5)windowShow: −ある窓が最小化、最大化、または復元されようとして
いる時に送られる。
【0064】 −CBTフック内のHCBT MINMAX事象を翻訳。 6)windowClose: −ある窓が閉じようとしている時に送られる。 −WM CLOSE 事象を翻訳。 7)mouseEnter: −ある窓にマウスポインタが入ると送られる。 −WM SETFOCUS事象中にヒット試験を遂行。 8)mouseLeave: −ある窓にマウスポインタが去る時に送られる。 −mouseEnterメッセージと同時に生成される。これは先
行mouseEnterメッセージを受けた窓へディスパッチされ
る。 9)mouseClick: −マウスボタンがクリックまたは二重クリックされると
送られる。 −WM {NC}{L,R }BUTTONDOWN及びBUTTONDBLCLK事象
を翻訳。 10)anyEvent: −他の何等かのCBTメッセージを受けたが対応するス
クリプトモジュールが定義されていない時に送られる。
これは各ハンドラ毎の省略時メッセージである・・・ 11)applicationClose: −その応用が終了しようとしている時に送られる。
【0065】−WM CLOSE 事象を翻訳。 12)winHelpMessage: −Windows 3.1 援助エンジンが情報をCBTシステムに
送ると送られる。 −このメッセージはwinHelp がメッセージエンジン内の
共用機能を呼出すと生成される。 13)editEnter: −Editbox が入力フォーカスを受けようとしている時に
送られる。 −CBTフック内のHCBT SETFOCUS事象を翻訳。 14)editLeave: −Editbox が入力フォーカスを失おうとしている時に送
られる。 −CBTフック内のHCBT SETFOCUS事象を翻訳。 15)editChar: −各キーストロークがEditbox 内にタイプされる毎に送
られる。 −WM CHAR事象を翻訳。 16)listboxEnter: −Listbox が入力フォーカスを受けようとしている時に
送られる。
【0066】 −CBTフック内のHCBT SETFOCUS事象を翻訳。 17)listboxLeave: −Listbox が入力フォーカスを失おうとしている時に送
られる。 −CBTフック内のHCBT SETFOCUS事象を翻訳。 18)listboxSelect: −Listbox 内の項目が選択された時に送られる。 −wParam=LBN SELCHANGE の場合WM COMMAND 事象を翻
訳。 19)listboxDblClick: −Listbox 内の項目が二重クリックされると送られる。 −Listbox 内のWM LBUTTONDBLCLK 事象を翻訳。 20)comboEnter: −Comboboxが入力フォーカスを受けようとしている時に
送られる。 −CBTフック内のHCBT SETFOCUS事象を翻訳。 21)comboLeave: −Comboboxが入力フォーカスを失おうとしている時に送
られる。
【0067】 −CBTフック内のHCBT SETFOCUS事象を翻訳。 22)comboChar: −各キーストロークがCombobox内に入る毎に送られる。 −WM CHAR事象を翻訳。 23)comboSelect: −Combobox内の項目が選択されると送られる。 −wParam=CBN SELCHANGE の場合WM COMMAND 事象を翻
訳。 24)comboDblClick: −Combobox内の項目が二重クリックされると送られる。 −Combobox内のWM LBUTTONDBLCLK 事象を翻訳。 25)buttonEnter: −あるボタンが入力フォーカスを受けようとしている時
に送られる。 −CBTフック内のHCBT SETFOCUS事象を翻訳。 26)buttonLeave: −あるボタンが入力フォーカスを失おうとしている時に
送られる。
【0068】 −CBTフック内のHCBT SETFOCUS事象を翻訳。 27)buttonClick: −あるボタンがクリックされると送られる。 −wParam=BN CLICKEDの場合WM COMMAND 事象を翻訳。 28)scrollEnter: −スクロールバーが入力フォーカスを受けようとしてい
る時に送られる。 −CBTフック内のHCBT SETFOCUS事象を翻訳。 29)scrollLeave: −スクロールバーが入力フォーカスを失おうとしている
時に送られる。 −CBTフック内のHCBT SETFOCUS事象を翻訳。
【0069】
【表14】 表14. CBTメッセージハンドラの例 ───────────────────────────────── メッセージ ハンドラ メッセージ名 メッセージ型 事象情報の型 クラス ───────────────────────────────── 目標窓: -menuSelect 通告 MenuInfo -menuChoose 確認 MenuInfo -windowActive 確認 WindowInfo -windowMove 確認 WinPositionInfo -windowShow 確認 WinShowInfo -windowClose 確認 windowInfo -mouseEnter 通告 MouseInfo -mouseLeave 通告 MouseInfo -mouseClick 確認 MouseInfo -anyEvent 確認 WindowInfo ───────────────────────────────── 目標応用: -applicationClose 確認 WindowInfo ───────────────────────────────── TargetWinHelp : -winHelpMessage 通告 WinHelpInfo ───────────────────────────────── TargetEditbox : -editEnter 確認 WindowInfo -editLeave 確認 WindowInfo -editChar 確認 KeyboardInfo ───────────────────────────────── TargetListbox : -listboxEnter 確認 WindowInfo -listboxLeave 確認 WindowInfo -listboxSelect 通告 ListInfo -listboxDblClick 確認 ListInfo ───────────────────────────────── TargetComboBox : -comboEnter 確認 WindowInfo -comboLeave 確認 WindowInfo -comboChar 確認 KeyboardInfo -comboSelect 通告 ListInfo -comboDblClick 確認 ListInfo ───────────────────────────────── TargetButton : -buttonEnter 確認 WindowInfo -buttonLeave 確認 WindowInfo -buttonClick 確認 WindowInfo ───────────────────────────────── TargetScrollbar : -scrollEnter 確認 WindowInfo -scrollLeave 確認 WindowInfo ─────────────────────────────────
【0070】
【表15】 表15. メッセージハンドラの特性 ──────────────────────────────────── メッセージ ハンドラ 特性名 記 述 クラス ──────────────────────────────────── 目標窓: −名前 制御の表題列。 −クラス 制御のウィンドウズクラス。 −ID 制御の資源ID。 −スタイル 制御のスタイルフラグ。 −可能化 制御は使用可能か否か。 −位置 制御の座標。 −事象情報 現事象情報対象(もしあれば)。 ──────────────────────────────────── 目標応用 −見せ方 応用をどのように表示するか。 ──────────────────────────────────── TargetWinHelp −文章 WinHelp から/へ送られる文章。 ──────────────────────────────────── TargetEditbox −編集文章 Editbox 内に収容されている文章。 ──────────────────────────────────── TargetListbox −選択索引 Listbox 内の選択された項目の索引。
【0071】 −選択例 Listbox 内の現在選択されている索引。 これは Listboxが列を収容している場合 にのみ有効。 ──────────────────────────────────── ComboBox −編集文章 Combobox編集フィールド内に収容されて いる文章。 −選択索引 Comboboxリスト内の選択された項目の索 引。 −選択文章 Combobox内の現在選択されている索引。 これはComboboxが列を収容している場合 にのみ有効。 ──────────────────────────────────── TargetScrollbar −スクロール スクロールバー親指の現位置 値 ────────────────────────────────────
【0072】
【表16】
【0073】
【表17】
【0074】
【表18】
【0075】
【表19】
【図面の簡単な説明】
【図1】本発明を実施することが可能なコンピュータシ
ステムのブロック線図である。
【図2】オペレーティングシステム、応用ソフトウェ
ア、及びユーザインタフェース成分を含む本発明のソフ
トウェアシステムのブロック線図である。
【図3】本発明を実施することが可能な図形ユーザイン
タフェースの基本アーキテクチャ及び機能性を示すビッ
トマップスクリーンショットである。
【図4】従来のモーダルアーキテクチャの動作と事象駆
動アーキテクチャの動作とを対比させるための流れ図対
である。
【図5】本発明のコンピュータベース訓練(CBT)シ
ステムのブロック線図である。
【図6】図5のCBTシステムを動作させるための本発
明の方法を示す流れ図である。
【図7】図6の方法のフック、ディスパッチャ、及びハ
ンドラの動作を示す流れ図である。
【図8】事象情報( EventoInfo ) 対象を含む本発明の
事象ハンドラ例の動作を示す流れ図である。
【図9】メタメッセージをディスパッチするための本発
明の方法を示す流れ図である。
【図10】図8の EventoInfo 対象のための基礎構造を
示すクラス階層図である。
【図11】本発明の情報連続体インタフェースを示すス
クリーンショットビットマップである。
【図12】図11の情報連続体インタフェースを使用し
て情報を検査するための本発明の方法を示す流れ図であ
る。
【符号の説明】
100 コンピュータシステム 101 中央プロセッサ 102 主メモリ 103 入力/出力コントローラ 104 キーボード 105 位置決め装置 106 表示装置 107 大容量記憶装置 108 印刷装置 110 システムバス 120 コンピュータソフトウェアシステム 125 応用ソフトウェア 130 CBTシステム 140 オペレーティングシステム 145 ウィンドウズ応用ソフトウェア 150 ウィンドウズシェル 160 ユーザインタフェース(UI) 161 ウィンドウズインタフェース(作業領域) 165 図形UI窓 170 メニューバー 180 依頼者領域 181 図形対象 182 文章対象 185 画面カーソル(ポインタ) 200 モードプログラム 250 事象駆動アーキテクチャ 300 コンピュータベース訓練(CBT)システム 310 システムメッセージ 320 CBTスクリプト 330 スクリプトエンジン 340 応用翻訳ユニット(ATU) 350 メッセージエンジン 360 目標応用 370 CBT窓対象 380 ダイナミックリンクライブラリ(DLL) 400 CBTシステム動作方法 430 フック 440 翻訳プログラム 450 ハンドラ 500 事象ハンドラ 520 メッセージディスパッチ方法 550 事象クラス階層 600 情報連続体窓対象 601 表題 603 マルチメディア対象 605 記述フィールド 607 教材対象 609 援助対象 618 ツールバー 620 情報検査方法
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マーク エイ ヴァーシェル アメリカ合衆国 カリフォルニア州 94303 パロ アルト キングス レーン 1475

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】 システム事象及びユーザ事象に応答して
    動作する応用ソフトウエアを含むコンピュータシステム
    において、コンピュータシステムの操作を指導する方法
    であって、 (a)上記事象を監視する段階と、 (b)事象の中の所望の事象を抽象メッセージとして報
    告する段階と、 (c)上記メッセージとスクリプトによって指示される
    命令とを比較する段階と、 (d)上記スクリプトによって指示される命令に従って
    上記応用ソフトウェアの動作を指令する段階とを具備す
    ることを特徴とする方法。
  2. 【請求項2】 (e)応用ソフトウェアの動作が終了す
    るまで段階(a)−(d)を繰り返す段階をも具備する
    請求項1に記載の方法。
  3. 【請求項3】 段階(a)が、 上記応用ソフトウェア内に少なくとも1つの事象フック
    を導入し、上記応用ソフトウェアから事象をトラップす
    る段階を含む請求項1に記載の方法。
  4. 【請求項4】 トラップした事象の中の選択された事象
    が応用ソフトウェアへ到達するのを閉塞する段階をも具
    備する請求項3に記載の方法。
  5. 【請求項5】 上記抽象メッセージが多重低レベル事象
    を表すメタメッセージである請求項1に記載の方法。
  6. 【請求項6】 上記各事象が単一のシステムメッセージ
    によって表され、段階(d)が、 少なくとも1つのシステムメッセージを上記応用ソフト
    ウェアへ送り、上記応用ソフトウエアの特定の動作を遂
    行させる段階を含む請求項1に記載の方法。
  7. 【請求項7】 上記事象が、上記応用ソフトウェア内に
    発生する非システム事象に起因する応用特定事象を含む
    請求項1に記載の方法。
  8. 【請求項8】 事象フックを導入する上記段階が、 コールバック機能を上記応用ソフトウェアに登録する副
    段階を含み、上記コールバック機能は上記応用ソフトウ
    ェアの内部事象を指示するメッセージを受信する請求項
    3に記載の方法。
  9. 【請求項9】 段階(b)が、 少なくとも1つの事象を識別する段階と、 上記識別された少なくとも1つの事象にメッセージ識別
    子を割当てる段階と、を含む請求項1に記載の方法。
  10. 【請求項10】 段階(c)が、 メッセージ識別子と事象ハンドラとを突き合わせる段階
    と、 もし整合を見出せばメッセージ識別子を用いて事象ハン
    ドラを呼出し、上記事象ハンドラはスクリプトによって
    指示される命令の中の選択された命令に従って上記選択
    された少なくとも1つの事象を処理する段階とを含む請
    求項9に記載の方法。
  11. 【請求項11】 上記スクリプトによって指示される命
    令は抽象メッセージの中の選択されたメッセージに対応
    する少なくとも1つのキーワードを含み、選択された抽
    象メッセージによって識別される事象の出現に応答して
    応用ソフトウェア内の所望の動作が遂行される請求項1
    に記載の方法。
  12. 【請求項12】 上記スクリプトによって指示される命
    令は応用ソフトウェア内の複数の事象を処理するための
    複数のキーワードを含み、応用ソフトウェアの動作が少
    なくとも部分的に上記スクリプトによって指示される命
    令のシーケンスによって指令される請求項11に記載の
    方法。
  13. 【請求項13】 上記応用ソフトウェアは、同時に動作
    する少なくとも2つの目標応用を含む請求項1に記載の
    方法。
  14. 【請求項14】 応用ソフトウェアの上記タスクは、上
    記少なくとも2つの目標応用の間に出現するユーザによ
    って指示される動作を含む請求項13に記載の方法。
  15. 【請求項15】 (a)応用ソフトウェアを操作するコ
    ンピュータと、 (b)応用ソフトウェアの事象を監視する手段と、 (c)一連の上記事象を単一のメッセージに翻訳する手
    段と、 (d)メッセージと、選択されたメッセージに応答して
    発生させた少なくとも1つの応用ソフトウェア動作を指
    定するユーザ指定命令とを比較する手段とを具備し、 (e)段階(d)においてもし整合を見出せば上記ユー
    ザ指定命令を呼出して上記少なくとも1つの動作を遂行
    させることを特徴とするコンピュータベース訓練装置。
  16. 【請求項16】 上記事象監視手段が、 上記応用ソフトウェア内にフックを導入し、応用ソフト
    ウェアの事象をトラップする手段を含む請求項15に記
    載の装置。
  17. 【請求項17】 上記フックは、システムフックの選択
    されたフック及びコールバック機能を含む請求項16に
    記載の装置。
  18. 【請求項18】 一連の事象を翻訳する上記手段が、 事象のシーケンスを関心の特定状態として識別する手段
    と、 上記状態を独自のメッセージ識別子を用いて識別する手
    段とを含む請求項15に記載の装置。
  19. 【請求項19】 上記応用ソフトウェアは、同時に動作
    する複数のソフトウェア応用を含む請求項15に記載の
    装置。
  20. 【請求項20】 上記応用ソフトウェアは、少なくとも
    1つのスプレッドシート応用プログラムと、データベー
    ス応用プログラムと、ワード処理応用プログラムとを含
    む請求項15に記載の装置。
  21. 【請求項21】 一連の事象を翻訳する上記手段が、 事象中の応用ソフトウェアの特性を表す情報を情報対象
    として記憶する手段を含む請求項15に記載の装置。
  22. 【請求項22】 上記応用ソフトウェアはウィンドウズ
    インタフェースを含み、上記特性はウィンドウズクラ
    ス、ウィンドウズ名、及び資源IDを含む請求項21に
    記載の装置。
  23. 【請求項23】 上記比較手段が、 各々が少なくとも1つの関心メッセージを処理する複数
    のメッセージハンドラと、 メッセージと単一のメッセージハンドラとを突き合わせ
    る手段とを含む請求項15に記載の装置。
  24. 【請求項24】 (a)表示装置を有するコンピュータ
    と、 (b)カーソルを表示装置上の所望の位置に位置決めす
    る入力装置と、 (c)ユーザによって作成された少なくとも1つの対象
    を表示画面上に表示する手段と、 (d)もし上記カーソルが上記少なくとも1つの表示画
    面対象から所定の距離内にあれば上記入力装置からの信
    号に応答する成分を含み、上記少なくとも1つの表示画
    面対象に特定された対話手段を表示画面上に表示する手
    段とを具備することを特徴とするコンピュータ援助装
    置。
  25. 【請求項25】 対話手段を表示する上記手段は、カー
    ソルが上記少なくとも1つの表示画面対象から所定の距
    離内に位置決めされれば、上記対話手段を自動的に表示
    させるトリガ手段を含む請求項24に記載の装置。
  26. 【請求項26】 対話手段を表示する上記手段は、カー
    ソルが上記少なくとも1つの表示画面対象から所定の距
    離内に位置決めされ、且つ情報に対する要求がユーザか
    ら受信された時に限って、上記対話手段を表示させるト
    リガ手段を含む請求項24に記載の装置。
  27. 【請求項27】 上記情報に対する要求は、上記カーソ
    ル位置決め装置によって生成される少なくとも1つの信
    号を含む請求項26に記載の装置。
  28. 【請求項28】 キーボード装置をも具備し、上記入力
    装置が2ボタン式のマウス装置であり、上記情報に対す
    る要求がキーボード装置及びマウス装置の両者からの信
    号からなる請求項27に記載の装置。
  29. 【請求項29】 上記情報に対する要求は、マウス装置
    によって生成される右マウスボタン押下信号と、キーボ
    ード装置によって生成されるシフトキー信号とを含む請
    求項28に記載の装置。
  30. 【請求項30】 上記少なくとも1つの対象が、文章対
    象及び図形対象から選択される請求項24に記載の装
    置。
JP5274481A 1992-11-02 1993-11-02 コンピュータベース訓練装置及び方法 Pending JPH06222897A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/970724 1992-11-02
US07/970,724 US5432940A (en) 1992-11-02 1992-11-02 System and methods for improved computer-based training

Publications (1)

Publication Number Publication Date
JPH06222897A true JPH06222897A (ja) 1994-08-12

Family

ID=25517404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5274481A Pending JPH06222897A (ja) 1992-11-02 1993-11-02 コンピュータベース訓練装置及び方法

Country Status (4)

Country Link
US (4) US5432940A (ja)
EP (1) EP0602790A3 (ja)
JP (1) JPH06222897A (ja)
CA (1) CA2107499A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007171970A (ja) * 2005-12-21 2007-07-05 Internatl Business Mach Corp <Ibm> 方法、システム、コンピュータ・プログラム製品(ワーク・エンベディッドeラーニングのためのワーク・コンテキスト検索文字列)

Families Citing this family (367)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131070B1 (en) * 1999-05-13 2006-10-31 Ricoh Company, Ltd. Application unit monitoring and reporting system and method
US5432940A (en) * 1992-11-02 1995-07-11 Borland International, Inc. System and methods for improved computer-based training
CA2123924A1 (en) * 1993-06-02 1994-12-03 Charles Douglas Blewett Specifying contexts in callback style programming
JP3185505B2 (ja) * 1993-12-24 2001-07-11 株式会社日立製作所 会議録作成支援装置
US6151610A (en) * 1993-12-27 2000-11-21 Digital Equipment Corporation Document display system using a scripting language having container variables setting document attributes
JP3910221B2 (ja) * 1993-12-28 2007-04-25 株式会社日立製作所 オブジェクト指向データベース管理システム及び方法
US5408408A (en) * 1994-02-22 1995-04-18 Marsico, Jr.; Michael Apparatus and method for electronically tracking and duplicating user input to an interactive electronic device
JPH07244644A (ja) * 1994-03-04 1995-09-19 Mitsubishi Electric Corp エージェント管理システム
DE4416704A1 (de) * 1994-05-11 1995-11-16 Siemens Ag Integrationstestverfahren für ein objektorientiertes Programm
US6404433B1 (en) * 1994-05-16 2002-06-11 Apple Computer, Inc. Data-driven layout engine
CA2151102C (en) * 1994-06-07 2004-07-20 Thomas Gerard Marsh Computer based training system
US5600579A (en) * 1994-07-08 1997-02-04 Apple Computer, Inc. Hardware simulation and design verification system and method
US5581684A (en) * 1994-08-01 1996-12-03 Ddtec Sa Application-external help system for a windowing user interface
JPH0863346A (ja) * 1994-08-25 1996-03-08 Canon Inc プログラム編集方法とその装置
JPH09506457A (ja) * 1994-09-21 1997-06-24 ウォング・ラボラトリーズ・インコーポレーテッド アプリケーション・プログラム間のデータを統合するマネージング・リンクのためのリンク・マネジャ
JP3434038B2 (ja) * 1994-09-22 2003-08-04 株式会社日立製作所 ネットワ−ク構築支援システム
US5812436A (en) * 1994-10-20 1998-09-22 Tandem Computers Incorporated Method and apparatus for testing and analyzing the conformance of a proposed set of requirements for a proposed network management application
US5715373A (en) * 1994-10-20 1998-02-03 Tandem Computers Incorporated Method and apparatus for preparing a suite of test scripts for testing a proposed network management application
US5721847A (en) * 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
JPH08137647A (ja) * 1994-11-07 1996-05-31 Fujitsu Ltd 操作案内情報再生方法および操作案内情報再生装置並びにマルチメディア情報再生方法およびマルチメディア情報再生装置
EP0712080B1 (en) * 1994-11-14 2002-03-06 Sun Microsystems, Inc. A method and a system for controlling functions of a target application using controllable objects
EP0713178A1 (en) * 1994-11-17 1996-05-22 Texas Instruments Incorporated Object oriented event notification system
US5590330A (en) * 1994-12-13 1996-12-31 International Business Machines Corporation Method and system for providing a testing facility in a program development tool
US5570281A (en) * 1995-01-31 1996-10-29 International Business Machine Corporation Method and system for facilitating visual connections between objects using handles
US5745767A (en) * 1995-03-28 1998-04-28 Microsoft Corporation Method and system for testing the interoperability of application programs
US5835749A (en) * 1995-05-05 1998-11-10 Apple Computer, Inc. Method and apparatus for providing dynamically linked libraries
US6182056B1 (en) 1995-05-22 2001-01-30 Gte Data Services Incorporated Method of modeling complex navigational logic in a client/server environment
US5712972A (en) * 1995-06-07 1998-01-27 Sony Corporation Identification of faults in data paths and functional units of a central processing unit by a systematic execution of test instructions
US5983001A (en) * 1995-08-30 1999-11-09 Sun Microsystems, Inc. Method and system for facilitating the automatic creation of test scripts
US5657252A (en) * 1995-09-29 1997-08-12 Motorola, Inc. Dynamically configurable equipment integration architecture
US6067639A (en) 1995-11-09 2000-05-23 Microsoft Corporation Method for integrating automated software testing with software development
US6167534A (en) * 1995-11-24 2000-12-26 Rational Software Corporation Load test system and method
US6356886B1 (en) * 1995-11-30 2002-03-12 Electronic Data Systems Corporation Apparatus and method for communicating with a knowledge base
US5802284A (en) * 1995-12-13 1998-09-01 Silicon Graphics, Inc. System and method using cover bundles to provide immediate feedback to a user in an interactive television environment
US5870731A (en) * 1996-01-25 1999-02-09 Intellectum Plus Inc. Adaptive problem solving method and system
US5974372A (en) * 1996-02-12 1999-10-26 Dst Systems, Inc. Graphical user interface (GUI) language translator
US5825356A (en) * 1996-03-18 1998-10-20 Wall Data Incorporated Help system with semitransparent window for disabling controls
US6535713B1 (en) * 1996-05-09 2003-03-18 Verizon Services Corp. Interactive training application
US5963938A (en) * 1996-05-17 1999-10-05 Novell Inc. Automatic, context-organizing, query interface
US5815654A (en) * 1996-05-20 1998-09-29 Chrysler Corporation Method for determining software reliability
US5754760A (en) * 1996-05-30 1998-05-19 Integrity Qa Software, Inc. Automatic software testing tool
US6021403A (en) * 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US5823781A (en) * 1996-07-29 1998-10-20 Electronic Data Systems Coporation Electronic mentor training system and method
US6279017B1 (en) * 1996-08-07 2001-08-21 Randall C. Walker Method and apparatus for displaying text based upon attributes found within the text
WO1998007087A1 (en) * 1996-08-13 1998-02-19 North Robert W Method and apparatus for efficient text entry and editing
US5961610A (en) * 1996-08-13 1999-10-05 General Electric Company Systems, methods and apparatus for generating and controlling display of medical images
US6353822B1 (en) * 1996-08-22 2002-03-05 Massachusetts Institute Of Technology Program-listing appendix
US5892949A (en) * 1996-08-30 1999-04-06 Schlumberger Technologies, Inc. ATE test programming architecture
US6020886A (en) * 1996-09-04 2000-02-01 International Business Machines Corporation Method and apparatus for generating animated help demonstrations
US5959633A (en) * 1996-10-04 1999-09-28 Micrografx, Inc. Method and system for producing graphical images
US5983016A (en) * 1996-11-12 1999-11-09 International Business Machines Corporation Execution engine in an object modeling tool
US5923325A (en) * 1996-11-14 1999-07-13 International Business Machines Corporation System and method for enhancing conveyed user information relating to symbols in a graphical user interface
EP0951706A4 (en) * 1996-12-03 2000-02-23 Ergolight Ltd COMPUTERIZED DEVICE AND METHOD FOR IDENTIFYING USEFUL PROBLEMS OF A COMPUTED SYSTEM
IL119746A (en) * 1996-12-03 2000-06-01 Ergolight Ltd Computerized apparatus and methods for identifying usability problems of a computerized system
DE19650293C1 (de) * 1996-12-04 1998-04-09 Siemens Ag Verfahren zum Testen von Systemkomponenten eines objektorientierten Programms
GB2320593A (en) * 1996-12-20 1998-06-24 Honeywell Oy Multi-language computer system
US5933139A (en) 1997-01-31 1999-08-03 Microsoft Corporation Method and apparatus for creating help functions
US5909215A (en) * 1997-02-10 1999-06-01 International Business Machines Corporation Method and apparatus to intercept and process error messages in a data processing system
US5859637A (en) * 1997-02-13 1999-01-12 International Business Machines Corporation Non-programming method and apparatus for creating wizards with a script
US6263376B1 (en) 1997-02-24 2001-07-17 Novell, Inc. Generic run-time binding interpreter
US6353923B1 (en) 1997-03-12 2002-03-05 Microsoft Corporation Active debugging environment for debugging mixed-language scripting code
US6275868B1 (en) * 1997-03-12 2001-08-14 Microsoft Corporation Script Engine interface for multiple languages
US5966691A (en) * 1997-04-29 1999-10-12 Matsushita Electric Industrial Co., Ltd. Message assembler using pseudo randomly chosen words in finite state slots
US5990884A (en) * 1997-05-02 1999-11-23 Sony Corporation Control of multimedia information with interface specification stored on multimedia component
US6677960B1 (en) * 1997-05-07 2004-01-13 Unisys Corporation User assistance for heterogeneous data processing systems
US6038596A (en) * 1997-05-23 2000-03-14 International Business Machines Corporation Method and system in a network for decreasing performance degradation triggered by multiple user redundant input events
US5877757A (en) * 1997-05-23 1999-03-02 International Business Machines Corporation Method and system for providing user help information in network applications
US6026233A (en) * 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
US6421738B1 (en) * 1997-07-15 2002-07-16 Microsoft Corporation Method and system for capturing and encoding full-screen video graphics
US6314470B1 (en) * 1997-07-25 2001-11-06 Hewlett Packard Company System and method for asynchronously accessing a graphics system for graphics application evaluation and control
JP3714378B2 (ja) * 1997-07-31 2005-11-09 セイコーエプソン株式会社 機器のセットアップ支援装置、機器のセットアップ支援方法および機器のセットアップ支援プログラムを記録した媒体
US6177941B1 (en) * 1997-08-25 2001-01-23 International Business Machine Corporation Representative mapping between toolbars and menu bar pulldowns
US5991537A (en) * 1997-09-16 1999-11-23 The United States Of America As Represented By The Secretary Of The Navy VXI test executive
US6005568A (en) * 1997-09-30 1999-12-21 The United States Of America As Represented By The Secretary Of The Navy Computer system providing platform independent universal client device
US6078321A (en) * 1997-09-30 2000-06-20 The United States Of America As Represented By The Secretary Of The Navy Universal client device for interconnecting and operating any two computers
US6002871A (en) * 1997-10-27 1999-12-14 Unisys Corporation Multi-user application program testing tool
US6026237A (en) * 1997-11-03 2000-02-15 International Business Machines Corporation System and method for dynamic modification of class files
US6046741A (en) * 1997-11-21 2000-04-04 Hewlett-Packard Company Visual command sequence desktop agent
US6620204B1 (en) * 1997-11-25 2003-09-16 International Business Machines Corporation Automated HTML test page and test data generation for javascript objects
US6446120B1 (en) * 1997-11-26 2002-09-03 International Business Machines Corporation Configurable stresser for a web server
US6286131B1 (en) * 1997-12-03 2001-09-04 Microsoft Corporation Debugging tool for linguistic applications
US6058414A (en) * 1998-01-07 2000-05-02 International Business Machines Corporation System and method for dynamic resource access in an asymmetric resource multiple processor computer system
JPH11242547A (ja) * 1998-02-26 1999-09-07 Nec Corp コンピュータユーザ支援システム
US6862030B1 (en) * 1998-02-28 2005-03-01 Agilent Technologies, Inc. Method for showing the execution trail of objects in a graphical programming language
US6434532B2 (en) 1998-03-12 2002-08-13 Aladdin Knowledge Systems, Ltd. Interactive customer support for computer programs using network connection of user machine
US6405159B2 (en) * 1998-06-03 2002-06-11 Sbc Technology Resources, Inc. Method for categorizing, describing and modeling types of system users
US6298446B1 (en) * 1998-06-14 2001-10-02 Alchemedia Ltd. Method and system for copyright protection of digital images transmitted over networks
IL124895A0 (en) 1998-06-14 1999-01-26 Csafe Ltd Methods and apparatus for preventing reuse of text images and software transmitted via networks
US6304982B1 (en) * 1998-07-14 2001-10-16 Autodesk, Inc. Network distributed automated testing system
DE19834426A1 (de) * 1998-07-30 2000-02-03 Siemens Ag Schaltungsanordnung und Verfahren zum Erstellen von Anreizen
US6269460B1 (en) 1998-09-01 2001-07-31 International Business Machines Corporation Dynamic enhancement of error condition handling and displayed error messages in computer operations
US6192512B1 (en) * 1998-09-24 2001-02-20 International Business Machines Corporation Interpreter with virtualized interface
US6526523B1 (en) * 1998-10-27 2003-02-25 Microsoft Corporation Kernel streaming test method and system
FR2785412B1 (fr) * 1998-10-30 2001-08-24 Bull Sa Creation dynamique de classes d'objets
US6502233B1 (en) * 1998-11-13 2002-12-31 Microsoft Corporation Automated help system for reference information
US6311320B1 (en) 1998-12-07 2001-10-30 Lsi Logic Corporation Alterable scripting tool and method
US9123380B2 (en) 1998-12-18 2015-09-01 Gvbb Holdings S.A.R.L. Systems, methods, and computer program products for automated real-time execution of live inserts of repurposed stored content distribution, and multiple aspect ratio automated simulcast production
US6452612B1 (en) * 1998-12-18 2002-09-17 Parkervision, Inc. Real time video production system and method
US20020054244A1 (en) * 2000-03-31 2002-05-09 Alex Holtz Method, system and computer program product for full news integration and automation in a real time video production environment
US20040027368A1 (en) * 2002-05-09 2004-02-12 Parkervision, Inc. Time sheet for real time video production system and method
US6339436B1 (en) * 1998-12-18 2002-01-15 International Business Machines Corporation User defined dynamic help
US6909874B2 (en) * 2000-04-12 2005-06-21 Thomson Licensing Sa. Interactive tutorial method, system, and computer program product for real time media production
US6952221B1 (en) 1998-12-18 2005-10-04 Thomson Licensing S.A. System and method for real time video production and distribution
US20030214605A1 (en) * 1998-12-18 2003-11-20 Snyder Robert J. Autokeying method, system, and computer program product
US8560951B1 (en) 1998-12-18 2013-10-15 Thomson Licensing System and method for real time video production and distribution
US7024677B1 (en) 1998-12-18 2006-04-04 Thomson Licensing System and method for real time video production and multicasting
US7835920B2 (en) * 1998-12-18 2010-11-16 Thomson Licensing Director interface for production automation control
US20030001880A1 (en) * 2001-04-18 2003-01-02 Parkervision, Inc. Method, system, and computer program product for producing and distributing enhanced media
US11109114B2 (en) * 2001-04-18 2021-08-31 Grass Valley Canada Advertisement management method, system, and computer program product
US6018732A (en) * 1998-12-22 2000-01-25 Ac Properties B.V. System, method and article of manufacture for a runtime program regression analysis tool for a simulation engine
US6501488B2 (en) * 1998-12-30 2002-12-31 Intel Corporation System and method for managing a plurality of associated windows for an application
US7047232B1 (en) * 1999-01-13 2006-05-16 Ab Initio Software Corporation Parallelizing applications of script-driven tools
US6434738B1 (en) * 1999-04-22 2002-08-13 David Arnow System and method for testing computer software
US6340977B1 (en) * 1999-05-07 2002-01-22 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US7224790B1 (en) 1999-05-27 2007-05-29 Sbc Technology Resources, Inc. Method to identify and categorize customer's goals and behaviors within a customer service center environment
US7086007B1 (en) 1999-05-27 2006-08-01 Sbc Technology Resources, Inc. Method for integrating user models to interface design
US6560655B1 (en) * 1999-06-22 2003-05-06 Microsoft Corporation Synchronization manager for standardized synchronization of separate programs
US6463521B1 (en) * 1999-06-23 2002-10-08 Sun Microsystems, Inc. Opcode numbering for meta-data encoding
US6708324B1 (en) * 1999-06-24 2004-03-16 Cisco Technology, Inc. Extensible automated testing software
US6560644B1 (en) * 1999-09-15 2003-05-06 Cisco Technology, Inc. Directory services network management locator
US6546547B1 (en) * 1999-09-22 2003-04-08 Cisco Technology, Inc. Method and system for an automated net booting tool
US6438512B1 (en) 1999-09-28 2002-08-20 Convergys Cmg Utah, Inc. System and method for performance monitoring of application code
US20020005865A1 (en) * 1999-12-17 2002-01-17 Barbara Hayes-Roth System, method, and device for authoring content for interactive agents
US6833847B1 (en) 1999-12-21 2004-12-21 International Business Machines Corporation Visual wizard launch pad
US6931629B1 (en) * 1999-12-30 2005-08-16 Intel Corporation Method and apparatus for generation of validation tests
US7721006B2 (en) * 1999-12-30 2010-05-18 Bally Gaming, Inc. Meta-message set with real-time and database aspects
US6625648B1 (en) * 2000-01-07 2003-09-23 Netiq Corporation Methods, systems and computer program products for network performance testing through active endpoint pair based testing and passive application monitoring
US7185279B2 (en) * 2000-01-07 2007-02-27 Master Mine Software, Inc. Data mining and reporting
CA2297994A1 (en) * 2000-02-04 2001-08-04 Ibm Canada Limited-Ibm Canada Limitee Automated testing computer system components
US6778643B1 (en) 2000-03-21 2004-08-17 Sbc Technology Resources, Inc. Interface and method of designing an interface
US20040006473A1 (en) 2002-07-02 2004-01-08 Sbc Technology Resources, Inc. Method and system for automated categorization of statements
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
US6687834B1 (en) 2000-04-14 2004-02-03 International Business Machines Corporation Data processing system, method and program for generating a job within an automated test environment
US6959433B1 (en) 2000-04-14 2005-10-25 International Business Machines Corporation Data processing system, method, and program for automatically testing software applications
US7043546B2 (en) * 2000-04-28 2006-05-09 Agilent Technologies, Inc. System for recording, editing and playing back web-based transactions using a web browser and HTML
US20040205406A1 (en) * 2000-05-12 2004-10-14 Marappa Kaliappan Automatic test system for testing remote target applications on a communication network
US7127704B2 (en) * 2000-06-02 2006-10-24 Sun Microsystems, Inc. Interactive software engineering tool with support for embedded lexical contexts
US7712024B2 (en) 2000-06-06 2010-05-04 Microsoft Corporation Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US7770102B1 (en) 2000-06-06 2010-08-03 Microsoft Corporation Method and system for semantically labeling strings and providing actions based on semantically labeled strings
US7421645B2 (en) 2000-06-06 2008-09-02 Microsoft Corporation Method and system for providing electronic commerce actions based on semantically labeled strings
US7788602B2 (en) * 2000-06-06 2010-08-31 Microsoft Corporation Method and system for providing restricted actions for recognized semantic categories
US7716163B2 (en) 2000-06-06 2010-05-11 Microsoft Corporation Method and system for defining semantic categories and actions
GB2365155A (en) * 2000-07-24 2002-02-13 Motorola Inc Generation of test scripts from a system specification model
US8490134B2 (en) 2000-08-14 2013-07-16 Cumnor Technologies Llc Displaying advertising in an electronic program guide
US7568157B1 (en) * 2000-08-24 2009-07-28 Orr Joseph K Screen book maker
US6665734B1 (en) 2000-09-21 2003-12-16 International Business Machines Corporation Blending object-oriented objects with traditional programming languages
US6668370B1 (en) 2000-09-21 2003-12-23 International Business Machines Corporation Synchronous execution of object-oriented scripts and procedural code from within an interactive test facility
US6968540B2 (en) 2000-10-25 2005-11-22 Opnet Technologies Inc. Software instrumentation method and apparatus
FR2816728B1 (fr) * 2000-11-14 2003-09-12 Evidian Outil d'assistance pour le parametrage de logiciels
US6772411B2 (en) * 2000-12-01 2004-08-03 Bmc Software, Inc. Software performance and management system
US7325049B2 (en) * 2000-12-29 2008-01-29 Intel Corporation Alert management messaging
US6766475B2 (en) 2001-01-04 2004-07-20 International Business Machines Corporation Method and apparatus for exercising an unknown program with a graphical user interface
US20020091968A1 (en) * 2001-01-08 2002-07-11 Donald Moreaux Object-oriented data driven software GUI automated test harness
US20020175916A1 (en) * 2001-04-16 2002-11-28 Nichols Michael R. Method for presenting circular dialog windows
WO2002084472A1 (en) * 2001-04-16 2002-10-24 Corporate Media Partners D/B/A Americast Method for presenting circular dialog windows
US7007244B2 (en) * 2001-04-20 2006-02-28 Microsoft Corporation Method and system for displaying categorized information on a user interface
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
WO2002086710A2 (en) * 2001-04-24 2002-10-31 Wvhtc Foundation Software suitability testing system
US7073136B2 (en) * 2001-05-22 2006-07-04 Sun Microsystems, Inc. Method for keystroke delivery to descendants of inactive windows
US20030028498A1 (en) * 2001-06-07 2003-02-06 Barbara Hayes-Roth Customizable expert agent
US20030009740A1 (en) * 2001-06-11 2003-01-09 Esoftbank (Beijing) Software Systems Co., Ltd. Dual & parallel software development model
US8291434B1 (en) * 2001-06-13 2012-10-16 Digi International Inc. Computer system and method to dispatch and receive a message responsive to the occurrence of an event
AU2002329611A1 (en) * 2001-07-20 2003-03-03 Altaworks Corporation System and method for adaptive threshold determination for performance metrics
US7065201B2 (en) * 2001-07-31 2006-06-20 Sbc Technology Resources, Inc. Telephone call processing in an interactive voice response call management system
US6928638B2 (en) * 2001-08-07 2005-08-09 Intel Corporation Tool for generating a re-generative functional test
US6973643B2 (en) * 2001-08-17 2005-12-06 International Business Machines Corporation Method, system and program for handling errors occurring in function calls
US20050246390A1 (en) * 2001-08-24 2005-11-03 House Richard W Enterprise test data management system utilizing automatically created test data structures and related methods
US7219034B2 (en) 2001-09-13 2007-05-15 Opnet Technologies, Inc. System and methods for display of time-series data distribution
US6961873B2 (en) * 2001-09-14 2005-11-01 Siemens Communications, Inc. Environment based data driven automated test engine for GUI applications
US7526498B2 (en) 2001-09-14 2009-04-28 Siemens Communications, Inc. Method for generating data structures for automatically testing GUI applications
US6948152B2 (en) * 2001-09-14 2005-09-20 Siemens Communications, Inc. Data structures for use with environment based data driven automated test engine for GUI applications
US6724399B1 (en) * 2001-09-28 2004-04-20 Siebel Systems, Inc. Methods and apparatus for enabling keyboard accelerators in applications implemented via a browser
US7117479B2 (en) * 2001-10-01 2006-10-03 Sun Microsystems, Inc. Language-sensitive whitespace adjustment in a software engineering tool
US20030070142A1 (en) * 2001-10-10 2003-04-10 International Business Machines Corporation Self-contained validation of data model object content
US20030097649A1 (en) * 2001-10-31 2003-05-22 Terrence Jones Embedded language interpretation for configuration of fixturing applications
US20030093433A1 (en) * 2001-11-14 2003-05-15 Exegesys, Inc. Method and system for software application development and customizible runtime environment
US7356773B1 (en) 2001-12-27 2008-04-08 Expertune, Inc. Wizard builder, for application software, building a setup wizard which sets up a defacto interface between the application program and monitoring or control equipment
US7305070B2 (en) * 2002-01-30 2007-12-04 At&T Labs, Inc. Sequential presentation of long instructions in an interactive voice response system
US20030182408A1 (en) * 2002-02-15 2003-09-25 Qinglong Hu Load test system for a server and method of use
US6914975B2 (en) 2002-02-21 2005-07-05 Sbc Properties, L.P. Interactive dialog-based training method
US20040064530A1 (en) * 2002-09-30 2004-04-01 Microsoft Corporation Accessibility system events mechanism and method
US7035753B2 (en) * 2002-03-20 2006-04-25 Infineon Technologies Ag Method and apparatus for placing an integrated circuit into a default mode of operation
US7149759B2 (en) 2002-03-25 2006-12-12 International Business Machines Corporation Method and system for detecting conflicts in replicated data in a database network
US20030184294A1 (en) * 2002-04-01 2003-10-02 Boskamp Eddy Benjamin Multiple channel, neuro vascular array coil for magnetic resonance imaging
US7010782B2 (en) 2002-04-04 2006-03-07 Sapphire Infotech, Inc. Interactive automatic-test GUI for testing devices and equipment using shell-level, CLI, and SNMP commands
US7117484B2 (en) * 2002-04-16 2006-10-03 International Business Machines Corporation Recursive use of model based test generation for middleware validation
US6898764B2 (en) 2002-04-29 2005-05-24 International Business Machines Corporation Method, system and program product for determining differences between an existing graphical user interface (GUI) mapping file and a current GUI
US7325194B2 (en) 2002-05-07 2008-01-29 Microsoft Corporation Method, system, and apparatus for converting numbers between measurement systems based upon semantically labeled strings
US20040194088A1 (en) * 2002-05-08 2004-09-30 Jin-Rwei Chen Network device management
US7707496B1 (en) 2002-05-09 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting dates between calendars and languages based upon semantically labeled strings
US7110924B2 (en) * 2002-05-15 2006-09-19 Caterpillar Inc. Method for controlling the performance of a target system
US6687485B2 (en) 2002-05-21 2004-02-03 Thinksmark Performance Systems Llc System and method for providing help/training content for a web-based application
US7742048B1 (en) 2002-05-23 2010-06-22 Microsoft Corporation Method, system, and apparatus for converting numbers based upon semantically labeled strings
US7707024B2 (en) 2002-05-23 2010-04-27 Microsoft Corporation Method, system, and apparatus for converting currency values based upon semantically labeled strings
US7281245B2 (en) * 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7827546B1 (en) 2002-06-05 2010-11-02 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
US7356537B2 (en) 2002-06-06 2008-04-08 Microsoft Corporation Providing contextually sensitive tools and help content in computer-generated documents
US7716676B2 (en) 2002-06-25 2010-05-11 Microsoft Corporation System and method for issuing a message to a program
US7392479B2 (en) 2002-06-27 2008-06-24 Microsoft Corporation System and method for providing namespace related information
US20040003374A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Efficient computation of character offsets for token-oriented representation of program code
US7386834B2 (en) * 2002-06-28 2008-06-10 Sun Microsystems, Inc. Undo/redo technique for token-oriented representation of program code
US20040003373A1 (en) * 2002-06-28 2004-01-01 Van De Vanter Michael L. Token-oriented representation of program code with support for textual editing thereof
US7209915B1 (en) 2002-06-28 2007-04-24 Microsoft Corporation Method, system and apparatus for routing a query to one or more providers
US20040046792A1 (en) * 2002-09-09 2004-03-11 Knowledge Impact, Inc. Application training simulation system and methods
US20040061714A1 (en) * 2002-09-30 2004-04-01 Microsoft Corporation Logical element tree and method
US7334219B2 (en) * 2002-09-30 2008-02-19 Ensco, Inc. Method and system for object level software testing
US7353521B1 (en) 2002-10-19 2008-04-01 Borland Software Corporation Object oriented distributed software system with methodology for piggybacked reflective callbacks
US20040086833A1 (en) * 2002-10-31 2004-05-06 Daniel Goldberg System and method for authoring cognitive learning course
US7490031B1 (en) 2002-12-03 2009-02-10 Gang Qiu Mechanization of modeling, simulation, amplification, and intelligence of software
US7730461B2 (en) * 2002-12-30 2010-06-01 International Business Machines Corporation Software tool configured to generate test cases characterized by a linear range of integral values
US7421683B2 (en) * 2003-01-28 2008-09-02 Newmerix Corp£ Method for the use of information in an auxiliary data system in relation to automated testing of graphical user interface based applications
US7783614B2 (en) * 2003-02-13 2010-08-24 Microsoft Corporation Linking elements of a document to corresponding fields, queries and/or procedures in a database
US7191172B2 (en) * 2003-03-25 2007-03-13 International Business Machines Corporation Fuzzy location of a testable object in a functional testing tool
US7711550B1 (en) 2003-04-29 2010-05-04 Microsoft Corporation Methods and system for recognizing names in a computer-generated document and for providing helpful actions associated with recognized names
US20040225997A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Efficient computation of line information in a token-oriented representation of program code
US20040225998A1 (en) * 2003-05-06 2004-11-11 Sun Microsystems, Inc. Undo/Redo technique with computed of line information in a token-oriented representation of program code
US7558841B2 (en) 2003-05-14 2009-07-07 Microsoft Corporation Method, system, and computer-readable medium for communicating results to a data query in a computer network
US7644367B2 (en) 2003-05-16 2010-01-05 Microsoft Corporation User interface automation framework classes and interfaces
US8127252B2 (en) * 2003-11-07 2012-02-28 Microsoft Corporation Method and system for presenting user interface (UI) information
US20040250155A1 (en) * 2003-05-19 2004-12-09 Stefan Weichselbaum Aspect based recovery system and method
US20040233236A1 (en) * 2003-05-24 2004-11-25 Yang Dennis Woojun Apparatus and method for generating application programming interface
US7613953B2 (en) * 2003-05-27 2009-11-03 Oracle International Corporation Method of converting a regression test script of an automated testing tool into a function
US7512039B1 (en) * 2003-05-27 2009-03-31 Oracle International Corporation Method for enhancing functionality of an automated testing tool
US7739588B2 (en) 2003-06-27 2010-06-15 Microsoft Corporation Leveraging markup language data for semantically labeling text strings and data and for providing actions based on semantically labeled text strings and data
GB0315193D0 (en) * 2003-06-28 2003-08-06 Ibm System and method for user interface automation
US7840943B2 (en) * 2003-08-08 2010-11-23 Oracle America, Inc. Method and apparatus for transferring data in a distributed testing system
SE0302227L (sv) * 2003-08-15 2004-12-28 Anette Bergstroem Metod och arrangemang för att spåra utförda operationer vid användning av dataprogram
US7346838B2 (en) * 2003-09-25 2008-03-18 Hewlett-Packard Development Company, L.P. System and method for displaying document metadata
US7870504B1 (en) 2003-10-01 2011-01-11 TestPlant Inc. Method for monitoring a graphical user interface on a second computer display from a first computer
US7178102B1 (en) 2003-12-09 2007-02-13 Microsoft Corporation Representing latent data in an extensible markup language document
US7434157B2 (en) 2003-12-09 2008-10-07 Microsoft Corporation Programmable object model for namespace or schema library support in a software application
US7487515B1 (en) 2003-12-09 2009-02-03 Microsoft Corporation Programmable object model for extensible markup language schema validation
US7404195B1 (en) 2003-12-09 2008-07-22 Microsoft Corporation Programmable object model for extensible markup language markup in an application
US7665068B2 (en) * 2003-12-12 2010-02-16 Oracle International Corporation Methods and systems for testing software applications
US7027586B2 (en) 2003-12-18 2006-04-11 Sbc Knowledge Ventures, L.P. Intelligently routing customer communications
CA2454290C (en) * 2003-12-29 2013-05-21 Ibm Canada Limited-Ibm Canada Limitee Graphical user interface (gui) script generation and documentation
US20050147946A1 (en) * 2003-12-31 2005-07-07 Shankar Ramamurthy Automatic object generation and user interface identification
US20050166177A1 (en) * 2004-01-27 2005-07-28 Ylian Saint-Hilaire Thread module chaining
US7509573B1 (en) 2004-02-17 2009-03-24 Microsoft Corporation Anti-virus security information in an extensible markup language document
US7398469B2 (en) * 2004-03-12 2008-07-08 United Parcel Of America, Inc. Automated test system for testing an application running in a windows-based environment and related methods
US7810070B2 (en) * 2004-03-29 2010-10-05 Sas Institute Inc. System and method for software testing
US20050223359A1 (en) * 2004-03-30 2005-10-06 Rao Nagaraju Kodalapura N Techniques for multi-core debugging
US20050234708A1 (en) * 2004-04-19 2005-10-20 Nuvotec, Inc. Notation enabling all activity between a system and a user to be defined, and methods for using the same
US7913231B2 (en) * 2004-05-11 2011-03-22 Sap Ag Testing pattern-based applications
US7392506B2 (en) * 2004-07-29 2008-06-24 International Business Machines Corporation Method, system and article of manufacture for testing a software application having a text-based screen with a test tool for a software application having a graphical user interface which uses objects
US20060085698A1 (en) * 2004-10-15 2006-04-20 Microsoft Corporation Synchronization mechanism for tools that drive UI-based applications
US20060100973A1 (en) * 2004-10-21 2006-05-11 Microsoft Corporation Real-time localized resource extraction
US7818755B1 (en) * 2004-12-22 2010-10-19 Apple Inc. Window server event taps
US20060228690A1 (en) * 2005-04-08 2006-10-12 Microsoft Corporation Smart buttons: training tracker and motivator
US7260498B2 (en) * 2005-06-17 2007-08-21 Dade Behring Inc. Context-specific electronic performance support
US9183752B2 (en) * 2005-07-14 2015-11-10 Red Hat, Inc. Tutorial generator with automatic capture of screenshots
US20070061780A1 (en) * 2005-08-29 2007-03-15 Microsoft Corporation Enterprise resource planning system test framework
US7788590B2 (en) 2005-09-26 2010-08-31 Microsoft Corporation Lightweight reference user interface
US7992085B2 (en) 2005-09-26 2011-08-02 Microsoft Corporation Lightweight reference user interface
US20070101196A1 (en) * 2005-11-01 2007-05-03 Rogers William A Functional testing and verification of software application
US7533339B2 (en) * 2005-12-29 2009-05-12 Sap Ag System and method for providing user help
US7526722B2 (en) * 2005-12-29 2009-04-28 Sap Ag System and method for providing user help according to user category
US9489290B1 (en) 2005-12-30 2016-11-08 The Mathworks, Inc. Scheduling tests based on a valuation system
US7979798B2 (en) * 2005-12-30 2011-07-12 Sap Ag System and method for providing user help tips
US20070177179A1 (en) * 2006-01-31 2007-08-02 Brother Kogyo Kabushiki Kaisha Print Processing System, Information Processing Apparatus and Computer Usable Medium
US7810156B2 (en) * 2006-04-20 2010-10-05 Agiliance Inc. Automated evidence gathering
US7757121B1 (en) * 2006-04-21 2010-07-13 Cydone Solutions Inc. Requirement driven interoperability/compliance testing systems and methods
US7529977B2 (en) * 2006-05-31 2009-05-05 Microsoft Corporation Automated extensible user interface testing
US7900089B2 (en) * 2006-06-12 2011-03-01 International Business Machines Corporation Method for creating error tolerant and adaptive graphical user interface test automation
US7752501B2 (en) * 2006-07-27 2010-07-06 International Business Machines Corporation Dynamic generation and implementation of globalization verification testing for user interface controls
US7913229B2 (en) * 2006-09-18 2011-03-22 Sas Institute Inc. Computer-implemented system for generating automated tests from a web application
WO2008045117A1 (en) * 2006-10-06 2008-04-17 Nielsen Media Research, Inc. Methods and apparatus to analyze computer software
US8239831B2 (en) * 2006-10-11 2012-08-07 Micro Focus (Ip) Limited Visual interface for automated software testing
US7895576B2 (en) * 2006-11-10 2011-02-22 International Business Machines Corporation Method for automating internationalization software testing
US7840948B2 (en) * 2006-11-21 2010-11-23 International Business Machines Corporation Automation of keyboard accessibility testing
US20080166686A1 (en) * 2007-01-04 2008-07-10 Cristopher Cook Dashboard for monitoring a child's interaction with a network-based educational system
US8312495B2 (en) * 2007-01-05 2012-11-13 Verizon Patent And Licensing Inc. Apparatus for remotely controlling set-top boxes and an associated method and computer program product
US7516042B2 (en) * 2007-01-11 2009-04-07 Microsoft Corporation Load test load modeling based on rates of user operations
KR20080073480A (ko) * 2007-02-06 2008-08-11 삼성전자주식회사 플랫케이블 및 이를 갖는 전자장치
US7917897B2 (en) * 2007-02-16 2011-03-29 International Business Machines Corporation Defect resolution methodology and target assessment process with a software system
US7783927B2 (en) * 2007-03-09 2010-08-24 International Business Machines Corporation Intelligent processing tools
US8201150B2 (en) * 2007-03-20 2012-06-12 International Business Machines Corporation Evaluating software test coverage
US8296732B2 (en) * 2007-03-23 2012-10-23 Sas Institute Inc. Computer-implemented systems and methods for analyzing product configuration and data
US20080244062A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Scenario based performance testing
US8255883B2 (en) * 2007-04-20 2012-08-28 Microsoft Corporation Translating late bound LINQ expressions into database queries
US8037039B2 (en) * 2007-04-20 2011-10-11 Microsoft Corporation Runtime class database operation
US20080270885A1 (en) * 2007-04-26 2008-10-30 Kristin Petersen Method and Apparatus for Displaying Sorted Test Data Entries
US20080270401A1 (en) * 2007-04-26 2008-10-30 Kristin Petersen Method and Apparatus for Displaying Sorted Test Data Entries
US20080276260A1 (en) * 2007-05-03 2008-11-06 Microsoft Corporation Adaptive User Interface Verification
US8006231B2 (en) * 2007-06-26 2011-08-23 International Business Machines Corporation Apparatus and method to automate the testing of a graphical user interface
US8087001B2 (en) * 2007-06-29 2011-12-27 Sas Institute Inc. Computer-implemented systems and methods for software application testing
US20090081628A1 (en) * 2007-09-24 2009-03-26 Roy Leban System and method for creating a lesson
US20090094614A1 (en) * 2007-10-05 2009-04-09 Microsoft Corporation Direct synchronous input
US9449524B2 (en) * 2010-11-05 2016-09-20 International Business Machines Corporation Dynamic role-based instructional symbiont for software application instructional support
US20090132994A1 (en) * 2007-11-16 2009-05-21 Microsoft Corporation Automation tool and method for generating test code
US8683438B2 (en) * 2007-11-28 2014-03-25 International Business Machines Corporation System, computer program product and method for comparative debugging
WO2009083004A2 (de) * 2007-12-28 2009-07-09 Peter Krumhauer Eteacher - elektronischer lehrer zum vermitteln komplexer lerninhalte
US8856804B2 (en) 2008-02-08 2014-10-07 Microsoft Corporation Performance indicator for measuring responsiveness of user interface applications to user input
US8261238B2 (en) * 2008-03-04 2012-09-04 Microsoft Corporation Shield for user interface testing
WO2009126591A1 (en) 2008-04-07 2009-10-15 Express Mobile, Inc. Systems and methods for programming mobile devices
US8549480B2 (en) * 2008-05-13 2013-10-01 Hewlett-Packard Development Company, L.P. Maintenance for automated software testing
US20090327995A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Annotation-aided code generation in library-based replay
US8027764B2 (en) * 2008-11-21 2011-09-27 Toyota Motor Engineering & Manufacturing North America, Inc. Method and system for automatic test data generation for lookup tables
US20100153780A1 (en) * 2008-12-12 2010-06-17 Sergej Kirtkow Techniques for generating a reusable test script for a multiple user performance test
US20100180260A1 (en) * 2009-01-10 2010-07-15 TestingCzars Software Solutions Private Limited Method and system for performing an automated quality assurance testing
US8881109B1 (en) 2009-01-22 2014-11-04 Intuit Inc. Runtime documentation of software testing
US8549483B1 (en) * 2009-01-22 2013-10-01 Intuit Inc. Engine for scalable software testing
US9569231B2 (en) * 2009-02-09 2017-02-14 Kryon Systems Ltd. Device, system, and method for providing interactive guidance with execution of operations
US20100205529A1 (en) * 2009-02-09 2010-08-12 Emma Noya Butin Device, system, and method for creating interactive guidance with execution of operations
US8468499B2 (en) * 2009-03-16 2013-06-18 Ntt Docomo, Inc. Directed testing for property violations
TW201101117A (en) * 2009-06-26 2011-01-01 Ibm Handheld device, method and computer program product for user selecting control unit of application program
US9098313B2 (en) * 2009-08-24 2015-08-04 Kryon Systems Ltd. Recording display-independent computerized guidance
US8918739B2 (en) 2009-08-24 2014-12-23 Kryon Systems Ltd. Display-independent recognition of graphical user interface control
US9405558B2 (en) * 2009-08-24 2016-08-02 Kryon Systems Ltd. Display-independent computerized guidance
US8522203B1 (en) * 2009-08-28 2013-08-27 Adobe Systems Incorporated Dynamic script management
US20110076654A1 (en) * 2009-09-30 2011-03-31 Green Nigel J Methods and systems to generate personalised e-content
US8627295B2 (en) * 2009-10-09 2014-01-07 General Electric Company Methods and apparatus for testing user interfaces
GB2489354A (en) * 2009-12-01 2012-09-26 Cinnober Financial Technology Ab Methods and systems for automatic testing of a graphical user interface
US9665620B2 (en) * 2010-01-15 2017-05-30 Ab Initio Technology Llc Managing data queries
US20110214107A1 (en) * 2010-03-01 2011-09-01 Experitest, Ltd. Method and system for testing graphical user interfaces
US8694967B2 (en) * 2010-06-11 2014-04-08 Microsoft Corporation User interface inventory
US9589253B2 (en) * 2010-06-15 2017-03-07 Microsoft Technology Licensing, Llc Workflow authoring environment and runtime
US8918765B2 (en) * 2010-06-18 2014-12-23 Libera, Inc. Auto-documenting based on real-time analysis of code execution
US9495282B2 (en) * 2010-06-21 2016-11-15 Salesforce.Com, Inc. Method and systems for a dashboard testing framework in an online demand service environment
US8966447B2 (en) * 2010-06-21 2015-02-24 Apple Inc. Capturing and displaying state of automated user-level testing of a graphical user interface application
US9213625B1 (en) * 2010-07-27 2015-12-15 Intuit Inc. Method and apparatus for performing automated user-interface layout testing
US8909024B2 (en) * 2010-09-14 2014-12-09 Adobe Systems Incorporated Methods and apparatus for tutorial video enhancement
US9384408B2 (en) 2011-01-12 2016-07-05 Yahoo! Inc. Image analysis system and method using image recognition and text search
ES2707230T3 (es) * 2011-01-31 2019-04-03 Tata Consultancy Services Ltd Prueba del ciclo de vida
USD664977S1 (en) * 2011-03-10 2012-08-07 Luminate, Inc. Portion of a display screen with a graphical user interface
US9116955B2 (en) 2011-05-02 2015-08-25 Ab Initio Technology Llc Managing data queries
US8635519B2 (en) 2011-08-26 2014-01-21 Luminate, Inc. System and method for sharing content based on positional tagging
US20130086112A1 (en) 2011-10-03 2013-04-04 James R. Everingham Image browsing system and method for a digital content platform
US8737678B2 (en) 2011-10-05 2014-05-27 Luminate, Inc. Platform for providing interactive applications on a digital content platform
USD737290S1 (en) 2011-10-10 2015-08-25 Yahoo! Inc. Portion of a display screen with a graphical user interface
USD736224S1 (en) 2011-10-10 2015-08-11 Yahoo! Inc. Portion of a display screen with a graphical user interface
US8600915B2 (en) 2011-12-19 2013-12-03 Go Daddy Operating Company, LLC Systems for monitoring computer resources
US8719196B2 (en) 2011-12-19 2014-05-06 Go Daddy Operating Company, LLC Methods for monitoring computer resources using a first and second matrix, and a feature relationship tree
US8255495B1 (en) 2012-03-22 2012-08-28 Luminate, Inc. Digital image and content display systems and methods
US8234168B1 (en) 2012-04-19 2012-07-31 Luminate, Inc. Image content and quality assurance system and method
US8495489B1 (en) 2012-05-16 2013-07-23 Luminate, Inc. System and method for creating and displaying image annotations
CN103514088B (zh) * 2012-06-19 2016-05-11 珠海世纪鼎利通信科技股份有限公司 一种终端应用软件的功能回归测试方法
CA2890024A1 (en) 2012-11-30 2014-06-05 Landmark Graphics Corporation Systems and methods for reordering sequential actions
US9053238B2 (en) * 2013-01-25 2015-06-09 International Business Machines Corporation Tool-independent automated testing of software
US9465726B2 (en) * 2013-06-05 2016-10-11 Vmware, Inc. Abstract layer for automatic user interface testing
US8881111B1 (en) 2013-09-17 2014-11-04 Xamarin Inc. Testing user interface responsiveness for mobile applications
US8856748B1 (en) 2013-09-17 2014-10-07 Xamarin Inc. Mobile application testing platform
US9053435B2 (en) * 2013-09-17 2015-06-09 Xamarin Inc. Generating application models based on discovery based machine learning
US9135151B2 (en) 2013-09-18 2015-09-15 Yahoo! Inc. Automatic verification by comparing user interface images
CN105793818B (zh) 2013-12-06 2019-09-17 起元科技有限公司 源代码翻译
US10437819B2 (en) 2014-11-14 2019-10-08 Ab Initio Technology Llc Processing queries containing a union-type operation
US9740593B2 (en) 2015-01-08 2017-08-22 International Business Machines Corporation Comparative program execution through control of two or more debug sessions to automatically determine execution differences
US10417281B2 (en) 2015-02-18 2019-09-17 Ab Initio Technology Llc Querying a data source on a network
US10552203B2 (en) 2015-05-22 2020-02-04 Landmarks Graphics Corporation Systems and methods for reordering sequential actions
US11327942B2 (en) * 2015-10-08 2022-05-10 Signal Vine, Inc. Systems and methods for providing a two-way, intelligent text messaging platform
GB2547222A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
GB2547220A (en) 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
US10573193B2 (en) 2017-05-11 2020-02-25 Shadowbox, Llc Video authoring and simulation training tool
US10310961B1 (en) * 2017-11-29 2019-06-04 International Business Machines Corporation Cognitive dynamic script language builder
US20190188116A1 (en) * 2017-12-20 2019-06-20 10546658 Canada Inc. Automated software testing method and system
US11004350B2 (en) 2018-05-29 2021-05-11 Walmart Apollo, Llc Computerized training video system
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods
US11086641B2 (en) * 2019-07-30 2021-08-10 EMC IP Holding Company LLC Logging user interface activity with control placement and activity information
EP4078374B1 (en) * 2019-12-18 2023-08-30 Telefonaktiebolaget LM Ericsson (publ) A computer software module arrangement, a circuitry arrangement, an arrangement and a method for improved software execution monitoring
JP7726910B2 (ja) * 2020-11-18 2025-08-20 富士フイルム株式会社 Gui設定装置、gui設定方法、およびgui設定プログラム
KR20220139506A (ko) * 2021-04-07 2022-10-17 현대자동차주식회사 차량 내장형 영상 기록 장치의 자동 평가 장치, 그를 포함하는 자동 평가 시스템 및 그 방법
US12596531B2 (en) * 2021-05-04 2026-04-07 Wix.Com Ltd. Toolcast management system
KR20230008302A (ko) * 2021-07-06 2023-01-16 현대자동차주식회사 차량 내장형 영상 기록 장치의 평가 시스템
CN116011433A (zh) * 2021-10-22 2023-04-25 伊姆西Ip控股有限责任公司 应用测试的方法、设备和计算机程序产品
US12189489B2 (en) * 2022-07-27 2025-01-07 Dell Products L.P. Self-healing data protection system matching system attributes to relevant scripts using multiple scripts
US12164937B2 (en) * 2022-10-31 2024-12-10 Bitdrift, Inc. Systems and methods for encoding and rendering generic visualizations of a GUI of a client application
CN115952080B (zh) * 2022-12-05 2023-08-29 安芯网盾(北京)科技有限公司 一种agent极限情况稳定性测试方法及装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4622013A (en) * 1984-05-21 1986-11-11 Interactive Research Corporation Interactive software training system
US4899276A (en) * 1984-08-14 1990-02-06 International Business Machines Corporation Field-directed screen help technique
US4789962A (en) * 1984-10-31 1988-12-06 International Business Machines Corporation Methods of displaying help information nearest to an operation point at which the help information is requested
US4648062A (en) * 1985-02-01 1987-03-03 International Business Machines Corporation Method for providing an on line help facility for interactive information handling systems
US4845665A (en) * 1985-08-26 1989-07-04 International Business Machines Corp. Simulation of computer program external interfaces
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
JPH0715677B2 (ja) * 1987-06-29 1995-02-22 シャープ株式会社 文字処理装置
JPS6453219A (en) * 1987-08-24 1989-03-01 Honda Motor Co Ltd Information processing system
US4964077A (en) * 1987-10-06 1990-10-16 International Business Machines Corporation Method for automatically adjusting help information displayed in an online interactive system
US5117496A (en) * 1988-05-23 1992-05-26 Hewlett-Packard Company Method for recording and replaying mouse commands by recording the commands and the identities of elements affected by the commands
US5179654C1 (en) * 1988-07-20 2001-05-08 Ibm Help provision in a data processing system
US5317688A (en) * 1988-07-27 1994-05-31 Hewlett-Packard Company Software agent used to provide instruction to a user for a plurality of computer applications
CA1323702C (en) * 1988-07-27 1993-10-26 Ralph Thomas Watson Software agent used to provide instruction to a user for a plurality of computer applications
US5434963A (en) * 1988-09-03 1995-07-18 Hitachi, Ltd. Method and system of help-information control method and system
US5175812A (en) * 1988-11-30 1992-12-29 Hewlett-Packard Company System for providing help information during a help mode based on selected operation controls and a current-state of the system
US5155806A (en) * 1989-03-15 1992-10-13 Sun Microsystems, Inc. Method and apparatus for displaying context sensitive help information on a display
US5204968A (en) * 1989-03-27 1993-04-20 Xerox Corporation Automatic determination of operator training level for displaying appropriate operator prompts
US5239617A (en) * 1990-01-05 1993-08-24 International Business Machines Corporation Method and apparatus providing an intelligent help explanation paradigm paralleling computer user activity
US5103498A (en) * 1990-08-02 1992-04-07 Tandy Corporation Intelligent help system
KR920018571A (ko) * 1991-03-01 1992-10-22 죤 디. 크래인 합성 작동 디스플레이 시스템
US5546521A (en) * 1991-10-15 1996-08-13 International Business Machines Corporation Dynamic presentation of contextual help and status information
US5471575A (en) * 1992-01-03 1995-11-28 Home Equity Software, Inc. Interactive parameter driven iterative financial spreadsheet analysis with context and layout sensitive help screen
US5388198A (en) * 1992-04-16 1995-02-07 Symantec Corporation Proactive presentation of automating features to a computer user
US5535323A (en) * 1992-06-29 1996-07-09 Digital Equipment Corporation Method of and system for displaying context sensitive and application independent help information
US5388993A (en) * 1992-07-15 1995-02-14 International Business Machines Corporation Method of and system for demonstrating a computer program
US5432940A (en) * 1992-11-02 1995-07-11 Borland International, Inc. System and methods for improved computer-based training

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007171970A (ja) * 2005-12-21 2007-07-05 Internatl Business Mach Corp <Ibm> 方法、システム、コンピュータ・プログラム製品(ワーク・エンベディッドeラーニングのためのワーク・コンテキスト検索文字列)

Also Published As

Publication number Publication date
EP0602790A2 (en) 1994-06-22
US5790117A (en) 1998-08-04
CA2107499A1 (en) 1994-05-03
EP0602790A3 (en) 1995-11-08
US5432940A (en) 1995-07-11
US5475843A (en) 1995-12-12
US5627958A (en) 1997-05-06

Similar Documents

Publication Publication Date Title
JPH06222897A (ja) コンピュータベース訓練装置及び方法
US6226785B1 (en) Method and apparatus for storing and replaying creation history of multimedia software or other software content
US6259445B1 (en) Computer-based documentation and instruction
Cohen et al. PsyScope: An interactive graphic system for designing and controlling experiments in the psychology laboratory using Macintosh computers
US5715416A (en) User definable pictorial interface for a accessing information in an electronic file system
US5535323A (en) Method of and system for displaying context sensitive and application independent help information
US5748191A (en) Method and system for creating voice commands using an automatically maintained log interactions performed by a user
US7620895B2 (en) Systems and methods for teaching a person to interact with a computer program having a graphical user interface
EP1693747B1 (en) Discoverability of tasks using active content wizards and help files
US20050060719A1 (en) Capturing and processing user events on a computer system for recording and playback
JPH08234985A (ja) ビジュアル・アプリケーション・ビルダの枠組において代理オブジェクトを履行実行する方法およびシステム
JPH10171623A (ja) オブジェクト指向アプリケーション・プログラムを実行するための方法及びコンピュータ・システム
CA2390249A1 (en) Web-based instruction
US5604907A (en) Computer system for executing action slots including multiple action object classes
Spenke et al. An overview of GINA—the generic interactive application
Frankel et al. An on-line assistance system for the simulation model development environment
Koegel et al. Improving visual programming languages for multimedia authoring
US20030101165A1 (en) User editable help items
Sukaviriya From user interface design to the support of intelligent and adaptive interfaces: an overhaul of user interface software infrastracture
Ludewig et al. SPADES—a specification and design system and its graphical interface
Berlage et al. Framework for Graphical User Interfaces
Foxall Visual Basic 2015 in 24 hours, Sams teach yourself
Nadkarni Palm Tcl: Programming Guide and Reference
Ziegler Direct manipulation techniques for the human-computer interface
England Graphical Support for User Interface Specification