(57)【要約】【課題】既存のコンテンツファイルをアクティブコンテンツウィザード（ＡＷＣ）実行可能ファイルに変換するコンピュータで実施される方法を、それを実施するためのシステムおよびツールと共に提供すること。【解決手段】本方法では、既存のコンテンツファイルが、ＡＣＷスキーマ中の対応するファイルに変換される。既存のコンテンツファイルに相当するアプリケーションプログラムの１つまたは複数のウィンドウ中で見つけられたユーザインターフェースエレメントに対応する、ユーザインターフェースエレメントのデータベースが、ＡＣＷスキーマ中の対応するファイルで参照されるユーザインターフェースエレメントに関する情報を取得するためにアクセスされる。次いで、ＡＣＷファイルが、ＡＣＷスキーマ中の対応するファイルから、またユーザインターフェースエレメントに関する取得された情報から作成される。【選択図】図６
2006228210.tif 000002
【特許請求の範囲】
【請求項１】
既存のコンテンツファイルを、アクティブコンテンツウィザード実行可能ファイルに変換するコンピュータで実施される方法であって、
既存のコンテンツファイルを、アクティブコンテンツウィザードスキーマ中の対応するファイルに変換するステップと、
前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルで参照されるユーザインターフェースエレメントに関する情報を取得するために、前記既存のコンテンツファイルに相当するアプリケーションプログラムの１つまたは複数のウィンドウ中で見つけられたユーザインターフェースエレメントに対応する、ユーザインターフェースエレメントのデータベースにアクセスするステップと、
前記アクティブコンテンツウィザードスキーマ中の前記対応するファイル、およびユーザインターフェースエレメントに関する前記取得された情報からアクティブコンテンツウィザードファイルを作成するステップと
を含むことを特徴とするコンピュータで実施される方法。
【請求項２】
前記既存のコンテンツファイルに相当する前記アプリケーションプログラムの前記１つまたは複数のウィンドウから、前記ユーザインターフェースエレメント、およびそれに対応するプロパティを記録することによってユーザインターフェースエレメントの前記データベースを作成するステップをさらに含むことを特徴とする請求項１に記載のコンピュータで実施される方法。
【請求項３】
前記既存のコンテンツファイルは第１のＸＭＬフォーマットであり、また前記アクティブコンテンツウィザードスキーマは第２のＸＭＬフォーマットであり、前記既存のコンテンツファイルを、前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルに変換する前記ステップはさらに、スタイルシートを使用して、前記既存のコンテンツファイルを前記第１のＸＭＬフォーマットから前記第２のＸＭＬフォーマットに変換するステップを含むことを特徴とする請求項１に記載のコンピュータで実施される方法。
【請求項４】
前記既存のコンテンツファイルはＨＴＭＬフォーマットであり、前記アクティブコンテンツウィザードスキーマはＸＭＬフォーマットであり、前記既存のコンテンツファイルを、前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルに変換する前記ステップはさらに、ヒューリスティック基準を使用して、前記既存のコンテンツファイルを、前記ＨＴＭＬフォーマットから前記ＸＭＬフォーマットにマップするステップを含むことを特徴とする請求項１に記載のコンピュータで実施される方法。
【請求項５】
前記既存のコンテンツファイルを、前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルに変換する前記ステップは、前記ＨＴＭＬフォーマットから前記ＸＭＬフォーマットに前記既存のコンテンツファイルのマルチステップ変換を実施するステップをさらに含むことを特徴とする請求項４に記載のコンピュータで実施される方法。
【請求項６】
前記ＨＴＭＬフォーマットから前記ＸＭＬフォーマットに前記既存のコンテンツファイルの前記マルチステップ変換を実施する前記ステップは、
前記ＨＴＭＬフォーマットの前記既存のコンテンツファイルを、ＸＨＴＭＬフォーマットの対応するファイルに変換するステップと、
前記ＸＨＴＭＬフォーマットの前記対応するファイルを、前記ＸＭＬフォーマットの前記対応するファイルに変換するステップと
を含むことを特徴とする請求項５に記載のコンピュータで実施される方法。
【請求項７】
請求項１の方法の前記諸ステップを実施するためのコンピュータ実行可能命令がその上に記憶されていることを特徴とするコンピュータ可読媒体。
【請求項８】
既存のコンテンツファイルを、アクティブコンテンツウィザード実行可能ファイルに変換するためのシステムであって、
既存のコンテンツファイルを、アクティブコンテンツウィザードスキーマ中の対応するファイルに変換するように構成された変換コンポーネントと、
前記既存のコンテンツファイルに相当するアプリケーションプログラムの１つまたは複数のウィンドウから記録されたユーザインターフェースエレメントに対応する、ユーザインターフェースエレメントのデータベースと、
前記アクティブコンテンツウィザードスキーマ中の前記対応するファイル、および前記データベース中の前記ユーザインターフェースエレメントからアクティブコンテンツウィザードファイルを作成するように構成されたアクティブコンテンツスクリプトジェネレータと
を含むことを特徴とするシステム。
【請求項９】
前記既存のコンテンツファイルに相当する前記アプリケーションプログラムの前記１つまたは複数のウィンドウから前記ユーザインターフェースエレメントおよびそれに対応するプロパティを記録するように構成され、かつ前記ユーザインターフェースエレメントおよび前記それに対応するプロパティをデータベースに記憶するように構成されたウィンドウレコーダコンポーネントをさらに含むことを特徴とする請求項８に記載のシステム。
【請求項１０】
前記変換コンポーネントは、複数のヒューリスティック基準に応じて、前記既存のコンテンツファイルを前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルに変換するように構成されていることを特徴とする請求項８に記載のシステム。
【請求項１１】
前記変換コンポーネントは、前記複数のヒューリスティック基準を用いて前記既存のコンテンツファイルを検索することによって、前記既存のコンテンツファイルを前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルに変換するように構成されていることを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記既存のコンテンツファイルはＨＴＭＬフォーマットであり、また前記アクティブコンテンツウィザードスキーマはＸＭＬフォーマットであり、さらに前記変換コンポーネントは、前記既存のコンテンツファイルを前記ＨＴＭＬフォーマットから前記ＸＭＬフォーマットにマップするために、前記ヒューリスティック基準を使用して前記既存のコンテンツファイルを前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルに変換するように構成されていることを特徴とする請求項１０に記載のシステム。
【請求項１３】
前記変換コンポーネントはさらに、前記ＨＴＭＬフォーマットから前記ＸＭＬフォーマットに前記既存のコンテンツファイルのマルチステップ変換を実施することにより、前記既存のコンテンツファイルを、前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルに変換するように構成されていることを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記変換コンポーネントは、まず前記ＨＴＭＬフォーマットの前記既存のコンテンツファイルを、ＸＨＴＭＬフォーマットの対応するファイルに変換することにより、また、次いで、前記ＸＨＴＭＬフォーマットの前記対応するファイルを、前記ＸＭＬフォーマットの前記対応するファイルに変換するにより、前記ＨＴＭＬフォーマットから前記ＸＭＬフォーマットに前記既存のコンテンツファイルの前記マルチステップ変換を実施するように構成されていることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記既存のコンテンツファイルは第１のＸＭＬフォーマットであり、また前記アクティブコンテンツウィザードスキーマは第２のＸＭＬフォーマットであり、前記変換コンポーネントは、前記既存のコンテンツファイルを、前記第１のＸＭＬフォーマットから前記第２のＸＭＬフォーマットに変換するために、スタイルシートを使用して前記既存のコンテンツファイルを前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルに変換するように構成されていることを特徴とする請求項８に記載のシステム。
【請求項１６】
前記変換コンポーネントは、マルチステップ変換を実施することによって、前記既存のコンテンツファイルを、前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルに変換するように構成されていることを特徴とする請求項８に記載のシステム。
【請求項１７】
既存のコンテンツファイルを、アクティブコンテンツウィザード実行可能ファイルに変換するコンピュータで実施される方法であって、
既存のコンテンツファイルを、アクティブコンテンツウィザードスキーマ中の対応するファイルに変換するステップと、
前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルで参照されるユーザインターフェースエレメントに関する情報をデータベースから取得するステップと、
前記アクティブコンテンツウィザードスキーマ中の前記対応するファイル、およびユーザインターフェースエレメントに関する前記取得された情報からアクティブコンテンツウィザードファイルを作成するステップと
を含むことを特徴とするコンピュータで実施される方法。
【請求項１８】
前記アクティブコンテンツウィザードスキーマ中の前記対応するファイルで参照されるユーザインターフェースエレメントに関する情報をデータベースから取得する前記ステップはさらに、前記既存のコンテンツファイルに相当するアプリケーションプログラムの１つまたは複数のウィンドウ中で見つけられたユーザインターフェースエレメントのデータベースから、前記情報を取得するステップを含むことを特徴とする請求項１７に記載のコンピュータで実施される方法。
【請求項１９】
前記既存のコンテンツファイルに相当する前記アプリケーションプログラムの前記１つまたは複数のウィンドウから、前記ユーザインターフェースエレメントおよびそれに対応するプロパティを記録するステップによって、ユーザインターフェースエレメントの前記データベースを作成するステップをさらに含むことを特徴とする請求項１８に記載のコンピュータで実施される方法。
【請求項２０】
前記既存のコンテンツファイルに相当する前記アプリケーションプログラムの前記１つまたは複数のウィンドウから、前記ユーザインターフェースエレメントおよびそれに対応するプロパティを記録するステップはさらに、
前記アプリケーションプログラム中のウィンドウを識別するステップと、
ウィンドウレコーダを使用して、前記識別されたウィンドウ中に示された複数のユーザインターフェースエレメントを、前記複数のユーザインターフェースエレメントに対する対応するプロパティと共に自動的に記録するステップと
を含むことを特徴とする請求項１９に記載のコンピュータで実施される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヘルプコンテンツなどのコンテンツを生成することに関する。より詳細には、本発明は、ヘルプファイルなどの既存のコンテンツを用いて、アクティブコンテンツウィザード（ＡＣＷ）実行可能ファイルを生成する方法に関する。
【背景技術】
【０００２】
グラフィカルユーザインターフェース（ＧＵＩ）は、広く使用されるインターフェース機構である。ＧＵＩは、位置決めを行うタスク（例えば、長方形のサイズを変更することなど）、視覚的に修飾するタスク（例えば、言葉では表現できない青い影のものを作ることなど）、または選択タスク（例えば、これが回転させたい１００画像のうちの１つであるなど）に非常に適している。ＧＵＩはまた、速い単一ステップの機能に速やかにアクセスするのにも適している。アプリケーションのＧＵＩは、（例えば、「自分のコンピュータをハッカーに対して安全にする」など、ユーザが実施を望むより高級なタスクによって編成された）タスク指向の観点からではなく、機能的な観点から編成された（例えば、メニュー、ツールバーなどに編成された）有益なツールボックスである。
【０００３】
しかし、ＧＵＩはユーザに多くの問題も提示する。ツールボックスの例を使用すると、ユーザは、ボックス中のツールを見つけることが難しく、あるいは複数ステップから構成されたタスクを完了するためのツールの使用法を理解することが困難である。中味の分からない階層に向かうことを強いられる単語、小さなボタン、およびタブによって記述されたインターフェースは、人々が自分のタスクについて考えている方法に適合していない。ＧＵＩは、タスクを達成するのにどのエレメントが必要か判定するために、ユーザにそのタスクを分解することを要求する。このような要求は、複雑さをもたらすことになる。複雑になることは別として、ＧＵＩエレメント（すなわち、メニューのクリック、ダイアログのクリックなど）を組み立てるには時間がかかる。それには、専門のユーザであっても、非効率であり、時間がかかる可能性がある。
【０００４】
ＧＵＩ問題に対処するための現在ある１つの機構は、記述されたヘルププロシージャ（ｐｒｏｃｅｄｕｒｅ）である。ヘルププロシージャは、ヘルプ文書、プロダクトサポートサービス（ＰＳＳ）の知識ベース（ＫＢ）の記事（ａｒｔｉｃｌｅｓ）、およびニュースグループのポストの形を取ることが多く、それにより、顧客の要求とＧＵＩ問題の間のギャップが満たされる。それらは、ツールボックスに付属するマニュアルと類似しており、多くの利点を有する。それらの利点は、例として、以下のものを含む。  
１）技術的には、非技術的な作成者であっても比較的作成しやすい、  
２）サーバ上で容易に更新されるので、接続しているユーザは新しいコンテンツに容易にアクセスできる。  
３）それはＧＵＩを教えるが、それにより、問題解決に関してユーザを管理することができる。
【０００５】
しかし、ヘルプ文書、プロダクトサポートサービスの知識ベース記事、およびニュースグループは、それ自体一連の問題を有している。それらの問題は、例として、以下のものを含む。  
１）複雑なタスクは、ユーザ側で大量の処理が必要となる。ユーザは、各ステップで言われていることをＧＵＩにマップする必要がある。そうすると、エラーを生ずる可能性があり、ステップが飛んだり不正確もしくは不適切に記述されたり、あるいは順序が狂うことになる。  
２）トラブルシュータは、手順型ヘルプ文書であっても、ヘルプトピック内に複雑な分岐を作成する状態情報を含むことがしばしばあり、トピックが長くなり、エンドユーザが読み取りかつ処理するのを困難にしている。ツールバーが失われており、次のステップを行う前にそれを表示しなくてはならない場合もある。トラブルシュータは、状態についてしばしば質問するが（トラブルシュータは、答えそのものを見つける必要があるため）、それは、よくても、失望させるものであり、最悪の場合、専門家ではない人に答えられない。  
３）数百万の文書があり、解答を求める検索は、どこから検索を開始するかという問題と、次に、いかにして数千の返答から最適の検索結果を拾い上げるかという問題を共に含むことになる。  
４）共用のオーサリング構造がないこと。ニュースグループのポスト、知識ベース記事、トラブルシュータ、および手順型ヘルプ文書はすべて、異なる構造およびオーサリング戦略を有しているが、それらはすべて、類似の問題の解決に当たっている。  
５）ユーザにとって、テキストを１ステップずつ読み、次いで、記述されているエレメントに対するＵＩを視覚的に検索し、そのエレメントに関して記述されているアクションを実施することは非常に困難である。
【０００６】
ＧＵＩ問題に対処するために、現在存在する他の機構はウィザードである。ウィザードは、ＧＵＩおよび記述されたヘルププロシージャの弱点に対処するために作成された。現在、数千ものウィザードがあり、それらのウィザードは、作成されるほとんどすべてのソフトウェア製品中で見出すことができる。それは、既存のテキストベースのヘルプおよび支援によって現在対処されない実際の要求を解決するからである。それを用いると、ユーザはタスク指向の方法で機能にアクセスし、自動的にＧＵＩまたはツールを組み立てることが可能となる。ウィザードは、プログラムマネジャおよび開発者に、顧客タスクに対処する手段を与える。それは、ボックスの中に専門家がいるようなものであり、タスクの成功に向けてユーザが必要な諸ステップを進むようにする。いくつかのウィザードは、顧客がシステムをセットアップできるようにし（例えば、セットアップウィザード）、いくつかのウィザードは、機能を有するコンテンツを含んでおり、顧客がコンテンツを作成するのを支援し（例えば、ニュースレターウィザード、またはＰｏｗｅｒＰｏｉｎｔのＡｕｔｏＣｏｎｔｅｎｔウィザード）、またいくつかのウィザードは、顧客が問題を診断し解決できるようにする（例えば、トラブルシュータ）。
【０００７】
ウィザードは、ユーザに多くの利点を提供する。ウィザードの利点のいくつかは以下の通りである。  
１）ウィザードは「タスク」の概念を実施することができる。ウィザードがユーザの達成を支援している対象は、通常、ユーザには明確である。１ステップずつのページにより、ユーザは選択するのが容易になり、よく設計されたウィザードの場合、ユーザが視覚的に圧倒されることはかなり減少するはずである。  
２）ウィザードは、ソフトウェアのその基礎となる機能を自動的に組み立て、それと対話することができ、また顧客が選択するために必要な情報または専門知識を含むことができる。こうすると、タスクを実行するユーザ時間が節約される。  
３）ウィザードは、自動的にコンテンツを生成することが可能であり、テキストを作成しレイアウトを計画することによってユーザ時間を節約することができる。  
４）ウィザードはまた、質問を行い、その応答を得て最も関連する次の質問または機能に分岐するための適切な手段である。
【０００８】
しかし、ウィザードも、それ自体一連の問題を有している。その問題のいくつかには、そのタスクを達成するためのウィザードよりも、人々が達成しようとするタスクの方が数多くあるということが含まれる。ウィザードおよびＩＵＩ（Ｉｎｄｕｃｔｉｖｅ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅｓ）は、顧客にその基礎となるＧＵＩの使用方法を教えることはなく、またウィザードが完了したとき、ユーザは次にどこに進むのか不明確となることがしばしばある。ウィザードを作成するコストはまだ高く、ウィザードを作成するには技術的な専門知識を有する人員（例えば、ソフトウェア開発者）が必要である。
【０００９】
さらに、この種のコンテンツのすべてに他の問題が発生する。所与の任意のタスクを実施するために行う必要のある諸ステップは、タスクが実施されるコンピュータのコンフィギュレーションに基づいて変わる可能性がある。例えば、コンピュータ上の背景表示（または「壁紙」）を変更することは、ユーザのコンピュータのオペレーティングシステムに応じて、異なるステップを実施するようにユーザに要求する可能性がある。実際、オペレーティングシステムのバージョン番号が異なる場合、必要な諸ステップがさらに異なる可能性もある。同様に、その諸ステップは、コンピュータのネットワークコンフィギュレーションに応じて（例えば、コンピュータがネットワークドメイン上にあるのか、それとも、作業グループ上にあるのかに応じて）異なり得る。そのために、ユーザは、記述されたコンテンツ中にかなり複雑な分岐ロジックを作成することが必要となる。
【００１０】
したがって、ユーザによって行われる手順を記述したこの種のコンテンツのすべてを作成することは、しばしば、エラーを生じやすい。ステップを飛ばしたり、ステップを不正確に記述したり、あるいは、ＵＩ操作の長いシーケンス中で、どのステップが現在記述されているのか分からなくなったりすることが非常に起きやすい。しかし、この記述された手順型のヘルプコンテンツは、きわめて普通のものである。このようなヘルプコンテンツはしばしば製品と共に出荷され、またオンラインのヘルプコンテンツは製品サポートチームに提供され、さらに、会社内部の手順は、特有のビジネスプロセス用にこの方法でしばしば文書化される。従って、この種の情報は作成するのが難しくエラーを含むことが多い。
【００１１】
さらに、エンドユーザは、通常、作成されている諸ステップに従わなければならない。１ステップずつテキストを読み、次いで、記述されている特定のコントロールエレメントを求めてＵＩを検索し、そのコントロールエレメントに関する適正なアクションを行うことは、困難である可能性がある。多くのユーザは、それが重荷であると気付くと、テキストの最初の１ステップか２ステップをさっと見て、記述されているテキストのステップに戻って参照することはほとんどなく、次にどのＵＩエレメントを作動させる必要があるかを判定するのにベストを尽くそうとすることが分かっている。眼は、文字を読み、その文字を知的に画像に変換し、次いで、それに対応するＵＩコントロールエレメントを見つけることよりも、画像を見つけて認識する方がずっと容易にできることもまた分かってきている。なお、それはまさに過去で行われていたことであり、作成者が、実施されるアクションの任意のタイプの視覚的な描画を得るために、苦労して各ステップの画面撮影を行い、その画像を切り取り、それを文書中にペーストし正しい場所に配置する必要があった。
【００１２】
アクティブコンテンツウィザード（ＡＣＷ）は、特有の諸ステップおよびその説明を作成者が比較的容易に生成できるようにすることによってこれらの問題に対処する。記録コンポーネントが作成者のアクションを記録する間、作成者は、単にユーザインターフェースと対話するだけである。こうすると、膨大な状態の配列に対してＡＣＷを容易に作成することができる。ＡＣＷは、一般に、ユーザインターフェースと対話するために何らかの形式のコードを含み、基本的に、ユーザのためのヘルプトピックを直接ユーザインターフェースに再生する。したがって、ＡＣＷがユーザインターフェースと対話しているとき、ＡＣＷはまた、その対話に関する説明をユーザに提供することになる。ＡＣＷにより、再生中にユーザはユーザインターフェースと対話してファイル名など特有の情報を入力できるようになる。
【００１３】
【特許文献１】米国特許出願公開第２００４／０１３０５７２号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上記のように、ＧＵＩアプリケーションは、今日、そのＧＵＩを用いてタスクを実施する方法をユーザに知らせるいくつかの手順型ヘルプトピックと共に出荷されることが多い。ユーザがヘルプを必要とする可能性のある膨大なタスクの配列を考えると、手順型ヘルプファイルもしくは文書、プロダクトサポートサービスの知識ベース記事など、ソフトウェアプログラムのユーザを支援するために書かれたものが多数ある。それらの多くは、ＡＣＷの非常によい候補となるはずである。しかし、それらのトピックをＡＣＷとして書き直すことは経済的ではなく、Ｗｉｎｄｏｗｓ（登録商標）またはＯｆｆｉｃｅのものなど、数千もある場合は特にそうである。
【００１５】
本発明は、１つまたは複数の上記問題に対する解決策を提供し、および／または従来技術に対して他の利点を提供する。
【課題を解決するための手段】
【００１６】
既存のコンテンツファイルをアクティブコンテンツウィザード実行可能ファイルに変換するコンピュータで実施される方法が、それを実施するためのシステムおよびツールと共に提供される。本方法では、既存のコンテンツファイルがアクティブコンテンツウィザードスキーマ中に存在するコンテンツファイルに変換される。既存のコンテンツファイルに相当するアプリケーションプログラムの１つまたは複数のウィンドウ中で見出されるユーザインターフェースエレメントに対応するユーザインターフェースエレメントのデータベースが、アクティブコンテンツウィザードスキーマ中に存在するコンテンツファイルで参照されるユーザインターフェースエレメントに関する情報を取得するためにアクセスされる。次いで、アクティブコンテンツウィザードファイルは、アクティブコンテンツウィザードスキーマ中に存在するコンテンツファイルと、ユーザインターフェースエレメントに関する取得された情報から作成される。
【００１７】
本発明の諸実施形態を特徴付ける他の機能および利点は、以下の詳細な説明を読み、その関連する図面を検討すれば明らかとなろう。
【発明を実施するための最良の形態】
【００１８】
本発明は、既存の手順型ヘルプトピック、知識ベース記事、および類似のコンテンツ文書をアクティブコンテンツウィザード（ＡＣＷ）スクリプトに変換する方法、およびそのための１組のツールを含む。本発明をより詳細に述べる前に、本発明を使用できる例示的な一環境を論ずることとする。
【００１９】
Ｉ．例示的な環境  
図１は、本発明を実施できる適切なコンピューティングシステム環境１００の一実施例を示す。コンピューティングシステム環境１００は、適切なコンピューティング環境の一実施例に過ぎず、本発明の使用もしくは機能の範囲に関して何らかの限定を示唆するものではない。コンピューティング環境１００は、例示の動作環境１００に示されたコンポーネントの任意の１つまたは組合わせに関して依存関係または要件を有するものと解釈すべきではない。
【００２０】
本発明は、数多くの他の汎用または特殊目的のコンピューティングシステム環境もしくはコンフィギュレーションで動作可能である。本発明と共に使用するのが適切であり得る周知のコンピューティングシステム、環境、および／またはコンフィギュレーションの実施例は、それだけに限らないが、パーソナルコンピュータ、サーバコンピュータ、ハンドへルドもしくはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムもしくは装置のうちの任意のものを含む分散型コンピューティング環境などを含む。
【００２１】
本発明は、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで記述することができる。一般に、プログラムモジュールは、特定のタスクまたは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明はまた、タスクが、通信ネットワークを介してリンクされた遠隔処理装置によって実施される分散型コンピューティング環境中で実施することもできる。分散型コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルと遠隔の両方のコンピュータ記憶媒体中に位置することができる。
【００２２】
図１を参照すると、本発明を実施するための例示的なシステムは、コンピュータ１１０の形の汎用コンピューティング装置を含む。コンピュータ１１０のコンポーネントは、それだけに限らないが、処理装置１２０と、システムメモリ１３０と、システムメモリを含む様々なシステムコンポーネントを処理装置１２０に結合するシステムバス１２１とを含むことができる。システムバス１２１は、メモリバスもしくはメモリ制御装置、周辺バス、および任意の様々なバスアーキテクチャを用いるローカルバスを含む任意のいくつかのタイプのバス構造とすることができる。例のためであり、限定するものではないが、このようなアーキテクチャは、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、Ｍｅｚｚａｎｉｎｅバスとしても知られているＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ：周辺コンポーネント相互接続）バスを含む。
【００２３】
コンピュータ１１０は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０によってアクセス可能な任意の利用可能な媒体とすることができ、また揮発性／不揮発性媒体、取外し可能／取外し不能媒体を共に含む。例のためであり、限定するものではないが、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなどの情報を記憶するための任意の方法または技術で実施される揮発性／不揮発性媒体、取外し可能／取外し不能媒体を共に含む。コンピュータ記憶媒体は、それだけに限らないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、あるいは所望の情報を記憶するのに使用することができ、コンピュータ１１０によってアクセスできる任意の他の媒体を含む。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの変調されたデータ信号中で実施するものであり、また任意の情報送達媒体を含む。用語「変調されたデータ信号」とは、情報を信号中に符号化するように設定または変更された１つまたは複数の特性を有する信号を意味する。例示のためであり、限定するものではないが、通信媒体は、有線ネットワークや直接有線接続などの有線媒体、および音響、高周波、赤外線、他の無線媒体などの無線媒体を含む。上記の物の任意の組合わせもまた、コンピュータ可読媒体の範囲に含まれるべきである。
【００２４】
システムメモリ１３０は、ＲＯＭ（読取り専用メモリ）１３１やＲＡＭ（ランダムアクセスメモリ）１３２などの揮発性および／または不揮発性メモリの形のコンピュータ記憶媒体を含む。起動中などに、コンピュータ１１０内のエレメント間で情報を転送できるようにする基本ルーチンを含むＢＩＯＳ（基本入出力システム）１３３が、通常、ＲＯＭ１３１に記憶されている。ＲＡＭ１３２は、通常、処理装置１２０が直接アクセス可能であり、かつ／または現在処理しているデータおよび／またはプログラムモジュールを含む。例のためであり、限定するものではないが、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００２５】
コンピュータ１１０はまた、他の取外し可能／取外し不能、揮発性／不揮発性コンピュータ記憶媒体を含むことができる。例示のためだけであるが、図１は、取外し不能、不揮発性磁気媒体から読み取りまたは書き込むハードディスクドライブ１４１と、取外し可能、不揮発性磁気ディスク１５２から読み取りまたは書き込む磁気ディスクドライブ１５１と、ＣＤ−ＲＯＭ、または他の光媒体などの取外し可能、不揮発性光ディスク１５６から読み取りまたは書き込む光ディスクドライブ１５５とを示す。例示的な動作環境で使用することができる他の取外し可能／取外し不能、揮発性／不揮発性コンピュータ記憶媒体は、それだけに限らないが、磁気テープカセット、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどを含む。ハードディスクドライブ１４１は、通常、インターフェース１４０などの取外し不能メモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インターフェース１５０などの取外し可能メモリインターフェースにより、システムバス１２１に接続されている。
【００２６】
上記のまた図１に示すドライブおよびその関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ１１０のための他のデータのストレージを提供する。図１で、例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同一にも、異なるものにもできることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は、少なくとも、それは異なるコピーであることを示すために、ここでは異なる数字を与えている。
【００２７】
ユーザは、キーボード１６２、マイクロフォン１６３、および、マウス、トラックボール、もしくはタッチパッドなどのポインティング装置１６１などの入力装置を介してコンピュータ１１０にコマンドおよび情報を入力することができる。他の入力装置（図示せず）は、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含むことができる。これらのおよび他の入力装置は、システムバスに結合されているユーザ入力インターフェース１６０を介して処理装置１２０に接続されることが多いが、パラレルポート、ゲームポート、またはＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）など、他のインターフェースおよびバス構造によって接続することもできる。モニタ１９１または他のタイプの表示装置がまた、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続されている。モニタに加えて、コンピュータはまた、スピーカ１９７やプリンタ１９６など他の周辺出力装置を含むことができ、それは、出力周辺装置インターフェース１９５を介して接続することができる。
【００２８】
コンピュータ１１０は、遠隔コンピュータ１８０などの１つまたは複数の遠隔コンピュータへの論理接続を用いて、ネットワーク化環境中で動作することができる。遠隔コンピュータ１８０は、パーソナルコンピュータ、ハンドヘルド装置、サーバ、ルータ、ネットワークＰＣ、同位（ｐｅｅｒ）装置、または他の共通ネットワークノードとすることができ、通常、コンピュータ１１０に関して上記で述べたエレメントの多くまたはすべてを含む。図１で示す論理接続は、ＬＡＮ（ローカルエリアネットワーク）１７１、およびＷＡＮ（広域ネットワーク）１７３を含むが、他のネットワークを含むこともできる。このようなネットワーク化環境は、オフィスや企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて普通のものである。
【００２９】
ＬＡＮネットワーク化環境で使用されるとき、コンピュータ１１０は、ネットワークインターフェースもしくはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーク化環境で使用されるとき、コンピュータ１１０は、通常、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２または他の手段を含む。モデム１７２は、内部または外部のものとすることができるが、ユーザ入力インターフェース１６０、または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク化環境では、コンピュータ１１０、またはその部分に関して図示されたプログラムモジュールは、遠隔メモリ記憶装置に記憶することができる。例のためであり、限定するものではないが、図１は、遠隔コンピュータ１８０上に常駐する遠隔アプリケーションプログラム１８５を示す。図示されたネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用できることも理解されたい。
【００３０】
ＩＩ．汎用ＡＣＷオーサリングシステム  
ＡＣＷフォーマット、生成方法、および実行方法の一実施例は、２００４年７月８日に公開の「Ａｃｔｉｖｅ  Ｃｏｎｔｅｎｔ  Ｗｉｚａｒｄ：Ｅｘｅｃｕｔｉｏｎ  ｏｆ  Ｔａｓｋｓ  ａｎｄ  Ｓｔｒｕｃｔｕｒｅｄ  Ｃｏｎｔｅｎｔ（アクティブコンテンツウィザード：タスクの実行および構造化コンテンツ）」と題する特許文献１中で見ることができる。ＡＣＷおよびＡＣＷオーサリングをよりよく理解するために、図２〜４を参照して、ＡＣＷオーサリングシステムの説明を提供する。
【００３１】
図２は、例示の一実施形態によるＡＣＷオーサリングシステム２００のコンポーネントを示すブロック図である。図２はまた、レコーダ２０７および自動テキストジェネレータ２０３を有するシステム２００を示す。レコーダ２０７は、記録コンポーネント２１０、フックコンポーネント２１２、およびユーザインターフェース（ＵＩ）自動化コンポーネント２１４を含む。テキストジェネレータ２０３は、テキストデータベース（またはデータストア）２２０、およびテキスト生成コンポーネント２３０を含む。システム２００は、ユーザインターフェース２０５と対話する。作成者（ａｕｔｈｏｒ）２０１は、ユーザインターフェース２０５のコントロール上で実施されるアクションに対応するイメージを自動的に記録するようにシステム２００のコンポーネントを構成することができ、またテキストジェネレータ２０３は、これらのアクションを記述するテキスト２３５を自動的に生成する。作成者２０１はまた、自動的に生成されたテキスト２３５を編集することができ、あるいはエディタ２４０上で最初からテキストを生成してタスク（またはＵＩコントロールアクション）を記述する最終テキスト２４５を取得することができる。最終テキスト２４５はまた、例として、そこに組み込まれたイメージを含むことができる。図２のいくつかのコンポーネントを、次に、より詳細に説明する。
【００３２】
一実施形態では、ユーザインターフェース２０５は、ユーザがタスクを実施するためにアクションを行うことができるコントロールを有する従来のグラフィカルユーザインターフェースである。ユーザインターフェース２０５は、図１に示す表示装置１９１上で図式的に表示される。この種のグラフィカルユーザインターフェース（ＧＵＩ）は、広く使用されているインターフェース機構である。
【００３３】
一実施形態では、記録コンポーネント２１０は、作成者２０１または他のユーザが、ユーザインターフェース２０５上でタスクを実施できるようにし、またタスク中の各ステップのイメージをキャプチャすることによってタスクを記録するアプリケーションプログラムである。以下でより詳細に説明するように、作成者２０１がユーザインターフェース２０５上でタスクに関連する諸ステップを実施しているとき、記録コンポーネント２１０は、作成者がユーザインターフェース２０５上でどのコントロールおよびウィンドウと対話しているかに関する情報を記録する。その情報は、ヘルプ文書などの文書中にテキストを自動的に生成するために、テキストジェネレータ２３０に任意選択で提供される。また、ユーザによるテキストの手動生成も使用することができる。
【００３４】
記録コンポーネント２１０は、フック２１２およびユーザインターフェース（ＵＩ）自動化コンポーネント２１４を介してユーザインターフェース２０５と対話する。それらのコンポーネントは、記録コンポーネント２１０と別個のものであり得るが、あるいはいくつかの実施形態では、それらのコンポーネントを記録コンポーネント２１０に一体化することもできる。
【００３５】
一実施形態では、フックコンポーネント２１２は、コンピュータにより使用されるオペレーティングシステム内のモジュールまたはコンポーネントである。フックがマウスクリックに対して設定されると、例えば、マウスクリックを示す情報（メッセージなど）はそれを使用するフックコンポーネント２１２に転送され、記録コンポーネント２１０により情報を識別する関連のコントロールおよびイメージが記録された後、それは、コンピュータ中のマウスクリックを受け取るように登録された他のコンポーネントに向けて再生される。したがって、一般に、フックコンポーネント２１２は、オペレーティングシステムとターゲットアプリケーションの間でバッファとして働く。フックコンポーネント２１２は、実質的に、受信した信号タイプ、例えば、単一のクリック、ダブルクリック、右もしくは左クリック、キーボードアクション、タッチセンシティブ画面入力などの任意の入力アクションを探すように構成することができる。アクションを示す情報およびそのアクションを表す画面撮影イメージが記録コンポーネント２１０によって記録された後、次いで、マウスクリックを表す情報（または、記録されたアクションは何でも）がフックコンポーネント２１２によりアプリケーションに対して再生される。このようにする１つの理由は、第１のアクションが記録される前に、ユーザが第２のアクションを行う可能性があるためである。第２のアクションによりユーザインターフェースの状態が変わる可能性が十分あり、したがって、第１のアクションが不適切に記録されることになり得る。例えば、記録されるアクションが、メニュー項目のクリックである場合、そのクリックによりメニュー項目が消えることもある。したがって、イメージは、マウスクリックがアプリケーションに渡される前にキャプチャされる。記録が完了した後、第１のマウスメッセージを使用し、それを再生することによって、第１のアクションが適正に記録されていることを保証することができる。
【００３６】
フックコンポーネント２１２によって実施される機能（すなわち、マウスクリックを聞き取り、それを再生すること）は、例として、別々のスレッドで実施されることにも留意されたい。このようにすると、すべてのユーザインターフェースアクション（例えば、マウスクリック、キーボードアクションなど）が適切に記録され、何も失うことなく再生するようになる。さらに、フックコンポーネント２１２の記録および再生機構は、オペレーティングシステム内で暗黙となっているどんなタイムアウト機能も無効にすることができる。それは、オペレーティングシステムのタイムアウト期間が、アクションを適正に記録し、かつそのアクションを示すイメージをキャプチャするのに短すぎる場合必要となり得る。例えば、イメージをキャプチャするには、３００〜４００ｍｓ程度かかり、デスクトップ全体をキャプチャする場合は、最高１秒かかる可能性がある。したがって、タイムアウトを無効化すること、および複数のスレッド上で動作することは有効である。
【００３７】
ユーザインターフェース自動化コンポーネント２１４は、例として、ユーザインターフェース２０５を介して作成者またはユーザによって実施されるタスク全体に対するアトミックステップを解釈するように構成されたコンピュータプログラムである。一実施形態では、ユーザインターフェース自動化コンポーネント２１４は、本件特許出願人によるＭｉｃｒｏｓｏｆｔ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｕｔｏｍａｔｉｏｎを用いて実施されるＧＵＩ自動化モジュールである。このモジュールは、可視のユーザインターフェースに関する情報にアクセスするための、また可視のユーザインターフェースとプログラム的に対話するプログラム化された方法を提供する。しかし、システム設定に応じて、ユーザインターフェース自動化コンポーネント２１４は、グラフィカルユーザインターフェースをプログラム的にナビゲート可能な、またユーザインターフェース上のコマンドを検出する（また任意選択で、プログラム的にＧＵＩをナビゲートしてコマンドを実施し実行する）ことが可能な任意のアプリケーションを使用して実施することができる。
【００３８】
したがって、ユーザインターフェース自動化コンポーネント２１４は、作成者２０１（または他のユーザ）によってユーザインターフェース２０５上でタスク順に実施される所望のタスクに関連付けられた各ステップを検出する。例えば、タスクが新しいメニューまたはウィンドウを表示するためにＧＵＩ上のボタンをクリックするようユーザに要求する場合、ユーザインターフェース自動化コンポーネント２１４は、どのコントロールがユーザインターフェース２０５上のマウスカーソルの位置にあるか、またそのサイズおよびその親ウィンドウを判定する。記録コンポーネント２１０は、ステップを実施するのに使用されたコントロールの名前とプロパティを記録するために、フックコンポーネント２１２からの情報（例えば、そのコントロールのタイプ、名前、および状態）を使用する。その情報は、ユーザインターフェース自動化コンポーネント２１４およびフックコンポーネント２１２から、記録コンポーネント２１０に提供され、それによって、記録コンポーネント２１０は、ボタンの情報およびイメージを識別するコントロール、またはステップを実施するために作成者によって使用されたコントロールを記録することができる。イメージの取得は、図３に関して以下でより詳細に述べる。
【００３９】
テキスト生成コンポーネント２３０は、記録プロセス中に、実行もしくは実施されるアクションを記述する自然言語テキストを生成するように構成されたプログラムまたはモジュールである。テキスト生成コンポーネント２３０は、記録されたイメージ、および記録コンポーネント２１０によって記録された他の情報を用いて、データベース２２０を検索し、その記録されたステップに対応するテキストデータベース２２０から正しいテンプレートまたはエントリを選択する。
【００４０】
テキストデータベース２２０は、例として、テキストジェネレータ２３０によって検索可能なデータベースまたは他の情報記憶システムである。テキストデータベース２２０は、ユーザインターフェース２０５上で利用可能なコントロールに関係する情報を含む。その情報は、例えば、コントロールの名前、コントロールのタイプ、コントロール上で実施されるアクション、およびアクションの自然言語文によるテキスト形式の記述を含むことができる。
【００４１】
いくつかの実施形態では、エントリに対するテキスト形式の記述は複数の言語で提供される。テキスト形式の記述が複数の言語で提供される場合、正しい言語を選択することができる言語識別子を各エントリが備える。
【００４２】
しかし、システムの必要性に応じて、テキストデータベース２２０中に他の情報を提供することができる。一実施形態では、テキストデータベース２２０中のいくつかのエントリは、順に実施される複数のコントロールで示される２つ以上のアクションに関する情報を有する。複数のコントロールに対する複数のアクションが、テキストデータベース２２０中で単一のエントリで表される場合、そのエントリのテキストは、両方のコントロールで実施されるアクションの自然言語記述を単一文として含む。２つのコマンドの記述を単一文として結合することにより、最終テキスト文書の可読性が改善される。
【００４３】
一実施形態では、テキストデータベース２２０は、ＸＭＬ（拡張可能なマーク付け言語）で記述される。各エントリに対するデータは、一連のサブエントリとして記憶することができ、そのエントリの各サブエントリは、タスクを識別するために必要な情報の個々の部分を参照する。しかし、データを記憶するために他のフォーマットを使用することもできる。
【００４４】
一実施形態では、テキスト生成コンポーネント２３０は、テキストデータベース２２０中のエントリを検索するとき、２つ以上の記録されたアクションを調べる。それは、より流動性のあるテキスト文書を提供するために行うことができる。例えば、よい手順型文書は、しばしば、可読性を高めるために、複数のステップを単一文に結合する。テキスト生成コンポーネント２３０がテキストデータベース２２０中に記録された情報にマッチする２つ以上のものを識別した場合、テキスト生成コンポーネント２３０は、任意の周知の方法を用いて、各エントリのスコアリングに基づいてエントリを明確化し最高のスコアを有するエントリを選択することなどにより、データベース中のどのエントリを選択するかを判定することができる。
【００４５】
一実施形態によると、ユーザインターフェース上で作動されたコントロールのタイプ、および実施されたアクションに基づいて、テキスト生成コンポーネント２３０は、実行されたコントロールタイプおよびアクションにマッチするエントリを求めてテキストデータベース２２０を検索する。データベース２２０中でマッチが識別されると、テキスト生成コンポーネント２３０は、テキストデータベース２２０から関連するアクションの自然言語記述を取得し、生成されたテキスト文書２３５中に文章命令としてそれを配置する。代替の実施形態では、テキスト生成コンポーネント２３０はまた、ＵＩ自動化モジュール２１４から提供された情報に基づいて、テキスト文書の実行可能なバージョンを生成することができる。
【００４６】
テキストデータベース２２０からテキスト形式の記述を選択する場合、テキスト生成コンポーネントはまた、そのコントロールの状態を調べることができる。それは、コントロールがチェックボックスまたは拡張可能もしくは折りたためるツリーの場合に重要である。その場合、そのボックス上をクリックするだけでは、コントロールに対するアクションが所望する結果に関係なく同じになるので、そのアクションを記述するには適切ではない可能性がある。したがって、この場合、コントロールの新しい状態が選択されるテキストに影響することになる。例えば、コントロールがチェックボックスであり、選択解除すべきものである場合、マッチするテキストはコントロールの新しい状態とコントロール名に基づくことになるはずである。
【００４７】
テキストエディタ２４０は、情報またはテキストを訂正し、変更し、あるいは生成されたテキスト２３５に自動的に追加するように構成されたエディタである。テキストジェネレータ２３０によって生成された結果のテキスト、および作成者によって実施されたアクションに応じて、さらにその理解可能性を高めるために、テキストを編集することが必要になり得る。したがって、テキストエディタ２４０は、生成されたテキスト２３５を受け取り、それによって、作成者２０１は生成されたテキストを編集することができる。
【００４８】
例えば、文法上の必要性により、または記録されるステップのうちの１つがユーザアクションを必要とするが、記録された時点でシステムがユーザアクションの記述を要求していないことにより、テキスト編集が必要となる可能性がある。このような場合（ユーザ入力が必要な場合）、一実施形態によると、記録されるタスクを実施する間、テキストジェネレータ２３０は、そのステップでユーザが何をすべきかに関する命令／説明を作成者が提供するようにテキスト中にスペースを提供するだけである。
【００４９】
例えば、ユーザによって実施され、記録コンポーネントによって記録されるタスクが、コンピュータ画面上の背景パネルを変更するものであると仮定する。それは、ユーザに背景用パターンを選択するように要求する。したがって、背景を変更する記録されたユーザアクションに対してテキストベースから返されたテキストは、「［アクションの説明を挿入する］を選択してください」となるはずであり、その場合、作成者は、「リストから所望の背景を選択してください」と読めるようにそのテキストを編集する必要がある。また、編集段階中に、作成者２０１は、タスクを記録する前にタスク全体の説明を提供していない場合、それを提供することができる。テキストが編集されると、最終テキスト２４５が、オーサリングツール２００から出力され、最終テキストを、ユーザが所望する時に取得可能となる適切な記憶モードで記憶される。
【００５０】
図３は、例示的な一実施形態に従ってどのようにシステム２００が動作するかをより詳細に示した流れ図である。まず、作成者２０１は、記録コンポーネント２１０を開始する。それは、図３のブロック４００で示される。そのためには、作成者２０１が、図４で示されるコントロール４０２などのコントロールを作動させるだけである。記録を開始するためには、作成者２０１が記録ボタン４０４を作動させればよい。記録を停止させるためには、停止ボタン４０６を作動させる。以下で述べるように、作成者２０１は、テキストエディタ２４０でテキスト編集中に、ユーザアクションの記述を挿入することができる。そのためには、ユーザはボタン４０８を作動させる。同様に、以下で述べるように、作成者２０１は、生成されたテキストを自動的に編集することができる。それは、図４のテキストボタン４１０を作動させることによって行うことができる。さらに、いくつかの実施形態では、ユーザが値を設定できる追加のボタンを提供することもできる。こうすると、例えば、実行時に、ユーザが編集ボックス中にテキストをタイプする必要がある場合、正しいテキストをインスタンス中に生成させることができる。他のまたは異なるコントロールも同様に使用できることは当然である。
【００５１】
図３を再度参照すると、作成者２０１が記録コンポーネント２１０を開始すると、システムは、単に、ユーザがユーザインターフェース２０５上でアクションを行うのを待つ。図２は、ユーザが作成者２０１であることを示しているが、ユーザを別のユーザとすることも同様に可能であることに留意されたい。
【００５２】
ユーザが、ユーザインターフェース２０５上で（ユーザインターフェース上でコントロールエレメントを操作することなどにより）アクションを行うと、フックコンポーネント２１２は、ユーザアクションを示すメッセージまたは他の信号を受け取る。フックコンポーネント２１２に関して前に論じたように、フックコンポーネント２１２は、そのメッセージを使用し（ｃｏｎｓｕｍｅ）、それを記録用のキューに配置する。ＵＩ２０５上でアクションを行ったユーザは、図３のブロック４１２で示される。
【００５３】
次いで、記録コンポーネント２１０は、ＵＩ自動化コンポーネント２１４から、情報を識別するコントロールを受け取る。それは、図３のブロック４１４で示される。例示的な一実施形態では、ＵＩ自動化コンポーネント２１４は、いくつかの情報項目を記録コンポーネント２１０に提供し、それによって、記録コンポーネント２１０は、ユーザインターフェース２０５でユーザによって行われたアクションを示すまたはそれに対応する、表示画面上のコントロール識別子を記録できるようになる。例示的な一実施形態では、それらの情報項目は、ユーザが作動させた、またはその他の形で操作した表示画面上のコントロールエレメントの位置、そのコントロールエレメントを囲む長方形もしくはそのサイズ、およびそのコントロールエレメントを含む親ウィンドウである。例示の諸実施形態では、そのコントロールのイメージは再生中に使用されない。それは、作成者に理解できるようにするために記録されるに過ぎない。
【００５４】
記録コンポーネント２１０は、次いで、ユーザインターフェース２０５に関連付けられた、またユーザによって行われたアクションに対応するまたは反映する画面撮影を表す実際のイメージ情報を取得する。それは、図３のブロック４１６で示される。
【００５５】
そのステップを実施するために、記録コンポーネント２１０は、システムの動作を高めるために、いくつかの事柄（ｔｈｉｎｇ）を実施することができる。例えば、記録コンポーネント２１０は、ユーザによって操作されたコントロールエレメントを超える大きさの実際のイメージ情報（または実際の画面撮影）を記録することが有用であろうと判定することができる。そのようにすることは、例えば、ユーザによって操作される表示上に、現在、複数の類似のコントロールエレメントがある場合、正しいと言える。例えば、ユーザが、ユーザインターフェース上の「ＯＫボタン」をクリックしたと仮定する。しかし、その時点で、表示画面上に複数の「ＯＫボタン」がある可能性がある。従って、様々の「ＯＫボタン」中であいまいさをなくすために、記録コンポーネント２１０は、ユーザによって操作された特定の「ＯＫボタン」だけではなく、その「ＯＫボタン」のまわりの所望の数のピクセルに対する実際の画面撮影情報を取得することができる。このようにすると、コントロールそれ自体のイメージだけよりも大きいコンテキストを有するイメージを提供することになる。
【００５６】
同様に、記録コンポーネント２１０はまた、コントロールエレメントを含む親ウィンドウ全体の画面撮影イメージを記録することができる。このようにすると、ユーザが操作したコントロールエレメントを具体的に識別するために使用できる大量の余分のコンテキストを含むことになるのは当然である。
【００５７】
追加のコンテキストを記録コンポーネント２１０で記録する必要があるかどうか判定するために、記録コンポーネント２１０は、広範囲の様々な異なる技法のいずれかを使用してこの判定を行うことができる。例えば、記録コンポーネント２１０は、記録するためのコンテキスト量を識別するヒューリスティック（ｈｅｕｒｉｓｔｉｃｓ）を使用することができる。ヒューリスティックは、操作されるコントロールエレメントのサイズ／形状、操作されるコントロールエレメントの特定の機能、コントロールエレメントのタイプ（例えば、チェックボックス、テキストボックス、ツリー表示）、画面上のコントロールエレメントの位置（例えば、コントロールエレメントが上部の左隅にある場合、記録コンポーネント２１０は、コントロールエレメントの下側および右側でより多くのピクセルを得ることができる）に基づくことができ、あるいは、ヒューリスティックは、コントロールエレメントの位置、およびコントロールエレメントで実施されている機能とは無関係に、コントロールエレメントの周囲で得られる固定数のピクセルを反映するだけとすることもできる。
【００５８】
記録コンポーネント２１０は、任意の周知の技法を用いて実際の画面撮影イメージ情報を取得することができる。例えば、大部分のオペレーティングシステムには、アプリケーションまたは他のコンピューティングコンポーネントが、現在表示されている画面の任意のセクションのビットマップ画面撮影を取得できるようにする公開されたＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅｓ）がある。したがって、例示的な一実施形態では、記録コンポーネント２１０は、所望の画面撮影イメージ情報の座標、およびコンテキスト情報量、任意選択でコントロールエレメントの親ウィンドウを知った後、情報を取得するために単にＡＰＩコールを行えばよい。
【００５９】
情報を識別するコントロールを取得すると、記録コンポーネント２１０はそれを後で使用するために記録する。それをどのように使用するかに応じて、記録コンポーネント２１０は、標準のイメージ操作ＡＰＩを使用し、そのイメージを圧縮またはサイズ変更することができる。こうすると、必要なメモリおよび最終文書のサイズが低減される。それを図３のブロック４１８で示す。ここで、当然ではあるが、記録コンポーネント２１０は、ＵＩ自動化コンポーネント２１４によって提供される他の情報を記録できることにも留意されたい。例えば、ＵＩ自動化コンポーネント２１４は、記録コンポーネント２１０に、例として、コントロール名、コントロールタイプ、コントロール上で実施されるアクション、（マウスクリック、マウスホイールの回転、キーボードのキーストローク、タッチパッド入力などの）実施される操作タイプを提供する。その情報はすべて、記録コンポーネント２１０で記録することができる。
【００６０】
例示の一実施形態によると、テキスト生成コンポーネント２３０は、テキストデータベース２２０と共に、イメージおよびキャプチャされた情報を識別するコントロールに関連付けられた、またユーザインターフェース２０５上でユーザによって行われたアクションに関連付けられたテキストを自動的に生成する。これらの項目が使用される実施形態では、記録コンポーネント２１０は、テキスト生成コンポーネント２３０に（クリックタイプ、コントロールタイプ、コントロール名などの）キャプチャされた情報を送る。それを図３の任意選択ブロック４２０で示す。自動的に生成されたテキストは、例として、ユーザインターフェース２０５の複数の操作を必要とするタスク全体を実施するためのユーザインターフェース２０５の各ユーザ操作に対する、１ステップずつの命令に相当する記述された手順を提供する。
【００６１】
そのテキストを生成するために、テキスト生成コンポーネント２３０は適切な任意の方法を使用することができる。例示的な一方法では、テキスト生成コンポーネント２３０は、記録コンポーネント２１０から受け取った情報に対応するエントリを求めてテキストデータストア２２０を検索する。例えば、テキストデータストア２２０は、例として、ユーザインターフェース２０５上でユーザによって操作されたコントロールまたは他の項目のタイプ、アクションタイプ、およびそのアクションに対応するテキストを含めた複数のエントリを含むＸＭＬデータベースとすることができる。当然であるが、データストア２２０を実施するために他のデータ記憶方法を使用することができ、データストア２２０が追加のまたは異なる情報を同様に含むことができる。
【００６２】
例えば、記録コンポーネント２１０から受け取った情報が、ユーザが「ＯＫボタン」をクリックした（あるいはその他の形で起動した）ことを示していると仮定する。次いで、テキスト生成コンポーネント２３０はこの種のアクションにマッチするエントリを求めてテキストデータストア２２０を検索する。マッチが発見されると、テキスト生成コンポーネント２３０は、この種のアクションが記述されたテキストデータストア２２０中のエントリからテキストを取得する。テキストには、例えば、単に「ＯＫをクリックする」とあるだけでよい。
【００６３】
いずれの場合であっても、テキスト生成コンポーネント２３０は、例としてまた任意選択で、ユーザインターフェース２０５上で行われた、また記録コンポーネント２１０によって記録されたユーザアクションを記述するテキストを自動的に生成する。それを図３のブロック４２２で示す。
【００６４】
生成されたテキストは図２のブロック２３５で示される。例示的な一実施形態では、記録コンポーネント２１０によって記録されたイメージは、生成されたテキスト２３５中に自動的に組み込まれ、あるいは少なくとも後のプロセスで、それらが再度コールされ共に表示されるように生成されたテキスト２３５と関連付けられる。
【００６５】
次に、記録コンポーネント２１０によって記録されたイメージデータ、および任意選択で自動的に生成されたテキストは、エディタコンポーネント２４０に提供される。記録コンポーネント２１０によって記録されたイメージ、および自動的に生成されたテキストは、作成者２０１がそのイメージに対応するテキストを生成できるように、エディタ２４０で表示画面上に図式的に表示される。イメージおよび任意選択で生成コンポーネント２３０によって生成されたテキストの表示は、図３のブロック４２４で示される。
【００６６】
表示された後、次いで、作成者は、ユーザインターフェース２０５でユーザによって実施されるステップの完全な記述を得るために、所望に応じてテキストを入力し、または変更することができる。テキストエディタ２４０を用いたそのイメージに対応するテキストの変更または生成は、図３のブロック４３６で示される。次いで、組み込まれたイメージを有する最終テキスト２４５がセーブされ、それを図３の任意選択ブロック４３８で示す。しかし、イメージをテキスト中に組み込むことは、すべての実施形態に必要なものではない。例えば、オーサリングシステムは、作成者が、実行される諸ステップに関するまたイメージをそのためにキャプチャした記述を生成している場合に、キャプチャされたイメージを、単に、作成者に表示するために使用することもできる。
【００６７】
ＩＩＩ．既存のコンテンツを用いてＡＣＷ実行可能ファイルを生成する  
前に論じたように、数千の既存のヘルプファイルもしくは文書、プロダクトサポートサービスの知識ベース記事、および利用可能な他のヘルプコンテンツを考えると、そのそれぞれに対して、上記方法を使用して対応するＡＣＷを個々に作成することは、作成者にとり非常に労力を要することである。本発明の方法、システム、およびツールは、その数千もの既存のヘルプコンテンツファイルもしくは文書をＡＣＷに変換するための機構を提供する。いくつかの場合では、その変換により、対応する元のヘルプコンテンツファイルの諸ステップまたは諸指示を完全かつ正確に反映するＡＣＷを得ることができる。他の場合では、その変換により、実質的に完全で正確なＡＣＷを得るが、前に述べたオーサリングツールを使用すると、それを編集して完全なプロセスにすることができる。例えば、本発明が、その変換プロセスで８０％の正確度を提供する場合、得られたＡＣＷを編集して、同じＡＣＷを最初から作成するのに必要と思われる時間よりはるかに少ない時間で完全な正確度を達成することができる。
【００６８】
図５を参照すると、既存のコンテンツファイルからＡＣＷを作成する方法５００が示されている。図６は、本方法を実施するために使用可能な、またはいくつかのもしくはすべてのＡＣＷ作成プロセスを実施するために他の形でも使用可能なシステム５５０を示す。まず、図５のブロック５０２で示すように、本方法は、既存のコンテンツファイル（図６の５５２）をＡＣＷスキーマフォーマット（図６の５５６）に変換するステップを含む。それは、マップ、スタイルシート、および／または他の技法を使用して１つまたは複数のステップで変換を実施する変換コンポーネント５５４を用いて行うことができる。
【００６９】
いくつかの実施形態では、アクティブコンテンツウィザードは、ＭＡＭＬ（Ｍｉｃｒｏｓｏｆｔ  Ａｓｓｉｓｔａｎｃｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）の一部であるＸＭＬフォーマットなどのＸＭＬフォーマットで記憶される。他のＸＭＬフォーマットもまた、ＡＣＷスキーマに対して使用することができる。多くのヘルプファイルおよび他の同様のコンテンツがＨＴＭＬまたはＸＭＬフォーマットを用いて作成されているので、そのステップは、既存のコンテンツファイルを、ＨＴＭＬスキーマからＡＣＷ  ＸＭＬスキーマに、あるいは非ＡＣＷのＸＭＬスキーマからＡＣＷ  ＸＭＬスキーマに変換することを含み得る。レガシーヘルプコンテンツファイルが他のフォーマットである場合でも、マルチステップ変換プロセスの一部として、まずＨＴＭＬフォーマットにそれを変換することは、通常、非常に容易である。
【００７０】
既存のコンテンツフォーマットがＸＭＬである場合、変換ステップはＸＳＬＴスタイルシートを使用することが可能であるが、マップもしくはプログラムを定義してコンテンツを変換することもできる。スタイルシートは、ソースアプリケーションによって使用されるＸＭＬスキーマに依存する。
【００７１】
既存のフォーマットがＨＴＭＬである場合、ＨＴＭＬは、スタイルベースのフォーマットであり、ＭＡＭＬフォーマットで必要な図式的な情報を提供しないので、変換を記述することはより難しい。しかし、いくつかのヒューリスティックを、その変換の支援に使用することができる。それらのヒューリスティックは、コンテンツのフォーマットに依存しているが、ほぼ適切に動作するようである。すなわち、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）／Ｍｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ  ＨＴＭＬヘルプの場合、ヘルプコンテンツは非常によく構造化されているので、それらは、８５％〜９０％の正確度で動作する。大部分のアプリケーションの場合、ヘルプコンテンツは、固定スタイルのガイドラインを用いて記述されている。例えば、Ｗｉｎｄｏｗｓ（登録商標）とＯｆｆｉｃｅのヘルプでは共に、番号付けされたリストが手順型ヘルプトピックに関連付けられている。Ｗｉｎｄｏｗｓ（登録商標）およびＯｆｆｉｃｅのヘルプに対する変換プロセス中で使用できるいくつかのヒューリスティックの一実施例は、以下のものを含む。
【００７２】
１．タイトルエレメントは、ＭＡＭＬまたは他のＡＣＷ  ＸＭＬ中のタイトルエレメントに相当する。  
２．番号付けられたリストは、ＭＡＭＬまたは他のＡＣＷ  ＸＭＬ中のｔａｓｋＰｒｏｃｅｄｕｒｅエレメントに相当する。  
３．番号付けられたリスト中の各項目は、手順プロシージャ中の１つのステップに相当する。  
４．ＵＩ上に現れるテキストは、ＨＴＭＬの＜ｂ＞タグによって示される。ｏｆｆｉｃｅ  ＸＰでは、それらは、＜ｂ  ｃｌａｓｓ＝“ｕｉ”＞タグによって示される。  
５．タグの両側にある３語を調べ、コンマまたはセミコロンがあると停止し、「クリックする、」「ダブルクリックする、」「選択する、」「選択解除する、」「チェックする、」などの語句を走査した場合、これらの、メニュー項目上で実施されるアクションを非常によく示す表示を判定できる。同様に、「メニュー項目、」「ボタン、」「タブ、」などの語句もＵＩエレメントタイプのよい表示を示している。  
６．ステップ中の各＜ｂ＞タグに対して、３種類の形式＜アクション、ＵＩ上のテキスト、ＵＩエレメントのタイプ＞を調べる。次いで、それらは、各ステップに対するアクションに変換される。（ＭＡＭＬまたはＡＣＷ  ＸＭＬスキーマ中のＡｃｔｉｏｎＲｅｆｓ）。  
７．プロシージャの最後の箇条書きリスト（ｂｕｌｌｅｔｅｄ  ｌｉｓｔ）は、ノートを表すことが多い。  
８．ネストされた番号付けリストは、サブタスクに相当する。
【００７３】
これらのヒューリスティックは、１００％の正確度で動作するわけではないが、なお、ＡＣＷ  ＸＭＬフォーマットへの変換の大部分を可能にし、再書込みをするのではなく、そのＡＣＷに対して作成者による訂正が必要なだけである。
【００７４】
ＨＴＭＬコンテンツファイルのＡＣＷ  ＸＭＬスキーマもしくはフォーマットへのマルチステップ変換の一実施例は以下のように提供される。
ＨＴＭＬフォーマットファイルの実施例：
【００７５】
【表１】
2006228210.tif 000003
【００７６】
この変換の第１ステップでは、ＨＴＭＬ文書はＸＨＴＭＬに変換され、その結果を以下に示す：
【００７７】
【表２】
2006228210.tif 000004
【００７８】
次いで、パーサは、それをＡＣＷで使用されるＸＭＬフォーマットに変換し、その結果を以下に示す：
【００７９】
【表３】
2006228210.tif 000005
【００８０】
最後のステップで、ｔａｓｋＥｘｅｃｕｔｉｏｎブロックは、ＡＣＷスクリプトジェネレータ５６２（図６に示す）によりＡＣＷスクリプトの実際のプロパティで置き換えられて、ＡＣＷスクリプトファイル５６４を作成する。それを、図５のブロック５０４および５０６に示すステップに関して以下でさらに説明するが、その実施例の場合、結果は、まず、以下のように示される。
【００８１】
【表４】
2006228210.tif 000006
【００８２】
【表５】
2006228210.tif 000007
【００８３】
【表６】
2006228210.tif 000008
【００８４】
【表７】
2006228210.tif 000009
【００８５】
次に図５を参照すると、ＵＩエレメントファイルもしくはデータベースを作成するために、アプリケーションのＵＩを記録するステップがブロック５０４で示されている。そのステップを実施するために、ウィンドウレコーダツール５５８（図６および７に示されている）が使用される。ウィンドウレコーダ５５８は、図４に示すタスクレコーダ４０２と同様に機能するが、ＵＩ２０５のウィンドウのすべてのエレメントを記録するためには同じ方法および機能を使用する。ウィンドウレコーダ５５８のユーザは、特定のアプリケーション中のすべての関連するダイアログボックス／ウィンドウを開き、ウィンドウレコーダをそのウィンドウ上で動作させる。ウィンドウレコーダにより、ユーザはウィンドウの一部またはその全体を選択することができる。以下でより詳細に述べるように、ウィンドウレコーダツール５５８は、そのウィンドウ上で見つけたすべてのエレメントに関する情報をファイルもしくはデータベース５６０に記憶する。再生するために必要なプロパティに加えて、ウィンドウレコーダツールはまた、各エレメントのイメージをキャプチャする。
【００８６】
図７に示す例示の一実施形態では、ウィンドウレコーダ５５８は、その記録プロセスを開始または停止するのに使用される「開始／停止」ボタン５８０を含む。記録プロセスは、例えば、記録するＵＩ上のウィンドウを定義することによって開始される。クリックされると、ユーザによって確立されたウィンドウ中のＵＩエレメント（およびそのプロパティ）を記録するプロセスを開始する「Ｚａｐ」ボタン５８２もまた含まれる。それを以下でより詳細に説明する。記録プロセスを停止するには、「開始／停止」ボタン５８０を再度クリックする。ウィンドウレコーダメモリのコンテンツをクリアするために、「クリア」ボタン５８４が含まれる。ウィンドウから記録された情報をセーブするために、「セーブ」ボタン５８６がクリックされる。
【００８７】
次に、図８〜１０の画面撮影を参照すると、ウィンドウ全体を記録するためにウィンドウレコーダツール５５８を使用する図が示されている。図８で、コントロールパネルＵＩ６００が、レコーダツール５５８と共に示されている。「開始／停止」ボタン５８０がクリックされた後、ユーザが（マウスなどの入力装置を使用して）ポインタを移動すると、図９に示すように長方形が画面上に描かれる。その長方形は、ウィンドウ６０２に相当し、カーソルがその中に位置する。例示の実施例では、ウィンドウ６０２は、リストされたＵＩエレメントおよびコントロールパネルの他のコンテンツに相当する。
【００８８】
ウィンドウ６０２が定義されると、ユーザはＺａｐキー５８２上をクリックし（または＜Ｃｔｒｌ＞＜Ｓｈｉｆｔ＞＜ｚ＞など１つまたは複数の定義されたホットキーを押し）、レコーダ５５８は、その特定のウィンドウ６０２中のすべてのエレメントを記録する。ウィンドウのすべてのエレメントを記録する場合、レコーダ５５８はまた、そのエレメントに対するイメージまたはグラフィックと共に、そのウィンドウの関心対象のすべてのエレメントのプロパティを抽出する。
【００８９】
次に図１０を参照すると、記録されたもしくはＺａｐによるウィンドウ６０４が表示されて示されており、ウィンドウ６０２から記録されたすべてのエレメントのテキストをユーザに示す。ウィンドウ６０４のコンテンツは、ボタン５８６を用いてセーブすることができる。このプロセスは、ほとんど時間を使うことなく、またアプリケーションの関連するウィンドウごとに反復され、すべてのコントロールをファイルもしくはデータベース５６０に記憶する。
【００９０】
図５および６に戻って参照すると、変換されたファイル５５６（ステップ５０２）から、またＵＩエレメントファイルもしくはデータベース５６０（ステップ５０４で作成された）から、ＡＣＷスクリプトを作成する最終ステップが、図５のブロック５０６で示されている。それにより、スクリプトを再生するために実行時エンジンが必要とするプロパティが追加される。変換されたスクリプト５５６、およびウィンドウレコーダツール５５８を用いて記録されたアプリケーションからの（ファイルもしくはデータベース５６０からの）すべての関連するＵＩエレメントを用いて、第３のツールがこの情報を結合してＡＣＷスクリプト５６４を作成する。それを、図６でＡＣＷスクリプトジェネレータ５６２として示す。そのツールは、各変換されたスクリプトを連続的に開く。次いで、変換されたスクリプト５５６中のａｃｔｉｏｎＲｅｆエレメントごとに、すなわち、（アクション、テキスト、メニューエレメント）の対ごとに、ファイル／データベース５６０中で対応するマッチを探す。複数のマッチがある場合、ツールは、ユーザにその対応するマッチのイメージを示し、作成者に正しいものを指定させる。次いで、変換されたＡＣＷスクリプトを、その変換を確認するために検査することができ、必要に応じて作成者が編集することができる。
【００９１】
本発明を、特定の諸実施形態に関して説明してきたが、当業者であれば、本発明の趣旨および範囲を逸脱することなく、形態および詳細に変更を加えることが可能であることを理解されよう。
【図面の簡単な説明】
【００９２】
【図１】本発明を使用することができる例示的な一環境のブロック図である。
【図２】ＡＣＷオーサリングシステムの諸コンポーネントを示すブロック図である。
【図３】図２に示すシステムのオペレーションを示す流れ図である。
【図４】タスク記録コンポーネントのためのコントロールを示す図である。
【図５】本発明の一実施形態に従って既存のヘルプコンテンツをＡＣＷ実行可能フォーマットに変換する方法を示す流れ図である。
【図６】本発明の一実施形態による変換システムを示すブロック図である。
【図７】ウィンドウ記録コンポーネントのためのコントロールを示す図である。
【図８】図７のウィンドウ記録コンポーネントのオペレーションを示す画面撮影の図である。
【図９】図７のウィンドウ記録コンポーネントのオペレーションを示す画面撮影の図である。
【図１０】図７のウィンドウ記録コンポーネントのオペレーションを示す画面撮影の図である。
【符号の説明】
【００９３】
１２０  処理装置
１３０  システムメモリ
１３１  ＲＯＭ
１３２  ＲＡＭ
１３３  ＢＩＯＳ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  取外し不能不揮発性メモリインターフェース
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  取外し可能不揮発性メモリインターフェース
１６０  ユーザ入力インターフェース
１６１  ポインティング装置
１６２  キーボード
１６３  マイクロフォン
１７０  ネットワークインターフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  広域ネットワーク
１８０  遠隔コンピュータ
１８５  遠隔アプリケーションプログラム
１９０  ビデオインターフェース
１９１  モニタ
１９５  出力周辺装置インターフェース
１９６  プリンタ
１９７  スピーカ
２０１  作成者
２０５  ユーザインターフェース
２１０  記録コンポーネント
２１２  フック
２１４  ユーザインターフェース自動化コンポーネント
２２０  テキストデータベース
２３０  テキスト生成コンポーネント
２３５  生成されたテキスト
２４０  テキストエディタ
２４５  最終テキスト
４０２  タスクレコーダ
４０４  記録
４０６  停止
４０８  アクション
４１０  テキスト
５５２  既存のコンテンツファイル
５５４  変換コンポーネント
５５６  ＡＣＷスキーマフォーマット中のコンテンツファイル
５５８  ウィンドウレコーダ
５６０  ＵＩエレメントファイルもしくはデータベース
５６２  ＡＣＷスクリプトジェネレータ
５６４  ＡＣＷスクリプトファイル
５８０  開始／停止
５８２  Ｚａｐ
５８４  クリア
５８６  セーブ
【図１】
2006228210.tif 000010
【図２】
2006228210.tif 000011
【図３】
2006228210.tif 000012
【図４】
2006228210.tif 000013
【図５】
2006228210.tif 000014
【図６】
2006228210.tif 000015
【図７】
2006228210.tif 000016
【図８】
2006228210.tif 000017
【図９】
2006228210.tif 000018
【図１０】
2006228210.tif 000019