(57)【要約】アプリケーションのスキルベースのテストおよびトレーニングのための方法およびシステムを提供する。実施形態の例は、スキルベースシミュレーション・測定システム「ＳＢＳＭＳ」を提供する。これにより、テストおよびトレーニングのプログラムのパブリッシャおよびオーサは、生徒をテストおよびトレーニングするためのシミュレートされたアプリケーション環境を提供することができる。一実施形態では、ＳＢＳＭＳはクライアント部分およびサーバ部分を備える。クライアント部分は、生徒によって実行された生徒の応答を追跡するシミュレーションエンジンを含む。サーバ部分は、クライアント側のシミュレーションエンジンを実施するために用いられるコンポーネントおよびデータを備え、スキルベースのテスト・トレーニングエンジン、シミュレーションコンポーネント、非シミュレーションコンポーネント、およびテスト・トレーニングシナリオと生徒データのリポジトリを含む。サーバ部分は、シミュレーションコンポーネントおよび非シミュレーションコンポーネントを用いて、シナリオの部分に対する要求を受け取り、それら要求に応じる。サーバ部分エンジンは、クライアント部分から生徒の応答および得点を受け取り、それらをユーザ単位、シナリオ単位にてデータリポジトリに記憶する。クライアント部分およびサーバ部分は、協働して、テストおよびトレーニングのシナリオにおけるスキルベースのシミュレーションおよび測定を提供する。【特許請求の範囲】
【請求項１】
アプリケーションのユーザインタフェース諸相をシミュレートすることによって該アプリケーションとのスキルベース対話を提供するためのコンピュータシステムにおける方法において、
解答すべき問題を指示し、
前記アプリケーションの前記シミュレートされた諸相を用いて実行される複数のアクションとしての前記指示された問題に対する応答を受け取り、
前記受け取った応答を自動得点付けする
ことを特徴とするコンピュータシステムにおける方法。
【請求項２】
前記対話がテスト環境の一部であることを特徴とする請求項１に記載の方法。
【請求項３】
前記対話がトレーニング環境の一部であることを特徴とする請求項１に記載の方法。
【請求項４】
前記指示された問題が前記アプリケーションとの対話の所望の結果を特定することを特徴とする請求項１に記載の方法。
【請求項５】
前記実行された複数のアクションが記録されることを特徴とする請求項１に記載の方法。
【請求項６】
前記自動得点付けが、前記記録されたアクションが正しい応答を構成するかどうかを判定するために少なくとも１つの目標アクションと対照して前記記録されたアクションを評価することを特徴とする請求項５に記載の方法。
【請求項７】
前記自動得点付けが、スキルの大きさとして能率評定を判定するために前記記録されたアクションを評価することを特徴とする請求項５に記載の方法。
【請求項８】
前記記録されたアクションがデータリポジトリに記憶されることを特徴とする請求項５に記載の方法。
【請求項９】
前記アプリケーションが、ソフトウェアアプリケーション、トレーニングシナリオ、テクニカルアプリケーション、および装置のユーザインタフェースの少なくとも１つであることを特徴とする請求項１に記載の方法。
【請求項１０】
前記スキルベース対話が、該対話が実行されている間に、プラグインソフトウェアコードを使用せずに、前記アプリケーションのインスタンスを実行せずに、および前記アプリケーションの実行中のインスタンスを共有せずに、提供されることを特徴とする請求項１に記載の方法。
【請求項１１】
前記コンピュータシステムがクライアントシステムおよびサーバシステムを有し、前記シミュレートされた諸相が該サーバシステムから該クライアントシステムへ転送されることを特徴とする請求項１に記載の方法。
【請求項１２】
前記対話がクライアントブラウザシステムによって実行されることを特徴とする請求項１に記載の方法。
【請求項１３】
前記クライアントブラウザシステムがインターネットブラウザであることを特徴とする請求項１２に記載の方法。
【請求項１４】
入力テキストおよび出力テキストが別の言語で指示されることが可能であることを特徴とする請求項１に記載の方法。
【請求項１５】
アプリケーションのユーザインタフェース諸相をシミュレートすることによって該アプリケーションとのスキルベース対話を提供するようにコンピュータプロセッサを制御するための命令を含むコンピュータ可読記憶媒体において、該命令が、
解答すべき問題を指示し、
前記アプリケーションの前記シミュレートされた諸相を用いて実行される複数のアクションとしての前記指示された問題に対する応答を受け取り、
前記受け取った応答を自動得点付けする
ことによってコンピュータプロセッサを制御することを特徴とするコンピュータ可読記憶媒体。
【請求項１６】
前記対話がテスト環境の一部であることを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記対話がトレーニング環境の一部であることを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記指示された問題が前記アプリケーションとの対話の所望の結果を特定することを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記実行された複数のアクションが記録されることを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記自動得点付けが、前記記録されたアクションが正しい応答を構成するかどうかを判定するために少なくとも１つの目標アクションと対照して前記記録されたアクションを評価することを特徴とする請求項１９に記載のコンピュータ可読記憶媒体。
【請求項２１】
前記自動得点付けが、スキルの大きさとして能率評定を判定するために前記記録されたアクションを評価することを特徴とする請求項１９に記載のコンピュータ可読記憶媒体。
【請求項２２】
前記アプリケーションが、ソフトウェアアプリケーション、トレーニングシナリオ、テクニカルアプリケーション、および装置のユーザインタフェースの少なくとも１つであることを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２３】
前記スキルベース対話が、該対話が実行されている間に、プラグインソフトウェアコードを使用せずに、前記アプリケーションのインスタンスを実行せずに、および前記アプリケーションの実行中のインスタンスを共有せずに、提供されることを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２４】
入力テキストおよび出力テキストが別の言語で指示されることが可能であることを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項２５】
解答すべき問題を指示するように構成された問題プレゼンテーションコンポーネントと、
複数のシミュレートされたインタフェースコンポーネントであって、それぞれが、該シミュレートされたコンポーネントの選択に応答してアプリケーションの関連する挙動をシミュレートし、
シミュレートされたコンポーネントが選択されたという指示を受け取り、
前記アプリケーションの前記関連する挙動をシミュレートし、
前記選択に関連するアクションを記録する
ように構成された、複数のシミュレートされたインタフェースコンポーネントと、
選択された場合に、前記記録されたアクションが前記問題に対する応答を構成することを指示する応答インジケータと、
前記応答の前記指示を受け取り、前記記録されたアクションにスキルの測定値を自動的に関連づける得点付けコンポーネントと
を備えたことを特徴とするシミュレーションエンジン。
【請求項２６】
テスト環境の一部であることを特徴とする請求項２５に記載のシミュレーションエンジン。
【請求項２７】
トレーニング環境の一部であることを特徴とする請求項２５に記載のシミュレーションエンジン。
【請求項２８】
前記得点付けコンポーネントが、前記記録されたアクションが正しい応答を構成するかどうかを判定するために少なくとも１つの目標アクションと対照して前記記録されたアクションを評価することを特徴とする請求項２５に記載のシミュレーションエンジン。
【請求項２９】
前記得点付けコンポーネントが、スキルの大きさとして能率評定を判定するために前記記録されたアクションを評価することを特徴とする請求項２５に記載のシミュレーションエンジン。
【請求項３０】
前記記録されたアクションがデータリポジトリに記憶されることを特徴とする請求項２５に記載のシミュレーションエンジン。
【請求項３１】
前記アプリケーションが、ソフトウェアアプリケーション、トレーニングシナリオ、テクニカルアプリケーション、および装置のユーザインタフェースの少なくとも１つであることを特徴とする請求項２５に記載のシミュレーションエンジン。
【請求項３２】
前記アクションが実行されている間に、プラグインソフトウェアコードを使用せずに、前記アプリケーションのインスタンスを実行せずに、および前記アプリケーションの実行中のインスタンスを共有せずに、動作することを特徴とする請求項２５に記載のシミュレーションエンジン。
【請求項３３】
クライアント部分およびサーバ部分を有し、前記シミュレートされた諸相が該サーバ部分から該クライアント部分へ転送されることを特徴とする請求項２５に記載のシミュレーションエンジン。
【請求項３４】
クライアントブラウザシステムによって実行されることを特徴とする請求項２５に記載のシミュレーションエンジン。
【請求項３５】
前記クライアントブラウザシステムがインターネットブラウザであることを特徴とする請求項３４に記載のシミュレーションエンジン。
【請求項３６】
入力テキストおよび出力テキストが別の言語で指示されることが可能であることを特徴とする請求項２５に記載のシミュレーションエンジン。
【請求項３７】
アプリケーションプログラムに対するオペレータのスキルをテストするためのスキルベーステスト環境において、
テストされるべき前記アプリケーションの諸相をシミュレートするように構成されたシミュレーションエンジンであって、
結果を取得するためのテスト指令を表示し、
前記アプリケーションの前記シミュレートされた諸相との少なくとも１つの対話を指示する、前記表示された指令に対する応答の指示を受け取り、
前記指示された応答を自動得点付けする
ように構成されたシミュレーションエンジン
を備えたことを特徴とするスキルベーステスト環境。
【請求項３８】
前記シミュレーションエンジンが、前記アプリケーション機能のソフトウェアプラグインを実行せずに動作することを特徴とする請求項３７に記載のテスト環境。
【請求項３９】
前記シミュレーションエンジンが、テスト中に前記アプリケーションを実行せずに、および、該テスト中に前記アプリケーションの実行中のインスタンスと通信せずに、動作することを特徴とする請求項３７に記載のテスト環境。
【請求項４０】
前記得点が、能率、正確さ、時間、およびアクション評定の少なくとも１つの測定値を指定することを特徴とする請求項３７に記載のテスト環境。
【請求項４１】
前記アプリケーションが、ソフトウェアアプリケーション、テクニカルアプリケーション、および教育シナリオの少なくとも１つであることを特徴とする請求項３７に記載のテスト環境。
【請求項４２】
前記テスト指令が複数の言語の１つで表示されることを特徴とする請求項３７に記載のテスト環境。
【請求項４３】
アプリケーションに対するオペレータのスキルをテストするためのスキルベーステスト環境におけるコンピュータベースの方法において、
テストされるべき前記アプリケーションとの対話をシミュレートする複数のインタフェースコンポーネントを提示し、
結果を取得するためのテスト指令を表示し、
少なくとも１つのシミュレートされた対話の使用を指示する、前記表示された指令に対する応答の指示を受け取り、
前記指示された応答を自動得点付けする
ことを特徴とするコンピュータベースの方法。
【請求項４４】
前記アプリケーション機能のソフトウェアプラグインを実行せずに実行されることを特徴とする請求項４３に記載の方法。
【請求項４５】
テスト中に前記アプリケーションを実行せずに、および、該テスト中に前記アプリケーションの実行中のインスタンスと通信せずに、実行されることを特徴とする請求項４３に記載の方法。
【請求項４６】
前記得点が、能率、正確さ、時間、およびアクション評定の少なくとも１つの測定値を指定することを特徴とする請求項４３に記載の方法。
【請求項４７】
前記アプリケーションが、ソフトウェアアプリケーション、テクニカルアプリケーション、および教育シナリオの少なくとも１つであることを特徴とする請求項４３に記載の方法。
【請求項４８】
前記テスト指令が複数の言語の１つで表示されることを特徴とする請求項４３に記載の方法。
【請求項４９】
アプリケーションに対するオペレータのスキルをテストするようにコンピュータプロセッサを制御するための命令を含むコンピュータ可読記憶媒体において、該命令が、
テストされるべき前記アプリケーションとの対話をシミュレートする複数のインタフェースコンポーネントを提示し、
結果を取得するためのテスト指令を表示し、
少なくとも１つのシミュレートされた対話の使用を指示する、前記表示された指令に対する応答の指示を受け取り、
前記指示された応答を自動得点付けする
ことによってコンピュータプロセッサを制御することを特徴とするコンピュータ可読記憶媒体。
【請求項５０】
前記命令が、前記アプリケーション機能のソフトウェアプラグインを実行せずに動作することを特徴とする請求項４９に記載のコンピュータ可読記憶媒体。
【請求項５１】
前記命令が、テスト中に前記アプリケーションを実行せずに、および、該テスト中に前記アプリケーションの実行中のインスタンスと通信せずに、動作することを特徴とする請求項４９に記載のコンピュータ可読記憶媒体。
【請求項５２】
前記得点付けが、能率、正確さ、時間、およびアクション評定の少なくとも１つの測定値を指定することを特徴とする請求項４９に記載のコンピュータ可読記憶媒体。
【請求項５３】
前記アプリケーションが、ソフトウェアアプリケーション、テクニカルアプリケーション、および教育シナリオの少なくとも１つであることを特徴とする請求項４９に記載のコンピュータ可読記憶媒体。
【請求項５４】
前記テスト指令が複数の言語の１つで表示されることを特徴とする請求項４９に記載のコンピュータ可読記憶媒体。
【請求項５５】
アプリケーションプログラムに関連するスキルに関してオペレータをトレーニングするためのトレーニング環境において、該環境は該アプリケーションの諸相をシミュレートするように構成され、
前記アプリケーションと対話するための命令を表示するトレーニングシナリオと、
前記アプリケーションの前記シミュレートされた諸相との少なくとも１つの対話を指示する、前記表示された指令に対する応答の指示を受け取り、
スキルの指示を与えるために前記指示された応答を自動得点付けする
ように構成された応答追跡メカニズムと
を備えたことを特徴とするトレーニング環境。
【請求項５６】
前記アプリケーション機能のソフトウェアプラグインを実行せずに動作することを特徴とする請求項５５に記載のトレーニング環境。
【請求項５７】
テスト中に前記アプリケーションを実行せずに、および、該テスト中に前記アプリケーションの実行中のインスタンスと通信せずに、動作することを特徴とする請求項５５に記載のトレーニング環境。
【請求項５８】
前記得点が、能率、正確さ、時間、およびアクション評定の少なくとも１つの測定値を指定することを特徴とする請求項５５に記載のトレーニング環境。
【請求項５９】
前記アプリケーションが、ソフトウェアアプリケーション、テクニカルアプリケーション、および教育シナリオの少なくとも１つであることを特徴とする請求項５５に記載のトレーニング環境。
【請求項６０】
前記命令が複数の言語の１つで表示されることが可能であることを特徴とする請求項５５に記載のトレーニング環境。
【請求項６１】
アプリケーションに対するスキルに関してオペレータをトレーニングするためのスキルベーストレーニング環境における方法において、
前記アプリケーションとの対話をシミュレートする複数のインタフェースコンポーネントを提示し、
前記アプリケーションと対話するための命令を表示し、
少なくとも１つのシミュレートされた対話の使用を指示する、前記表示された命令に対する応答の指示を受け取り、
前記指示された応答を自動得点付けする
ことを特徴とするスキルベーストレーニング環境における方法。
【請求項６２】
前記アプリケーション機能のソフトウェアプラグインを実行せずに動作することを特徴とする請求項６１に記載の方法。
【請求項６３】
テスト中に前記アプリケーションを実行せずに、および、該テスト中に前記アプリケーションの実行中のインスタンスと通信せずに、動作することを特徴とする請求項６１に記載の方法。
【請求項６４】
前記得点付けが、能率、正確さ、時間、およびアクション評定の少なくとも１つの測定値を指定することを特徴とする請求項６１に記載の方法。
【請求項６５】
前記アプリケーションが、ソフトウェアアプリケーション、テクニカルアプリケーション、および教育シナリオの少なくとも１つであることを特徴とする請求項６１に記載の方法。
【請求項６６】
前記命令が複数の言語の１つで表示されることが可能であることを特徴とする請求項６１に記載の方法。
【請求項６７】
アプリケーションに対するスキルに関してオペレータをトレーニングするようにコンピュータプロセッサを制御するための命令を含むコンピュータ可読記憶媒体において、該命令が、
前記アプリケーションとの対話をシミュレートする複数のインタフェースコンポーネントを提示し、
前記アプリケーションと対話するための命令を表示し、
少なくとも１つのシミュレートされた対話の使用を指示する、前記表示された命令に対する応答の指示を受け取り、
前記指示された応答を自動得点付けする
ことによってコンピュータプロセッサを制御することを特徴とするコンピュータ可読記憶媒体。
【請求項６８】
前記命令が、前記アプリケーション機能のソフトウェアプラグインを実行せずに動作することを特徴とする請求項６７に記載のコンピュータ可読記憶媒体。
【請求項６９】
前記命令が、テスト中に前記アプリケーションを実行せずに、および、該テスト中に前記アプリケーションの実行中のインスタンスと通信せずに、動作することを特徴とする請求項６７に記載のコンピュータ可読記憶媒体。
【請求項７０】
前記得点付けが、能率、正確さ、時間、およびアクション評定の少なくとも１つの測定値を指定することを特徴とする請求項６７に記載のコンピュータ可読記憶媒体。
【請求項７１】
前記アプリケーションが、ソフトウェアアプリケーション、テクニカルアプリケーション、および教育シナリオの少なくとも１つであることを特徴とする請求項６７に記載のコンピュータ可読記憶媒体。
【請求項７２】
前記命令が複数の言語の１つで表示されることが可能であることを特徴とする請求項６７に記載のコンピュータ可読記憶媒体。
【請求項７３】
スキルベース測定環境を提供するためのサーバコンピュータシステムにおける方法において、
クライアントシステムへシミュレーションエンジンを転送し、該シミュレーションエンジンは、アプリケーションを実行せずに該アプリケーションとの対話をシミュレートする複数のインタフェースコンポーネントを有するとともに、解答されるべき複数の問題を有し、各問題は前記サーバコンピュータシステムに記憶された対応する解答を有し、
問題に対する応答の指示を受け取り、
前記指示された応答の正確さと、前記応答を生成するために用いられたスキルを測定する能率評定とを自動判定する
ことを特徴とするサーバコンピュータシステムにおける方法。
【請求項７４】
各問題は前記サーバコンピュータシステムに記憶された対応する解答を有し、前記指示された応答の正確さが該指示された応答を前記記憶された解答と比較することによって判定されることを特徴とする請求項７３に記載の方法。
【請求項７５】
前記応答は関連する記録されたアクションのセットを有し、前記能率評定が、前記応答の前記記録されたアクションを記録されたアクションの目標数と比較することによって判定されることを特徴とする請求項７３に記載の方法。
【請求項７６】
前記シミュレーションエンジンが複数のコンポーネントとして前記クライアントシステムへ転送されることを特徴とする請求項７３に記載の方法。
【請求項７７】
前記コンポーネントが、シミュレーションのフローを制御するために用いられるコードを含む基本シミュレーションコンポーネントと、複数の問題に対する前記アプリケーションの共有諸相をシミュレートするためのコードを含むシミュレーションオーバービューコンポーネントと、問題に固有のコードを提供する問題シミュレーションコンポーネントとを含むことを特徴とする請求項７３に記載の方法。
【請求項７８】
前記測定環境がテストシナリオを提供するために用いられることを特徴とする請求項７３に記載の方法。
【請求項７９】
前記測定環境がトレーニングシナリオを提供するために用いられることを特徴とする請求項７３に記載の方法。
【請求項８０】
前記シミュレーションエンジンへの入力および前記シミュレーションエンジンからの出力が複数の言語の１つで指示されることが可能であることを特徴とする請求項７３に記載の方法。
【請求項８１】
スキルベース測定環境を提供するようにコンピュータプロセッサを制御するための命令を含むコンピュータ可読記憶媒体において、該命令が、
クライアントシステムへシミュレーションエンジンを転送し、該シミュレーションエンジンは、アプリケーションを実行せずに該アプリケーションとの対話をシミュレートする複数のインタフェースコンポーネントを有するとともに、解答されるべき複数の問題を有し、各問題は前記サーバコンピュータシステムに記憶された対応する解答を有し、
問題に対する応答の指示を受け取り、
前記指示された応答の正確さと、前記応答を生成するために用いられたスキルを測定する能率評定とを自動判定する
ことによってコンピュータプロセッサを制御することを特徴とするコンピュータ可読記憶媒体。
【請求項８２】
各問題は前記サーバコンピュータシステムに記憶された対応する解答を有し、前記指示された応答の正確さが該指示された応答を前記記憶された解答と比較することによって判定されることを特徴とする請求項８１に記載のコンピュータ可読記憶媒体。
【請求項８３】
前記応答は関連する記録されたアクションのセットを有し、前記能率評定が、前記応答の前記記録されたアクションを記録されたアクションの目標数と比較することによって判定されることを特徴とする請求項８１に記載のコンピュータ可読記憶媒体。
【請求項８４】
前記シミュレーションエンジンが複数のコンポーネントとして前記クライアントシステムへ転送されることを特徴とする請求項８１に記載のコンピュータ可読記憶媒体。
【請求項８５】
前記測定環境がテストシナリオおよびトレーニングシナリオの１つを提供するために用いられることを特徴とする請求項８１に記載のコンピュータ可読記憶媒体。
【請求項８６】
前記シミュレーションエンジンへの入力および前記シミュレーションエンジンからの出力が複数の言語の１つで指示されることが可能であることを特徴とする請求項８１に記載のコンピュータ可読記憶媒体。
【請求項８７】
スキルベース測定環境を提供するためのコンピュータシステムにおいて、
クライアントシステムへ転送されるシミュレーションエンジンであって、該エンジンは、アプリケーションを実行せずに該アプリケーションとの対話をシミュレートする複数のインタフェースコンポーネントを有するとともに、解答されるべき複数の問題を有し、各問題は該サーバコンピュータシステムに記憶された対応する解答を有する、シミュレーションエンジンと、
問題に対する応答の指示を受け取り、
前記指示された応答の正確さと、前記応答を生成するために用いられたスキルを測定する能率評定とを自動判定する
ように構成された応答追跡メカニズムと
を備えたことを特徴とするコンピュータシステム。
【請求項８８】
各問題は前記サーバコンピュータシステムに記憶された対応する解答を有し、前記指示された応答の正確さが該指示された応答を前記記憶された解答と比較することによって判定されることを特徴とする請求項８７に記載のシステム。
【請求項８９】
前記応答は関連する記録されたアクションのセットを有し、前記能率評定が、前記応答の前記記録されたアクションを記録されたアクションの目標数と比較することによって判定されることを特徴とする請求項８７に記載のシステム。
【請求項９０】
前記測定環境がテストシナリオおよびトレーニングシナリオの１つを提供するために用いられることを特徴とする請求項８７に記載のシステム。
【請求項９１】
前記シミュレーションエンジンへの入力および前記シミュレーションエンジンからの出力が複数の言語の１つで指示されることが可能であることを特徴とする請求項８７に記載のシステム。
【請求項９２】
スキルベースのアプリケーションシミュレーションエンジンを提供するためのコンピュータシステムにおける方法において、
アプリケーションの選択のためのインタフェースを提供する基本シミュレーション環境を生成および記憶し、
複数の問題に対する前記アプリケーションとの対話をシミュレートするインタフェースコンポーネントを提供するアプリケーションシミュレーションコンポーネントを生成および記憶し、
前記複数の問題のそれぞれの問題に対して、該問題に対する応答が正しいかどうかの判定と、該問題の目的上前記アプリケーションとの対話をシミュレートするのに必要な問題固有インタフェースコンポーネントとを提供する問題シミュレーションコンポーネントを生成および記憶し、
前記問題によって規定される複数の課題を実行するために前記アプリケーションを使用するスキルベース測定が提供されるように、前記記憶された基本シミュレーション環境、アプリケーションシミュレーションコンポーネント、および前記複数の問題シミュレーションコンポーネントを実行させる
ことを特徴とするコンピュータシステムにおける方法。
【請求項９３】
クライアント−サーバ型アーキテクチャを用いて実行されることを特徴とする請求項９２に記載の方法。
【請求項９４】
ＡＳＰ  ．ＮＥＴ環境を用いて実行されることを特徴とする請求項９３に記載の方法。
【請求項９５】
インターネットを通じて実行されることを特徴とする請求項９３に記載の方法。
【請求項９６】
前記コンポーネントを生成および記憶することがサーバシステム上で実行され、前記コンポーネントの実行がクライアントシステム上で実行されることを特徴とする請求項９３に記載の方法。
【請求項９７】
前記シミュレーションエンジンインタフェースコンポーネントとの対話の複数の指示を受け取ること、および
前記複数の課題を実行する際に前記対話の有効性を測定すること
をさらに含むことを特徴とする請求項９２に記載の方法。
【請求項９８】
前記測定が問題ごとに判定されることを特徴とする請求項９２に記載の方法。
【請求項９９】
前記測定がアプリケーションシミュレーションごとに判定されることを特徴とする請求項９２に記載の方法。
【請求項１００】
前記スキルベースの測定が、
問題に応答して呼び出されるアクションのセットを記録すること、および
目標のアクションのセットを基準として前記記録されたアクションの能率測定値を判定すること
をさらに含むことを特徴とする請求項９２に記載の方法。
【請求項１０１】
複数のアプリケーションプログラムとの対話をシミュレートし該対話で用いられたスキルを測定するようにコンピュータプロセッサを制御するための命令を含むコンピュータ可読記憶媒体において、
アプリケーションの選択のためのインタフェースを提供する命令を有する基本シミュレーション環境と、
複数の問題に対する前記アプリケーションとの対話をシミュレートする命令を有するインタフェースコンポーネントを提供するアプリケーションシミュレーションコンポーネントと、
複数の問題シミュレーションコンポーネントであって、各コンポーネントが、問題に対する応答が正しいかどうかの判定、該応答を実行するために用いられたスキルの大きさ、および該問題に解答する目的上前記アプリケーションとの対話をシミュレートするのに必要な問題固有インタフェースコンポーネントを提供する命令を有する、複数の問題シミュレーションコンポーネントと
を備えたことを特徴とするコンピュータ可読記憶媒体。
【請求項１０２】
前記基本シミュレーション環境およびコンポーネントがＡＳＰ  ．ＮＥＴフレームワークによって構成されることを特徴とする請求項１０１に記載のコンピュータ可読記憶媒体。
【請求項１０３】
前記基本シミュレーション環境およびコンポーネントがインターネットを通じて実行されるように構成されることを特徴とする請求項１０１に記載のコンピュータ可読記憶媒体。
【請求項１０４】
前記問題シミュレーションコンポーネントが、
対話の複数の指示を受け取る命令と、
前記複数の問題に応答して前記対話の有効性を測定する命令と
をさらに提供することを特徴とする請求項１０１に記載のコンピュータ可読記憶媒体。
【請求項１０５】
前記測定が問題ごとに判定されることを特徴とする請求項１０４に記載のコンピュータ可読記憶媒体。
【請求項１０６】
前記測定がアプリケーションシミュレーションごとに判定されることを特徴とする請求項１０４に記載のコンピュータ可読記憶媒体。
【請求項１０７】
問題に応答して呼び出されるアクションのセットを記録すること、および
目標のアクションのセットを基準として前記記録されたアクションの能率測定値を判定すること
を前記コンピュータプロセッサに行わせる命令をさらに備えたことを特徴とする請求項１０１に記載のコンピュータ可読記憶媒体。
【請求項１０８】
アプリケーションの選択のためのインタフェースを提供するように構成された基本シミュレーション環境と、
複数の問題に対する前記アプリケーションとの対話をシミュレートするインタフェースコンポーネントを提供するように構成されたアプリケーションシミュレーションコンポーネントと、
複数の問題シミュレーションコンポーネントであって、各コンポーネントが、問題に対する応答が正しいかどうかの判定、該応答を実行するために用いられたスキルの大きさ、および該問題に解答する目的上前記アプリケーションとの対話をシミュレートするのに必要な問題固有インタフェースコンポーネントを提供するように構成された、複数の問題シミュレーションコンポーネントと
を備えたことを特徴とするコンピュータシステム。
【請求項１０９】
前記基本シミュレーション環境およびコンポーネントがＡＳＰ  ．ＮＥＴフレームワークによって構成されることを特徴とする請求項１０８に記載のシステム。
【請求項１１０】
前記基本シミュレーション環境およびコンポーネントがインターネットを通じて実行されるように構成されることを特徴とする請求項１０８に記載のシステム。
【請求項１１１】
前記問題シミュレーションコンポーネントが、
対話の複数の指示を受け取り、
前記複数の問題に応答して前記対話の有効性を測定する
ようにさらに構成されることを特徴とする請求項１０８に記載のシステム。
【請求項１１２】
前記測定が問題ごとに判定されることを特徴とする請求項１１１に記載のシステム。
【請求項１１３】
前記測定がアプリケーションシミュレーションごとに判定されることを特徴とする請求項１１１に記載のシステム。
【請求項１１４】
問題に応答して呼び出されるアクションのセットを記録し、
目標のアクションのセットを基準として前記記録されたアクションの能率測定値を判定する
ように構成された記録メカニズムをさらに備えたことを特徴とする請求項１０８に記載のシステム。
【請求項１１５】
アプリケーションを使用する際のスキルの大きさを判定することができるような、該アプリケーションとの対話をシミュレートするようにコンピュータシミュレーション環境を制御するために用いられるコードおよびデータ構造を有する複数のソフトウェアコンポーネントを含むコンピュータ可読記憶媒体において、
アプリケーション非依存のアプリケーション対話挙動を提供する複数の基本レベルシミュレーションコンポーネントと、
アプリケーションに関連する複数の問題の間で共有されるアプリケーション挙動およびアプリケーションプレゼンテーションをシミュレートする複数のアプリケーションレベルシミュレーションコンポーネントと、
複数の問題レベルシミュレーションコンポーネントであって、各コンポーネントが、前記アプリケーションに関連する問題に固有であり、該問題に解答することに関連するスキルを判定するために該問題に応答して呼び出される一連の対話を測定する、複数の問題レベルシミュレーションコンポーネントと
を備えたことを特徴とするコンピュータ可読記憶媒体。
【請求項１１６】
前記コンポーネントが、Active Server Pages（ＡＳＰ  ．ＮＥＴ）の「．ＮＥＴ」バージョンで動作するように構築されることを特徴とする請求項１１５に記載の記憶媒体。
【請求項１１７】
複数の前記コンポーネントがクライアントコンピュータシステム上で実行されるために該クライアントコンピュータシステムにダウンロードされることを特徴とする請求項１１５に記載の記憶媒体。
【請求項１１８】
請求項１１５に記載の記憶媒体を有するコンピュータシステムにおける方法において、
前記記憶媒体から前記基本レベルシミュレーションコンポーネントのセットを読み出し、
前記記憶媒体から前記アプリケーションレベルシミュレーションコンポーネントのセットを読み出し、
前記記憶媒体から前記問題レベルシミュレーションコンポーネントのセットを読み出し、
前記問題レベルシミュレーションコンポーネントに関連する前記複数の問題を提示し、各問題に対する応答アクションのセットの指示を受け取り、各問題に対する前記指示された応答アクションの能率測定値を判定するために、前記読み出されたコンポーネントのセットを実行する
ことを特徴とするコンピュータシステムにおける方法。
【請求項１１９】
前記読み出されたコンポーネントを実行することが、前記アプリケーションを起動せずに実行されることを特徴とする請求項１１８に記載の方法。
【請求項１２０】
前記読み出されたコンポーネントを実行することが、前記アプリケーションのソフトウェアコードプラグインモジュールを起動せずに実行されることを特徴とする請求項１１８に記載の方法。
【請求項１２１】
前記読み出されたコンポーネントを実行することが、前記アプリケーションを使用する際のスキルをテストするために用いられることを特徴とする請求項１１８に記載の方法。
【請求項１２２】
前記読み出されたコンポーネントを実行することが、オペレータが前記アプリケーションを使用することをトレーニングするために用いられることを特徴とする請求項１１８に記載の方法。
【請求項１２３】
前記能率測定値が、各問題に対する前記指示された応答アクションを各問題に対する目標アクションと比較することによって判定されることを特徴とする請求項１１８に記載の方法。
【請求項１２４】
総合能率測定値が、前記複数の問題に対して判定されることを特徴とする請求項１１８に記載の方法。
【請求項１２５】
請求項１１５に記載の記憶媒体を有するコンピュータシステムにおけるシミュレーションエンジンにおいて、
前記記憶媒体から読み出された基本レベルシミュレーションコンポーネントのセットと、
前記記憶媒体から読み出された前記アプリケーションレベルシミュレーションコンポーネントのセットと、
前記問題レベルシミュレーションコンポーネントに関連する前記複数の問題を提示し、
各問題に対する応答アクションのセットの指示を受け取り、
各問題に対する前記指示された応答アクションの能率測定値を判定する
ように構成された、前記記憶媒体から読み出された前記問題レベルシミュレーションコンポーネントのセットと
を備えたことを特徴とするシミュレーションエンジン。
【請求項１２６】
前記読み出されたコンポーネントが、前記アプリケーションを起動せずに実行されることを特徴とする請求項１２５に記載のエンジン。
【請求項１２７】
前記読み出されたコンポーネントが、前記アプリケーションのソフトウェアコードプラグインモジュールを起動せずに実行されることを特徴とする請求項１２５に記載のエンジン。
【請求項１２８】
前記読み出されたコンポーネントが、前記アプリケーションを使用する際のスキルをテストするために実行されることを特徴とする請求項１２５に記載のエンジン。
【請求項１２９】
前記読み出されたコンポーネントが、オペレータが前記アプリケーションを使用することをトレーニングするために実行されることを特徴とする請求項１２５に記載のエンジン。
【請求項１３０】
前記能率測定値が、各問題に対する前記指示された応答アクションを各問題に対する目標アクションと比較することによって判定されることを特徴とする請求項１２５に記載のエンジン。
【請求項１３１】
スキルベース測定シナリオをオーサリングするためのコンピュータシステムにおける方法において、
データリポジトリに記憶された複数の問題からの問題のセットの指示を受け取り、各問題は該問題に対する解答を含む所望のアクションの関連するセットを有し、
データリポジトリに記憶された複数のシナリオからのシナリオの指定を受け取り、
前記コンピュータシステム上で実行される時に、オペレータのアクションのセットとして問題に対する応答を受け取り、該問題に関連する前記所望のアクションのセットと比較して該応答を自動測定するスキルベース測定シナリオを作成するために、前記指示された問題のセットを指定されたシナリオに関連づける
ことを特徴とするコンピュータシステムにおける方法。
【請求項１３２】
前記測定が、スキルの大きさとして前記応答の正確さを測定することを特徴とする請求項１３１に記載の方法。
【請求項１３３】
前記測定が、スキルの大きさとして前記応答の能率を測定することを特徴とする請求項１３１に記載の方法。
【請求項１３４】
前記シナリオがテスト環境におけるテストであることを特徴とする請求項１３１に記載の方法。
【請求項１３５】
前記シナリオがトレーニング目的で提示されることを特徴とする請求項１３１に記載の方法。
【請求項１３６】
前記指示された問題のセットが、前記シナリオとのシミュレートされた対話を要求するシミュレーション問題と、シミュレートされた対話の使用を要求しない非シミュレーション問題とを含むことを特徴とする請求項１３１に記載の方法。
【請求項１３７】
前記自動測定が、複数の応答および問題に対して実行され、該応答の測定が、シミュレーション問題および非シミュレーション問題に対する応答を測定することを特徴とする請求項１３６に記載の方法。
【請求項１３８】
前記複数の問題が複数の言語によるテキストを含むことを特徴とする請求項１３１に記載の方法。
【請求項１３９】
前記作成されたシナリオが複数の言語による問題を含むことを特徴とする請求項１３１に記載の方法。
【請求項１４０】
前記データリポジトリに記憶された前記複数の問題を変更することをさらに含むことを特徴とする請求項１３１に記載の方法。
【請求項１４１】
変更が、追加、削除、および更新の少なくとも１つであることを特徴とする請求項１４０に記載の方法。
【請求項１４２】
前記データリポジトリに記憶された前記複数のシナリオを変更することをさらに含むことを特徴とする請求項１３１に記載の方法。
【請求項１４３】
変更が、追加、削除、および更新の少なくとも１つであることを特徴とする請求項１４２に記載の方法。
【請求項１４４】
スキルベース測定シナリオをオーサリングするようにコンピュータプロセッサを制御するための命令を含むコンピュータ可読記憶媒体において、該命令が、
データリポジトリに記憶された複数の問題からの問題のセットの指示を受け取り、各問題は該問題に対する解答を含む所望のアクションの関連するセットを有し、
データリポジトリに記憶された複数のシナリオからのシナリオの指定を受け取り、
前記コンピュータシステム上で実行される時に、オペレータのアクションのセットとして問題に対する応答を受け取り、該問題に関連する前記所望のアクションのセットと比較して該応答を自動測定するスキルベース測定シナリオを作成するために、前記指示された問題のセットを指定されたシナリオに関連づける
ことによってコンピュータプロセッサを制御することを特徴とするコンピュータ可読記憶媒体。
【請求項１４５】
前記測定が、スキルの大きさとして前記応答の正確さを測定することを特徴とする請求項１４４に記載の記憶媒体。
【請求項１４６】
前記測定が、スキルの大きさとして前記応答の能率を測定することを特徴とする請求項１４４に記載の記憶媒体。
【請求項１４７】
前記シナリオがテスト環境におけるテストであることを特徴とする請求項１４４に記載の記憶媒体。
【請求項１４８】
前記シナリオがトレーニング目的で提示されることを特徴とする請求項１４４に記載の記憶媒体。
【請求項１４９】
前記指示された問題のセットが、前記シナリオとのシミュレートされた対話を要求するシミュレーション問題と、シミュレートされた対話の使用を要求しない非シミュレーション問題とを含むことを特徴とする請求項１４４に記載の記憶媒体。
【請求項１５０】
前記自動測定が、複数の応答および問題に対して実行され、該応答の測定が、シミュレーション問題および非シミュレーション問題に対する応答を測定することを特徴とする請求項１４９に記載の記憶媒体。
【請求項１５１】
前記複数の問題が複数の言語によるテキストを含むことを特徴とする請求項１４４に記載の記憶媒体。
【請求項１５２】
前記作成されたシナリオが複数の言語による問題を含むことを特徴とする請求項１４４に記載の記憶媒体。
【請求項１５３】
前記データリポジトリに記憶された前記複数の問題を変更することによってコンピュータプロセッサを制御する命令をさらに備えたことを特徴とする請求項１４４に記載の記憶媒体。
【請求項１５４】
変更が、追加、削除、および更新の少なくとも１つであることを特徴とする請求項１５３に記載の記憶媒体。
【請求項１５５】
前記データリポジトリに記憶された前記複数のシナリオを変更することによってコンピュータプロセッサを制御する命令をさらに備えたことを特徴とする請求項１４４に記載の記憶媒体。
【請求項１５６】
変更が、追加、削除、および更新の少なくとも１つであることを特徴とする請求項１５５に記載の記憶媒体。
【請求項１５７】
スキルベース測定シナリオのオーサリングツールにおいて、
データリポジトリに記憶された複数の問題からの問題のセットの指示を受け取るように構成された問題指定部であって、各問題は該問題に対する解答を含む所望のアクションの関連するセットを有する、問題指定部と、
データリポジトリに記憶された複数のシナリオからのシナリオの指定を受け取るように構成されたシナリオ指定部と、
スキルベース測定シナリオを作成するために、前記指示された問題のセットを指定されたシナリオに関連づけるように構成された一致メカニズムであって、該シナリオが実行される時に、該シナリオが、オペレータのアクションのセットとして問題に対する応答を受け取り、該問題に関連する前記所望のアクションのセットと比較して該応答を自動測定する、一致メカニズムと
を備えたことを特徴とするオーサリングツール。
【請求項１５８】
前記測定が、スキルの大きさとして前記応答の正確さを測定することを特徴とする請求項１５７に記載のツール。
【請求項１５９】
前記測定が、スキルの大きさとして前記応答の能率を測定することを特徴とする請求項１５７に記載のツール。
【請求項１６０】
前記シナリオがテスト環境におけるテストであることを特徴とする請求項１５７に記載のツール。
【請求項１６１】
前記シナリオがトレーニング目的で提示されることを特徴とする請求項１５７に記載のツール。
【請求項１６２】
前記指示された問題のセットが、前記シナリオとのシミュレートされた対話を要求するシミュレーション問題と、シミュレートされた対話の使用を要求しない非シミュレーション問題とを含むことを特徴とする請求項１５７に記載のツール。
【請求項１６３】
前記自動測定が、複数の応答および問題に対して実行され、該応答の測定が、シミュレーション問題および非シミュレーション問題に対する応答を測定することを特徴とする請求項１６２に記載のツール。
【請求項１６４】
前記複数の問題が複数の言語によるテキストを含むことを特徴とする請求項１５７に記載のツール。
【請求項１６５】
前記作成されたシナリオが複数の言語による問題を含むことを特徴とする請求項１５７に記載のツール。
【請求項１６６】
前記データリポジトリに記憶された前記複数の問題を変更するように構成された問題変更部をさらに備えたことを特徴とする請求項１５７に記載のツール。
【請求項１６７】
変更が、追加、削除、および更新の少なくとも１つであることを特徴とする請求項１６６に記載のツール。
【請求項１６８】
前記データリポジトリに記憶された前記複数のシナリオを変更するように構成されたシナリオ変更部をさらに備えたことを特徴とする請求項１５７に記載のツール。
【請求項１６９】
変更が、追加、削除、および更新の少なくとも１つであることを特徴とする請求項１６８に記載のツール。
【請求項１７０】
アプリケーションを使用する際のスキルの測定値を得点付けするためのコンピュータシステムにおける方法において、
前記アプリケーションに関連する課題の実行を指示する問題に対する応答であって、前記アプリケーションのシミュレートされた諸相と対話することによって実行されるアクションのセットを指示する応答を受け取り、
前記スキルの測定値を判定するために前記指示されたアクションのセットを目標のアクションのセットと比較することによって前記応答を自動得点付けする
ことを特徴とするコンピュータシステムにおける方法。
【請求項１７１】
前記得点付けが、能率の大きさを指示することを特徴とする請求項１７０に記載の方法。
【請求項１７２】
能率が、前記目標のアクションのセット内のアクション数を前記指示されたアクションのセット内のアクション数で除算し、その結果に１００を乗算することによって測定されることを特徴とする請求項１７１に記載の方法。
【請求項１７３】
前記得点付けが、正確さの測度をさらに指示することを特徴とする請求項１７１に記載の方法。
【請求項１７４】
前記得点付けが、最適アクション、能率、正確さ、および時間の少なくとも１つの測度を指示することを特徴とする請求項１７０に記載の方法。
【請求項１７５】
前記アプリケーションのシミュレートされた諸相との対話を要求しない非シミュレーション問題に対する応答を受け取ること、
前記非シミュレーション問題に対する前記応答についての得点を自動判定すること、および
前記非シミュレーション問題に対する前記応答の前記得点を、前記課題の実行を指示する前記問題に対する前記応答の前記得点と組み合わせることにより、前記アプリケーションの使用についての総合得点を自動判定すること
をさらに含むことを特徴とする請求項１７０に記載の方法。
【請求項１７６】
前記総合得点が、前記非シミュレーション問題に対する前記応答の正確さ測度を判定し、前記アクションのセットを指示する前記応答の正確さ測度を判定し、両方の測度を組み合わせて単一の結果にすることによって判定されることを特徴とする請求項１７５に記載の方法。
【請求項１７７】
前記アプリケーションに関連する第２の課題の実行を指示する第２の問題に対する第２の応答であって、前記アプリケーションのシミュレートされた諸相と対話することによって実行される第２のアクションのセットを指示する第２の応答を受け取ること、
スキルの大きさを判定するために前記指示された第２のアクションのセットを第２の目標のアクションのセットと比較することによって前記第２の応答を自動得点付けすること、および
前記応答の前記得点と前記第２の応答の前記得点を組み合わせることによって、前記アプリケーションの使用についての総合得点を自動判定すること
をさらに含むことを特徴とする請求項１７０に記載の方法。
【請求項１７８】
前記総合得点が、平均能率の測度であることを特徴とする請求項１７７に記載の方法。
【請求項１７９】
前記総合得点が、最適アクション、能率、正確さ、および時間の少なくとも１つの測度であることを特徴とする請求項１７７に記載の方法。
【請求項１８０】
該方法が、前記アプリケーションを起動せずに、および、前記アプリケーションのプラグインモジュールを実行せずに、実行されることを特徴とする請求項１７０に記載の方法。
【請求項１８１】
テストシステムの一部として実行されることを特徴とする請求項１７０に記載の方法。
【請求項１８２】
トレーニングシステムの一部として実行されることを特徴とする請求項１７０に記載の方法。
【請求項１８３】
前記問題が複数の言語で提示されることが可能であることを特徴とする請求項１７０に記載の方法。
【請求項１８４】
アプリケーションを使用する際のスキルの測定値を得点付けするようにコンピュータプロセッサを制御するための命令を含むコンピュータ可読記憶媒体において、該命令が、
前記アプリケーションに関連する課題の実行を指示する問題に対する応答であって、前記アプリケーションのシミュレートされた諸相と対話することによって実行されるアクションのセットを指示する応答を受け取り、
前記スキルの測定値を判定するために前記指示されたアクションのセットを目標のアクションのセットと比較することによって前記応答を自動得点付けする
ことを特徴とするコンピュータ可読記憶媒体。
【請求項１８５】
前記得点付けが、能率の測度を指示することを特徴とする請求項１８４に記載の記憶媒体。
【請求項１８６】
能率が、前記目標のアクションのセット内のアクション数を前記指示されたアクションのセット内のアクション数で除算し、その結果に１００を乗算することによって測定されることを特徴とする請求項１８５に記載の記憶媒体。
【請求項１８７】
前記得点付けが、正確さの測度をさらに指示することを特徴とする請求項１８５に記載の記憶媒体。
【請求項１８８】
前記得点付けが、最適アクション、能率、正確さ、および時間の少なくとも１つの測度を指示することを特徴とする請求項１８４に記載の記憶媒体。
【請求項１８９】
前記アプリケーションのシミュレートされた諸相との対話を要求しない非シミュレーション問題に対する応答を受け取ること、
前記非シミュレーション問題に対する前記応答についての得点を自動判定すること、および
前記非シミュレーション問題に対する前記応答の前記得点を、前記課題の実行を指示する前記問題に対する前記応答の前記得点と組み合わせることにより、前記アプリケーションの使用についての総合得点を自動判定すること
によって前記コンピュータプロセッサを制御する命令をさらに備えたことを特徴とする請求項１８４に記載の記憶媒体。
【請求項１９０】
前記総合得点が、前記非シミュレーション問題に対する前記応答の正確さ測度を判定し、前記アクションのセットを指示する前記応答の正確さ測度を判定し、両方の測度を組み合わせて単一の結果にすることによって判定されることを特徴とする請求項１８９に記載の記憶媒体。
【請求項１９１】
前記アプリケーションに関連する第２の課題の実行を指示する第２の問題に対する第２の応答であって、前記アプリケーションのシミュレートされた諸相と対話することによって実行される第２のアクションのセットを指示する第２の応答を受け取ること、
スキルの大きさを判定するために前記指示された第２のアクションのセットを第２の目標のアクションのセットと比較することによって前記第２の応答を自動得点付けすること、および
前記応答の前記得点と前記第２の応答の前記得点を組み合わせることによって、前記アプリケーションの使用についての総合得点を自動判定すること
によって前記コンピュータプロセッサを制御する命令をさらに備えたことを特徴とする請求項１８４に記載の記憶媒体。
【請求項１９２】
前記総合得点が、平均能率の測度であることを特徴とする請求項１９１に記載の記憶媒体。
【請求項１９３】
前記総合得点が、最適アクション、能率、正確さ、および時間の少なくとも１つの測度であることを特徴とする請求項１９１に記載の記憶媒体。
【請求項１９４】
前記命令が、前記アプリケーションを起動せずに、および、前記アプリケーションのプラグインモジュールを実行せずに、実行されることを特徴とする請求項１８４に記載の記憶媒体。
【請求項１９５】
前記命令がテストシステムの一部として実行されることを特徴とする請求項１８４に記載の記憶媒体。
【請求項１９６】
前記命令がトレーニングシステムの一部として実行されることを特徴とする請求項１８４に記載の記憶媒体。
【請求項１９７】
前記問題が複数の言語で提示されることが可能であることを特徴とする請求項１８４に記載の記憶媒体。
【請求項１９８】
アプリケーションを使用する際のスキルを測定するためのコンピュータベースの得点付けシステムにおいて、
前記アプリケーションに関連する課題の実行を指示する問題に対する応答を受け取るように構成された入力インタフェースであって、該応答は前記アプリケーションのシミュレートされた諸相と対話することによって実行されるアクションのセットを指示する、入力インタフェースと、
スキルの大きさを判定するために前記指示されたアクションのセットを目標のアクションのセットと比較することによって前記応答を自動得点付けするように構成された得点付けモジュールと
を備えたことを特徴とする得点付けシステム。
【請求項１９９】
前記得点付けが、能率の測度を指示することを特徴とする請求項１９８に記載のシステム。
【請求項２００】
能率が、前記目標のアクションのセット内のアクション数を前記指示されたアクションのセット内のアクション数で除算し、その結果に１００を乗算することによって測定されることを特徴とする請求項１９９に記載のシステム。
【請求項２０１】
前記得点付けが、正確さの測度をさらに指示することを特徴とする請求項１９９に記載のシステム。
【請求項２０２】
前記得点付けが、最適アクション、能率、正確さ、および時間の少なくとも１つの測度を指示することを特徴とする請求項１９８に記載のシステム。
【請求項２０３】
前記アプリケーションのシミュレートされた諸相との対話を要求しない非シミュレーション問題に対する応答を受け取るように構成された入力インタフェースをさらに備え、
前記得点付けモジュールは、
前記非シミュレーション問題に対する前記応答についての得点を自動判定し、
前記非シミュレーション問題に対する前記応答の前記得点を、前記課題の実行を指示する前記問題に対する前記応答の前記得点と組み合わせることにより、前記アプリケーションの使用についての総合得点を自動判定する
ようにさらに構成されることを特徴とする請求項１９８に記載のシステム。
【請求項２０４】
前記総合得点が、前記非シミュレーション問題に対する前記応答の正確さ測度を判定し、前記アクションのセットを指示する前記応答の正確さ測度を判定し、両方の測度を組み合わせて単一の結果にすることによって判定されることを特徴とする請求項２０３に記載のシステム。
【請求項２０５】
前記総合得点が、平均能率の測度であることを特徴とする請求項２０３に記載のシステム。
【請求項２０６】
前記総合得点が、最適アクション、能率、正確さ、および時間の少なくとも１つの測度であることを特徴とする請求項２０３に記載のシステム。
【請求項２０７】
前記アプリケーションを起動せずに、および、前記アプリケーションのプラグインモジュールを実行せずに、実行されることを特徴とする請求項１９８に記載のシステム。
【請求項２０８】
テストシステムの一部として実行されることを特徴とする請求項１９８に記載のシステム。
【請求項２０９】
トレーニングシステムの一部として実行されることを特徴とする請求項１９８に記載のシステム。
【請求項２１０】
前記問題が複数の言語で提示されることが可能であることを特徴とする請求項１９８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキルベースのテストおよびトレーニングのためのコンピュータシステムにおける方法およびシステムに関し、より詳細には、シミュレートされたアプリケーションとの対話によってオペレータのスキルをテストまたはトレーニングすることができるようにアプリケーションをシミュレートする方法およびシステムに関する。
【背景技術】
【０００２】
組織がよりグローバルとなり、その機能および専門技術が物理的に分散するにつれて、人事プロセスや職員の能力を改善する方法を探す際に、効率的なトレーニングおよびテストのためのツールがますます必要となる。テクノロジーは絶え間なく変化しているので、組織において現在のスキルレベルの状態を測定することはますます困難になり、常に変わりつつある新たなアプリケーションで職員をトレーニングすることも困難となる。一部の組織は、組織内での知識の分散化を進めることで差別化を図ろうとしている。コンピュータ支援によるテストおよびトレーニングは、この課題を達成するための一手段である。
【０００３】
しかし、今日のコンピュータ支援によるテストおよびトレーニングには限界がある。２つの手法が現在利用されている。第１の手法では、アプリケーション自体を起動することで、アプリケーションに関するテストおよびトレーニングを行う。この手法には多くの欠点がある。例えば、そのアプリケーションは適切な許諾を受けなければならない。また、テストやトレーニングは、製品の特定のリリース（製品を新しく発売すること）に縛られる。したがって、テストまたはトレーニングのシナリオは、アプリケーションのリビジョン（修正、改定）ごとに改訂しなければならない。第２の手法では、アプリケーションから「録画された（canned）」（例えばキャプチャされた）画像を用いてテスト／トレーニングを行う。これにより、ユーザが見ているもの、またはユーザが既に知っていることに関する問題に対してユーザに解答してもらうというテストおよびトレーニングの状況を作り出すことができる。しかし、その結果は、特にトレーニングに関しては限定される。というのは、ユーザがアプリケーションとは対話していないからである。
【０００４】
また、これらのいずれの手法を用いても、テスト受験者およびトレーニング受講者について収集される情報のタイプは一般に、「知識ベース」のテスト／トレーニングまたは「成績ベース」のテスト／トレーニングと呼ばれるものに制限される。具体的には、ユーザ（テスト受験者またはトレーニング受講者）は一般に、問題に対する解答の正誤、すなわち、ユーザが特定の分野の知識を有するかどうかについて判断される。同様に、ユーザが所定の（例えば、ある成績の「レベル」を構成する）解答のセットと比較されるか、または他のユーザと比較される場合、そのテスト／トレーニングは「成績」ベースとみなされる。いずれの場合でも、成績や知識は、正答または誤答に基づいている。
【０００５】
［発明の概要］
本発明の実施形態は、アプリケーションのユーザインタフェースの諸相をシミュレートすることによって、アプリケーションに対するスキルベースのテストおよびトレーニングを行うための高度なコンピュータベースおよびネットワークベースの方法およびシステムを提供する。実施形態の例は、スキルベースシミュレーション・測定システム（ＳＢＳＭＳ：Skills-Based Simulation and Measurement System）を提供する。これにより、テストおよびトレーニングのプログラムのパブリッシャ(発行元)およびオーサ（制作者）が、シミュレートされたアプリケーション環境をテストおよびトレーニングする生徒（シミュレートされた環境のユーザ）に提供することができる。また、ＳＢＳＭＳは、知識ベースまたは成績ベースのテストおよび学習に加えて、「スキルベース」のテストおよび学習を提供する高度な追跡および測定の機能も提供する。
【０００６】
スキルベースシミュレーション・測定システムは、テストおよびトレーニングのための問題；新規のシナリオ（テストまたはトレーニングのナラティブ(物語)）および問題をパブリッシュ（発行）するプロセス；既存の問題のデータリポジトリ（データ収納庫）を用いて新規のシナリオおよび問題をオーサリング（作成）するプロセス；生徒に対するシナリオを管理するプロセス、を含むシミュレートされたアプリケーション環境と、テストおよびトレーニングのシナリオを実行し、生徒の応答（response）を自動的に捕捉、測定、および得点付けする環境とを生成するツールのセットを提供する。
【０００７】
一実施形態において、スキルベースシミュレーション・測定システムは、１つまたは複数の機能コンポーネント／モジュールを備える。これらが一緒に動作することにより、スキルベース測定環境を生成および管理し、アプリケーションのシミュレートされた諸相とのスキルベースの対話を提供する。例えば、クライアント−サーバ型アーキテクチャとして実施されるスキルベースシミュレーション・測定システムは、クライアント部分およびサーバ部分を備えることができる。実施形態の一例において、クライアント部分は、生徒によって実行され生徒の応答を追跡するシミュレーションエンジンを含む。シミュレーションエンジンは、機能的観点から見ると、テストまたはトレーニング用インタフェースと、応答追跡・得点付けメカニズムとを備えることができる。サーバ部分は、（クライアント側の）シミュレーションエンジンを実施するために用いられるすべてのコンポーネントおよびデータを備える。すなわち、機能的観点から見ると、サーバ部分は、スキルベースのテスト・トレーニングエンジン、シミュレーションコンポーネント、非シミュレーションコンポーネント、およびテスト・トレーニングシナリオと生徒情報のデータリポジトリを備えることができる。スキルベースのテスト・トレーニングエンジンは、特定のテストまたはトレーニングのシナリオの部分に対する要求を受け取り、クライアント側シミュレーションエンジンを実施するために必要に応じてシミュレーションコンポーネントおよび非シミュレーションコンポーネントからのコンポーネントを転送する。また、スキルベースのテスト・トレーニングエンジンは、クライアント側シミュレーションエンジンから生徒の応答および得点を受け取り、それらをユーザ単位、テスト単位でデータリポジトリに記憶する。  
【０００８】
一手法によれば、シミュレーションエンジンが提供される。このシミュレーションエンジンは、結果を取得するための指令を表示し、表示された指令に対する、シミュレートされた対話を示す応答の指示を受け取り、指示された応答を自動的に得点付けする。シミュレーションエンジンは、生徒がシナリオと対話している間にアプリケーションを実行することなく、また、アプリケーションのプラグインその他の実行可能モジュールを使用することなく、アプリケーションの諸相をシミュレートする。一態様において、シミュレーションエンジンはテストシナリオを提供する。別の態様において、シミュレーションエンジンはトレーニングシナリオを提供する。さらに別の態様において、シナリオは多言語で提供され、しかも均一のメカニズムを用いて扱われる。
【０００９】
スキルベースシミュレーション・測定システムの他の態様については、本明細書の他のセクションに記載される。
【００１０】
［発明の詳細な説明］
本発明の実施形態は、アプリケーションのユーザインタフェースの諸相（aspects）をシミュレートすることによって、アプリケーションに対するスキルベースのテストおよびトレーニングを行うための高度なコンピュータベースおよびネットワークベースの方法およびシステムを提供する。実施形態の例は、スキルベースシミュレーション・測定システム（ＳＢＳＭＳ）を提供する。これにより、テストおよびトレーニングのプログラムのパブリッシャおよびオーサが、シミュレートされたアプリケーション環境をテストおよびトレーニングの生徒（シミュレートされた環境のユーザ）に提供することができる。また、ＳＢＳＭＳは、高度に自動化された追跡および測定の機能も備える。これにより、生徒が課題を正確に実行したか不正確に実行したかだけでなく、課題がどのように実行されたかを評価することによって、生徒が与えられた課題をどのくらいうまく実行しているかを測定する。さらに、これらの測定機能は、所定の成績レベルの判定や、他の生徒の正答または誤答のテスト得点（スコア）を基準とした生徒の成績の判定にとどまらない。このように、ＳＢＳＭＳは、知識ベースまたは成績ベースのテストおよび学習に加えて、「スキルベース」のテストおよび学習を提供することができる。
【００１１】
スキルベースシミュレーション・測定システムの一例について説明するため、以下の説明では、スキルベーステスト環境とスキルベーストレーニング環境を作成および維持するために用いられる技法の間で実際の区別をしない。当業者には認識されるように、状況によっては、これらの２種類の環境の間の相違点の１つとして、生徒に与えられるフィードバックのタイプおよびフィードバックのタイミングがあり得る。例えば、トレーニングシナリオにおいて、課題の完了時のみでなく応答アクションが実行されている最中に生徒にフィードバックを与えることが有益な場合がある。しかし、ＳＢＳＭＳの視点から見ると、これらの２種類のシナリオは実質的に同一である。すなわち、両方の環境で同じメカニズムが用いられる。また、「トレーニング」という用語は、本明細書で用いる場合、任意のタイプの教育または学習の状況を指す。
【００１２】
図１は、スキルベースシミュレーション・測定システムの一例によって提示されるテスト環境の表示画面例である。表示画面１００は、英語、日本語、または中国語等の指定言語で生徒がテスト環境にログインした後に提示される。表示画面１００は、パブリッシャのロゴ１０１、当該生徒に関連づけられておりテストのために利用可能なテストからなる現在利用可能なテスト一覧１０２、および生徒が既に受けた過去のテスト一覧１０３を示している。生徒は、現在利用可能なテスト一覧１０２からテストを選択することができ、そのテストが完了すると、選択されたテストが過去のテスト一覧１０３に追加される。テストが割り当てられた日付（指定日）、終了した日付、解答された問題数、および能率評定（または他のスキルベースの得点）に関する情報が提示される。完了したテストに関する他のタイプの情報を表示することもできる。
【００１３】
図２は、日本語で提示された同じテスト環境の表示画面例である。表示画面２００に示されている各コンポーネントは、英語で図１に示されているものと同様である。ただし、テスト名の一部や、ボタンその他のインタフェースのラベルの文字が指定言語（ここでは日本語）になっている。
【００１４】
スキルベースシミュレーション・測定システムは、テストおよびトレーニングのための問題；新規のシナリオ（テストまたはトレーニングのナラティブ）および問題をパブリッシュするプロセス；既存の問題のデータリポジトリを用いて新規のシナリオおよび問題をオーサリングするプロセス；生徒に対するシナリオを管理するプロセス、を含むシミュレートされたアプリケーション環境と、テストおよびトレーニングのシナリオを実行し、生徒の応答を自動的に捕捉、測定、および得点付けする環境とを生成するツールのセットを提供する。概観すると、パブリッシャが、テストまたはトレーニングのシナリオのための「シミュレーションエンジン」（シミュレートされたアプリケーション実行環境）を作成し、そのシナリオを生徒または組織に関連づけることができるようにする。そして、生徒が、シミュレーションエンジンを用いて、パブリッシュされたテストまたはトレーニングのシナリオを実行し、提示される問題（または課題）に応答する。シミュレーションエンジンは、問題／課題に応じて実行される生徒のアクションを捕捉し、それらを所定の解答／応答と対照して測定し、それに従って生徒のスキルを得点付けする。ＳＢＳＭＳが生徒のスキルを得点付けする１つの方法は、生徒の応答が所定の応答とどのくらいよく一致するかを評価することである。既存の問題を用いた新規のテスト／トレーニングのシナリオが要求されると、オーサが、ＳＢＳＭＳツールを実行して新規のシナリオを作成し、そのシナリオに、既存の問題−解答のペアを関連づける。
【００１５】
説明を簡単にするため、「ユーザ」のいくつかの分類について説明する。ただし、任意のユーザが、これらのロール（role;役割）のいずれを実行することも可能であり、ロールは多くの場合に入れ替え可能であることが理解されるべきである。「パブリッシャ(発行者)」は、ＳＢＳＭＳツールを用いて、シミュレートされたアプリケーション環境に対する新規の問題（「シミュレーション問題」）や、おそらくは新規の知識ベースの問題（「非シミュレーション問題」）等の、シミュレートされた環境、テスト、およびトレーニングのシナリオを生成するユーザである。「オーサ（作成者）」は、シミュレーション関連か否かにかかわらず、既存の問題を新規のシナリオにまとめたり、既存のシナリオに問題を追加したり、既存のシナリオのプロパティや非シミュレーション問題を変更したりするユーザである。「生徒」は、テストを受け、またはトレーニングシナリオを実行するユーザである。「アドミニストレータ（管理者）」は、シナリオを生徒に関連づけることによって、およびロールを異なるユーザに関連づけることによって、テストまたはトレーニングのシナリオを管理するユーザである。
【００１６】
スキルベースシミュレーション・測定システムを用いて生成することができるテストおよびトレーニングのシナリオは、アプリケーションのシミュレートされた諸相を必要とする問題（例えば、問合せ、課題、または指令）と、必要としない問題の両方を含むことができる。アプリケーションとの対話をシミュレートするためにシミュレートされた諸相を必要とする問題をシミュレーション問題と呼ぶ。このような問題の例は、「次のスプレッドシートにおいて、行１０のすべてのセルを範囲指定してください」のような問題である。このようなシミュレーション問題に応答（解答）するため、生徒は、あたかも実際のアプリケーションを用いて問題に応答しているかのように、シミュレートされたアプリケーションインタフェース（例えばメニューおよびボタン）を使用する。シミュレートされた諸相を必要としない問題を非シミュレーション問題と呼ぶ。このような問題の例としては、複数の選択肢から１つの正答を選ぶ問題である多肢選択問題；物語（story）が提供され、生徒が相異なる解答選択肢から最適な解答を選択する物語文法問題；一連の単語または句を提示し、生徒がそれらを正しい位置に（例えばマウスで）移動して正しい文となるようにする文整序問題などがある。他のタイプの非シミュレーション問題も存在する。また、当業者には認識されるように、シミュレーション問題および非シミュレーション問題ならびにそれらの応答はいずれも、テキスト、グラフィクス、およびオーディオ等の多くの形態で提示することができる。
【００１７】
図３Ａ〜図３Ｇは、表計算アプリケーションのシミュレートされた諸相を用いてスキルをテストするためのテストシナリオの画面表示例である。シミュレーションエンジンは、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．所有の表計算アプリケーションであるＭｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（登録商標）のインタフェース諸相をシミュレートする。図３Ａは、スキルベースのテストシナリオのための開始画面の画面表示例である。表示画面３Ａ０１は、ヘッダエリア３Ａ０２、教示エリア３Ａ０４、言語指定部３Ａ０３、テストを開始するための「Begin」（開始）ボタン３Ａ０５、および、シナリオ選択画面（例えば、図１および図２に表示されている画面）に戻るための「Return」（戻る）ボタン３Ａ０６を含む。
【００１８】
生徒が「Begin」ボタン３Ａ０５を押すと、シナリオが実行を開始する。図３Ｂ〜図３Ｇは、シミュレートされたインタフェース例を用いてテスト問題例に応答するアクションの進行を示している。図３Ｂは、スキルベースのテストシナリオ例の初期シミュレーション環境の画面表示例である。図３Ｃは、図３Ｂに示したシミュレーション環境表示画面の下部を示している。表示ウィンドウ３Ｂ００は、ヘッダエリア３Ｂ０１およびアプリケーションシミュレーションエリア３Ｂ１０を含む。ヘッダエリア３Ｂ０１は、（時間制限付きシナリオである）任意のシナリオに対して通常存在するいくつかのフィールドを含む。ただし、それらの内容は、その時刻に適用可能なシミュレーションエンジンの状態を反映するように更新される。具体的には、問題エリア３Ｂ０２は、生徒に解答または応答してもらうために与えられる課題に関連する問題／課題テキスト（もしあれば）または他の教示（例えば、オーディオまたはグラフィクスによる教示）を提示する。プログレスバー３Ｂ０３は、全問題数のうちで完了した問題数を示す。時間インジケータ３Ｂ０４は、シナリオが関連する時間制限を有する場合に残り時間を示す。「Skip」（スキップ）ボタン３Ｂ０５は、これを押すと、シミュレーションエンジン状態が次の問題に進む。「Done」（終了）ボタン３Ｂ０６は、これを押すと、生徒がテストを受けるのを終了したこと、またはトレーニング実習を終了したことをシミュレーションエンジンに指示する。「To Tests」（テストへ）選択エリア３Ｂ０７は、これを押すと、生徒はシナリオ選択画面（例えば図１および図２に表示されている画面）に戻る。アプリケーションシミュレーションエリア３Ｂ１０は、シミュレートされているアプリケーションのユーザインタフェースコンポーネントを、結果として生じるプレゼンテーションとともに含む。生徒は、あたかも実際のアプリケーションと対話しているかのように、これらのコンポーネント、および目前の課題に関連するアプリケーション状態のプレゼンテーションと対話することができる。図示した表計算環境では、シミュレーション問題間で共有される表示エリア（およびインタフェースのシミュレートされた諸相）（例えば、行および列のヘッダ、メニュー、ダイアログ等）と、問題ごとに変わる表示エリア（例えば、スプレッドシート３Ｂ２０の現在の内容）とがある。ＳＢＳＭＳのいくつかの実施形態では、共有表示エリアは、シミュレーションエンジンが次の問題に進む時に変化しない。その代わりに、現在の問題に固有のプレゼンテーションおよびインタフェースのエリアのみが変更される。
【００１９】
今説明したように、問題エリア３Ｂ０２は、「Change the color of the cells of item row (line 10) to "cobalt blue".」（品目の行（１０行目）のセルの色を「コバルトブルー」に変更してください。）という指令の例を提示している。問題エリア３Ｂ０２に表示された指令に正しく応答するには、生徒はまず、品目の行（１０行目）のセルを選択する必要がある。図３Ｄは、生徒がシミュレートされたインタフェースを用いてアクションを実行した後のシナリオの表示画面例である。画面は、生徒が行１０のセル範囲３Ｄ０１を選択し、Format（書式）メニュー３Ｄ０２をプルダウンしてメニュー項目「Cells...」（セル...）を選択した後に結果として現れるスプレッドシートを表示している。セル選択メカニズムと、メニューのプレゼンテーションおよび実装は両方とも、このスキルベースのシナリオのシミュレートされた諸相である。
【００２０】
「Cells...」メニュー項目の選択に応じて、シミュレートされたインタフェースは「Format Cells」（セルの書式設定）ダイアログウィンドウを表示する。図３Ｅは、「Cells...」メニュー項目の選択に応じて、シミュレートされたインタフェースによって生成されるFormat Cellsダイアログの表示画面例である。ダイアログウィンドウ３Ｅ０１は、「Cells...」メニュー項目の選択に応じて実際のアプリケーションによって通常提示される「Format Cells」ダイアログのシミュレートされたバージョンである。しかし、このダイアログはシミュレートされたダイアログであるので、生徒によって呼び出されるいかなる動作も、シミュレーションエンジン内にプログラムされている。シミュレートされたダイアログのデフォルトは（アプリケーションにおける実際のダイアログと同様に）「Number」（数値）プロパティシートである。
【００２１】
当初の課題に正しく応答するため、生徒は、「Patterns」（パターン）プロパティシートにアクセスする必要がある。これにより、背景（cell shading（セルの網かけ））色の選択が可能となる。図３Ｆは、「Patterns」プロパティシートの選択に応じて、シミュレートされたインタフェースによって生成および表示されるダイアログウィンドウの画面表示例である。「Patterns」プロパティシート３Ｆ０１（ダイアログウィンドウ）がアクティブにされて表示されている。そこで生徒が、表示されているダイアログウィンドウ３Ｆ０１から色（好ましくはコバルト）を選ぶと、前に選択したセル範囲の網かけが、選択された色に変更される。
【００２２】
図３Ｇは、選択されたセル範囲を網かけするための色選択後に結果として現れるスプレッドシートの画面表示例である。図３Ｇにおいて、スプレッドシート３Ｇ０１は、行１０の選択されたセル（セル３Ｇ０２）の色が変化したことを示している。（白黒バージョンではコバルト色は示されず、文字は判読できないが、セルは適切に変更されている。）これで、与えられた課題に対する応答の進行は完了し、生徒は、「Done」ボタン（図示されていないが、図３Ｂの３Ｂ０６と同じ）を選択することにより、テストシナリオを完了する。これに応じて、シミュレーションエンジンは、必要があれば得点付け（クライアントシステムで行われる場合）を実行し、テストシナリオ結果をサーバに記憶するためにサブミットする。
【００２３】
本明細書で用いられる例および説明の多くは、テストおよびトレーニングの両方のシナリオに該当することであるが、単に便宜上の理由で、「テスト」、「テストする」、および類似の用語を用いている。このため、「問題」、「指令」、および「課題」という用語、ならびに、「解答」および「応答」という用語は、それぞれ区別なく用いられる。当業者には認識されるように、例および説明は、明示的に言及されているか否かにかかわらず、トレーニング環境にも等しく当てはまり、記載される方法およびシステムは、トレーニング環境とともに、およびトレーニング環境において使用されることを考慮している。したがって、「テストシナリオ」、「トレーニングシナリオ」、「テスト」等の語句は、任意のタイプのテストまたはトレーニング用のインタフェースまたは環境を含意するために一般的に用いられる。また、記載される概念および技法は、より一般的に、スキルベース測定環境に当てはまる。したがって、当業者には認識されるように、ＳＢＳＭＳの技法は、物理的装置へのインタフェースの使用について生徒をトレーニングすることを含め、さまざまな他のトレーニング、教育、または学習のツールを作成するためにも有用であろう。例えば、ＳＢＳＭＳは、複写機、プリンタ、または他の類似の装置を設定するためのシミュレートされたインタフェースを提示するために使用可能である。他の例としては、ＳＢＳＭＳを使用することにより、「やり方」シナリオ、例えば、物の組み立て方、フォームの記入方法、異なるタイプのデータに対する式の計算方法、一連の事実から結論を引き出す方法等を用いて、生徒を教えることが挙げられる。これらの場合においてＳＢＳＭＳは、実行すべき課題を提示し、応答を捕捉および測定し、生徒にフィードバックを提供してから、次の課題に着手させることができる。シミュレートされたインタフェースは、完全な図解（例えば、取扱説明書に取って代わるようなもの）、テキストに基づくもの、オーディオに基づくもの、またはグラフィクス、テキスト、およびオーディオの何らかの組合せのいずれでもよい。
【００２４】
また、本明細書で主として用いられているいくつかの用語に関しては、当業者には認識されるように、同等の実施形態および例を与えるために他の用語を区別なく用いることも可能である。例えば、周知のように、「問題」、「解答」、「応答」、「指令」、「課題」、「得点付け」、「測定」等のような用語の代わりに、テストおよびトレーニングの分野ならびに他の類似分野における同等の用語を用いることができる。また、用語は、明示的に言及されるか否かにかかわらず、別の綴りを有することがあり、当業者には認識されるように、用語のすべてのこのような変形が含まれることが意図される。
【００２５】
以下の説明では、本発明の方法およびシステムの技法の十分な理解を提供するために、データフォーマットおよびコードシーケンス等のような数多くの具体的詳細が記載される。しかし、当業者には認識されるように、本発明は、本明細書に記載される具体的詳細の一部なしで、あるいは、コードフローの順序に関する変更のような他の具体的詳細とともに、実施することも可能である。
【００２６】
図４は、スキルベースシミュレーション・測定システムの一例のコンポーネント（要素）の例示的ブロック図である。一実施形態において、スキルベースシミュレーション・測定システムは、１つまたは複数の機能コンポーネント／モジュールを備える。これらが一緒に動作することにより、スキルベース測定環境を生成および管理し、アプリケーションのシミュレートされた諸相とのスキルベースの対話を提供する。当業者には認識されるように、これらのコンポーネントは、ソフトウェアもしくはハードウェアまたは両方の組合せのいずれにおいても実施可能である。図４において、クライアント−サーバ型アーキテクチャとして実施されるスキルベースシミュレーション・測定システムは、クライアント部分４０１およびサーバ部分４０４を備える。当業者には認識されるように、ＳＢＳＭＳは、必ずしもクライアント−サーバ型アーキテクチャにより実施される必要はなく、その代わりにモノリシックなプログラムとして実施されてもよい。別法として、ＳＢＳＭＳは、クライアント部分およびサーバ部分を有するが、それらが同じマシン上で実行されてもよい。当業者には認識されるように、明示的に言及されるか否かにかかわらず、いかなる周知の実施手法も、ＳＢＳＭＳ技法とともに動作するであろう。
【００２７】
実施形態の一例において、クライアント部分４０１は、生徒によって実行され生徒の応答を追跡するシミュレーションエンジンを含む。シミュレーションエンジンは、シミュレートされたアプリケーション実行環境である。シミュレーションエンジンは、クライアントシステムおよびサーバシステムの両方に何らかの形態で存在することが可能である。シミュレーションエンジンは、物理コンポーネントとして実施されてもよく、複数のコンポーネントの抽象化であってもよい。一般に、クライアントシミュレーションエンジン４０１は、機能的観点から見ると、テストまたはトレーニング用インタフェース４０２と、応答追跡・得点付けメカニズム４０３とを備える。インタフェース４０２は、生徒によって実行されるシナリオに固有である。すなわち、シナリオがシミュレートされたアプリケーション（またはその諸相）である場合、インタフェース４０２はアプリケーションのシミュレートされた諸相を含む。別法として（または加えて）、シナリオが多肢選択問題や文中の単語の整序のような非シミュレーション問題を含む場合、インタフェース４０２は、生徒がこのようなアクションを実行するのをサポートする適当なエンジン（例えば、コード、ロジック、およびプレゼンテーション）を含む。生徒がシナリオを完了すると、応答追跡・記憶メカニズム４０３は、通信ネットワーク４０９を通じてサーバ部分４０４に応答データを提供する。応答データは、好ましくは、アクションの記述（例えば、キー入力シーケンス、マウス移動、またはインタフェースコマンドシーケンス）を含む。
【００２８】
サーバ部分４０４は、（クライアント側の）シミュレーションエンジン４０１を実施するために用いられるすべてのコンポーネントおよびデータを備える。すなわち、機能的観点から見ると、サーバ部分４０４は、スキルベースのテスト・トレーニングエンジン４０５、シミュレーションコンポーネント４０６、非シミュレーションコンポーネント４０７、ならびにテスト・トレーニングシナリオおよび生徒データ（これらはデータリポジトリ４０８に記憶される）を備える。スキルベースのテスト・トレーニングエンジン４０５は、サーバ側シミュレーションエンジンとして機能する。スキルベースのテスト・トレーニングエンジン４０５は、特定のテストまたはトレーニングのシナリオの部分に対する要求を受け取り、クライアント側シミュレーションエンジン４０１を実施するために必要に応じてシミュレーションコンポーネント４０６および非シミュレーションコンポーネント４０７からのコンポーネントを転送する。コンポーネント４０６および４０７は、テストまたはトレーニング用インタフェース４０２および応答追跡・得点付けメカニズム４０３を実施するために呼び出される。また、スキルベースのテスト・トレーニングエンジン４０５は、クライアント側シミュレーションエンジン４０１から生徒の応答および得点を受け取り、それらをユーザ単位、テスト単位で、テスト／トレーニングシナリオおよび生徒データのデータリポジトリ４０８に記憶する。
【００２９】
図５は、スキルベースシミュレーション・測定システムの一例のシミュレーションエンジンの例示的ブロック図である。実施形態の一例において、シミュレーションエンジン５００は、個別のコンポーネント５０２〜５０８が独立に存在し、特定のテストまたはトレーニングのシナリオを実施するために必要に応じて組み込まれるという点で、抽象化である。しかし、当業者には認識されるように、図示されているサブコンポーネントを有する物理コンポーネントが独立のコンポーネントとしてコンピュータシステム内に構築され管理されることも可能である。シミュレーションエンジン５００は、サーバシステムの観点から示されており、特定のシナリオがシミュレーション問題および非シミュレーション問題の両方を含むと想定している（そうでない場合もあり得る）。シミュレーションエンジン５００は、応答追跡・得点付けコンポーネント５０１、非シミュレーション問題データ５０８を用いて非シミュレーション問題を提示および管理する１つまたは複数の非シミュレーションエンジン５０７、ならびにシミュレーション問題を提示および管理するシミュレーションコンポーネント５０２〜５０６を含む。具体的には、シミュレーションコンポーネントは、シミュレーションベースエンジン５０２、１つまたは複数のアプリケーションレベルシミュレーションコンポーネント５０３、および１つまたは複数のシミュレーション問題コンポーネント５０４〜５０６を備える。シミュレーションベースエンジン５０２は、シミュレーションのフロー（例えば、シミュレートされている特定のアプリケーションにかかわらず、次の問題をどのように見つけて提示するか、生徒の応答をいつ記録するか、等）を制御するロジック等の、任意のシミュレートされたアプリケーション環境のための基本レベルのサポートを提供する。シミュレートされるべきアプリケーションから導出される各シナリオは、問題間で共有されるシミュレートされた諸相を有する可能性がある。これらのシミュレートされた諸相が、アプリケーションレベルシミュレーションコンポーネント５０３を構成する。アプリケーションに固有のメニューの制御やメニュー項目のような諸相がコンポーネント５０３として実施可能である。（例えば、図３Ａ〜図３Ｇに示したＥｘｃｅｌのメニューおよびダイアログがコンポーネント５０３として実施可能である。）また、シミュレーションエンジン５００は、提示されるべき各問題に対するシミュレーションコンポーネント（例えば、問題シミュレーションコンポーネント５０４〜５０６）も含む。それぞれのシミュレートされた問題コンポーネントは、問題およびその解答を実施するための特定のインタフェースおよびデータを含む。当業者には認識されるように、アプリケーションに対するメニュー生成のサポートやシミュレートされた対話のサポートを行うコンポーネント（例えば、汎用のメニューおよびメニュー項目処理コード）のような他のコンポーネントも存在してよい。
【００３０】
図５に示されているシミュレーションエンジン５００は、シミュレートされたアプリケーションシナリオを実行するためにクライアントシステム上で実行される環境を作成するために用いられる。具体的には、図５のコンポーネントは、例えば図４のクライアント側シミュレーションエンジンを構成するテストまたはトレーニング用インタフェース４０２および応答追跡・得点付けメカニズム４０３を生成および実施するために用いられる。しかし、一実施形態では、各問題シミュレーションコンポーネントをクライアントシステムに一度にあらかじめロードする代わりに、個別の問題シミュレーションサポートが必要に応じてクライアントシステムにダウンロードされる。このような遅延ロードについては、図２８Ａ〜図２８Ｃに関してさらに詳細に説明する。別の実施形態では、シナリオ全体に対するすべてのシミュレーション問題情報が最初にクライアントシステム上のシミュレーションエンジンにダウンロードされる。
【００３１】
図６は、スキルベースシミュレーション・測定システムの一例を用いてスキルベース測定シナリオを作成、運営、および管理するプロセス全体の流れ図である。ＳＢＳＭＳの一例は、初期インタフェースを提示することにより、ユーザがこれらのさまざまな機能（表示画面は図示していない）の間で選択を行うことを可能にすることができる。これらのステップは、全体プロセスにおける別個のステップとして示されているが、当業者には認識されるように、以下の機能は異なる順序および異なる時刻に提示されることが可能であり、異なる仕方で組み合わされることが可能である。ユーザは、ＳＢＳＭＳ例と対話することにより、（１）シナリオを実行し、（２）ユーザに対するロールおよびシナリオを管理し、（３）新規のシナリオをオーサリングし、または既存のシナリオを変更し、および（４）新規のシナリオおよび新規のシミュレーション問題をパブリッシュする。
【００３２】
具体的には、ステップ６０１で、ユーザが、シナリオを実行したいという要求を示した場合、ユーザはステップ６０２に進み、さもなければステップ６０４に進む。ステップ６０２で、生徒としてのユーザがＳＢＳＭＳにログイン情報を提供し、ログインデータが認証される。ステップ６０３で、ＳＢＳＭＳはその基本的なスキルベースのテスト・トレーニング実行環境を開始し、生徒によって選択されたシナリオを実行する。シナリオの実行が終了すると、生徒は別のシナリオに進むこと、またはスキルベースシミュレーション・測定システムの他の機能に進むことができる。これらのステップについては、図７〜図１３に関してさらに説明する。
【００３３】
ステップ６０４で、ユーザが、管理を要求することを示した場合、アドミニストレータとしてのユーザはステップ６０５〜６０９に進み、ユーザプロパティを変更し種々のシナリオをそれらに割り当て、さもなければステップ６１０に進む。具体的には、ステップ６０５で、アドミニストレータは、管理のための特定のユーザを選択する（または新規ユーザを指定する）。ステップ６０６で、アドミニストレータがユーザプロパティを変更した場合、ステップ６０７で、その特定ユーザのデータを記憶している適当なデータリポジトリでユーザデータが更新または追加される。他の場合、アドミニストレータはステップ６０８に進む。ステップ６０８で、アドミニストレータが、選択されたユーザにシナリオを割り当てたい場合、アドミニストレータはステップ６０９に進み、さもなければ、別のユーザに管理機能を適用することを続けるか、または、スキルベースシミュレーション・測定システムを用いて他のことを行うことに決める。ステップ６０９で、アドミニストレータは、選択された生徒に、ｓｃｅｎａｒｉｏ＿ＩＤ（シナリオＩＤ）を有するシナリオを割り当てる一連のステップを実行する。これらのステップについては、図１４〜図１５に関してさらに説明する。
【００３４】
ステップ６１０で、ユーザがオーサとして働き、新規の（または変更された）シナリオをオーサリングしたい場合、オーサとしてのユーザはステップ６１１に進み、シナリオをオーサリングするための他のステップを呼び出し、さもなければステップ６１２に進む。シナリオをオーサリングすることに関連する特定のステップについては、図１６〜図２１に関して説明する。オーサは、終了後、別のシナリオのオーサリングを続けるか、または、スキルベースシミュレーション・測定システムの他のいずれかの機能を実行することができる。
【００３５】
ステップ６１２で、ユーザが新規のシミュレーションシナリオまたはシナリオのためのシミュレーション問題のいずれかをパブリッシュしたい場合、パブリッシャとしてのユーザはステップ６１３に進み、新規のシミュレーションシナリオをパブリッシュするか、または新規のシミュレーション問題を用いて既存のシミュレーションシナリオを変更する。新規のシミュレーションシナリオまたは新規のシミュレーション問題をパブリッシュするステップについては、図２２〜図２３に関して説明する。パブリッシャは、終了後、別のシナリオのパブリッシュを続けるか、または、スキルベースシミュレーション・測定システムの他のいずれかの機能を実行することができる。
【００３６】
図７は、クライアントシステム上でシミュレーションを実行するためにスキルベース測定環境の一例によって実行されるステップの例示的流れ図である。ステップはある順序で実行されるように示されているが、当業者には認識されるように、特にウェブベース環境では、処理されるアクションは、コード駆動型で特定の順序で流れるのではなく、データ（またはイベント）駆動型である。したがって、ステップは、ある特定のイベント（例えば、インタフェース内のボタンが押されること）に応答するように提示される。図示のステップは、生徒がテストまたはトレーニングのいずれかのシナリオを実行するためにスキルベース測定環境に正しくログインした後に発生するプロセスの例示である。
【００３７】
具体的には、ステップ７０１で、システムは、生徒がどのシナリオを指定したかを判定する。例えば、図１に示したような表示画面が提示され、そこからユーザがシナリオを指定することができる。図１を例として用いると、生徒が特定のテストの「Take Test」（テストを受ける）インジケータを選択すると、選択したテストの導入表示画面（例えば、図３Ａに示した表示画面）が表示される。その後、ステップ７０２で、生徒が、選択したテストの「Begin」（開始）ボタン（例えば、図３Ａの「Begin」ボタン３Ａ０５）を選択すると、環境は、サーバから一連のファイル／ページを要求およびロードすることによって、選択されたテストを開始する。（生徒が「Begin」ボタンを押すまで、インタフェースは他のこと（省略符号（・・・）で示す）をしてから、シナリオ選択画面に戻ってもよい。）具体的には、ステップ７０３（これは実際には、クライアントとサーバの間でのより小規模な多数の通信を表す）で、クライアントは、サーバからシミュレーションエンジンを受信する。サーバは、第１の問題に基づくシミュレーションエンジンとしてどのコンポーネントを送信すべきかを決める。例えば、第１の問題がシミュレーション問題である場合、シミュレーションエンジンは通常、アプリケーションベースシミュレーションコンポーネントおよび第１の問題に対するシミュレーションとともに、シミュレーションベースエンジン（これはすべてのシミュレーションのために用いられる）を含むであろう。これに対して、第１の問題が非シミュレーション問題である場合、適当なタイプの非シミュレーションエンジンに、そのエンジンを使用する問題に対するデータが事前ファイルされる。（そのタイプのエンジンを使用する問題は、テストシナリオの全問題のうちのサブセットであってもよい。）例えば、第１の問題が多肢選択問題である場合、多肢選択エンジンがダウンロードされ、そのテストに対する非シミュレーション問題データが事前ファイルされる。サーバによって送信されるコンポーネントのその他の例については、図２２および図２３に関してさらに説明する。シミュレーションエンジンが受信されると、ステップ７０４で、シミュレーションが有効に「run」（実行、あるいは実装に適したアクションであれば何でもよい）される。すなわち、例えば、シミュレーションエンジンが一連のウェブページとして実施される場合、第１のウェブページが処理され、後続のデータまたはウェブページはウェブブラウザによってサーバシステムに対して適宜要求される。実行中のシミュレーションエンジンの制御の典型的フローについては、図８に関してさらに説明する。ステップ７０５で、環境は、生徒がテストまたはトレーニングのシナリオを完了したことの指示（例えば、最後の問題の「Done」（終了）ボタンを押すことによって）を受け取ると、ステップ７０６に進む。そのときまでは、図示のように、シミュレーションは実行を継続する。ステップ７０６で、システムは、生徒にフィードバックを与えるためにシナリオからの結果を表示し、スキルベース測定環境のテスト選択コンポーネントに戻る。
【００３８】
図８は、クライアントシステムによって実行されるシミュレーションエンジンの一例の例示的流れ図である。当業者には認識されるように、シミュレーションエンジンを実施する方法およびそのフローを特徴づける方法のいずれにも、いくつもの方法がある。図８に示されている例では、テストは、シミュレーション問題および非シミュレーション問題の両方を含むと想定される。概略的には、テスト内に他に残っている問題がなくなるまで、各問題が（必要であれば）読み出され、提示され、応答が記録される。具体的には、ステップ８０１で、エンジンは、実行されるべき次の問題または課題のテキストを表示し、ステップ８０２に進む。ステップ８０２で、問題が、多肢選択問題のような非シミュレーション問題である場合、エンジンは、一方のパスに沿ってステップ８０３に進み、さもなければ、エンジンはもう一方のパスに沿ってステップ８０５に進む。
【００３９】
非シミュレーション問題パスによれば、ステップ８０３で、エンジンは、非シミュレーション問題エンジンのタイプによって決まる解答または可能性のある解答のセットを表示する。例えば、エンジンのタイプが多肢選択エンジンである場合、ステップ８０３で、解答のマトリクス（最初にデータリポジトリから決定される）が提示される。一方、エンジンが物語文法エンジンである場合、エンジンは、物語と、語句の複数の選択肢とを表示し、生徒はそれらの選択肢から、物語中のある位置に当てはまる語句を選択しなければならない。また、他方、エンジンのタイプが文整序エンジンである場合、エンジンは、一連の単語を表示し、ユーザは、文を成すようにそれらを並べ替えなければならない。ステップ８０４で、エンジンは、生徒の応答を判定し、ステップ８０７に進む。
【００４０】
これに対して、問題がシミュレーション問題である場合、ステップ８０５で、エンジンは、生徒の入力（アクション）を取得または判定し、それに従ってコマンド（ユーザインタフェース）を処理する。例えば、シミュレーションエンジンを実施するためにウェブベース環境が用いられる場合、アプリケーションの種々のシミュレートされたユーザインタフェースコンポーネントを処理するための適当なコードが必要に応じて呼び出される。通常、シミュレートされたインタフェース諸相の呼出しは、サーバシステムとの通信およびサーバシステムによる部分的実行を伴う。しかし、当業者には認識されるように、いくつかの実施形態では、インタフェースをサポートするためのコード全体がクライアントにダウンロードされる。したがって、シミュレーション問題に対するステップ８０５は多くのステップを含み得る。ステップ８０６で、各コマンドの後、エンジンは生徒のアクション（行動、行為）を記録する。このアクションの記録はもちろん、あらゆるコマンドのプロセスで行われることも、アクションの何らかの他の組合せで行われることも可能であり、シミュレーションエンジンの実装次第である。生徒が課題の完了を指示するか、または問題に適切に応答すると、エンジンはステップ８０７に進む。
【００４１】
ステップ８０７で、生徒が、応答が完了したことを指示すると、ステップ８０８で、エンジンは、得点付け・計算メカニズムを呼び出し、問題に対する生徒の応答を得点付けする。得点付けについては、図１０〜図１３に関してさらに説明する。ステップ８０９で、エンジンは、次の問題を取得する。次の問題がシミュレーション問題である場合、通常、シミュレーションエンジンは、サーバから次の問題のシミュレーションコンポーネントを読み出す。これに対して、次の問題が非シミュレーション問題である場合、適当なデータが、シミュレーションエンジンで現在処理されているプレゼンテーション（フォーム、ウェブページ等）に入力される。ステップ８１０で、シミュレーションエンジンは、シナリオにまだ問題／課題が残っているかどうかを判定し、残っている場合、次の問題を処理するためにステップ８０１に戻り、さもなければ処理を終了する。
【００４２】
図９は、クライアントシステム上でのシミュレーションエンジン例の実行をサポートするためにサーバシステムによって実行されるステップの概観の例示的流れ図である。例示的ステップが示されているが、当業者には認識されるように、多くの他の処理または異なる処理を行うことが可能である。概略的には、サーバは、クライアント側シミュレーションエンジンのための正しいコンポーネントを判定して読み出し、シナリオに対する生徒の応答および得点を持続的に記憶すること等を担当する。具体的には、ステップ９０１で、サーバインタフェース（ＨＴＭＬページサーバ、ＡＳＰ  ．ＮＥＴエンジン、または他の類似のサーバアプリケーション）は、処理されている要求を判定する。ステップ９０２で、要求が、新規のシナリオがダウンロードされるべきことを示している場合、サーバ環境はステップ９０３に進み、さもなければステップ９０５に進む。ステップ９０３で、サーバは、データリポジトリから、ダウンロードすべき適当なシナリオエンジンの位置を読み出す。例えば、シナリオの第１の問題がシミュレーション問題である場合、データリポジトリテーブルは通常、ベースシミュレーションエンジン（これは、すべてのシミュレーションのための基本的なフローおよびインタフェースを制御する）への参照を含む。ステップ９０４で、サーバは、クライアントのためのシミュレーションエンジンの残りの部分を準備し、それをクライアントへ転送する。例えば、ＡＳＰ  ．ＮＥＴのようなウェブベース環境では、準備プロセスは、サーバ上にウェブページをロードし、それらをコンパイルし、ＸＭＬコントロールに自分自身をレンダリングさせて、クライアントシステムへ送信すべきＨＴＭＬファイル（java（登録商標）scriptコードファイルを伴う可能性もある）を作成させる。当業者には認識されるように、このステップは実装に依存する。そして、サーバは、（省略符号（・・・）またはステップ９０１への復帰で示すように）サーバインタフェースが再び呼び出されるまで、別の要求の判定または待機を継続する。
【００４３】
ステップ９０５で、要求が、何らかのタイプのデータ記憶情報を処理することである場合、サーバはステップ９０６に進み、さもなければステップ９０７に進む。ステップ９０６で、サーバは、要求を処理し、要求に応じて適宜データリポジトリテーブルを更新した後、ステップ９０１に進み、次の要求を待機し、または他の処理を実行する。例えば、このようなデータ記憶要求の１つとして、特定のテストに対する特定の生徒の得点情報および解答（そして記録されたアクション）を記憶することが挙げられる。
【００４４】
ステップ９０７で、要求が、サーバ環境から別のコンポーネントを読み出すことである場合、サーバはステップ９０８に進み、さもなければ、サーバによって実行されるべき他の処理を継続する。ステップ９０８で、要求が、例えば、次の問題のためのシミュレーションコンポーネントを読み出すことである場合、サーバは、どのコンポーネントにアクセスすべきかを読み出し、それを検索し、その問題に適したシミュレーションコンポーネントをロードする。ステップ９０９で、サーバは、コンポーネントを適宜準備し（例えば、前述のようにＨＴＭＬをレンダリングする）、クライアントシステムにシミュレーションエンジンコンポーネントを転送する。当業者には認識されるように、このステップは、極めて実装に依存する。その後、サーバは、他の処理を継続するか、または次の問題を待機する。
【００４５】
図１０は、クライアントシステムの観点から見たスキルベースシミュレーション・測定システムのスキルベースの記録および得点付けのプロセスの例示的流れ図である。ステップ１００１〜１００３は、生徒が応答の完了を指示するまで、生徒のアクションを記録する。これらのステップは、生徒のアクションが一般に、実行されるとともにシミュレーションによって記録されることを協働するために、図１０の一部として示されている。しかし、ステップ１００１〜１００３は、クライアントシステム上でシミュレーションを実行する全体的プロセスの一部として図８に関して説明した。具体的には、ステップ１００１で、シミュレーションエンジンは、生徒のアクションの指示を受け取り、それに従ってそのアクションを実行する。ステップ１００２で、シミュレーションエンジンは、生徒のアクションを記録する。例えば、一実施形態では、シミュレーションエンジンは、記録マクロのようなコマンドの形で、ユーザのすべてのキーボードアクションを記録する。ステップ１００３で、生徒が「Done」（終了）ボタンを押すと、シミュレーションエンジンはステップ１００４に進み、さもなければステップ１００１に戻って、問題に応じたアクションの実行を継続する。
【００４６】
ステップ１００４で、生徒が応答の完了を指示すると、シミュレーションエンジンは、正しい解答に対する応答全体にわたって記録された記録アクションを探索する。例えば、シミュレーション問題の一実施形態では、特定の問題に対する正しい解答は、対応する問題シミュレーションコンポーネントに記憶される。そして、シミュレーションエンジンは、あるレベルで解答が正しいかどうかを判定するために、記録されたアクションにおいて正しい解答（正しいコマンド）のインスタンスを探索する。しかし、当業者には認識されるように、問題によっては、この技法は常に実現可能であるとは限らない。また、当業者には認識されるように、記録されたアクションがその問題に対する正しい解答であることを判定する他の方法もある。例えば、いくつかの特定の問題に対して、シミュレーションは、たとえ順序が誤っていても、正確なアクションのセットがあればよいとしてもよい。別法として、解答は、順序も正しい場合にのみ正しいと呼ぶことにしてもよい。他の組合せも可能である。ステップ１００５で、シミュレーションエンジンは、記録されたアクション（応答）の正誤の指示を記憶する。そして、ステップ１００６で、シミュレーションエンジンは、応答の能率（efficiency）に関するある種の計算を実行する。一実施形態では、能率は次の公式により計算される：
（目標解答アクション数／実際のアクション数）×１００＝能率％  （１）
当業者には認識されるように、類似の公式を用いて能率を計算するためのいくつかの方法がある。例えば、応答におけるアクション数を最適アクション数と比較することや、コンポーネントがアクションの順序およびアクションの順序違いの回数を考慮に入れること等も可能である。当業者には認識されるように、この計算は、望むだけ複雑にすることができる。ステップ１００７で、シミュレーションエンジンは、計算された能率評定を記憶してから、ステップ１００８で、記録されたアクション、能率評定、および正確さインジケータ(正確性指標)を含む得点情報をサーバに転送した後、復帰する。
【００４７】
図１１〜図１３は、スキルベースシミュレーション・測定システムの記録・得点付けメカニズム例を用いて記録されたアクションを図解する表示画面である。図１１は、記録されたアクションを表わすために用いられるテスト例の表示画面例である。表示画面１１００において、問題エリア１１０１のテキストは、「2) Change the color of text on item row (line 10) to "White".」（品目の行（１０行目）の文字の色を「白」に変更してください。）と、実行すべき課題を提示している。そこで生徒は、与えられた課題に応答するためにアクションを実行する。
【００４８】
図１２は、問題に対する解答が正しい場合にシミュレーションエンジン例によって記憶された記録アクションの表示画面例である。表示画面１２００において、テストに含まれる問題のリスト１２０１が、問題の解答が正しかったか、それとも誤っていたかの指示（例えば、「Correct」（正答）インジケータ１２０３）とともに表示されている。特定の問題（例えば問題１２０２）に対して「Select」（選択）インジケータ１２０４が選択されると、その問題に対する生徒の応答について記録されたアクションが、記録アクションプレビューウィンドウ１２０５に表示される。通常、アドミニストレータが、記録されたアクションを検討し、この表示画面へのアクセス権を有する。アドミニストレータインタフェースからこの表示画面へのアクセスの様子は図１５に示される。
【００４９】
図１２に示す例では、図１１に提示されている問題に対する生徒の応答を見ることができる。具体的には、問題１２０２は図１１に示したテキストを含む。「Correct」インジケータ１２０３は、生徒が正しく問題（課題）に解答（または応答）したことを示す。「Select」インジケータ１２０４が選択されると、問題１２０２に応答して生徒がタイプ入力したアクションが、アクションプレビューウィンドウ１２０５に表示される。プレビューウィンドウ１２０５は、生徒のアクションが、まず単一のセルを（誤って）選択した後、セル要素範囲Ｂ１０〜Ｆ１０を正しく選択したことを示している。そして生徒は、Format（書式）メニューを選択し、最終的にタブを切り替えて正しい（Font（フォント））プロパティシートを表示した後、前に選択したセル範囲に対して正しく色「White」（白）を選択している。こうして、１０行目の文字を白に変更することによって正しい解答に到達したことが分かる。しかし、その解答に到達するために、生徒が実行したすべてのアクションが必要なわけではなく、実際には生徒はいくつかの間違いをしている。そこで、シミュレーションエンジンが能率評定を計算する場合（例えば、図１０のステップ１００６を参照）、解答は正しいかもしれないが、能率は最善より低くなる。
【００５０】
図１３は、問題に対する解答が誤りである場合にシミュレーションエンジン例によって記憶された記録アクションの表示画面例である。表示画面１３００の問題１３０２に示されている課題が「Center columns B and C.」（列ＢおよびＣをセンタリングしてください）であったことが分かる。「Wrong」（誤答）インジケータ１３０３は、この問題に対する生徒の応答が誤っていたことを示す。そこで、アドミニストレータが「Select」（選択）インジケータ１３０４を押すと、この課題に応じて実行された生徒のアクションのセットが、記録アクションプレビューウィンドウ１３０５に示される。生徒のアクションは、１個のセルを選択し、次に範囲を選択し、次に別のセルおよび別の範囲を選択し、最後に正しい列範囲を選択するものであったことが分かる。その後、生徒は正しいメニューおよびメニュー項目を選択して「center justify」（中央揃え）をしたが、セル範囲が誤っていたため、ウィンドウ１３０５に表示されている全体的応答は誤答となっている。
【００５１】
前に説明したように、スキルベースシミュレーション・測定システムによれば、シナリオを実行することに加えて、アドミニストレータが、ユーザのロールを管理し、生徒にシナリオを割り当てることができる。図１４は、スキルベースシミュレーション・測定システムの一例の管理インタフェースのシナリオ割当てルーチンの例示的流れ図である。このルーチンは、図６のステップ６０９に対応し、アドミニストレータが、指定された生徒にシナリオを割り当てることを可能にする。ステップ１４０１で、管理システムは、アドミニストレータから、指定されたシナリオの指示を受け取る。ステップ１４０２で、管理システムは、データリポジトリ内に、指定された生徒に対する指定されたシナリオに対応する新規レコードを作成する。指定された生徒は、アドミニストレータによって、このルーチンを呼び出す前に（例えば、図６のステップ６０５に記載されている全体プロセスで）選択されている。ステップ１４０３〜１４０５で、管理システムは、指定されたシナリオを指定された生徒に関連づけるように、サーバのデータリポジトリ内のテーブルを更新する。作成および更新する必要のあるデータレコードが正確にはどのデータレコードであるかは、データリポジトリの実装に依存する。あるデータリポジトリ編成について、図２６に関してさらに詳細に説明される。一実施形態では、ステップ１４０３で、システムは、どの問題および対になる解答がどのシナリオに関連づけられるかを記述するテーブルに規定される、シナリオに対応する問題−解答のペアへの参照を、新規作成したシナリオレコードに入力する。例えば、一実施形態では、各シナリオは、データリポジトリテーブルにおいて、そのシナリオに対応するすべての問題−解答ペアと関連づけられる。新規のシナリオが特定の生徒に割り当てられると、そのテストおよびそれらの問題−解答ペアに関するその特定の生徒の情報をユーザごとに記憶することができるように、これらのペアのそれぞれへの参照が作成される。各問題は、生徒に固有のシナリオの属性（例えば、提示される問題の順序）を有することができるので、問題−解答ペアのコピーまたは問題情報レコードから問題への参照が、その特定の生徒に対するその特定のシナリオに対応するテーブルに割り当てられる。ステップ１４０４で、管理システムは、その特定のシナリオがランダム化されたシナリオであるか、すなわち、問題がランダムな順序で提示されるかどうかを判定し、ランダムな順序で提示される場合、ステップ１４０５に進み、さもなければ復帰する。ステップ１４０５で、システムは、その生徒に対するその特定のシナリオレコードについて問題−解答ペアの並び順をランダム化する。シミュレーションエンジンは、その生徒に対するシナリオレコードに規定された順序でそれらの質問を提示する。そして、シナリオ割当てルーチンは、ＳＢＳＭＳの管理インタフェースに戻る。
【００５２】
図１５は、スキルベースシミュレーション・測定システムの一例の管理インタフェースの表示画面例である。表示画面１５００は、アドミニストレータが設定可能なユーザのリスト１５０１を示している。システムのカレントユーザ（例えばユーザ１５１０）が選択されると、カレントユーザ情報がユーザプロパティ１５０２に事前ファイルされる。各ユーザは、対応するユーザＩＤ、パスワード、名前、アカウント有効期限日、および、ロール（例えば、生徒、アドミニストレータ、パブリッシャ、またはオーサ）を有する。これらのプロパティは、ユーザプロパティ１５０２のフィールドに反映される。ユーザのプロパティ値は、アドミニストレータにより、「Add/Update」（追加／更新）ボタン１５０３を選択することによって変更可能であり、システムはそれに従って更新される。ユーザが選択された後は、「Tests」（テスト）ボタン１５０４を選択することによって、テスト（または他のシナリオ）をそのユーザに関連づけることができる。「Tests」ボタン１５０４が選択されると、（生徒としての）そのユーザに現在割り当てられているテストのリストがカレントテストリスト１５０５に示される。新規のテストを追加するには、アドミニストレータは、ドロップダウン式の利用可能テストリスト１５０６からテストを選択し、「Add」（追加）ボタン１５０７を押す。
【００５３】
また、管理インタフェースは、シナリオ結果の詳細およびそれぞれの解答された問題について記憶されている記録アクションを判定および確認するためにも使用可能である。具体的には、カレントテストリスト１５０５は、各テスト（シナリオ）に関連するデータを示す。各テストについて、リスト１５０５は、テストが割り当てられた日付（指定日）１５２０、テストが受験された場合にそれが開始された日付１５２１、テストが終了した場合にそれが終了した日付１５２２、およびそのテストの結果を示す。例えば、全問題数のうち解答された問題数がフィールド１５２３に示され、解答された問題の百分率がフィールド１５２４に示され、テストを完了するのに要した全秒数がフィールド１５２５に示される。ＳＢＳＭＳがテスト全体の総合能率得点を維持管理している場合、これもカレントテストリスト１５０５に示すことができる。一方、問題に応答する際の生徒のスキルの能率得点または他の種類の測定値がその問題に限定されている場合、その得点は、その特定の問題に対する「details」（詳細）データシートのみに示されてもよい。アドミニストレータは、「Remove」（削除）インジケータ１５２６を選択することによって、カレントテストリスト１５０５からシナリオを削除することができる。また、「Reset」（リセット）インジケータ１５２７を選択することによって、過去の結果を消去するようにシナリオをリセットすることができる。また、「Details」（詳細）インジケータ１５２８を選択することによって、シナリオの各問題に対して記録されたアクションを閲覧することができる。例えば、アドミニストレータは、Excel Skills Analysis（エクセルスキル分析）テストに対する「Details」インジケータ１５２８を選択することによって、図１２および図１３に関して説明した表示画面（それぞれ、正答であった問題および誤答であった問題に対する一連の記録アクションを例示した）に移動することができる。
【００５４】
スキルベースシミュレーション・測定システムによれば、シナリオの実行およびシナリオの管理に加えて、オーサが、既存の問題から新規のシナリオを作成すること、新規の非シミュレーション問題を作成すること、および特定のシナリオに関連するプロパティを変更することが可能となる。図１６は、スキルベースシミュレーション・測定システムの一例のオーサリングインタフェースのシナリオオーサリングルーチンの例示的流れ図である。前に説明したように、オーサとしてのユーザは、既存のシミュレーション問題を用いて、または既存の非シミュレーション問題を用いることによって、または新規の非シミュレーション問題を追加することによって、新規のテストまたはトレーニングのシナリオを生成することができる。（本実施形態では、新規のシミュレーション問題を作成するためには、ユーザは、スキルベースシミュレーション・測定システムによって提供されるツールを用いて、パブリッシャとして問題をパブリッシュしなければならない。）概略的には、ステップ１６０１〜１６０３で、オーサは、新規の非シミュレーション問題を追加し、または既存の非シミュレーション問題を変更し、ステップ１６０４〜１６０８で、特定のシナリオの属性を変更し、ステップ１６０９〜１６１０で、既存の、または新規作成された非シミュレーション問題を指定されたシナリオと関連づける。
【００５５】
具体的には、ステップ１６０１で、シナリオオーサリングルーチンは、オーサが、利用可能な問題の「プール（pool）」に対する更新を要求したかどうかを判定する。要求した場合、ステップ１６０２に進み、さもなければステップ１６０４に進む。ステップ１６０２で、ルーチンは、オーサの選択に応じて、新規の非シミュレーション問題をプールに追加し、または、既存の非シミュレーション問題を新規のプロパティ値で更新する。ステップ１６０３で、ルーチンは、オーサが、新規作成した非シミュレーション問題に対する解答を追加すること、または既存の非シミュレーション問題に対する既存の解答セットを更新することを可能にする。例えば、オーサは、新規の多肢選択問題に対するいくつかの可能な解答を追加すること、または既存の多肢選択問題に対する関連づけられた解答セットにさらに解答を追加することができる。そして、ルーチンは、オーサが、問題のプールの変更を継続すること、または別のオーサリング活動を実行すること（ステップ１６０１においてループの最初に戻るように示されている）を可能にする。
【００５６】
ステップ１６０４で、シナリオオーサリングルーチンは、オーサが、利用可能なシナリオの「プール」において新規シナリオの追加または既存のシナリオの更新を要求したかどうかを判定し、要求した場合、ステップ１６０５に進み、さもなければステップ１６０９に進む。ステップ１６０５で、オーサが、変更すべき既存のシナリオを選択した場合、ルーチンはステップ１６０６に進み、さもなければステップ１６０７に進む。ステップ１６０６で、ルーチンは、シナリオに関する情報を指定するプロパティフィールドの事前ファイルを行う。ステップ１６０７で、ルーチンは、オーサからの、新規シナリオを指定する入力または既存のシナリオのプロパティフィールドの既存の値を変更する入力を判定する。ステップ１６０８で、ルーチンは、新規の／更新されたシナリオプールを含むように、利用可能なシナリオのプールを更新する。シナリオ情報がサーバのデータリポジトリに記憶される実施形態では、データリポジトリ内の適当な情報もそれに応じて更新される。そして、ルーチンは、オーサが、シナリオのプールの変更を継続すること、または別のオーサリング活動を実行すること（ステップ１６０１においてループの最初に戻るように示されている）を可能にする。
【００５７】
ステップ１６０９で、シナリオオーサリングルーチンは、オーサが、指定されたテストに問題を関連づけることを要求したかどうかを判定し、要求した場合、ステップ１６１０に進み、シナリオに問題を関連づけるルーチンを呼び出す。そうでない場合、ルーチンは、オーサが、引き続き別のシナリオに問題を関連づけること、または別のオーサリング活動を実行すること（ステップ１６０１においてループの最初に戻るように示されている）を可能にする。
【００５８】
図１７は、スキルベースシミュレーション・測定システムの一例のオーサリングインタフェースの問題関連づけルーチンの例示的流れ図である。このルーチンは、指定されたシナリオに関連づけるべき既存の問題を判定する。ステップ１７０１で、ルーチンは、指定されたシナリオに既に関連づけられている既存の問題を表示する。ステップ１７０２で、ルーチンは、シナリオに新規追加されるべき問題をフィルタリングするためのカテゴリを判定する。カテゴリごとに問題を提示することはオプションであり、所望の問題を素早く見つけるプロセスを支援するためのものである。ステップ１７０３で、ルーチンは、利用可能な問題プールから選択されたカテゴリに一致する問題を表示する。この表示は、シミュレーション問題および非シミュレーション問題を含むことができる。当業者には認識されるように、有益と考えられる場合、例えば問題のプールが大きい場合には、高度な検索エンジンをこのステップに統合することも可能である。ステップ１７０４で、ルーチンは、通常はオーサ入力から、シナリオに追加すべき指定された問題を判定する。ステップ１７０５で、ルーチンは、通常はオーサ入力から、その問題に対する並び順を判定する。ステップ１７０６で、ルーチンは、新規の問題−解答ペアに対して指定されたシナリオに関連づけられる新規のデータリポジトリレコードを作成し、または既存のレコードを更新した後、復帰する。当業者には認識されるように、例示したステップは、指定されたシナリオに問題を追加するために必要なだけ繰り返すことができる。
【００５９】
図１８〜図２１は、スキルベースシミュレーション・測定システムの一例のオーサリングインタフェースの表示画面例である。図１８は、利用可能な問題のプールを変更するためのオーサリングインタフェースの表示画面例である。表示画面１８００において、インタフェースは、問題カテゴリフィールド１８０１に表示された特定の問題カテゴリに対して、問題プールからそのカテゴリに一致する問題のリスト１８０２を示している。なお、新規のカテゴリをシステムに追加することも可能であり、前に説明したように、高度な検索エンジンを適宜組み込むことも可能であることに留意されたい。問題リスト１８０２から既存の問題が選択されると、その問題に関連するデータが問題プロパティフィールド１８０３に示される。既存の問題に対して、これらのフィールドには、データリポジトリからの情報が事前ファイルされる。したがって例えば、「New Math(新数学)」という内部参照名の問題が、「Math（数学）」問題のカテゴリ内の多肢選択型問題として示されている。ここで、解答はいかなる特定の方法でも順序付けられていない。選択された問題に関連する既存のテキスト、グラフィクス、またはオーディオは、問題内容入力フィールド１８０６に提示される。したがって、例えば、「New Math」とラベル付けされた問題に対する内容は、テキスト「What is 4 + 5.」（４＋５は何ですか）である。前に説明したように、問題および解答は両方とも、同一の問題または解答について、多言語で存在することができる。そこで、オーサが言語インジケータフィールド１８０７で異なる言語を選択した場合、指定した言語で問題内容入力フィールド１８０６に問題の別バージョンを入力することができる。オーサは、「Answers」（解答）ボタン１８０５の選択により特定の問題に対する解答を選択するためのインタフェースに移動すること、または、「Switch to Tests」（テストに切り替える）ボタン１８０４を選択することによりシナリオ（テスト）の追加または変更のためのインタフェースに切り替えることができる。
【００６０】
図１９は、指定された非シミュレーション問題に１つまたは複数の解答を追加するためのインタフェースの表示画面例である。解答数は問題のタイプに依存する。解答が関連づけられる問題は、図１８で指定された問題である。表示画面１９００において、オーサリングインタフェースは、既存の問題に対して、その問題に関連づけられた解答または解答セットを解答表示リスト１９０１に示している。特定の解答を、変更のために選択し、または削除することができる。特定の解答が変更のために選択されると、その解答が解答内容入力フィールド１９０２に表示される。そして、オーサは、フィールド１９０２に表示された内容を適宜変更することができる。解答の他の属性も問題タイプに応じて適宜変更することができる。例えば、多肢選択問題タイプの場合、複数の解答があり、そのうちの１つだけが正答である。正答は、正答フィールド１９０３に示される。また、オーサは、特定の解答が順序フィールド１９０４に表示されるように順序を指定することも可能である。したがって例えば、オーサは、多肢選択問題に対する多肢選択解答において解答を順序付けることができる。オーサが、解答の変更または新規解答の追加を終了すると、「Add」（追加）ボタン１９０５を選択することによって解答情報が更新される。オーサリングインタフェースは、それに従ってデータリポジトリ情報を更新する。オーサは、問題に対する解答の変更または新規解答の追加を完了すると、「Return」（戻る）ボタン１９０６を押すことによって問題変更インタフェースに戻ることができる。
【００６１】
図２０は、シナリオを変更するためのオーサリングインタフェースの表示画面例である。このインタフェースは、テストに関して説明されているが、トレーニングシナリオについても同様である。表示画面２０００において、オーサリングインタフェースは、テスト表示リスト２００１に現在のテストのリストを表示している。特定のテスト（例えばテスト２０１０）を選択すると、インタフェースは、テストの現在のパラメータの値をテストプロパティフィールド２００６に表示し、テスト名およびコメントをそれぞれフィールド２００２および２００５に表示する。正答率が何パーセントであれば合格得点となるか、時間制限付きテストに割り当てられた秒数、およびテストのタイプのようなプロパティ（属性）が、テストプロパティフィールド２００６に表示される。オーサは、「Display Answer Result」（解答結果を表示）プロパティを切り替えることによって、（次の問題に進む前に、または他の指定された時に）正答が生徒に対して表示されるように指示することができる。また、オーサは、「Ordering」（順序付け）プロパティによって、テストが問題をランダムな順序で含むか、それとも決まった順序で含むかを指示することもできる。さらに、オーサは、「Question Selection at end of test」（テスト終了時の問題選択）プロパティを切り替えることによって、生徒がテストを終了した後に戻って解答するために、生徒が戻って問題を選択することを許すかどうかを決めることができる。例えば、生徒がある問題を飛ばした場合、このプロパティにより、生徒は飛ばした問題に戻って解答することができる。また、オーサは、「Can return to answered questions」（解答済問題に復帰可能）プロパティを切り替えることによって、生徒が既に解答した問題に戻って解答を変更することを許すかどうかを決めることができる。テストが新規テストであり、既存のテストでない場合、オーサは、新規テスト名をテスト名フィールド２００２に指定し、そのテストに対する導入画面に表示されるコメントをコメントフィールド２００５に指定することができる。テスト情報が完備したら、オーサは、「Add」（追加）ボタン２００３を選択して新規テストをシステムに追加し、または「Update」（更新）ボタン２００４を選択して既存のテストに対するプロパティを更新することができる。そして、オーサは、ボタン２００８を選択することにより、問題プール内の問題の変更に戻るか、または「Question List」（問題リスト）ボタン２００９を選択することにより、この特定のテストに問題を関連づけることができる。
【００６２】
図２１は、指定されたテストに問題を関連づけるためのオーサリングインタフェースの表示画面例である。図２１において、表示画面２１００は、現在、指定されたテスト２１０１に関連づけられた現在の問題のリスト２１０２を示している。特定のテストに対する問題の順序は、このインタフェースを用いて、問題を選択してからテスト順序フィールド２１０６にその問題の順序を指定することによって、変更することができる。さらに、コメント（すなわち、割り当てられている問題の内部名）をコメント入力フィールド２１０５に示すことができる。テストに新規の問題を追加するには、オーサは、カテゴリフィールド２１０３において問題カテゴリを選択する。すると、オーサリングインタフェースは、問題プール（シミュレーション問題および非シミュレーション問題を含む）から、そのカテゴリに一致する問題の現在のリスト２１０４を表示する。前に言及したように、高度な検索機能を適宜組み込むことができる。ユーザがこれらの問題の１つを選択すると、問題の順序および内部名の両方を、説明したように入力することができる。指定されたテストに問題が関連づけられると、オーサは、「Return」（復帰）ボタン２１０７を選択して、オーサリングインタフェースの最初に戻ることができる。
【００６３】
スキルベースシミュレーション・測定システムによれば、シナリオの実行、管理、およびオーサリングに加えて、パブリッシャが、ＳＢＳＭＳによって提供されるツールを用いて、シミュレーションシナリオおよびシミュレーション問題を新規作成し、または既存のシミュレーションシナリオおよびシミュレーション問題を変更することが可能となる。図２２は、スキルベースシミュレーション・測定システムの一例のパブリッシングインタフェースのシナリオパブリッシュプロセスの例示的流れ図である。ステップ２２０１で、パブリッシャは、アプリケーションを使用するための所望のシナリオを検討した後、アプリケーションから種々のスクリーンショット（画面ビットマップ）をキャプチャ（捕獲）する。ステップ２２０２で、パブリッシャは、種々のスクリーンショットを、例えばＧＩＦフォーマットで書式化し、スクリーンショットを編集してシミュレーションエンジンに取り込むことができるようにする。シミュレーションエンジンは、例えば、ウェブページがクライアントとサーバの間で用いられる通信メカニズムである場合には、ウェブページ内にある。さらに、パブリッシャは、例えばメニュー、ボタン等の、アプリケーションのユーザインタフェースコントロールのシミュレートされた等価物を追加したいエリアをスクリーンショットから取り除く。ステップ２２０３で、パブリッシャは、実行されるべき種々の問題または課題に対するスクリーンショットを観察して、アプリケーションプレゼンテーションのどの部分が全部の（または一部の）問題で共有されるか、およびどのアプリケーションユーザインタフェースコントロールが共通であるか、および／または共通の挙動を有するかを判定する。例えば、図３Ａ〜図３Ｇに示したシミュレーションのようなＥｘｃｅｌ表計算アプリケーションのシミュレーションでは、スプレッドシートの行、列、およびヘッダ情報は、全問題で共有される。この情報を用いて、ステップ２２０４で、パブリッシャは、共有される（すなわち、問題ごとに変化しない）アプリケーションの部分に対するベースシミュレーションコンポーネントを作成する。
【００６４】
例えば、ウェブページを使用する実施形態では、ステップ２２０４で、パブリッシャは、シミュレートされたユーザインタフェースコントロールを含む種々のプレゼンテーションフォーム（ウェブページ）を作成し、クライアントウェブページ上で「選択される」（イベントを引き起こす）各コントロールに対して呼び出されるコード（イベントハンドラ）を書くことが必要である。このプロセスを支援する種々のツールが存在し、例えばＭｉｃｒｏｓｏｆｔのＶｉｓｕａｌ  Ｓｔｕｄｉｏ  ．ＮＥＴのようなウェブ設計ツールがある。さらに、特定のグラフィカルユーザインタフェース環境をターゲットとしたメニュー、ダイアログボックス等を構築するためのプレゼンテーションおよびコードのような、特定のアプリケーションに固有でないツールの多くを、ＳＢＳＭＳサーバ環境の一部として存在するコンポーネントのツールキットの一部として利用可能とすることができる。
【００６５】
ステップ２２０５〜２２０８で、パブリッシャは、シナリオの一部となるべき各問題に対するシミュレーションを生成するための一連のステップを実行する。具体的には、ステップ２２０５で、パブリッシャは、処理すべき問題が他に存在するかどうかを判定し、存在する場合、ステップ２２０６に進み、さもなければステップ２２０９に進む。ステップ２２０６で、パブリッシャは、処理すべき次の問題を考慮し、ステップ２２０７で、その問題に基づいて問題シミュレーションコンポーネントを作成する。問題シミュレーションコンポーネントを作成するプロセスは、ステップ２２０４におけるアプリケーションのベースシミュレーションコンポーネントを作成するプロセスに非常に類似している。しかし、プロセスは、実行されるべき問題または課題に直接対応するアプリケーション環境の部分に対してのみ実行される。一実施形態では、問題によって影響を受ける表示画面のエリア（および対応するイベント処理コード）のみが、クライアント側シミュレーションウェブページ上で「置換される」。各問題シミュレーションコンポーネントの設計および実装には、問題に対する解答の正確さを確認するために呼び出すことができるルーチンと、問題に対する解答を得点付けするためのルーチンが含まれる。ステップ２２０８で、問題シミュレーションコンポーネントは、サーバ環境ツールの一部として記憶され、パブリッシャは、ステップ２２０５で、次の問題についてプロセスを再び開始する。ステップ２２０９で、シミュレートされるべき問題のセットが処理された後、パブリッシャは、生成されたアプリケーションベースシミュレーションコンポーネントをサーバ環境ツールに記憶する。ステップ２２１０で、パブリッシャは、アプリケーションベースコンポーネントに関して、および、必要に応じて（例えば、シナリオおよび問題を、割り当てられるように利用可能とするために）問題シミュレーションコンポーネントに関して、データリポジトリを更新し、それにより、パブリッシュプロセスを完了する。
【００６６】
図２３は、シナリオパブリッシュプロセスによって構築されるコンポーネント例を含むスキルベースシミュレーション・測定システムの一例のサーバ環境の例示的ブロック図である。サーバ環境２３００は、特に、スキルベーステスト・トレーニングエンジン２３０１、およびクライアントシステムと通信するための適当なインタフェース；シナリオ・生徒設定データ２３０３および他のデータ２３０４のような、１つまたは複数のデータリポジトリ；ならびに、サーバツールキットを構成するコンポーネントのセット２３０２を備える。スキルベーステスト・トレーニングエンジン２３０１は、図７〜図９に関して説明したスキルベース測定環境およびクライアント側シミュレーションエンジンを実行するためにクライアントと対話するためのインタフェースおよびコードを提供する。データリポジトリは、どの問題（および解答）が特定のシナリオを構成するかを判定するために必要な情報を含むとともに、シナリオを実施するために用いられるサーバコンポーネントの指示と、テストに関する生徒の履歴を含む。シナリオ・生徒設定データのレコード例は図２６に関して示される。ツールキット２３０２を構成するコンポーネントは、クライアント側シミュレーションエンジンを実施するために用いられ、シミュレーションエンジンのサーバ側コンポーネントを含む。ツールキット２３０２のコンポーネントは、パブリッシャが、新規のシミュレーションシナリオおよびシミュレーション問題、ならびに新規のタイプの非シミュレーション問題を作成するためにも用いられる。
【００６７】
例えば、ツールキット２３０２は、多肢選択エンジン、文法エンジン、物語文法エンジン、および文整序エンジンのような、非シミュレーション問題のための一連のエンジン２３１０を含む。これらのエンジンがクライアントシステムにダウンロードされると、種々の問題からのデータ、例えば、特定のテストに対する非シミュレーション問題データ２３１８が、特定の非シミュレーションエンジンに対するウェブページに入力される。
【００６８】
シミュレーションのために、ツールキット２３０２は、シミュレーションベースエンジン２３１６を備える。シミュレーションベースエンジン２３１６は、すべてのシミュレートされるインタフェースをサポートするために最初にクライアントにダウンロードされる。さらに、基本ユーザインタフェースコンポーネントシミュレーション２３１１、および、ダイアログインタフェース２３１７のような他の種類のインタフェースコンポーネントが、パブリッシャ等がそれらを用いてアプリケーションベースシミュレーションエンジンおよびシミュレーション問題コンポーネントを構築するために利用可能である。図２２に関して説明したように、パブリッシャがアプリケーションをシミュレートする場合、パブリッシャはまず、シミュレーションシナリオの問題全体にわたって共有される一連のプレゼンテーションおよびインタフェースを判定する。「ＡＢＣ表計算メニュー」コンポーネント２３１４および「ＸＹＺライタメニュー」コンポーネント２３１５は、このような共有プレゼンテーションコンポーネントの例である。（「ＡＢＣ表計算メニュー」コンポーネント２３１４は、おそらくは、ＡＢＣシナリオに対するすべての問題にわたって機能する。）「表計算ＡＢＣ問題１」コンポーネント２３１９および「ＡＢＣ問題２」コンポーネント２３２０は、それぞれ、ＡＢＣ表計算アプリケーションの問題１および問題２のシミュレーションをサポートするデータおよびコードを含む。
【００６９】
「表計算メニュー」コンポーネント２３１２および「ワードプロセッサメニュー」コンポーネント２３１３のような他のコンポーネントが、一般的なメニューサポートのためにツールキットによって提供されてもよい。当業者には認識されるように、パブリッシャがシミュレーション問題または非シミュレーション問題を作成または実施するために使用することができる再利用可能モジュールにおいて、多くの他のコンポーネントや機能とコードの組合せが作成されることが可能である。さらに、別々のコンポーネントの利用により、ＳＢＳＭＳ全体を再リリースすることを必要とせずに、例えば改訂版のアプリケーションを反映するようにテストを「更新」するために、特定のコンポーネントに対するアップグレードを行うことができる。
【００７０】
図２４は、スキルベースシミュレーション・測定システムのサーバ部分の実施形態を実施するための汎用コンピュータシステムの例示的ブロック図である。汎用コンピュータシステム２４００は、１つまたは複数のサーバおよび／またはクライアントのコンピューティングシステムを備えることが可能であり、複数の地点に分散して広がっていてもよい。さらに、図示の各ブロックは、特定の実施形態に適した１つまたは複数の当該ブロックを代表していてもよく、あるいは他のブロックと組み合わされてもよい。さらに、スキルベースシミュレーション・測定システム２４１０のサーバ部分の種々のブロックが物理的に存在するマシンは、１つまたは複数のいずれでもよく、それらは相互に通信するために標準的なプロセス間通信メカニズムを使用する。
【００７１】
図示の実施形態において、コンピュータシステム２４００は、コンピュータメモリ（「メモリ」）２４０１、オプションのディスプレイ２４０２、中央処理装置（ＣＰＵ）２４０３、および入出力装置２４０４を備える。スキルベースシミュレーション・測定システム（ＳＢＳＭＳ）２４１０は、メモリ２４０１に存在するように示されている。スキルベースシミュレーション・測定システム２４１０のコンポーネントは、好ましくは、ＣＰＵ２４０３で実行され、これまでの図に記載されているように、シミュレーションおよび非シミュレーションのシナリオコンポーネントの生成および使用を管理する。他のプログラム２４３０、および場合によっては他のデータリポジトリ２４２０もメモリ２４０１に存在し、好ましくは１つまたは複数のＣＰＵ２４０３上で実行される。さらに、ネットワークベースの実装の場合、ウェブインタフェースのようなネットワークインタフェース２４３１もメモリ２４０１に存在し、１つまたは複数のＣＰＵ２４０３上で実行される。典型的実施形態では、ＳＢＳＭＳ２４１０は、スキルベーステスト・トレーニングエンジンおよびインタフェース２４１１、１つまたは複数のツールキット２４１２、シナリオ・生徒設定データリポジトリ２４１３、および場合によっては他のデータ２４１４を含む。
【００７２】
実施形態の一例では、ＳＢＳＭＳ２４１０のコンポーネントは、標準的なプログラミング技法および標準的なウェブベース技術（例えばＭｉｃｒｏｓｏｆｔ  ＩＩＳのようなＨＴＭＬサーバ）；ウェブベースエンジン（例えばＡＳＰ  ．ＮＥＴまたはそれと同等のもの）；ｊａｖａ（登録商標）プログラミングツールおよび環境サポート；ならびにデータベース技術を用いて実施される。当業者には認識されるように、シミュレーションコンポーネントをサポートするコードは、オブジェクト指向技術、分散技術、ウェブベース技術を用いたものとして都合よく実施される。しかし、ＳＢＳＭＳコンポーネント２４１１〜２４１２のいずれも、よりモノリシックなプログラミング技法を用いても同様に実施可能である。さらに、ＳＢＳＭＳの一部として記憶されるデータへのプログラミングインタフェースは、Ｃ、Ｃ＋＋、Ｃ＃、およびＪａｖａ（登録商標）ＡＰＩを通じて、ならびにＸＭＬのようなスクリプティング言語を通じて、またはこのようなインタフェースをサポートするウェブサーバを通じて等の標準的手段によって利用可能とすることができる。データリポジトリ２４１３は、スケーラビリティの理由から、好ましくは、テキストファイルとしてではなくデータベースシステムとして実施されるが、このような情報を記憶するためにいかなる方法を用いてもよい。
【００７３】
当業者には認識されるように、ＳＢＳＭＳ２４１０は、複数の（異種混合であってもよい）コンピュータシステムおよびネットワークからなる分散環境において実施されてもよい。例えば、一実施形態では、スキルベーステスト・トレーニングエンジン２４１１、ツールキットコンポーネント２４１２、およびシナリオ・生徒設定データリポジトリ２４１３はすべて、物理的に異なるコンピュータシステムに配置される。別の実施形態では、ツールキット２４１１の種々のコンポーネントが、別個のサーバマシン上にそれぞれホスティングされ、シナリオ・生徒設定データリポジトリ２４１３に記憶されるシナリオ定義テーブルからリモートに配置されてもよい。
【００７４】
図２５は、スキルベースシミュレーション・測定システムのクライアント部分の実施形態を実施するための汎用コンピュータシステムの例示的ブロック図である。図２４に関して詳細に説明したのと同様に、汎用コンピュータシステム２５００は、１つまたは複数のサーバおよび／またはクライアントのコンピューティングシステムを備えることが可能であり、複数の地点に分散して広がっていてもよい。図２５において、コンピュータシステム２５００は、コンピュータメモリ（「メモリ」）２５０１、ディスプレイ２５０２、中央処理装置（ＣＰＵ）２５０３、および入出力装置２５０４を備える。クライアント側シミュレーションエンジン２５１０は、メモリ２５０１に存在するように示されている。他のプログラム２５０５、ネットワークインタフェース（例えばウェブブラウザ）２５０６、および他のデータリポジトリ２５０７もメモリ２５０１に存在し、好ましくは１つまたは複数のＣＰＵ２５０３上で実行される。シミュレーションエンジン２５１０は、図２４に示したサーバ環境と対話することにより、ＳＢＳＭＳの機能を実現する。当業者には認識されるように、ＳＢＳＭＳのクライアント部分は、サーバ部分と同じ物理的コンピュータシステム上に存在してもよく、あるいは、その何らかの組合せであってもよい。前に説明したように、シミュレーションエンジン２５１０の実装は、サーバ部分によって支配される。
【００７５】
一般に、ＳＢＳＭＳの技法とともに用いるために、プログラムおよびデータのさまざまな構成および配置が考えられる。実施形態の例では、これらのコンポーネントは並行して非同期的に実行されることが可能である。したがって、コンポーネントは、周知のメッセージパッシング技法を用いて通信することができる。当業者には認識されるように、同等の同期的実施形態も、ＳＢＳＭＳ実装によってサポートされる。また、他のステップを、各ルーチンに対して、異なる順序で、および異なるルーチンで実施し、しかも依然としてＳＢＳＭＳの機能を達成することが可能である。
【００７６】
図１〜図２３に関して説明したように、スキルベースシミュレーション・測定システムは、テストおよびトレーニングのためのシミュレーション問題および非シミュレーション問題を含むシミュレートされたアプリケーション環境を生成し；新規のシナリオおよびシミュレーション問題をパブリッシュし；既存の問題のデータリポジトリを用いてシナリオをオーサリングし；生徒に対するシナリオを管理し；テストおよびトレーニングのシナリオを実行する能力を提供する。これらの機能は、ＳＢＳＭＳのシナリオおよびユーザに関するすべての情報を表すデータリポジトリに記憶されたデータを通じて情報を通信するインタフェースおよびコードによってサポートされる。
【００７７】
図２６は、スキルベースシミュレーション・測定システムの一例のシナリオ・生徒設定データリポジトリテーブル例内のレコードの例示的ブロック図である。例示されているレコードは、生徒ごとのシナリオ設定と、特定のシナリオを構成する課題または問題とをサポートするために必要な情報の概観を提供する。図２６のレコードは、テスト環境向けであるが、当業者には認識されるように、同様の情報がトレーニングシナリオにも等しく適用可能である。これらのレコードは、ＳＢＳＭＳの種々のインタフェースによって、およびシナリオを実行することによって、作成および変更される。
【００７８】
具体的には、このデータリポジトリ例内のテーブルは、シナリオデータが２つの異なる視点から、すなわち、生徒の視点から、およびシナリオの視点から、アクセス可能であるように編成されている。それぞれの生徒（ユーザ）に対して、一意のｕｓｅｒ＿ＩＤ（ユーザＩＤ）でそのユーザを表すために、ユーザレコード２６０１が作成される。そして、生徒に割り当てられる各テストに対して、別々のユーザテストレコード２６０２が作成される。ユーザテストレコード２６０２は、特定のテストの「状態」に関する現在の情報を含む。例えば、テストが割り当てられた日付（指定日）、テストがいつ開始および終了したか、ならびに結果および得点付けを示すデータのような情報がこのレコードに保持される。一意のｔｅｓｔ＿ＩＤ（テストＩＤ）もこのレコードに記憶される。ｔｅｓｔ＿ＩＤは、シナリオの観点からテストの構造に関する情報（どの問題−解答ペアがテストに「属する」か、テストのプロパティ等）を探すために用いられる。各ユーザテストレコード２６０２に対して、ｔｅｓｔ＿ＩＤを有する生徒のテストに関連づけられるそれぞれの問題−解答ペアに対して、別々の問題−解答情報レコード２６０３が作成される。図示の実施形態では、実際の問題および正答はこれらのテーブルに記憶されないが（それらはシナリオの視点からはアクセス可能である）、当該生徒の当該テストに対する特定の問題−解答ペアに関するすべての情報が問題−解答情報レコード２６０３に記憶される。したがって、問題の順序や、問題が解答されたかどうか、そして、解答された場合には解答の正確さおよび記録されたアクションがレコード２６０３に記憶される。これらは、当該シナリオに対する問題−解答ペアの、生徒固有の属性である。
【００７９】
シナリオまたは問題−解答ペアに関する非生徒固有情報を取得するには、データリポジトリは、シナリオの視点からアクセスされる。具体的には、それぞれの（一意の）ｔｅｓｔ＿ＩＤに対して作成されるテストマトリクスレコード２６０４および２６０５がある。テストマトリクスレコード２６０４は、テスト（シナリオ）に関するプロパティ情報を、テストを構成する問題に関するプロパティ情報と結合する。例えば、各テストマトリクスレコード２６０４および２６０５は、テスト情報レコード２６０６および１つまたは複数の問題情報レコード２６０７を示す。異なるｔｅｓｔ＿ＩＤを有する２つの異なるテストマトリクスレコード（例えばレコード２６０４および２６０５）が、同じ問題情報レコード２６０７を参照することがある。これは、２つの異なるテストが同じ問題を含むことを示す。また一方、テストは、異なるプロパティを有する問題を提示する可能性もある。例えば、テストの合格点は異なってもよく、また、テストは、時間制限があってもなくてもよい。それぞれの問題情報レコード２６０７は、問題がシミュレーション問題であるかそれとも非シミュレーション問題であるか、およびその問題に適した「エンジン」を見つけるために呼び出すべきパス（例えばウェブページ）を示す。したがって、例えば、問題がシミュレーション問題である場合、ページは、前に説明したベースシミュレーションコンポーネントを参照することになる。それぞれの非シミュレーション問題もまた、解答（図示せず）に関連づけられる。また、当業者には認識されるように、言語固有のレコードのような、各テストに対して作成される他のレコードがある。テストが多言語で利用可能である場合、問題−解答ペアの翻訳が、他のレコードで利用可能となるであろう。
【００８０】
図１〜図２３に機能的観点から説明したように、ＳＢＳＭＳのクライアント部分とサーバ部分とは、スキルベースシミュレーション・測定環境を実施するために通信する。一実施形態では、ＳＢＳＭＳは、ＭｉｃｒｏｓｏｆｔのActive Server Pages（ＡＳＰ）．ＮＥＴアーキテクチャを用いて実施される。Ｍｉｃｒｏｓｏｆｔの．ＮＥＴおよびＡＳＰ  ．ＮＥＴアーキテクチャについては、Platt, David S.著「Introducing Microsoft .NET（マイクロソフト・ネットワークの手引き）」（Microsoft Press, 2002）にさらに詳細に記載されている。当業者には認識されるように、ＳＢＳＭＳは、本明細書に記載される技法および機能に影響を及ぼすことなく、他のウェブページベースのアーキテクチャにおいて、他のツール、および他の言語を用いて、同等に実施されることが可能である。
【００８１】
ウェブベースツールを用いたＡＳＰ  ．ＮＥＴアーキテクチャは、標準化された技法を用いて、アプリケーションのシミュレートされたユーザインタフェースコントロールおよびそれらの「コードビハインド」（イベント処理コード）を生成するための手段を提供する。シナリオのコードフローがどのようにＳＢＳＭＳによって実施されるかを理解するためには、標準的なＡＳＰ  ．ＮＥＴ環境によってサポートされるウェブページおよびコードフローを見直すことが有益である。
【００８２】
図２７は、ＭｉｃｒｏｓｏｆｔのActive Server Pages（ＡＳＰ  ．ＮＥＴ）エンジンを用いてウェブページを生成および処理するための、クライアントシステムとサーバシステムの間の処理およびコードのフローの例示的ブロック図である。この図は、上記で引用した参考書に提供されているものに類似している。図２７において、ＩＩＳ２７０１（ＭｉｃｒｏｓｏｆｔのInternet Information Service）は、ＨＴＭＬ（Hypertext Markup Language）ベースのウェブページに対するＨＴＴＰ（Hypertext Protocol）リクエストを処理する。ＩＩＳ２７０１は、ＡＳＰＸ実行エンジン２７０２とともにサーバ上に存在し、ウェブページに対するクライアントリクエストを受け入れ、要求されたページを生成して返す。このプロセスにおいて、ＡＳＰＸ２７０２は、サーバサイドページと、オブジェクトおよびイベントを実装するために必要なそれらの「コードビハインド」とを生成する。具体的には、クライアントは、標準的なｕｒｌ指定（例えば、http://demo.base.aspx）を用いて特定の「.aspx」ページを要求する。ＩＩＳ２７０１は、ページリクエストをＡＳＰＸエンジン２７０２に転送する。エンジン２７０２は、要求された「.aspx」ページを探索して読み出し、それをコンパイルし（初めてロードされた場合）、サーバサイド「.aspx」ページ２７０３を作成する。そして、エンジン２７０２は、コンパイル済クラスがあればそれをロードし、コードビハインドオブジェクト、例えば、「.aspx」ページで参照されているイベント処理を実装するコードビハインドオブジェクト２７０４（例えば、「....aspx.vb」または「.aspx.c」等）を作成する。作成されたコードビハインドオブジェクトは、インスタンス化されると、ウェブページコントロール（ユーザインタフェース）を生成し、それらに自分自身をＨＴＭＬへとレンダリングさせる。そして、レンダリングされたＨＴＭＬは、ウェブページとしてＩＩＳに返され、さらにクライアントに返されて、当初のリクエストに応える。この基本的メカニズムは、ＳＢＳＭＳの現在の実装の基礎にあるが、その実装または機能にとって必ずしも必要なわけではない。当業者には認識されるように、クライアント−サーバ間通信およびウェブベース通信の他のモデルも存在し、インターネットとは異なるネットワークにおいて使用可能である。
【００８３】
図２８Ａ〜図２８Ｃは、シナリオを実施するための、スキルベースシミュレーション・測定システムの一例のクライアント部分とサーバ部分の間のウェブページおよびコードのフローの例示的フローを示している。ステップ２８０１で、ＳＢＳＭＳのクライアント部分で、生徒が「Begin」（開始）ボタンを選択することにより、図３Ａにあるようなシナリオを開始する。このアクションは、ＳＢＳＭＳのサーバ部分にポスト（投稿）される。サーバ部分は、そのアクションをあるページ（例えば「NextQuestion.aspx」）に送る。そのページは、ステップ２８０２で、シミュレーション問題のためのベースエンジンの位置、または非シミュレーション問題のための非シミュレーションエンジンの位置を判定する。この情報は、図２６に示したように、データリポジトリ内のテーブル（例えば問題情報レコード２６０７）から判定することができる。シミュレーション問題の場合、ベースエンジンは「qbase.aspx」とされ、非シミュレーション問題の場合、エンジンは問題タイプ固有であり、例えば「multiplechoice.aspx」である。判定後、ステップ２８０３で、エンジン（「.aspx」ページ）はクライアント部分に転送される。ステップ２８０４で、クライアントは、シミュレーションベース（シミュレーション問題の場合）が返されたかどうかを判定し、返された場合、フローはステップ２８０７に進み、さもなければ、ステップ２８０５で非シミュレーションエンジンページを実行する。
【００８４】
非シミュレーションエンジンの場合、生徒が（１つまたは複数の）問題を終了すると、ステップ２８０６で、そのページがサーバ部分へサブミット（提出）される。これにより、サーバ部分は、ステップ２８０２に戻り、次の問題のためのエンジンを判定する。このステップが提供されている理由は、シナリオが、シナリオ内の非シミュレーション問題の異なるサブセットに対して１つまたは複数のエンジンをロードする可能性があり、また、非シミュレーション問題からシミュレーション問題に切り替わる可能性があるからである。すべてのこのような組合せが考えられる。
【００８５】
シミュレーションベースエンジンの場合、ステップ２８０７で、エンジンはサーバ部分の「GetNextQuestion」というウェブサービス（その他の方法で実装することも可能である）を呼び出す。ステップ２８０８で、ウェブサービスGetNextQuestionは、次の問題に関するプロパティを判定し、それをクライアント部分に返す。これらのプロパティの値は、正しいコンポーネントがダウンロードされたかどうか、およびどのコンポーネントをロードすべきかを判定するために用いられる。具体的には、ステップ２８０９で、クライアント部分は、アプリケーションベースシミュレーションが既にダウンロードされているかどうかを判定し、ダウンロードされている場合、ステップ２８１２に進み、さもなければステップ２８１０に進む。ステップ２８１０で、クライアント部分は、アプリケーションベースシミュレーションに対応するページ（GetNextQuestionからプロパティ値として返される名前から定められる）を要求する。ステップ２８１１で、サーバ部分は、要求されたアプリケーションベースシミュレーションページをロードして配置し、クライアント部分に返されるようにそれを適当にレンダリングする。すると、クライアント部分は、それをステップ２８１０の一部としてロードする。ステップ２８１２で、クライアント部分は、次の問題シミュレーションに対応するページ（GetNextQuestionからプロパティ値として返される名前から定められる）を要求する。ステップ２８１３で、サーバ部分は、要求された問題シミュレーションページをロードして配置し、クライアント部分に返されるようにそれを適当にレンダリング（画面表現）する。すると、クライアント部分は、それをステップ２８１２の一部としてロードする。この時点で、クライアント側シミュレーションエンジンがロードされ実行されている。一実施形態では、問題シミュレーションページのダウンロードは、ページのうち問題内で変化した特定のエリアがリロード（再ロード）されることを要求するだけであるので、ダウンロードプロセスが高速化する。（これを実現するための１つの方法は、アプリケーションベースシミュレーションに対応するページのＨＴＭＬをクライアント上に記憶し、問題シミュレーションのＨＴＭＬを受信し、それをアプリケーションベースシミュレーションのＨＴＭＬに「追加」して、組み合わされたＨＴＭＬをレンダリングすることである。）ステップ２８１４で、生徒は、問題に対する応答のためのアクションを実行し、それらのアクションが記録され、最終的に生徒は応答の完了を示すために「Done」（終了）ボタンを押す。図１０に関して説明したように、ステップ２８１５で、クライアント部分は、問題に対する応答を得点付けし、得点付け情報および記録された問題をサーバ部分のウェブサービス「ProcessQuestion」に転送する。（図１０のステップ１００８を参照されたい。）ステップ２８１６で、ProcessQuestionウェブサービスは、情報を適宜データリポジトリに記録し、シナリオ内の次の問題のタイプをクライアント部分に返す。この情報は、データリポジトリテーブルから入手可能である。ステップ２８１７で、クライアント部分は、次の問題がシミュレーション問題であるかどうかを判定し、シミュレーション問題である場合��ステップ２８１９に進み、さもなければステップ２８１８に進む。ステップ２８１９で、クライアント部分は、ウェブサービスGetNextQuestionを再び呼び出す。ステップ２８２０で、サーバ部分は、次の問題に関する情報を判定し（ステップ２８０８を参照）、その情報をクライアント部分に返す。ステップ２８２１で、クライアント部分は、それが最後の問題であるかどうかを判定し、他に問題がある場合、ステップ２８０９で（シミュレーション問題の場合）問題処理ループの最初に戻り、さもなければステップ２８２２で、シナリオの結果を報告するためのページに移動する。ステップ２８１７で、クライアント部分が、次の問題が非シミュレーション問題であると判定した場合、クライアント部分はステップ２８０２に戻り、次の問題のためのエンジンを判定する。こうして、各時点で、問題は、シミュレーション問題であることも非シミュレーション問題であることも可能となり、正しいウェブページをロードすることによって適切に処理される。
【００８６】
以上から理解されるように、本発明の具体的実施形態は例示の目的で本明細書に記載されているが、本発明の精神および範囲から逸脱することなく、種々の変更を行うことが可能である。例えば、当業者には認識されるように、本明細書で説明したスキルベース測定シナリオを実行する方法およびシステムは、クライアント−サーバ型アーキテクチャ以外の他のアーキテクチャにも適用可能である。例えば、本明細書に記載されるような技法は、複写機のようなハードウェア装置に組み込んでテキストベースのオンラインマニュアルに取って代わることが可能であり、あるいは、ハードウェア装置を用いた活動のトレーニングのための別個のシステム内に設置されることも可能である。また、当業者には認識されるように、本明細書で説明した方法およびシステムは、さまざまなネットワークプロトコル、通信媒体（光、無線、ケーブル等）、および、ワイヤレス電話機、電子手帳、個人情報端末、携帯電子メールマシン、ゲーム機、ページャ（ポケットベル）、ＧＰＳ受信機等のナビゲーション装置、等の装置に適用可能である。
【図面の簡単な説明】
【００８７】
【図１】スキルベースシミュレーション・測定システムの一例によって提示されるテスト環境の表示画面例を示す図である。
【図２】日本語で提示された同じテスト環境の表示画面例を示す図である。
【図３Ａ】表計算アプリケーションのシミュレートされた諸相を用いてスキルをテストするためのテストシナリオの画面表示例を示す図である。
【図３Ｂ】表計算アプリケーションのシミュレートされた諸相を用いてスキルをテストするためのテストシナリオの画面表示例を示す図である。
【図３Ｃ】表計算アプリケーションのシミュレートされた諸相を用いてスキルをテストするためのテストシナリオの画面表示例を示す図である。
【図３Ｄ】表計算アプリケーションのシミュレートされた諸相を用いてスキルをテストするためのテストシナリオの画面表示例を示す図である。
【図３Ｅ】表計算アプリケーションのシミュレートされた諸相を用いてスキルをテストするためのテストシナリオの画面表示例を示す図である。
【図３Ｆ】表計算アプリケーションのシミュレートされた諸相を用いてスキルをテストするためのテストシナリオの画面表示例を示す図である。
【図３Ｇ】表計算アプリケーションのシミュレートされた諸相を用いてスキルをテストするためのテストシナリオの画面表示例を示す図である。
【図４】スキルベースシミュレーション・測定システムの一例のコンポーネントの例示的ブロック図である。
【図５】スキルベースシミュレーション・測定システムの一例のシミュレーションエンジンの例示的ブロック図である。を示す図
【図６】スキルベースシミュレーション・測定システムの一例を用いてスキルベース測定シナリオを作成、運営、および管理するプロセス全体の流れ図である。
【図７】クライアントシステム上でシミュレーションを実行するためにスキルベース測定環境の一例によって実行されるステップの例示的流れ図である。
【図８】クライアントシステムによって実行されるシミュレーションエンジンの一例の例示的流れ図である。
【図９】クライアントシステム上でのシミュレーションエンジン例の実行をサポートするためにサーバシステムによって実行されるステップの概観の例示的流れ図である。
【図１０】クライアントシステムの観点から見たスキルベースシミュレーション・測定システムのスキルベースの記録および得点付けのプロセスの例示的流れ図である。
【図１１】スキルベースシミュレーション・測定システムの記録・得点付けメカニズム例を用いて記録されたアクションを示す表示画面を示す図である。
【図１２】スキルベースシミュレーション・測定システムの記録・得点付けメカニズム例を用いて記録されたアクションを示す表示画面を示す図である。
【図１３】スキルベースシミュレーション・測定システムの記録・得点付けメカニズム例を用いて記録されたアクションを示す表示画面を示す図である。
【図１４】スキルベースシミュレーション・測定システムの一例の管理インタフェースのシナリオ割当てルーチンの例示的流れ図である。
【図１５】スキルベースシミュレーション・測定システムの一例の管理インタフェースの表示画面例を示す図である。
【図１６】スキルベースシミュレーション・測定システムの一例のオーサリングインタフェースのシナリオオーサリングルーチンの例示的流れ図である。
【図１７】スキルベースシミュレーション・測定システムの一例のオーサリングインタフェースの問題関連づけルーチンの例示的流れ図である。
【図１８】スキルベースシミュレーション・測定システムの一例のオーサリングインタフェースの表示画面例を示す図である。
【図１９】スキルベースシミュレーション・測定システムの一例のオーサリングインタフェースの表示画面例を示す図である。
【図２０】スキルベースシミュレーション・測定システムの一例のオーサリングインタフェースの表示画面例を示す図である。
【図２１】スキルベースシミュレーション・測定システムの一例のオーサリングインタフェースの表示画面例を示す図である。
【図２２】スキルベースシミュレーション・測定システムの一例のパブリッシングインタフェースのシナリオパブリッシュプロセスの例示的流れ図である。
【図２３】シナリオパブリッシュプロセスによって構築されるコンポーネント例を含むスキルベースシミュレーション・測定システムの一例のサーバ環境の例示的ブロック図である。
【図２４】スキルベースシミュレーション・測定システムのサーバ部分の実施形態を実施するための汎用コンピュータシステムの例示的ブロック図である。
【図２５】スキルベースシミュレーション・測定システムのクライアント部分の実施形態を実施するための汎用コンピュータシステムの例示的ブロック図である。
【図２６】スキルベースシミュレーション・測定システムの一例のシナリオ・生徒設定データリポジトリテーブル例内のレコードの例示的ブロック図である。
【図２７】ＭｉｃｒｏｓｏｆｔのＡＳＰ  ．ＮＥＴエンジンを用いてウェブページを生成および処理するための、クライアントシステムとサーバシステムの間の処理およびコードのフローの例示的ブロック図である。
【図２８Ａ】シナリオを実施するための、スキルベースシミュレーション・測定システムの一例のクライアント部分とサーバ部分の間のウェブページおよびコードのフローの例示的フローを示す図である。
【図２８Ｂ】シナリオを実施するための、スキルベースシミュレーション・測定システムの一例のクライアント部分とサーバ部分の間のウェブページおよびコードのフローの例示的フローを示す図である。
【図２８Ｃ】シナリオを実施するための、スキルベースシミュレーション・測定システムの一例のクライアント部分とサーバ部分の間のウェブページおよびコードのフローの例示的フローを示す図である。
【図１】
2005527859.tif 000002
【図２】
2005527859.tif 000003
【図３Ａ】
2005527859.tif 000004
【図３Ｂ】
2005527859.tif 000005
【図３Ｃ】
2005527859.tif 000006
【図３Ｄ】
2005527859.tif 000007
【図３Ｅ】
2005527859.tif 000008
【図３Ｆ】
2005527859.tif 000009
【図３Ｇ】
2005527859.tif 000010
【図４】
2005527859.tif 000011
【図５】
2005527859.tif 000012
【図６】
2005527859.tif 000013
【図７】
2005527859.tif 000014
【図８】
2005527859.tif 000015
【図９】
2005527859.tif 000016
【図１０】
2005527859.tif 000017
【図１１】
2005527859.tif 000018
【図１２】
2005527859.tif 000019
【図１３】
2005527859.tif 000020
【図１４】
2005527859.tif 000021
【図１５】
2005527859.tif 000022
【図１６】
2005527859.tif 000023
【図１７】
2005527859.tif 000024
【図１８】
2005527859.tif 000025
【図１９】
2005527859.tif 000026
【図２０】
2005527859.tif 000027
【図２１】
2005527859.tif 000028
【図２２】
2005527859.tif 000029
【図２３】
2005527859.tif 000030
【図２４】
2005527859.tif 000031
【図２５】
2005527859.tif 000032
【図２６】
2005527859.tif 000033
【図２７】
2005527859.tif 000034
【図２８Ａ】
2005527859.tif 000035
【図２８Ｂ】
2005527859.tif 000036
【図２８Ｃ】
2005527859.tif 000037