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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B19/00—Teaching not covered by other main groups of this subclass
- G09B19/0053—Computers, 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)へディスパッチする。スクリプトエ
ンジンは入力メッセージに作用する。ディスパッチされ
たメッセージが適切な(スクリプト内の命令による)動
作をトリガする。
システムを提供する。 【構成】 CBTシステムは、1以上の応用翻訳ユニッ
ト(ATU)と、メッセージエンジンと、スクリプトエ
ンジンとを有する。1以上の関心目標応用のためにAT
Uはその応用に特定の事象を処理し、事象をトラップ
し、それらをメタメッセージに翻訳して特定事象に関す
る情報をシステムへ送る。一般的なシステム事象をトラ
ップする汎用オペレーティングシステムATUも設けら
れている。翻訳済事象メッセージは事象ハンドラ(45
0)によって処理される。関心がない応用特定メッセー
ジは単純に通過させられる。個々のハンドラはメッセー
ジを、目標応用の活動を指令する命令を含むスクリプト
エンジン(320)へディスパッチする。スクリプトエ
ンジンは入力メッセージに作用する。ディスパッチされ
たメッセージが適切な(スクリプト内の命令による)動
作をトリガする。
Description
【0001】
【著作権通告】本願明細書の一部は著作権保護の対象で
ある資料を含む。著作権所有者は、特許商標局の特許フ
ァイルまたは記録に現れた特許文書または特許開示を誰
が複写再生しても異議は申し立てないが、それ以外は如
何なることに対しても全ての著作権を留保する。
ある資料を含む。著作権所有者は、特許商標局の特許フ
ァイルまたは記録に現れた特許文書または特許開示を誰
が複写再生しても異議は申し立てないが、それ以外は如
何なることに対しても全ての著作権を留保する。
【0002】
【産業上の利用分野】本発明は、一般的には、コンピュ
ータのユーザを支援する装置及び方法に関する。具体的
には、本発明は、コンピュータのユーザが所望のタスク
を遂行する際にユーザを支援するための援助及びコンピ
ュータベース訓練(CBT)システムに関する。
ータのユーザを支援する装置及び方法に関する。具体的
には、本発明は、コンピュータのユーザが所望のタスク
を遂行する際にユーザを支援するための援助及びコンピ
ュータベース訓練(CBT)システムに関する。
【0003】
【従来の技術】パーソナルコンピュータの開発と共に、
毎日の生活の中でのコンピュータシステムの使用が益々
普及してきている。例えばワードプロセッサ及びスレッ
ドシートのようなソフトウェア応用を操作することによ
って殆どの作業者は実質的な生産性利得を実現すること
ができる。実際、今日の殆どのビジネスは毎日の動作を
コンピュータに大きく頼っている。今日の典型的なコン
ピュータユーザは、コンピュータ科学の訓練、もしくは
パーソナルコンピュータの基本的使用法さえも殆ど、ま
たは全く受けていない。しかしながらコンピュータを効
率的に操作するためには、ユーザは多数のコマンド及び
データフォーマットの習熟が要求される急峻な学習曲線
を征服しなければならない。この問題への1つのアプロ
ーチは、殆ど暗号に近いユーザマニュアル(良く言って
も魅力のないオプションである)に悩まされる時間を費
やすことであるが、殆どのユーザは印刷されたマニュア
ルを放棄し、試行錯誤的学習の方を選ぶのが普通であ
る。若干のより良いマニュアルも書かれた教材を含んで
いる。これはライブまたはビデオテープ化された講義に
よって増補することができる。しかしながら、このアプ
ローチにしても時間がかかり、多くのユーザは単純にこ
れらの教材を完了するための十分な時間を見出すことが
できない。更にこのアプローチは退屈且つ不十分であ
り、多くのユーザは彼等が使用することがない特色を学
ぶために時間を浪費するようになる。そして極く僅かな
人だけが本に書かれたスクリーンショットから学習する
ことができるようになる。
毎日の生活の中でのコンピュータシステムの使用が益々
普及してきている。例えばワードプロセッサ及びスレッ
ドシートのようなソフトウェア応用を操作することによ
って殆どの作業者は実質的な生産性利得を実現すること
ができる。実際、今日の殆どのビジネスは毎日の動作を
コンピュータに大きく頼っている。今日の典型的なコン
ピュータユーザは、コンピュータ科学の訓練、もしくは
パーソナルコンピュータの基本的使用法さえも殆ど、ま
たは全く受けていない。しかしながらコンピュータを効
率的に操作するためには、ユーザは多数のコマンド及び
データフォーマットの習熟が要求される急峻な学習曲線
を征服しなければならない。この問題への1つのアプロ
ーチは、殆ど暗号に近いユーザマニュアル(良く言って
も魅力のないオプションである)に悩まされる時間を費
やすことであるが、殆どのユーザは印刷されたマニュア
ルを放棄し、試行錯誤的学習の方を選ぶのが普通であ
る。若干のより良いマニュアルも書かれた教材を含んで
いる。これはライブまたはビデオテープ化された講義に
よって増補することができる。しかしながら、このアプ
ローチにしても時間がかかり、多くのユーザは単純にこ
れらの教材を完了するための十分な時間を見出すことが
できない。更にこのアプローチは退屈且つ不十分であ
り、多くのユーザは彼等が使用することがない特色を学
ぶために時間を浪費するようになる。そして極く僅かな
人だけが本に書かれたスクリーンショットから学習する
ことができるようになる。
【0004】コンピュータ及びソフトウェア技術が進歩
するにつれて、応用ソフトウェアでさえも必ずしも容易
に使用できなくなってきている。むしろ、技術的な進歩
に伴って既存応用に一層複雑な機能を大きく取り入れる
ようになり、(アイコンのスタガリングアレイのよう
な)ユーザを呆然とさせるような複雑なユーザインタフ
ェースの使用をもたらしている。以上のように、コンピ
ュータ応用の機能性は増加し続けているが、ユーザにと
って複雑さも大きく増大している。コンピュータ支援援
助システムの開発は、コンピュータの複雑さを減少させ
ることに成功した多分最初の努力である。ある型の“援
助”機能を使用するこれらのシステムは、コンピュータ
ユーザにオンライン援助を提供する。ユーザによる(例
えば“F1”または援助キーを使用する)要求に応答し
てこれらのシステムは、コンピュータの表示画面上に文
章による援助情報を表示する。初期の援助システムは、
援助の要求を取り巻く文脈または環境には無関係に、単
に同一の(静的な)情報を表示するに過ぎなかった。そ
の後の援助システムは、“文脈感応援助”を提供するよ
うに精緻になった。つまり、ユーザが応用プロブラムの
どの特定部分または文脈にあるのか(現在実行中である
のか)を斟酌するような援助情報を提供し、現文脈また
はユーザ位置に関連する援助情報が表示されるようにな
ったのである。
するにつれて、応用ソフトウェアでさえも必ずしも容易
に使用できなくなってきている。むしろ、技術的な進歩
に伴って既存応用に一層複雑な機能を大きく取り入れる
ようになり、(アイコンのスタガリングアレイのよう
な)ユーザを呆然とさせるような複雑なユーザインタフ
ェースの使用をもたらしている。以上のように、コンピ
ュータ応用の機能性は増加し続けているが、ユーザにと
って複雑さも大きく増大している。コンピュータ支援援
助システムの開発は、コンピュータの複雑さを減少させ
ることに成功した多分最初の努力である。ある型の“援
助”機能を使用するこれらのシステムは、コンピュータ
ユーザにオンライン援助を提供する。ユーザによる(例
えば“F1”または援助キーを使用する)要求に応答し
てこれらのシステムは、コンピュータの表示画面上に文
章による援助情報を表示する。初期の援助システムは、
援助の要求を取り巻く文脈または環境には無関係に、単
に同一の(静的な)情報を表示するに過ぎなかった。そ
の後の援助システムは、“文脈感応援助”を提供するよ
うに精緻になった。つまり、ユーザが応用プロブラムの
どの特定部分または文脈にあるのか(現在実行中である
のか)を斟酌するような援助情報を提供し、現文脈また
はユーザ位置に関連する援助情報が表示されるようにな
ったのである。
【0005】援助システムの開発が進んで、人工知能技
術が適用されるようになった。例えば、合衆国特許 5,1
03,498号は、履歴待ち行列内のデータとしてどの事象
(ユーザ事象及びコンピュータ事象の両方)を記憶する
のかを決定するための監視装置を含むインテリジェント
援助システムを開示している。これらのデータ自体は知
識ベース内に記憶される。推論エンジンが知識ベースデ
ータに対して所定の規則を試験し、それによってその特
定のユーザに適切な援助を提供する。インテリジェント
援助システムは疑いもなく単なる、または文脈感応型の
援助システムを改善してはいるが、結局はユーザに対し
て援助情報だけを提供できるに過ぎない。語またはピク
チャの何れによるにしても、これらのシステムは特定の
型のタスクをどのように遂行するのかをユーザに「告げ
る」だけである。確かにユーザはそのタスクに特定の援
助情報を直ちに認識することはできるが、実際にはこの
援助情報が常にユーザにとって十分な情報を提供すると
は限らない。本質的に、如何に多くの情報を提供できる
かには限界が存在する。また、その特定援助情報を提供
し、詳細な文章または図形説明の画面内画面を必要とす
るこれらのシステムにおいては、ユーザが如何に多くの
情報を読取ることができるか、または読取るであろうか
という限界が存在する。殆どのユーザはたとえオンライ
ンで与えられても、詳細な援助情報を読むことを単純に
欲してはいないのである。即ち、援助システムが如何に
知能的または精緻であっても、結局のところ所与のタス
クを如何にして遂行するかをユーザに「告げる」ことに
頼らなければならない。ユーザが真に欲しているのは、
誰かがユーザに、どのようにしてそのタスクを直ちに遂
行するのかを「示す」ことなのである。
術が適用されるようになった。例えば、合衆国特許 5,1
03,498号は、履歴待ち行列内のデータとしてどの事象
(ユーザ事象及びコンピュータ事象の両方)を記憶する
のかを決定するための監視装置を含むインテリジェント
援助システムを開示している。これらのデータ自体は知
識ベース内に記憶される。推論エンジンが知識ベースデ
ータに対して所定の規則を試験し、それによってその特
定のユーザに適切な援助を提供する。インテリジェント
援助システムは疑いもなく単なる、または文脈感応型の
援助システムを改善してはいるが、結局はユーザに対し
て援助情報だけを提供できるに過ぎない。語またはピク
チャの何れによるにしても、これらのシステムは特定の
型のタスクをどのように遂行するのかをユーザに「告げ
る」だけである。確かにユーザはそのタスクに特定の援
助情報を直ちに認識することはできるが、実際にはこの
援助情報が常にユーザにとって十分な情報を提供すると
は限らない。本質的に、如何に多くの情報を提供できる
かには限界が存在する。また、その特定援助情報を提供
し、詳細な文章または図形説明の画面内画面を必要とす
るこれらのシステムにおいては、ユーザが如何に多くの
情報を読取ることができるか、または読取るであろうか
という限界が存在する。殆どのユーザはたとえオンライ
ンで与えられても、詳細な援助情報を読むことを単純に
欲してはいないのである。即ち、援助システムが如何に
知能的または精緻であっても、結局のところ所与のタス
クを如何にして遂行するかをユーザに「告げる」ことに
頼らなければならない。ユーザが真に欲しているのは、
誰かがユーザに、どのようにしてそのタスクを直ちに遂
行するのかを「示す」ことなのである。
【0006】コンピュータのユーザを支援する別のアプ
ローチは、合衆国特許 4,622,013号に記載されているよ
うな対話式ソフトウエア訓練システムである。このシス
テムは、キーボードからのデータの流れに割込み、入力
データに割込んで処理し、入力データに応答してメッセ
ージを選択的に生成し、そして入力データの部分集合を
目標コンピュータプログラムによって選択的に処理でき
るようにする“教材モジュール”を含んでいる。各選択
された、または目標コンピュータプログラム毎に分離し
たコースウェアモジュールが提供される。各コースウェ
アモジュールは選択されたコンピュータプログラムの動
作に関連する事象または文脈環境の集合を含む。マルチ
メディア、特にCD−ROM技術の開発に伴って、現在
では精緻なコースウェア教材が入手可能である。例えば
音響及びアニメーションを使用するマルチメディアコー
スウェアは、キーの押下によって“ハウツー”ビデオ、
フルモーションビデオをオンラインで使用可能にする。
またマルチメディアハードウェアの価格が低下するにつ
れて、現在ではコースウェアを応用自体内に組込むこと
が実現可能である。
ローチは、合衆国特許 4,622,013号に記載されているよ
うな対話式ソフトウエア訓練システムである。このシス
テムは、キーボードからのデータの流れに割込み、入力
データに割込んで処理し、入力データに応答してメッセ
ージを選択的に生成し、そして入力データの部分集合を
目標コンピュータプログラムによって選択的に処理でき
るようにする“教材モジュール”を含んでいる。各選択
された、または目標コンピュータプログラム毎に分離し
たコースウェアモジュールが提供される。各コースウェ
アモジュールは選択されたコンピュータプログラムの動
作に関連する事象または文脈環境の集合を含む。マルチ
メディア、特にCD−ROM技術の開発に伴って、現在
では精緻なコースウェア教材が入手可能である。例えば
音響及びアニメーションを使用するマルチメディアコー
スウェアは、キーの押下によって“ハウツー”ビデオ、
フルモーションビデオをオンラインで使用可能にする。
またマルチメディアハードウェアの価格が低下するにつ
れて、現在ではコースウェアを応用自体内に組込むこと
が実現可能である。
【0007】コースウェア、特にマルチメディアコース
ウェアは、従来の援助システムに勝る幾つかの長所を提
供する。例えば、独特なユーザ入力に応答するコースウ
ェアを設計し、各コースウェアモジュールを特定の目標
プログラムに合わせることが可能である。またコースウ
ェアは完全に自己調速式であるので、初心ユーザでもユ
ーザの都合の良い時に、ユーザ自身の速度で応用を学習
することができる。更に、これらのプログラムは典型的
には対話式であるので、ユーザが居眠りをしたり、気が
散ったりする恐れは少ない。しかしながら、コースウェ
アシステムにも欠点がない訳ではない。具体的にはこれ
らのシステムは同時に発生する目標応用の独特な“挙
動”を考慮に入れることに失敗している。このアプロー
チは、選択されたユーザ事象をトラップし、これらに作
用するモジュールを提供してはいるが、一方では教材モ
ジュールとユーザとの間に、また他方では教材モジュー
ルと応用との間に、真の双方向通信が存在していない。
このため、このシステムはユーザ事象ではなく、目標応
用事象自体に応答して目標応用を変更し、目標応用に作
用する能力に欠ける。マイクロソフトの“ウィザード”
のようなスマートマクロは、コンピュータベース教材の
別のアプローチである。ウィザードは基本的に標準タス
クを完了させるためのマクロを提供する。動作に際し、
ウィザードは直ちにタスクを中断し、一連の質問をユー
ザに提示する(典型的には1またはそれ以上のモード対
話ボックスを通して提示される)。次いでウィザードは
ユーザが入力した応答を使用してマクロを実行、または
“演ずる”。しかしながら、マクロが演じられる速度を
ユーザがセット可能なオプションを通してユーザ自身が
低速化させない限り、通常はマクロの実行は殆どのユー
ザにとって(有意味の教材として)観測するには余りに
も早く出現する。
ウェアは、従来の援助システムに勝る幾つかの長所を提
供する。例えば、独特なユーザ入力に応答するコースウ
ェアを設計し、各コースウェアモジュールを特定の目標
プログラムに合わせることが可能である。またコースウ
ェアは完全に自己調速式であるので、初心ユーザでもユ
ーザの都合の良い時に、ユーザ自身の速度で応用を学習
することができる。更に、これらのプログラムは典型的
には対話式であるので、ユーザが居眠りをしたり、気が
散ったりする恐れは少ない。しかしながら、コースウェ
アシステムにも欠点がない訳ではない。具体的にはこれ
らのシステムは同時に発生する目標応用の独特な“挙
動”を考慮に入れることに失敗している。このアプロー
チは、選択されたユーザ事象をトラップし、これらに作
用するモジュールを提供してはいるが、一方では教材モ
ジュールとユーザとの間に、また他方では教材モジュー
ルと応用との間に、真の双方向通信が存在していない。
このため、このシステムはユーザ事象ではなく、目標応
用事象自体に応答して目標応用を変更し、目標応用に作
用する能力に欠ける。マイクロソフトの“ウィザード”
のようなスマートマクロは、コンピュータベース教材の
別のアプローチである。ウィザードは基本的に標準タス
クを完了させるためのマクロを提供する。動作に際し、
ウィザードは直ちにタスクを中断し、一連の質問をユー
ザに提示する(典型的には1またはそれ以上のモード対
話ボックスを通して提示される)。次いでウィザードは
ユーザが入力した応答を使用してマクロを実行、または
“演ずる”。しかしながら、マクロが演じられる速度を
ユーザがセット可能なオプションを通してユーザ自身が
低速化させない限り、通常はマクロの実行は殆どのユー
ザにとって(有意味の教材として)観測するには余りに
も早く出現する。
【0008】コースウェアとは異なり、ウィザードは目
標応用のトップに作用する。即ち、“ライブ”応用の様
相( look )は保っている。このアプローチは、ユーザが
目標応用内にある間は、スプレッドシート内のグラフの
作成のような特定の「型」のタスクを実演するには効果
的である。しかしながらウィザードマクロは、文脈スイ
ッチを生じさせる。対話ボックスを表示中には目標応用
を中断させるから、ウィザードは真に対話式の教材(即
ちユーザと実際の目標応用との間に対話を有しているよ
うな教材)を提供するものではない。むしろウィザード
は“罐詰めにされた”または事前に組立てられた応用タ
スクを完了させるために所定のマクロを演ずるように制
限されている。以上のように、ウィザードはある応用の
ある“様相”を提供するものではあるが、目標応用の真
の“感じ”に欠けるのである。
標応用のトップに作用する。即ち、“ライブ”応用の様
相( look )は保っている。このアプローチは、ユーザが
目標応用内にある間は、スプレッドシート内のグラフの
作成のような特定の「型」のタスクを実演するには効果
的である。しかしながらウィザードマクロは、文脈スイ
ッチを生じさせる。対話ボックスを表示中には目標応用
を中断させるから、ウィザードは真に対話式の教材(即
ちユーザと実際の目標応用との間に対話を有しているよ
うな教材)を提供するものではない。むしろウィザード
は“罐詰めにされた”または事前に組立てられた応用タ
スクを完了させるために所定のマクロを演ずるように制
限されている。以上のように、ウィザードはある応用の
ある“様相”を提供するものではあるが、目標応用の真
の“感じ”に欠けるのである。
【0009】
【発明の概要】本発明は真に対話式の援助及び教材シス
テム、即ちユーザがタスクを学習中にユーザが絶えず目
標応用と対話し続けるようなシステムに対する要望があ
ることを認識している。本発明は、1またはそれ以上の
「応用翻訳ユニット(ATU)と、メッセージエンジン
と、スクリプトエンジンとを有するコンピュータベース
訓練システム(CBT)を含む。システムの特定動作
は、典型的には教材ライタによって与えられる一連のユ
ーザ命令によって管理される。スクリプト内に、CBT
システムと1またはそれ以上の関心目標応用との間のリ
ンクが確立される。詳述すれば、特定の応用の中の個々
の制御(例えばメニュー項目、ボタン制御器、対話ボッ
クス等々)にリンクが確立されるので、スクリプトライ
タは目標応用の挙動及び動作の完全制御を有することに
なる。各関心目標応用毎に、その応用に特定の事象を処
理するためのATUが設けられている。一般的なシステ
ム事象をトラップするための汎用オペレーティングシス
テム(OS)ATUも設けられている。ATUは事象を
トラップし、それらをシステムの特定事象に関する情報
を伝送するための抽象メッセージまたは“メタメッセー
ジ”に翻訳する。このようにして低レベルメッセージ
は、スクリプトを介して作用することができる高レベル
の、より有意味のメッセージに抽象化される。
テム、即ちユーザがタスクを学習中にユーザが絶えず目
標応用と対話し続けるようなシステムに対する要望があ
ることを認識している。本発明は、1またはそれ以上の
「応用翻訳ユニット(ATU)と、メッセージエンジン
と、スクリプトエンジンとを有するコンピュータベース
訓練システム(CBT)を含む。システムの特定動作
は、典型的には教材ライタによって与えられる一連のユ
ーザ命令によって管理される。スクリプト内に、CBT
システムと1またはそれ以上の関心目標応用との間のリ
ンクが確立される。詳述すれば、特定の応用の中の個々
の制御(例えばメニュー項目、ボタン制御器、対話ボッ
クス等々)にリンクが確立されるので、スクリプトライ
タは目標応用の挙動及び動作の完全制御を有することに
なる。各関心目標応用毎に、その応用に特定の事象を処
理するためのATUが設けられている。一般的なシステ
ム事象をトラップするための汎用オペレーティングシス
テム(OS)ATUも設けられている。ATUは事象を
トラップし、それらをシステムの特定事象に関する情報
を伝送するための抽象メッセージまたは“メタメッセー
ジ”に翻訳する。このようにして低レベルメッセージ
は、スクリプトを介して作用することができる高レベル
の、より有意味のメッセージに抽象化される。
【0010】翻訳された事象メッセージは、事象ハンド
ラとの突き合わせのためにメッセージエンジンへ送られ
る。好ましい実施例では、メッセージエンジンはメッセ
ージと所望の目標ハンドラとを突き合わせるためのルッ
クアップテーブルを維持している。関心がないシステム
メッセージまたは応用特定メッセージは単に通過を許さ
れるだけである。個々のハンドラは、メッセージエンジ
ンからそれぞれのメッセージをスクリプトエンジンへデ
ィスパッチする。スクリプトエンジン自体は入ってくる
メッセージとスクリプトの予約語とを突き合わせる。ス
クリプト内の予約語の使用に基づいて、適切な動作が遂
行される。本発明は、関心の表示画面対象のための即時
解答援助及び教材情報を提供するための援助情報連続体
( continuum ) をも含む。本発明のコンピュータ援助シ
ステムは、ユーザによって作成される文章及び図形対象
を表示するための表示装置と、表示装置画面上の位置を
指示するためのカーソル位置決め装置と、関心がある特
定表示画面対象(即ち、検査中の対象)に特定される援
助及び教材情報を自動的に提供するための情報検査装置
または連続体インタフェースとを有するコンピュータを
含む。
ラとの突き合わせのためにメッセージエンジンへ送られ
る。好ましい実施例では、メッセージエンジンはメッセ
ージと所望の目標ハンドラとを突き合わせるためのルッ
クアップテーブルを維持している。関心がないシステム
メッセージまたは応用特定メッセージは単に通過を許さ
れるだけである。個々のハンドラは、メッセージエンジ
ンからそれぞれのメッセージをスクリプトエンジンへデ
ィスパッチする。スクリプトエンジン自体は入ってくる
メッセージとスクリプトの予約語とを突き合わせる。ス
クリプト内の予約語の使用に基づいて、適切な動作が遂
行される。本発明は、関心の表示画面対象のための即時
解答援助及び教材情報を提供するための援助情報連続体
( continuum ) をも含む。本発明のコンピュータ援助シ
ステムは、ユーザによって作成される文章及び図形対象
を表示するための表示装置と、表示装置画面上の位置を
指示するためのカーソル位置決め装置と、関心がある特
定表示画面対象(即ち、検査中の対象)に特定される援
助及び教材情報を自動的に提供するための情報検査装置
または連続体インタフェースとを有するコンピュータを
含む。
【0011】
【実施例】用語の説明 連想テーブル:データを編成するために使用されるコン
テナ対象。テーブル内の各項目は容易なアクセスを可能
にするための連想タグを有している。 CBT:コンピュータベース訓練;コンピュータ及び教
示のために特に設計された教材プログラムの使用。 CBTメッセージ:出現した特定事象に関する情報を記
述または密閉(カプセル封じ)する高レベルメッセージ
またはメタメッセージであって、それによってユーザは
低レベルシステムメッセージをスクリプト制御のための
高レベル(及びより有意味の)メッセージに抽象化する
ことができる。 CBT対象:ダイナミックリンクライブラリ(DLL)
内に配置することが可能な、及び教材が実行されている
時に動的にロードすることが可能なC++対象のような対
象。 制御窓:ユーザから情報を入手するために使用されるC
BT対象。典型的には複数の対話制御を有する窓を含
む。
テナ対象。テーブル内の各項目は容易なアクセスを可能
にするための連想タグを有している。 CBT:コンピュータベース訓練;コンピュータ及び教
示のために特に設計された教材プログラムの使用。 CBTメッセージ:出現した特定事象に関する情報を記
述または密閉(カプセル封じ)する高レベルメッセージ
またはメタメッセージであって、それによってユーザは
低レベルシステムメッセージをスクリプト制御のための
高レベル(及びより有意味の)メッセージに抽象化する
ことができる。 CBT対象:ダイナミックリンクライブラリ(DLL)
内に配置することが可能な、及び教材が実行されている
時に動的にロードすることが可能なC++対象のような対
象。 制御窓:ユーザから情報を入手するために使用されるC
BT対象。典型的には複数の対話制御を有する窓を含
む。
【0012】対話対象:ユーザとの対話に使用されるC
BT対象。これらの対象は「提示」窓、「制御」窓、及
びメッセージハンドラを含む。 レッスンスクリプト:CBT教材の実行を制御するスク
リプト命令文(ステートメント)。各レッスンはシーン
の収集を含む。 リスト:未編成データを保持するために使用されるコン
テナ対象。 メッセージハンドラ:目標応用と対話するCBT対象。
これらの対象は外部事象を処理するために使用される。 対象特性:特定対象に対応付けられた例えば名前、表
題、色、等々のような属性または他のデータ。 遂行:CBTシステムによるCBTシーンの実行。 提示窓:ユーザに対して情報を表示するCBT対象。こ
の情報は文章、図形、及びマルチメディア情報の全部ま
たは何れかを含むことができる。 シーン:CBTレッスン内の特定点において遂行させる
動作を記述するスクリプト対象。 スクリプト:スクリプトエンジンによって理解される命
令文の収集。
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内へ転送)すること
ができる。
応用によって受信される前にウィンドウズ事象を横取り
するためにウィンドズ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の全
般的な方法論及びその動作を駆動する事象駆動アーキテ
クチャを調べることが有用である。
ータを受信するためのユーザインタフェース(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を介してこれらの、及び他のユーザ操作を遂行す
るために、キーボード加速装置または“ホットキー”を
含むキーストローク等価装置が設けられている。
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はか
なり厳格な動作シーケンスを辿り、各入力またはエント
リモードはプログラムが次の段階に進む前にその段階を
成功裏に完了していることを要求する。
ージまたは事象駆動アーキテクチャである。このモデル
の動作は、伝統的に使用されてきたモデル即ち順次アー
キテクチャの動作と対比すると多分理解し易い。このよ
うにするとメッセージ駆動システムの付加された柔軟性
が理解できるであろう。この柔軟性は、CBTシステム
とユーザとの間だけではなく、CBTシステムと目標応
用との間にも双方向通信を提供するように、本発明のC
BTシステムが使用するものである。図4に示すよう
に、モードプログラム200は、十分に限定された始ま
り、中央部及び終わりを有する一連の離散した動作ブロ
ックまたはモード210からなる。実際の動作では、こ
のようなプログラムは典型的には、例えば書かれた報告
を作成するためにユーザ情報を受信するための一連の入
力画面を表示する。例えば、第1入力画面は顧客名を要
求し、第2入力画面は顧客住所を要求し、第3入力画面
は部品番号を要求する等々である。典型的にはプログラ
ムは、種々の入力から決定された結果を報告するための
出力モードで終了する。従って、プログラム200はか
なり厳格な動作シーケンスを辿り、各入力またはエント
リモードはプログラムが次の段階に進む前にその段階を
成功裏に完了していることを要求する。
【0017】モードプログラムは、設計及び実現は比較
的容易ではあるが、使用はそれ程容易ではない。この設
計は、確かに全ての要求された情報が入力されることを
保証するが、ユーザはプログラムの指図通りに操作する
ことを強いられる。詳述すれば、プログラムは予め配列
されたモードの集合の周囲に組まれているから、ユーザ
は先に要求したモードを最初に完了させなければ、1つ
のモードから別のモードへ達することはできない。例え
ばこの例では、部品番号情報に一寸アクセスするのにも
顧客名入力画面(及び他の何等かの介在入力画面)を不
必要に完了させなければならない。ユーザがこのシーケ
ンスから外れることは許されていな。柔軟性に欠けるこ
とから、実ワールドタスクを処理するのにモードプログ
ラムを選択することが良い選択であるとは言い難い。図
4の右側に示してある事象駆動アーキテクチャ250は
予め選択されたシーケンスを避け、代わりに“事象ルー
プ”を選択している。事象ループ260はユーザ事象及
びシステム事象に関するメッセージを処理するための集
中化された機構である。事象ループ260は事象待ち行
列270と、検索機構263と、メッセージを種々の窓
クラスへディスパッチする機構269とを含む。これら
の各成分を詳述する前に、“メッセージ”を十分に理解
しておく必要がある。
的容易ではあるが、使用はそれ程容易ではない。この設
計は、確かに全ての要求された情報が入力されることを
保証するが、ユーザはプログラムの指図通りに操作する
ことを強いられる。詳述すれば、プログラムは予め配列
されたモードの集合の周囲に組まれているから、ユーザ
は先に要求したモードを最初に完了させなければ、1つ
のモードから別のモードへ達することはできない。例え
ばこの例では、部品番号情報に一寸アクセスするのにも
顧客名入力画面(及び他の何等かの介在入力画面)を不
必要に完了させなければならない。ユーザがこのシーケ
ンスから外れることは許されていな。柔軟性に欠けるこ
とから、実ワールドタスクを処理するのにモードプログ
ラムを選択することが良い選択であるとは言い難い。図
4の右側に示してある事象駆動アーキテクチャ250は
予め選択されたシーケンスを避け、代わりに“事象ルー
プ”を選択している。事象ループ260はユーザ事象及
びシステム事象に関するメッセージを処理するための集
中化された機構である。事象ループ260は事象待ち行
列270と、検索機構263と、メッセージを種々の窓
クラスへディスパッチする機構269とを含む。これら
の各成分を詳述する前に、“メッセージ”を十分に理解
しておく必要がある。
【0018】典型的なモード環境、特に文字ベースUI
を典型とする環境では、プログラムはC機能 getchar
( )のような機能への明示呼出しを行うことによってキ
ーボードから読込まれる。この機能は、典型的には、文
字コードをプログラムへ戻す前にユーザがあるキーを押
すまで待機し、全てのシステム動作はこの1段階が完了
するまで中止される。これに対してウィンドウズ環境に
おけるオペレーティングシステムは、マウスのクリック
またはキーボードの押下のような多数の応用及びハード
ウェア事象(これらはウィンドウズ事象ハンドラによっ
てメッセージに変換される)を管理し、同期させるため
にメッセージを使用する。プログラミングの観点から
は、メッセージは特定事象に関する情報を含む単なるデ
ータ構造である。マイクロソフトウィンドウズでは、メ
ッセージは特定事象のための記号定数として役立つ 16
ビットの符号のない整数であり、この整数内にはメッセ
ージ識別子とメッセージパラメタとがパックされてお
り、これらのパラメタは提示される各事象型と共に変化
する。例えば窓対象からのメッセージは窓の作成( WM
CREATE )、閉じ( WM CLOSE ) 、移動( WM MOVE )、及
び大きさの決め直し( WM SIZE )を含むことができる。
入力メッセージはシステム規模の待ち行列内に集めら
れ、次いで適切な窓へ導かれる。これらのメッセージ
は、タイマメッセージ及び画面塗りメッセージと共に、
1または複数の関心目標応用へ渡されなければならな
い。
を典型とする環境では、プログラムはC機能 getchar
( )のような機能への明示呼出しを行うことによってキ
ーボードから読込まれる。この機能は、典型的には、文
字コードをプログラムへ戻す前にユーザがあるキーを押
すまで待機し、全てのシステム動作はこの1段階が完了
するまで中止される。これに対してウィンドウズ環境に
おけるオペレーティングシステムは、マウスのクリック
またはキーボードの押下のような多数の応用及びハード
ウェア事象(これらはウィンドウズ事象ハンドラによっ
てメッセージに変換される)を管理し、同期させるため
にメッセージを使用する。プログラミングの観点から
は、メッセージは特定事象に関する情報を含む単なるデ
ータ構造である。マイクロソフトウィンドウズでは、メ
ッセージは特定事象のための記号定数として役立つ 16
ビットの符号のない整数であり、この整数内にはメッセ
ージ識別子とメッセージパラメタとがパックされてお
り、これらのパラメタは提示される各事象型と共に変化
する。例えば窓対象からのメッセージは窓の作成( WM
CREATE )、閉じ( WM CLOSE ) 、移動( WM MOVE )、及
び大きさの決め直し( WM SIZE )を含むことができる。
入力メッセージはシステム規模の待ち行列内に集めら
れ、次いで適切な窓へ導かれる。これらのメッセージ
は、タイマメッセージ及び画面塗りメッセージと共に、
1または複数の関心目標応用へ渡されなければならな
い。
【0019】システム待ち行列からメッセージを検索
し、それらを適切な応用へディスパッチするための機構
が設けられ、この応用は到着するメッセージを処理する
ように進むことができる。各窓はある窓型に属し、この
窓型はその型の全ての窓に共通する若干の特性を定義す
る。各型に対応付けられているのは、その型の窓に送ら
れた全てのメッセージを処理するウィンドウズ機能であ
る。応用待ち行列が設けられ、この待ち行列では特定応
用に属するメッセージをウィンドウズが配置することが
できる。応用が入力を受ける準備を整えると、応用は待
機中のメッセージを単純に読込む。もし何も見出せない
か、またはより高い優先権を有する他の応用のためのメ
ッセージが存在すれば、ウィンドウズは制御をこの他の
応用に引渡す。例えば図4に示すメッセージまたは事象
ループ260は単純に以下のように符号化することがで
きる。
し、それらを適切な応用へディスパッチするための機構
が設けられ、この応用は到着するメッセージを処理する
ように進むことができる。各窓はある窓型に属し、この
窓型はその型の全ての窓に共通する若干の特性を定義す
る。各型に対応付けられているのは、その型の窓に送ら
れた全てのメッセージを処理するウィンドウズ機能であ
る。応用待ち行列が設けられ、この待ち行列では特定応
用に属するメッセージをウィンドウズが配置することが
できる。応用が入力を受ける準備を整えると、応用は待
機中のメッセージを単純に読込む。もし何も見出せない
か、またはより高い優先権を有する他の応用のためのメ
ッセージが存在すれば、ウィンドウズは制御をこの他の
応用に引渡す。例えば図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 機能はメッセージを所与のウィンドウズ機能へ直
接送るようにウィンドウズを導き、それによって応用待
ち行列をバイパスさせる。メッセージを受信したウィン
ドウズ機能がそれを処理するまで、ウィンドウズは制御
を呼出し応用へ戻さない。しかしながら、このような非
待ち合わせメッセージは、一般的にはその窓だけに影響
を与えるメッセージである。
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 を参照されたい。
ベースシステムにおいてメッセージを検索し、ディスパ
ッチする汎用機構は公知である。例えば 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によって指定
されるハンドラに従って、メッセージをディスパッチす
る。関心メッセージは要望に応じて処理され、その他は
単なる通過が許容される。これらの成分の構造及び動作
の詳細を以下に説明する。
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メッセージに抽象化することによって、本発
明のシステムはスクリプトの設計及び書くことを大幅に
簡略化する。
用 システム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は命令の集合であればよく、本発明は特定のフォーマ
ットを要求しない。
メッセージは、特定の型の事象を表す。一方各事象に特
定の、活動している窓、カーソル位置等のような情報ま
たはデータはその事象を完全に記述する離散したデータ
対象( 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システムの動作の基
本的な枠組みを示すものである。
はその応用に特定の(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 広域変数を介してアクセスされる。
において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を使用するこ
とによって確立されよう。特定のリンクは、要望に応じ
て、セッション中に作成したり、または除去することが
できる。
目標応用はメッセージエンジン350に登録される。具
体的には、関心目標応用内の事象をトラップするよう
に、対応するATU340によってフックが導入され
る。後述するように、これらの事象自体はCBTメッセ
ージとしてメッセージエンジン350に報告される。段
階420においては、個々の関心資源へのスクリプト特
定のリンクが確立される。目標応用自体内では種々の資
源(例えば、ボタン、メニュー等)がスクリプトライタ
にとって関心があろう。例えば、もし“援助”ボタンの
ような目標応用の特定ボタンに関心があるのであれば、
そのボタンがメッセージエンジン350に登録される。
ボタン(例えば“マウス入力”ボタン)に対応付けられ
た事象がトラップされ、ATUによって処理される。リ
ンクは以下のようにしてCBTスクリプト320内に指
定される。好ましい実施例では、リンクは、個々の資源
または制御のウィンドウズクラス名、ウィンドウズ表
題、または資源ID(これらは全て容易にアクセス可能
なウィンドウズデータ構造である)の選択された1つを
指示することによって、その資源または制御に対して確
立される。一般的には、リンクは資源IDを使用するこ
とによって確立されよう。特定のリンクは、要望に応じ
て、セッション中に作成したり、または除去することが
できる。
【0029】段階430においてシステムは、確立され
たリンクに関連する種々の事象をトラップする。図7に
詳細を示すこの動作は以下のようにして行われる。目標
応用のメッセージ待ち行列にメッセージが到達する度
に、メッセージフィルタフック機能( WM MsgFilter )
431が呼出される。フック機能は先ず、そのメッセー
ジが“フックされた”タスクを表しているか否か、即ち
目標応用のこの事象のための特定リンクが作成されたか
否かを決定する。もし否であれば、その事象は他のフッ
ク(即ちフック433、435、437)の1つによっ
て処理するためにフック鎖を渡って行く。例えばウィン
ドウズフック437は全てのウィンドウズメッセージ
( WM )をトラップする。どのフック機能が呼出され
るかは、どの型のメッセージが目標応用へ到来したかに
依存する。例示としてフックを以下のようにして導入す
ることができる。
たリンクに関連する種々の事象をトラップする。図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システムは、システム規模
であろうと、または厳格に内部的であろうと、如何なる
関心メッセージも受信し、翻訳することができるのであ
る。
ク毎に導入される。各コールバック機能自体は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 メッセージ
に対して以下の翻訳機能を定義することができる。
ってトラップれた事象が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
メッセージは通過することを許されるのである。
されている。カーソルが窓境界を横切ったか(即ち、新
しい窓に入ったか)否かを決定するためのウィンドウズ
メッセージの処理を例として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方法が呼出される。
タは活動窓を去るカーソルの事象に関心があってトラッ
プすべきであることを指定することができる。カーソル
は単に活動窓へ再び入るだけではないから(段階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++プログラミング言語で実現す
る例を以下に示す。
しい窓へ入りつつあることをメッセージエンジンに警告
する諸段階へ進む。“MouseLeave”メッセージを送るの
と同様に、本方法は先ず段階504において EventInfo
対象を作成する。次に段階505において、 CBT NOTI
FY型の“MouseEnter”メッセージをその事象に関する情
報( EventInfo対象)と共に応用へディスパッチする。
段階506において、活動窓フラグがセットされる。こ
のフラグは、マウスカーソルが活動窓へ入りつつあるか
否かを決定するために段階501において読取られるフ
ラグである。最後に本方法は、段階507においてその
メッセージを応用へ通過させる(即ち、メッセージを
“許容”する)ことによって終了する。本方法の終了時
に、EventInfo 対象のためのメモリを(例えば、手動ま
たは自動不要部分整理技術を使用して)回復させること
ができる。上記方法をC++プログラミング言語で実現す
る例を以下に示す。
【0037】
【表4】
【0038】ここに、pEntryは更新される記録 CbtEntr
y を指し示すポインタである。この記録はフックされた
タスク(フックされた応用)及び現在活動中の窓へのハ
ンドルを含む。
y を指し示すポインタである。この記録はフックされた
タスク(フックされた応用)及び現在活動中の窓へのハ
ンドルを含む。
【0039】
【表5】
【0040】上表に示されているように、メタメッセー
ジは、より高いレベル(例えば、活動窓のステータス)
における事象を追跡するために、それ自体のデータ構造
を維持することができる。一方 DispatchToCbt機能は、
プロセスの2つの半分と見ると好都合である。即ち、メ
ッセージエンジンはコールバック機能をATUに登録す
る。動作のプロセスは以下の通りである。ATU側で
は、ATUは DispatchCBTMessage 方法へ特定応用を識
別するためのタスクハンドルを渡す。システムは多数の
応用を処理するから、この機構は異なる応用(及びそれ
らのインスタンス)を区別するのに役立つ。
ジは、より高いレベル(例えば、活動窓のステータス)
における事象を追跡するために、それ自体のデータ構造
を維持することができる。一方 DispatchToCbt機能は、
プロセスの2つの半分と見ると好都合である。即ち、メ
ッセージエンジンはコールバック機能をATUに登録す
る。動作のプロセスは以下の通りである。ATU側で
は、ATUは DispatchCBTMessage 方法へ特定応用を識
別するためのタスクハンドルを渡す。システムは多数の
応用を処理するから、この機構は異なる応用(及びそれ
らのインスタンス)を区別するのに役立つ。
【0041】
【表6】
【0042】このようにしてATUは、目標応用によっ
て事象を濾過またはグループ化し、その事象をメタメッ
セージとして他のCBT成分へ通信する。図6の段階4
40が完了した時には、ATUはCBTメッセージ、そ
の型、及び EventInfo対象をメッセージエンジン350
へディスパッチし終わっており、それによってトラップ
した事象を完全に通信している。しかしながら全ての事
象に関心がある訳ではない。従って、関心がある事象だ
けに作用するように事象を濾過すべきである。段階45
0において、メッセージエンジンは、CBTメッセージ
と既知事象ハンドラとを比較することによってこのタス
クを遂行する。換言すれば、エンジンは関心のあるCB
Tメッセージ、即ちその事象に対して定義されたハンド
ラを有するメッセージをディスパッチすることを企て
る。このように、メッセージエンジン側では、メッセー
ジエンジンはそのテーブル内のどの入力がそのタスクに
対応するかを決定する。
て事象を濾過またはグループ化し、その事象をメタメッ
セージとして他の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に渡される。最後に、ハ
ンドラを有していないメッセージ、即ちスクリプトライ
タが特定の関心を持たないメッセージは省略時ハンドラ
(例えば、無視、破棄、その他所望の省略時動作を呼出
すハンドラ)に渡すことができ、従ってスクリプトライ
タは関心メッセージのためのハンドラ方法を列挙するだ
けでよい。
る。メッセージエンジンは、例えば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 ) )に基づいて、応用
リンクハンドラは(例えば)以下のようにしてディスパ
ッチを遂行することができる。
ジはディスパッチされる。即ち、ハンドラはそのメッセ
ージの特性及び付属 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 対象と共に)識別された応
用リンクハンドラへ送る。
プトエンジンと通信している。スクリプトエンジンは活
動スクリプト内に定義されているスクリプト対象に従っ
て応答する。例えばある事象が許容されているか否かを
指定する 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から出ることを選択するか、またはレッスンが終了す
るまで続行される。
は EventoInfo を調べて、それを登録された窓リンクと
突き合わせる。もしこの段階が不成功であれば(段階5
25において NO )、その事象を処理するために段階5
26において省略時ハンドラが割当てられる。段階52
7において、メッセージは窓リンクハンドラへ転送され
る。段階528において、窓リンクハンドラはそのメッ
セージをスクリプトエンジンへディスパッチする。この
点においてスクリプトエンジンは、その既知の予約語の
集合内へメッセージを写像することによってその事象を
識別する。段階529において、スクリプトエンジンは
スクリプトの命令に従ってメッセージを処理する(即
ち、整合予約語の使用によって指示されるようなスクリ
プトライタが望む動作を遂行する)。この段階が完了し
た時には本方法はメタメッセージを成功裏にディスパッ
チしており、そのメッセージに応答した適切な動作が遂
行されている。 2.CBTレッスンの作成 教材を設計する時にCBTスクリプトライタは、視覚外
観と、教材の流れとを表す“ストーリーボード”を作成
する。このストーリーボードがCBTレッスンスクリプ
トの基礎になる。CBTスクリプトは、メッセージ処理
及び対象向きの両機能を含む単純な言語で書かれる。各
レッスンスクリプトはシーンの収集として編成され、各
シーンはレッスンの特定点において遂行される動作を記
述している。例えば、あるシーンは、目標応用内で特定
メニュー項目が選択された時、ある文章を含む窓を表示
するようにCBTシステムに命令することができる。レ
ッスンスクリプトが進行するにつれて、新しいシーンを
遂行することができる。このプロセスは、ユーザがCB
Tから出ることを選択するか、またはレッスンが終了す
るまで続行される。
【0049】目標応用を制御するために、CBTシステ
ムはその応用に関する全てのウィンドウズ事象を横取り
し、それらをCBTメッセージに翻訳する。これらのメ
ッセージは、あるシーン内に定義されている対応メッセ
ージハンドラをトリガする。メッセージハンドラがトリ
ガされると、そのスクリプトが実行される。各シーン内
には、関心のある応用内の各UI制御毎にメッセージハ
ンドラが定義されている。例えば、スクリプト内のボタ
ンクリックに応答するために以下のハンドラが定義され
ている。
ムはその応用に関する全てのウィンドウズ事象を横取り
し、それらをCBTメッセージに翻訳する。これらのメ
ッセージは、あるシーン内に定義されている対応メッセ
ージハンドラをトリガする。メッセージハンドラがトリ
ガされると、そのスクリプトが実行される。各シーン内
には、関心のある応用内の各UI制御毎にメッセージハ
ンドラが定義されている。例えば、スクリプト内のボタ
ンクリックに応答するために以下のハンドラが定義され
ている。
【0050】
【表9】
【0051】この仮説シーンは、目標応用内のUI制御
にリンクされる TargetButton 対象を作成し、UI制御
資源IDは120である。次に、buttonClick メッセー
ジのために TargetButton 対象からメッセージハンドラ
が定義される。このメッセージを受信すると、スクリプ
トエンジンは新しいシーン(シーン2)を遂行する。従
って命令文表10
にリンクされる TargetButton 対象を作成し、UI制御
資源IDは120である。次に、buttonClick メッセー
ジのために TargetButton 対象からメッセージハンドラ
が定義される。このメッセージを受信すると、スクリプ
トエンジンは新しいシーン(シーン2)を遂行する。従
って命令文表10
【0052】
【表10】
【0053】は広域対象“theCBTLesson”(CBTレッ
スン対象)の遂行方法を呼出す。ユーザ動作を制御する
ことに加えてCBTレッスンは、適切なメッセージを送
ることによって目標応用を自主的に駆動する。代替とし
て、後刻再生するために事象のシーケンスを(例えば、
MSレコーダに類似のツールを使用して)記録すること
ができる。スクリプトは、目標応用にその現特性を問合
わせることもできる。もし窓リンクが例えばあるボタン
に対して確立されていれば、スクリプトはそのボタン
に、その大きさ、その表題等のようなその特性を問合わ
せることができる。特性を問合わせる能力が、事象及び
それらのメッセージの処理には無関係に動作することに
注目されたい。別の例として、目標応用自体は対話ボッ
クスの全てのボタンを列挙するように依頼されることも
できる。スクリプトは、選択された資源の変更を含む照
会された情報に作用することができる。このようにする
と、目標応用の資源を動的に変化させることが可能とな
り、それによって代替ユーザインタフェースを有する目
標応用(オンザフライ変更可能なUI成分を有する目標
応用)が得られる。
スン対象)の遂行方法を呼出す。ユーザ動作を制御する
ことに加えて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++クラス定義を用いて構成
することができる。
させるためのスクリプト統語論及び方法論を示す原始リ
ストである。 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++クラス定義を用いて構成することができる。
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は、もしリス
トが文章を含んでいなければ重要となる選択された項目
の索引を提供する。
象、特にマウス及びキーボード事象にも関心がある。こ
れらの他の事象には 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を参照されたい)を使用し
て、スクリプトライタ自身のライブラリをシステムに動
的にリンクできるように完全に拡張可能である。
の改良されたインタフェース及び方法を示す。図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は、現画像対象をどのように使用するかを示す短
いフィルムクリップを上映することができる。
を目標応用内の関心画面対象に接近させると、情報連続
体窓対象またはインタフェース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の事象ループへ再び入ることができ
る。
及び援助モジュールへのリンクをも含む。即ち教材成分
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 等を含む他のプラットフォームに適
用可能であることが理解されよう。更にクラス階層は、
仮想的に定義される方法の使用を介して、特定応用環境
に合わせるための拡張可能性を含む。クラスは、例えば
特定のスプレッドシート事象を処理するスプレッドシー
トのために定義することが可能である。スプレッドシー
ト事象の広義クラスから、ユーザ活動の特定の型を処理
するためのサブタイプを導出することができる。例えば
クラスは、セルの編集、セルのフォーマット化、セルの
削除、等々のような活動を含むスプレッドシート“セ
ル”事象のために定義することができる。以上のよう
に、本発明の真の範囲は上記実施例の何れにも限定され
ず、特許請求の範囲によって限定されるものである。
とを参照して本発明をある程度詳細に説明したが、上述
した特定実施例または特定代替によって本発明を限定す
る意図はない。例えば、上述した 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: −ある窓が最小化、最大化、または復元されようとして
いる時に送られる。
る時に送られる。 −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: −その応用が終了しようとしている時に送られる。
行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 が入力フォーカスを受けようとしている時に
送られる。
送ると送られる。 −このメッセージは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が入力フォーカスを失おうとしている時に送
られる。
られる。 −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: −あるボタンが入力フォーカスを失おうとしている時に
送られる。
訳。 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事象を翻訳。
る時に送られる。 −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】 システム事象及びユーザ事象に応答して
動作する応用ソフトウエアを含むコンピュータシステム
において、コンピュータシステムの操作を指導する方法
であって、 (a)上記事象を監視する段階と、 (b)事象の中の所望の事象を抽象メッセージとして報
告する段階と、 (c)上記メッセージとスクリプトによって指示される
命令とを比較する段階と、 (d)上記スクリプトによって指示される命令に従って
上記応用ソフトウェアの動作を指令する段階とを具備す
ることを特徴とする方法。 - 【請求項2】 (e)応用ソフトウェアの動作が終了す
るまで段階(a)−(d)を繰り返す段階をも具備する
請求項1に記載の方法。 - 【請求項3】 段階(a)が、 上記応用ソフトウェア内に少なくとも1つの事象フック
を導入し、上記応用ソフトウェアから事象をトラップす
る段階を含む請求項1に記載の方法。 - 【請求項4】 トラップした事象の中の選択された事象
が応用ソフトウェアへ到達するのを閉塞する段階をも具
備する請求項3に記載の方法。 - 【請求項5】 上記抽象メッセージが多重低レベル事象
を表すメタメッセージである請求項1に記載の方法。 - 【請求項6】 上記各事象が単一のシステムメッセージ
によって表され、段階(d)が、 少なくとも1つのシステムメッセージを上記応用ソフト
ウェアへ送り、上記応用ソフトウエアの特定の動作を遂
行させる段階を含む請求項1に記載の方法。 - 【請求項7】 上記事象が、上記応用ソフトウェア内に
発生する非システム事象に起因する応用特定事象を含む
請求項1に記載の方法。 - 【請求項8】 事象フックを導入する上記段階が、 コールバック機能を上記応用ソフトウェアに登録する副
段階を含み、上記コールバック機能は上記応用ソフトウ
ェアの内部事象を指示するメッセージを受信する請求項
3に記載の方法。 - 【請求項9】 段階(b)が、 少なくとも1つの事象を識別する段階と、 上記識別された少なくとも1つの事象にメッセージ識別
子を割当てる段階と、を含む請求項1に記載の方法。 - 【請求項10】 段階(c)が、 メッセージ識別子と事象ハンドラとを突き合わせる段階
と、 もし整合を見出せばメッセージ識別子を用いて事象ハン
ドラを呼出し、上記事象ハンドラはスクリプトによって
指示される命令の中の選択された命令に従って上記選択
された少なくとも1つの事象を処理する段階とを含む請
求項9に記載の方法。 - 【請求項11】 上記スクリプトによって指示される命
令は抽象メッセージの中の選択されたメッセージに対応
する少なくとも1つのキーワードを含み、選択された抽
象メッセージによって識別される事象の出現に応答して
応用ソフトウェア内の所望の動作が遂行される請求項1
に記載の方法。 - 【請求項12】 上記スクリプトによって指示される命
令は応用ソフトウェア内の複数の事象を処理するための
複数のキーワードを含み、応用ソフトウェアの動作が少
なくとも部分的に上記スクリプトによって指示される命
令のシーケンスによって指令される請求項11に記載の
方法。 - 【請求項13】 上記応用ソフトウェアは、同時に動作
する少なくとも2つの目標応用を含む請求項1に記載の
方法。 - 【請求項14】 応用ソフトウェアの上記タスクは、上
記少なくとも2つの目標応用の間に出現するユーザによ
って指示される動作を含む請求項13に記載の方法。 - 【請求項15】 (a)応用ソフトウェアを操作するコ
ンピュータと、 (b)応用ソフトウェアの事象を監視する手段と、 (c)一連の上記事象を単一のメッセージに翻訳する手
段と、 (d)メッセージと、選択されたメッセージに応答して
発生させた少なくとも1つの応用ソフトウェア動作を指
定するユーザ指定命令とを比較する手段とを具備し、 (e)段階(d)においてもし整合を見出せば上記ユー
ザ指定命令を呼出して上記少なくとも1つの動作を遂行
させることを特徴とするコンピュータベース訓練装置。 - 【請求項16】 上記事象監視手段が、 上記応用ソフトウェア内にフックを導入し、応用ソフト
ウェアの事象をトラップする手段を含む請求項15に記
載の装置。 - 【請求項17】 上記フックは、システムフックの選択
されたフック及びコールバック機能を含む請求項16に
記載の装置。 - 【請求項18】 一連の事象を翻訳する上記手段が、 事象のシーケンスを関心の特定状態として識別する手段
と、 上記状態を独自のメッセージ識別子を用いて識別する手
段とを含む請求項15に記載の装置。 - 【請求項19】 上記応用ソフトウェアは、同時に動作
する複数のソフトウェア応用を含む請求項15に記載の
装置。 - 【請求項20】 上記応用ソフトウェアは、少なくとも
1つのスプレッドシート応用プログラムと、データベー
ス応用プログラムと、ワード処理応用プログラムとを含
む請求項15に記載の装置。 - 【請求項21】 一連の事象を翻訳する上記手段が、 事象中の応用ソフトウェアの特性を表す情報を情報対象
として記憶する手段を含む請求項15に記載の装置。 - 【請求項22】 上記応用ソフトウェアはウィンドウズ
インタフェースを含み、上記特性はウィンドウズクラ
ス、ウィンドウズ名、及び資源IDを含む請求項21に
記載の装置。 - 【請求項23】 上記比較手段が、 各々が少なくとも1つの関心メッセージを処理する複数
のメッセージハンドラと、 メッセージと単一のメッセージハンドラとを突き合わせ
る手段とを含む請求項15に記載の装置。 - 【請求項24】 (a)表示装置を有するコンピュータ
と、 (b)カーソルを表示装置上の所望の位置に位置決めす
る入力装置と、 (c)ユーザによって作成された少なくとも1つの対象
を表示画面上に表示する手段と、 (d)もし上記カーソルが上記少なくとも1つの表示画
面対象から所定の距離内にあれば上記入力装置からの信
号に応答する成分を含み、上記少なくとも1つの表示画
面対象に特定された対話手段を表示画面上に表示する手
段とを具備することを特徴とするコンピュータ援助装
置。 - 【請求項25】 対話手段を表示する上記手段は、カー
ソルが上記少なくとも1つの表示画面対象から所定の距
離内に位置決めされれば、上記対話手段を自動的に表示
させるトリガ手段を含む請求項24に記載の装置。 - 【請求項26】 対話手段を表示する上記手段は、カー
ソルが上記少なくとも1つの表示画面対象から所定の距
離内に位置決めされ、且つ情報に対する要求がユーザか
ら受信された時に限って、上記対話手段を表示させるト
リガ手段を含む請求項24に記載の装置。 - 【請求項27】 上記情報に対する要求は、上記カーソ
ル位置決め装置によって生成される少なくとも1つの信
号を含む請求項26に記載の装置。 - 【請求項28】 キーボード装置をも具備し、上記入力
装置が2ボタン式のマウス装置であり、上記情報に対す
る要求がキーボード装置及びマウス装置の両者からの信
号からなる請求項27に記載の装置。 - 【請求項29】 上記情報に対する要求は、マウス装置
によって生成される右マウスボタン押下信号と、キーボ
ード装置によって生成されるシフトキー信号とを含む請
求項28に記載の装置。 - 【請求項30】 上記少なくとも1つの対象が、文章対
象及び図形対象から選択される請求項24に記載の装
置。
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)
| 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)
| 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)
| 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 |
-
1992
- 1992-11-02 US US07/970,724 patent/US5432940A/en not_active Expired - Lifetime
-
1993
- 1993-10-01 CA CA002107499A patent/CA2107499A1/en not_active Abandoned
- 1993-10-21 US US08/140,904 patent/US5475843A/en not_active Expired - Lifetime
- 1993-10-29 EP EP93308682A patent/EP0602790A3/en not_active Withdrawn
- 1993-11-02 JP JP5274481A patent/JPH06222897A/ja active Pending
-
1995
- 1995-03-17 US US08/407,438 patent/US5627958A/en not_active Expired - Lifetime
- 1995-12-08 US US08/569,826 patent/US5790117A/en not_active Expired - Lifetime
Cited By (1)
| 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 |