(57)【要約】【課題】ブラウザ対応ヒューマンインターフェイスデスクリプションを生成し且つ処理するための方法およびシステムを提供すること。【解決手段】アプリケーション特定ヒューマンインターフェイスデスクリプションは、標準化ヒューマンインターフェイスデスクリプションに変換される。標準化ヒューマンインターフェイスデスクリプションは、ヒューマンインターフェイスレイアウトテンプレートとデータデスクリプションに分解される。データインスタンスは、データデスクリプションから作成され、ヒューマンインターフェイスレイアウトテンプレートと共にブラウザ対応ヒューマンインターフェイスデスクリプションにマージされ、ユーザデータ入力を促すために翻訳される。レイアウトエレメントのステータスは、データインスタンスまたは標準化ヒューマンインターフェイスデスクリプションのランタイムコピーに格納される。【選択図】図１
2008198229.tif 000002
【特許請求の範囲】
【請求項１】
ヒューマンインターフェイスデスクリプションを生成し且つ処理するためのコンピュータ実施の方法（４００）であって、
所定のアプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を供給するステップ（４１０）と、
前記アプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を、標準化されたヒューマンインターフェイスデスクリプション（１２０）に変換するステップ（４２０）と、
前記標準化されたヒューマンインターフェイスデスクリプション（１２０）をブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）にコンバートするステップ（４３０）と、
前記ブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）を、ヒューマンインターフェイスレイアウトテンプレート（１４０−１）およびデータデスクリプション（１４０−２）に分解するステップ（４５０）と、
前記データデスクリプション（１４０−２）からデータインスタンス（１５０）を作成するステップ（４６０）と、
前記データインスタンス（１５０）を前記ヒューマンインターフェイスレイアウトテンプレート（１４０−１）と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）にマージするステップ（４７０）と、
ユーザにデータ入力を指示するために前記個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）を翻訳するステップ（４７５）と、
前記ユーザからデータ（１７０）を受け取るステップ（４８０）と、
前記データ（１７０）をデータインスタンス（１５０）に格納するステップ（４８５）と、
少なくとも一つの基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）のステータスを格納するステップ（４９０）と、
を含むことを特徴とする方法。
【請求項２】
ヒューマンインターフェイスデスクリプションを生成し且つ処理するためのコンピュータ実施の方法（４００）であって、
所定のアプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を供給するステップ（４１０）と、
前記アプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を、標準化されたヒューマンインターフェイスデスクリプション（１２０）に変換するステップ（４２０）と、
前記標準化されたヒューマンインターフェイスデスクリプション（１２０）を、ヒューマンインターフェイスレイアウトテンプレート（１４０−１）およびデータデスクリプション（１４０−２）に分解するステップ（４４０）と、
前記データデスクリプション（１４０−２）からデータインスタンス（１５０）を作成するステップ（４６０）と、
前記データインスタンス（１５０）を、前記ヒューマンインターフェイスレイアウトテンプレート（１４０−１）と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）にマージするステップ（４７０）と、
ユーザにデータ入力を指示するために、前記個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）を翻訳するステップ（４７５）と、
前記ユーザからデータ（１７０）を受け取るステップ（４８０）と、
前記データ（１７０）を前記データインスタンス（１５０）に格納するステップ（４８５）と、
少なくとも一つの基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）のステータスを格納するステップ（４９０）と、
を含むことを特徴とする方法。
【請求項３】
前記所定のアプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）は、アプリケーション特定レイアウトエレメント（１１２，１１３，１１４）の複数（１１１）を用いたマークアップ言語デスクリプションであることを特徴とする請求項１または２記載の方法。
【請求項４】
前記標準化されたヒューマンインターフェイスデスクリプション（１２０）は、基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）の複数（１２１）を用いたマークアップ言語デスクリプションであることを特徴とする請求項１または２記載の方法。
【請求項５】
前記変換ステップ（４２０）は、プログラミング言語での変換プログラムを使用することを特徴とする請求項１または２記載の方法。
【請求項６】
前記変換プログラムは、スタイルシート言語変換プログラムであることを特徴とする請求項５記載の方法。
【請求項７】
前記ブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）は、マークアップ言語デスクリプションであることを特徴とする請求項１記載の方法。
【請求項８】
前記コンバートするステップ（４３０）は、プログラミング言語でのコンバージョンプログラムを使用することを特徴とする請求項１記載の方法。
【請求項９】
前記コンバージョンプログラムは、スタイルシート言語変換プログラムであることを特徴とする請求項８記載の方法。
【請求項１０】
前記分解ステップ（４４０）は、
ヒューマンインターフェイスレイアウトテンプレート（１４０−１）を、標準化されたヒューマンインターフェイスデスクリプション（１２０）から抽出するステップ（４４１）と、
前記データデスクリプション（１４０−２）を、前記標準化されたヒューマンインターフェイスデスクリプション（１２０）から抽出するステップ（４４２）と
を備えたことを特徴とする請求項２記載の方法。
【請求項１１】
前記抽出ステップ（４４１，４４２）は、プログラム言語での変換プログラムを使用することを特徴とする請求項１０記載の方法。
【請求項１２】
前記変換プログラムは、スタイルシート言語変換プログラムであることを特徴とする請求項１１記載の方法。
【請求項１３】
前記分解ステップは、
前記ヒューマンインターフェイスレイアウトテンプレート（１４０−１）を前記ブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）から抽出するステップ（４５１）と、
前記データデスクリプション（１４０−２）を前記ブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）から抽出するステップ（４５２）と
を備えたことを特徴とする請求項１記載の方法。
【請求項１４】
前記抽出ステップ（４５１，４５２）は、プログラミング言語での変換プログラムを使用することを特徴とする請求項１３記載の方法。
【請求項１５】
前記変換プログラムは、スタイルシート言語変換プログラムであることを特徴とする請求項１４記載の方法。
【請求項１６】
前記マージステップ（４７０）は、プログラミング言語での変換プログラムを使用することを特徴とする請求項１記載の方法。
【請求項１７】
前記変換プログラムは、スタイルシート言語変換プログラムであることを特徴とする請求項１６記載の方法。
【請求項１８】
前記受取ステップ（４８０）において、前記データ（１７０）はＸパスを含むことを特徴とする請求項１記載の方法。
【請求項１９】
前記マージステップ（４７０）は、プログラム言語での変換プログラムを使用することを特徴とする請求項２記載の方法。
【請求項２０】
前記変換プログラムは、スタイルシート言語変換プログラムであることを特徴とする請求項１９記載の方法。
【請求項２１】
前記受取ステップ（４８０）において、前記データ（１７０）はＸパスを含むことを特徴とする請求項２記載の方法。
【請求項２２】
ヒューマンインターフェイスデスクリプションを生成し且つ処理するためのコンピュータシステムであって、
所定のアプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を供給するステップ（４１０）のための手段と、
前記アプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を、標準化されたヒューマンインターフェイスデスクリプション（１２０）に変換するステップ（４２０）のための手段と、
前記標準化されたヒューマンインターフェイスデスクリプション（１２０）をブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）にコンバートするステップ（４３０）のための手段と、
前記ブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）を、ヒューマンインターフェイスレイアウトテンプレート（１４０−１）およびデータデスクリプション（１４０−２）に分解するステップ（４５０）のための手段と、
前記データデスクリプション（１４０−２）からデータインスタンス（１５０）を作成するステップ（４６０）のための手段と、
前記データインスタンス（１５０）を前記ヒューマンインターフェイスレイアウトテンプレート（１４０−１）と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）にマージするステップ（４７０）のための手段と、
ユーザにデータ入力を指示するために前記個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）を翻訳するステップ（４７５）のための手段と、
前記ユーザからデータ（１７０）を受け取るステップ（４８０）のための手段と、
前記データ（１７０）をデータインスタンス（１５０）に格納するステップ（４８５）のための手段と、
少なくとも一つの基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）のステータスを格納するステップ（４９０）のための手段と、
を備えたことを特徴とするシステム。
【請求項２３】
ヒューマンインターフェイスデスクリプションを生成し且つ処理するためのコンピュータシステムであって、
所定のアプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を供給するステップ（４１０）のための手段と、
前記アプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を、標準化されたヒューマンインターフェイスデスクリプション（１２０）に変換するステップ（４２０）のための手段と、
前記標準化されたヒューマンインターフェイスデスクリプション（１２０）を、ヒューマンインターフェイスレイアウトテンプレート（１４０−１）およびデータデスクリプション（１４０−２）に分解するステップ（４４０）のための手段と、
前記標準化されたヒューマンインターフェイスデスクリプションをブラウザ対応ヒューマンインターフェイスデスクリプションにコンバートするステップのための手段と、
前記データデスクリプション（１４０−２）からデータインスタンス（１５０）を作成するステップ（４６０）のための手段と、
前記データインスタンス（１５０）を、前記ヒューマンインターフェイスレイアウトテンプレート（１４０−１）と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）にマージするステップ（４７０）のための手段と、
ユーザにデータ入力を指示するために、前記個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）を翻訳するステップ（４７５）のための手段と、
前記ユーザからデータ（１７０）を受け取るステップ（４８０）のための手段と、
前記データ（１７０）を前記データインスタンス（１５０）に格納するステップ（４８５）のための手段と、
少なくとも一つの基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）のステータスを格納するステップ（４９０）のための手段と、
を備えたことを特徴とするシステム。
【請求項２４】
コンピュータ（９００）のプロセッサ（９１０）にヒューマンインターフェイスデスクリプションを生成させ且つ処理させるための複数の命令を備えたコンピュータプログラムであって、
所定のアプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を供給するステップと、
前記アプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を標準化されたヒューマンインターフェイスデスクリプション（１２０）に変換するステップ（４２０）と、
前記標準化されたヒューマンインターフェイスデスクリプション（１２０）をブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）にコンバートするステップ（４３０）と、
前記ブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）を、ヒューマンインターフェイスレイアウトテンプレート（１４０−１）およびデータデスクリプション（１４０−２）に分解するステップ（４５０）と、
前記データデスクリプション（１４０−２）からデータインスタンス（１５０）を作成するステップ（４６０）と、
前記データインスタンス（１５０）を、前記ヒューマンインターフェイスレイアウトテンプレート（１４０−１）と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）にマージするステップ（４７０）と、
ユーザにデータ入力を指示するために、前記個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）を翻訳するステップ（４７５）と、
前記ユーザからデータ（１７０）を受け取るステップ（４８０）と、
前記データ（１７０）を前記データインスタンス（１５０）に格納するステップ（４８５）と、
少なくとも一つの基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）のステータスを格納するステップ（４９０）と、
を前記コンピュータ（９００）に実行させるためのコンピュータプログラム。
【請求項２５】
コンピュータ（９００）のプロセッサ（９１０）にヒューマンインターフェイスデスクリプションを生成させ且つ処理させるための複数の命令を備えたコンピュータプログラムであって、
所定のアプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を供給するステップと、
前記アプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を標準化されたヒューマンインターフェイスデスクリプション（１２０）に変換するステップ（４２０）と、
前記標準化されたヒューマンインターフェイスデスクリプション（１２０）をヒューマンインターフェイスレイアウトテンプレート（１４０−１）およびデータデスクリプション（１４０−２）に分解するステップ（４４０）と、
前記標準化されたヒューマンインターフェイスデスクリプションをブラウザ対応ヒューマンインターフェイスデスクリプションにコンバートするステップと、
前記データデスクリプション（１４０−２）からデータインスタンス（１５０）を作成するステップ（４６０）と、
前記データインスタンス（１５０）を前記ヒューマンインターフェイスレイアウトテンプレート（１４０−１）と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）にマージするステップ（４７０）と、
ユーザにデータ入力を指示するために、前記個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）を翻訳するステップ（４７５）と、
前記ユーザからデータ（１７０）を受け取るステップ（４８０）と、
前記データ（１７０）を前記データインスタンス（１５０）に格納するステップ（４８５）と、
少なくとも一つの基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）のステータスを格納するステップ（４９０）と、
を前記コンピュータ（９００）に実行させるためのコンピュータプログラム。
【請求項２６】
コンピュータ（９００）によって読み取り可能なデータ記録媒体（９７０）であって、前記コンピュータ（９００）のプロセッサにヒューマンインターフェイスデスクリプションを生成させ且つ処理させるための複数の命令と、前記コンピュータ（９００）に、
所定のアプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を供給するステップ（４１０）と、
前記アプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を標準化されたヒューマンインターフェイスデスクリプション（１２０）に変換するステップ（４２０）と、
前記標準化されたヒューマンインターフェイスデスクリプション（１２０）をブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）にコンバートするステップ（４３０）と、
前記ブラウザ対応ヒューマンインターフェイスデスクリプション（１３０）を、ヒューマンインターフェイスレイアウトテンプレート（１４０−１）およびデータデスクリプション（１４０−２）に分解するステップ（４５０）と、
前記データデスクリプション（１４０−２）からデータインスタンス（１５０）を作成するステップ（４６０）と、
前記データインスタンス（１５０）を前記ヒューマンインターフェイスレイアウトテンプレート（１４０−１）と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）にマージするステップ（４７０）と、
ユーザにデータ入力を指示するために前記個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）を翻訳するステップ（４７５）と、
前記ユーザからデータ（１７０）を受け取るステップ（４８０）と、
前記データ（１７０）をデータインスタンス（１５０）に格納するステップ（４８５）と、
少なくとも一つの基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）のステータスを格納するステップ（４９０）と、
を備えたことを特徴とする方法（４００）のステップを実行させる複数の命令とを格納するデータ記録媒体。
【請求項２７】
コンピュータ（９００）によって読み取り可能なデータ記録媒体であって、前記コンピュータ（９００）のプロセッサ（９１０）にヒューマンインターフェイスデスクリプションを生成させ且つ処理させるための複数の命令と、前記コンピュータ（９００）に、
所定のアプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を供給するステップ（４１０）と、
前記アプリケーション特定ヒューマンインターフェイスデスクリプション（１１０）を標準化されたヒューマンインターフェイスデスクリプション（１２０）に変換するステップ（４２０）と、
前記標準化されたヒューマンインターフェイスデスクリプション（１２０）を、ヒューマンインターフェイスレイアウトテンプレート（１４０−１）およびデータデスクリプション（１４０−２）に分解するステップ（４４０）と、
前記標準化されたヒューマンインターフェイスデスクリプションをブラウザ対応ヒューマンインターフェイスデスクリプションにコンバートするステップと、
前記データデスクリプション（１４０−２）からデータインスタンス（１５０）を作成するステップ（４６０）と、
前記データインスタンス（１５０）を、前記ヒューマンインターフェイスレイアウトテンプレート（１４０−１）と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）にマージするステップ（４７０）と、
ユーザにデータ入力を指示するために、前記個々のブラウザ対応ヒューマンインターフェイスデスクリプション（１６０）を翻訳するステップ（４７５）と、
前記ユーザからデータ（１７０）を受け取るステップ（４８０）と、
前記データ（１７０）を前記データインスタンス（１５０）に格納するステップ（４８５）と、
少なくとも一つの基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）のステータスを格納するステップ（４９０）と、
を備えたことを特徴とする方法（４００）のステップを実行させる複数の命令とを格納するデータ記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、データ処理システムのヒューマンインターフェイスに関し、更に詳しくは、自動生成されたヒューマンインターフェイスを通じてコンピュータと情報のやり取りを行うためのコンピュータに実装される方法およびコンピュータシステムに関する。
【背景技術】
【０００２】
従来技術のシステムにおいては、ヒューマンインターフェイスは、標準化されたヒューマンインターフェイス記述言語(SIDL; Standardized Human Interface Description Language)を用いて記述される。以下で用いられる“ヒューマンインターフェイス”なる用語は、コンピュータ上で動作するアプリケーションプログラムと人間が対話(interact)するための如何なる種類のアプリケーションインターフェイスをも表す。ヒューマンインターフェイスの例には、グラフィカルユーザインターフェイス（ＧＵＩ）またはボイスユーザインターフェイス（ＶＵＩ）がある。
【０００３】
一般には、ＳＩＤＬは、“拡張マークアップ言語”(XML; Extensible Markup Language)を基にした言語であって一組のレイアウトコンポーネント(layout component)を提供する。レイアウトコンポーネントは、ヒューマンインターフェイスの特定のエレメントを記述する記述命令(description instruction)から成る。以下では、この記述命令をレイアウトエレメント(layout element)と称す。変換ルール(transform rules)を含む変換プログラム(transformer program)は、レイアウトエレメントをブラウザ対応のデスクリプションに変換する。
【０００４】
ブラウザは、以下のように、“ハイパーテキストマークアップ言語”(HTML; Hyper Text Markup Language)、“ワイヤレスマークアップ言語”(WML; Wireless Markup Language)、または“音声拡張マークアップ言語”(VXML; Voice Extensible Markup Language)のようなマークアップ言語で記述されたドキュメントを、このドキュメントのビジュアルまたはオーディオプレゼンテーションに“翻訳(render)”するコンピュータプログラムである。ブラウザは、装置特定(device specific)のものであり得る。例えば、パーソナルコンピュータ画面上のＨＴＭＬドキュメントを翻訳するブラウザは、ワイヤレスアプリケーションプロトコル（ＷＡＰ）の携帯電話ディスプレイ上のＷＭＬドキュメントを翻訳するブラウザとは異なる。
【０００５】
ブラウザ対応のデスクリプションは、ヒューマンインターフェイスの一部としてのコンピュータの出力装置上で、対応するビジュアルまたはオーディオレイアウトエレメントに従来ブラウザにより翻訳され得る。ＳＩＤＬにおいて、レイアウトエレメントは、一般には、“行(row)”、“セル(cell)”、“テーブル(table)”、“グリッド(grid)”等のようなアプリケーション独立の特性を有している。以下では、このようなレイアウトエレメントを基本レイアウトエレメントと称す。基本レイアウトエレメントは、任意のアプリケーションの如何なるコンテキスト(context)においても再使用することができる。
【０００６】
しかしながら、アプリケーション特定ヒューマンインターフェイスを生成することを欲するアプリケーションプログラマは、そのアプリケーションの分野において知られた記述的用語(descriptive term)を用いることによりこのヒューマンインターフェイスを記述することを望む。以下では、用語“アプリケーションプログラマ”は、ヒューマンインターフェイスを作成するユーザをも含む。例えば、会社の経理担当管理者(controller)は、その会社における他の管理者から次の会計年度の計画資料を得るためのヒューマンインターフェイスを設計するときに“アプリケーションプログラマ”になり得る。例えば、通覧インターフェイス(survey interface)を記述する際、前もってリストアップされたアプリケーション独立の用語の代わりに“質問表(questionnaire)”または“質問(question)”のような用語を用いることによりヒューマンインターフェイスの構造を記述することは便利である。アプリケーション特定レイアウトエレメントをＳＩＤＬに付け加えれば、ＳＩＤＬが分かりづらくなる。多くの異なるレイアウトエレメントは、類似又は等しい複数のビジュアルレイアウトエレメントを結果として生じ、従って標準化されたＳＩＤＬを余剰のアプリケーション特定レイアウトエレメントを通してオーバロード(overload)する。この余剰分は、ますます増加するレイアウトエレメントのリストから適切なレイアウトエレメントを効率良く識別することにおいてアプリケーションプログラマを煩わせる。さらに、新たなレイアウトエレメントが付け加えられるたびに、毎回、変換プログラムを調整しなければならない。なぜなら、新たなレイアウトエレメント用の変換ルールを付け加える必要があるからである。これはＳＩＤＬにとって不都合な手続きである。なぜなら、規格というものは頻繁に変えられるべきではないからである。
【０００７】
さらに、ワールドワイドウェブコンソーシアム（Ｗ３Ｃ）のXforms 1.0 規格(2001年６月８日）において、全ヒューマンインターフェイス設計過程を通じてデータ情報およびレイアウト情報が分離されるという前提(assumption)が設けられた。これは、アプリケーションにおいて使用されるデータモデルの正確な知識を要求とする。以下では、データモデルは、ヒューマンインターフェイスによって使用（ディスプレイ、プレイ、キャプチャ、等）されるデータのデータ記述に相当する。しかしながら、ヒューマンインターフェイスの設計が開始するときに、そのデータモデルが未知であるアプリケーションが存在する。例えば、アプリケーションプログラマが通覧(survey)アプリケーションを作成するとき、通常、通覧フォーム（質問表）を通して得られるべき情報は、その通覧を開発している間に定められる。入力フィールドは、それがその設計過程の間に定められると、上記フォームに付け加えられる。一般に、対応するデータ（例えば、質問グループへの多様な質問のグループ分けのようなデータ間の従属関係）を記述するデータモデルは存在しない。
【０００８】
さらに、ユーザがヒューマンインターフェイスを通じてＷｅｂアプリケーションと情報をやり取りする（例えば、ユーザがデータをサブミットする）とき、通常、ヒューマンインターフェイスは、その初期状態において翻訳(render)される。相互のやり取りの前に、ヒューマンインターフェイスのレイアウトステータス(layout status)がよく失われる。なぜなら、アプリケーションがそれを記憶しないからである。
【発明の開示】
【課題を解決するための手段】
【０００９】
従って、本発明は、標準化基本レイアウトエレメント(standardized layout elements)を変更することなく、アプリケーション特定レイアウトエレメントを提供すること及びそれらを標準化基本レイアウトエレメントを介してブラウザ対応のデスクリプション言語に変換(transform)することの技術的課題を解決するための方法、コンピュータシステムおよびコンピュータプログラムプロダクト(product)を提供する。
【００１０】
説明の便宜のため、および本発明を限定する意図はないものとした上で、本発明の以下の説明では、ヒューマンインターフェイスはグラフィカルユーザインターフェイスであるものと仮定する。しかしながら、用語“レイアウトエレメント”は、以下ではグラフィカルレイアウトエレメントを表現するために用いられ、またボイスヒューマンインターフェイスにおける意味を有し、それは、特定の対話（相互のやりとり(interaction)）図式に付随するサウンド（例えば、話し言葉）のシーケンスに対応する。
【００１１】
本発明の第１の好ましい実施形態による技術的課題に対する解法は、次の特徴により提供される。
ａ）所定のアプリケーション特定ヒューマンインターフェイスデスクリプションは、複数のアプリケーション特定レイアウトエレメントを備える。
ｂ）コンピュータシステムは、アプリケーション特定ヒューマンインターフェイスデスクリプションを、複数の基本レイアウトエレメントを備える標準化ヒューマンインターフェイスデスクリプション(standardized human interface description)に変換(transform)する。
ｃ）コンピュータシステムは、標準化ヒューマンインターフェイスデスクリプションをブラウザ対応のヒューマンインターフェイスデスクリプションにコンバート(convert)する。
【００１２】
アプリケーションプログラマがコンピュータシステムのアプリケーションヒューマンインターフェイス開発ツールをより良く制することが本発明の利点である。アプリケーション特定レイアウトエレメント（ＡＳＬＥ）は、一般に、標準化されたＳＩＤＬのレイアウトエレメント（ＢＬＥ）よりも高い抽象作用(abstraction)を有する。これは、効率の良いアプリケーション特定ヒューマンインターフェイス開発の工程を支援する。なぜなら、アプリケーションプログラマは、そのアプリケーションのために具体的に設計された少数のレイアウトエレメントを使用できるからである。ＳＩＤＬを介したヒューマンインターフェイスのブラウザ対応デスクリプション言語（例えばＨＴＭＬ）へのアプリケーション特定インターフェイスデスクリプション言語（ＡＩＤＬ）の変換を自動化することによってＳＩＤＬが変更されることはない。ＳＩＤＬは、ヒューマンインターフェイスを記述するための、アプリケーション独立かつブラウザ独立の標準化されたフォーマットである。好ましくは、自動化は、“拡張スタイルシート言語変換”(XSLT; Extensible Style sheet Language Transformation)のような、スタイルシート言語変換を用いることにより達成される。ＸＳＬＴは、ＸＭＬドキュメントを他のＸＭＬドキュメントに変換するための言語である。ＸＳＬＴプロセッサは、第１のＸＭＬドキュメントを読み取り、そしてＸＳＬスタイルシートにある命令に従い、そしてそれは第２のＸＭＬドキュメントまたはＸＭＬドキュメントの断片(fragment)を出力する。
【００１３】
ヒューマンインターフェイスの自動生成されたブラウザ対応デスクリプションが、レイアウト情報がデータ情報から分離される前にレイアウトにとって編集可能であることは本発明の更なる利点である。これは、アプリケーションプログラマが、ヒューマンインターフェイスの自動生成されたブラウザ対応デスクリプションを洗練するために、標準のＷｅｂオーサリングツールを使用することを可能にする。
【００１４】
さらに、本発明は、レイアウト情報とデータ情報が混在するドキュメントに基づきレイアウト情報からデータ情報を自動的に分離することの技術的課題を解決する。
本発明の第１の好ましい実施形態による技術的課題の解決法は、次の特徴により提供される。
ｄ）コンピュータシステムは、ブラウザ対応ヒューマンインターフェイスデスクリプションを、ヒューマンインターフェイスレイアウトテンプレートおよびデータデスクリプションに分解する。
【００１５】
発明のコンピュータシステムが、当初にデータモデルを欠いているアプリケーションのためにデータモデルを自動生成することは本発明の利点である。これは、データ情報およびレイアウト情報の双方を備えるヒューマンインターフェイスデスクリプションを通じてアプリケーションが規定されるときの例である。この種のアプリケーションの例には、通覧フォームまたはサービス要求用フォームがある。通覧フォームは、通覧設計プロセスの間に規定され且つ予め規定されたデータデスクリプションが存在しない入力または回答フィールド(answer field)を備えてもよい。サービス要求はまた、予め規定されないフィールドを備えてもよい。例えば、もしサービスが極めて頻繁に使用されないのであれば、そのサービスのための所定のデータデスクリプションは存在しなくてもよい。
【００１６】
さらに、本発明は、コンピュータとのユーザとの対話(interaction)の後にヒューマンインターフェイスを用いてユーザに指示(prompt)する技術的課題を解決する。ここで、上記ヒューマンインターフェイスは、対話の前のそのステータスを“記憶(remember)”する。この文脈における“記憶”は、階層の拡張ステータス(expansion status of hierarchy)のような、レイアウトエレメントのステータスを保持する本発明のコンピュータシステムの能力を記述するために使用される。
【００１７】
本発明の第１の好ましい実施形態による技術的課題の解決法は、次の特徴により提供される。即ち、本コンピュータシステムは、
ｅ）データデスクリプションからデータインスタンスを作成し、
ｆ）そのデータインスタンスをヒューマンインターフェイスレイアウトと共に個々のブラウザ対応ヒューマンインターフェイスデスクリプションにマージ(merge)し、
ｇ）データ入力のためにユーザに指示(prompt)するための個々のブラウザ対応ヒューマンインターフェイスデスクリプションを翻訳し、
ｈ）ユーザからデータを受け取り、
ｉ）データインスタンスにそのデータを格納し、
ｊ）少なくとも一つのレイアウトエレメントのステータスを格納する。
【００１８】
従って、本発明の更なる利点は、ユーザが、ヒューマンインターフェイスを通じてデータを入力し且つデータをサブミットするとすぐに、データサブミッション(data submission)が発生する前と同じステータスを提示するヒューマンインターフェイスを用いて入力指示(prompt)されることである。例えば、ユーザが階層の或るノードに関するデータを入力するために階層を拡張したとき、データサブミッション後の階層の拡張ステータスはデータサブミッション前と同じままである。第１の実施形態において、特徴ａ）〜ｄ）は設計時間で処理されるが、特徴ｅ）〜ｊ）はコンピュータシステムのランタイム(runtime)で処理される。以下では、ランタイム(runtime)は、ヒューマンインターフェイスが実行している（ユーザによって対話形式で使用されている）間に起こることを意味する。デザインタイム(design time)は、ヒューマンインターフェイスがデザインされている間（対話形式で使用される前）に生じることを意味する。
【００１９】
第２に、本発明の第２の好ましい実施形態において、特徴ｃ）およびｄ）は、次の特徴で置き換えられる。
ｋ）コンピュータシステムは、標準化ヒューマンインターフェイスデスクリプションをヒューマンインターフェイスレイアウトおよびデータデスクリプションに分解する。
【００２０】
その利点は、アプリケーション特定ヒューマンインターフェイスデスクリプションから開始するときの個々のブラウザ対応ヒューマンインターフェイスデスクリプションの生成を全自動化することである。個々のブラウザ対応ヒューマンインターフェイスの生成中にユーザ対話が発生しないので、第２の好ましい実施形態は、特徴ｅ）〜ｊ）およびｋ）を備えることによりランタイム処理を拡張することを可能とする。第１の実施形態における特徴ｃ）およびｄ）はデザインタイムに実行される。
【００２１】
ＸＳＬＴのようなスタイルシート言語変換が変換(transformation)またはコンバージョン(conversion)ルールを規定するために代わりに使用される本発明の記述における任意の個所で、当業者は、Ｊａｖａ（登録商標）のような任意のプログラミング言語でそれらのルールを実施することもできる。
【００２２】
本発明の特徴は、添付の特許請求の範囲において特に示された構成要素および組み合わせによって実現され且つ達成される。上述の概要および以下の詳細な説明は代表的なものであって説明的なものに過ぎず、且つ説明されるように本発明を制限するものではない。
【発明を実施するための最良の形態】
【００２３】
可能な限り、同一または類似するパーツを参照するために図面の全体にわたって同一の参照番号が使用されるであろう。説明の便宜上、文末の参照番号一覧に、最も重要な参照番号およびそれらの説明をリストアップする。
【００２４】
図１は、複数のコンピュータ９００，９０１，９０２（または９０ｑ、ただし、ｑ＝０…Ｑ−１であり、Ｑは任意の数）を備える本発明のコンピュータネットワークシステム９９９の簡略化されたブロックダイアグラムを図示する。
【００２５】
コンピュータ９００−９０２は、コンピュータ間ネットワーク９９０を介して接続される。コンピュータ９００は、プロセッサ９１０、メモリ９２０、バス９３０を備え、且つ、状況に応じて入力装置９４０および出力装置９５０（Ｉ／Ｏ装置、ユーザインターフェイス９６０）を備える。図示されたように、本発明は、コンピュータプログラムプロダクト１００（ＣＰＰ）、プログラムキャリア９７０、およびプログラム信号９８０によって与えられ、これらを総じて“プログラム”と称す。
【００２６】
コンピュータ９００に関しては、コンピュータ９０１／９０２は、“リモートコンピュータ”として参照され、コンピュータ９０１／９０２は、例えば、サーバ、ルータ、ピア装置(peer device)、または他の共通ネットワークノードであり、代表的には、コンピュータ９００に関連して述べた構成要素の多くまたは全部を備える。従って、コンピュータ９００における構成要素１００および９１０−９８０はまた、総じて、コンピュータ９０ｑにおいて対応する構成要素１０ｑおよび９１ｑ−９８ｑ（ｑ＝０について示される）を示す。
【００２７】
コンピュータ９００は、例えば、従来型のパーソナルコンピュータ（ＰＣ）、デスクトップおよびハンドヘルド装置、マルチプロセッサコンピュータ、ペンコンピュータ、マイクロプロセッサベースまたはプログラマブルな民生電子機器、ミニコンピュータ、メインフレームコンピュータ、パーソナルモバイルコンピュータ装置、携帯電話、携帯型または固定型パーソナルコンピュータ、パームトップコンピュータ、またはその種の他のものである。
【００２８】
プロセッサ９１０は、例えば、中央演算処理装置（ＣＰＵ）、マイクロコントローラユニット、デジタルシグナルプロセッサ（ＤＳＰ）、またはその種の他のものである。
【００２９】
メモリ９２０は、データおよび命令を一時的または恒久的に格納する要素を象徴する。メモリ９２０が都合よくコンピュータ９００の一部として図示されているが、メモリ機能は、ネットワーク９９０、コンピュータ９０１／９０２、およびプロセッサ９１０自体（例えば、キャッシュ、レジスタ）、またはその他においても提供され得る。メモリ９２０は、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、または他のアクセスオプションを備えるメモリであってもよい。メモリ９２０は、コンピュータ読み取り可能な媒体によって物理的に提供され、例えば、（ａ）ハードディスク、フロッピー（登録商標）ディスクのような磁気媒体、または他の磁気ディスク、テープ、カセットテープ、（ｂ）光ディスク（ＣＤ−ＲＯＭ、デジタルバーサタイルディスク−ＤＶＤ）のような光媒体、（ｃ）ＤＲＡＭ、ＳＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、メモリスティックのような半導体媒体、またはペーパー(paper)のような他の任意の媒体によってもよい。
【００３０】
状況に応じて、メモリ９２０は異なる媒体にわたって分散される。メモリ９２０の部分はリムーバブル(removable)または非リムーバブルであってもよい。コンピュータ９００は、例えばディスクドライブ、テープドライブなどのような、この技術分野でよく知られた装置を使用して媒体からの読み出しおよび媒体への書き込みを行う。
【００３１】
メモリ９２０は、例えば基本入出力システム（ＢＩＯＳ）、オペレーティングシステム（ＯＳ）、プログラムライブラリ、コンパイラ、インタプリタ、およびテキストプロセッシングツールのようなサポートモジュールを格納する。サポートモジュールは、市販されており、そして当業者によってコンピュータ９００上にインストールすることができる。簡単のため、これらモジュールは図示されていない。
【００３２】
ＣＰＰ１００はプログラム命令を備え、状況に応じて、本発明の方法ステップをプロセッサ９１０に実行させるデータを備える。方法ステップは、以下に更に詳細に説明される。換言すると、ＣＰＰ１００は、コンピュータ９００の動作と、ネットワークシステム９９９におけるその相互のやりとり(interaction)を規定する。例えば、制約する意図なしに、ＣＰＰ１００は、任意のプログラミング言語におけるソースコードとして、且つコンパイルされた形式でのオブジェクトコード（“binary code”）として利用可能である。当業者であれば、上述のサポートモジュール（例えば、コンパイラ、インタプリタ、オペレーティングシステム）の任意のものでＣＰＰ１００を使用することができる。
【００３３】
ＣＰＰ１００は、メモリ９２０に格納されているように図示されているが、ＣＰＰ１００は他の場所に配置し得る。ＣＰＰ１００はまたキャリア９７０に具現されてもよい。
【００３４】
キャリア９７０は、コンピュータ９００の外部に図示されている。ＣＰＰ１００をコンピュータ９００に移すために、キャリア９７０は、都合よく入力装置９４０に差し込まれる。キャリア９７０は、大いに上述した媒体（メモリ９２０参照）のような、任意のコンピュータ読み取り可能な媒体として提供される。概して、キャリア９７０は、本発明の方法を実施するためにその中に具現されたコンピュータ読み取り可能なプログラムコード手段を備えるコンピュータ読み取り可能な媒体からなるメーカー品である。さらに、プログラム信号９８０はまた、コンピュータプログラム１００を具現し得る。信号９８０は、ネットワーク９９０上をコンピュータ９００に伝わる。
【００３５】
コンピュータ９００に結びつけて、ＣＰＰ１００、プログラムキャリア９７０、およびプログラム信号９８０を説明したことは都合がよい。状況に応じて、プログラムキャリア９７１／９７２（図示なし）およびプログラム信号９８１／９８２は、コンピュータ９０１／９０２においてプロセッサ９１１／９１２（図示なし）によって実行されるべきコンピュータプログラムプロダクト（ＣＰＰ）１０１／１０２をそれぞれ具象化する。
【００３６】
入力装置９４０は、コンピュータ９００による処理のためにデータおよび命令を提供する装置を象徴する。例えば、装置９４０は、キーボード、ポインティングデバイス（例えばマウス、トラックボール、カーソル方向キー）、マイクロホン、ジョイスティック、ゲームパッド、スキャナである。その例はヒューマンインタを備える装置であるが、装置９４０は、ワイヤレスレシーバ（例えば衛星放送受信アンテナまたは地上波アンテナ）、センサ（例えば温度計）、カウンタ（例えば工場における物品カウンタ）のように、人間と対話することなく動作することもできる。入力装置９４０は、キャリア９７０を読み取る役目を果たすこともできる。
【００３７】
出力装置９５０は、命令および処理されたデータを与える装置を象徴する。例えば、モニタまたはディスプレイ、ブラウン管（ＣＲＴ）、フラットパネルディスプレイ、液晶ディスプレイ（ＬＣＤ）、スピーカ、プリンタ、プロッタ、バイブレーション警報装置である。上述と同様に、出力装置９５０は、ユーザとコミュニケーションをとるが、さらにコンピュータと通信することもできる。
【００３８】
入力装置９４０および出力装置９５０は、単一の装置に一体化されることができ、装置９４０および９５０の何れも任意的(optional)に提供され得る。
【００３９】
バス９３０およびネットワーク９９０は、命令およびデータ信号を伝えることにより論理的および物理的接続を提供する。一方、コンピュータ９００内部の接続は、都合の良いことに、“バス９３０”として参照され、コンピュータ９００−９０２の間の接続は、“ネットワーク９９０”として参照される。状況に応じて、ネットワーク９９０は、データ伝送およびプロトコルコンバージョンを専門にするコンピュータであるゲートウェイを備える。
【００４０】
装置９４０および９５０は、バス９３０によって（図示するように）、またはネットワーク９９０によって（任意的）、コンピュータ９００に接続される。一方、コンピュータ９００内部の信号は大部分が電気的信号であり、ネットワークにおける信号は、電気的、磁気的、光学的またはワイヤレス（無線）信号である。
【００４１】
ネットワーク環境（ネットワーク９９０のような）は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネット（即ち、ワールドワイドウェブ）においては一般的である。リモートコンピュータとコンピュータ９００との間の物理的な距離は重要ではない。ネットワーク９９０は、有線または無線ネットワークであってもよい。少しばかりのネットワーク実施の名称を挙げると、ネットワーク９９０は、例えば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）；総合デジタル通信網（ＩＳＤＮ）、赤外（ＩＲ）リンク、無線リンク、ユニバーサルモバイルテレコミュニケーションシステム（ＵＭＴＳ）、グローバルシステムフォーモバイルコミュニケーションズ（ＧＳＭ）、符号分割多元接続（ＣＤＭＡ）、または衛星リンクである。
【００４２】
伝送プロトコルおよびデータフォーマットは、例えば、伝送制御プロトコル／インターネットプロトコル(TCP/IP; transmission control protocol/internet protocol)、ハイパーテキストトランスファプロトコル(HTTP; hyper text transfer protocol)、セキュアＨＴＴＰ(secure HTTP)、ワイヤレスアプリケーションプロトコル、ユニークリソースロケータ(URL; unique resource locator)、ユニークリソースアイデンティファイア(URI; unique resource identifier)、ハイパーテキストマークアップ言語HTML(hyper text markup language)、拡張マークアップ言語(XML; extensible markup language)、拡張ハイパーテキストマークアップ言語(XHTML; extensible hyper text markup language)、ワイヤレスアプリケーションマークアップ言語(WML; wireless application markup language)等として知られている。
【００４３】
上記要素間に結合されたインターフェイスもこの技術分野では良く知られている。簡単のためにインターフェイスは図示されていない。インターフェイスは、例えば、シリアルポートインターフェイス、パラレルポートインターフェイス、ゲームポート(game port)、ユニバーサルシリアルバス（ＵＳＢ）インターフェイス、内部または外部モデム、ビデオアダプター(video adaptor)、またはサウンドカード(sound card)である。
【００４４】
コンピュータおよびプログラムは、密接に関連している。以下で用いられるように、“コンピュータが提供する”および“プログラムが提供する”というような言い回しは、プログラムによって制御されるコンピュータによる動作を表現するための便利な省略形である。
【００４５】
本発明にとって、コンピュータプログラム、ファイル、またはドキュメントがコンピュータシステム９９９のどこに格納されているかは重要ではない。説明の便宜上、それらはコンピュータ９００のメモリ９２０に格納されているものとする。
【００４６】
図２は、ブラウザ対応ヒューマンンタデスクリプションを自動的に生成し且つ処理するための本発明のコンピュータ実施の方法(computer implemented method)の二つの実施形態の簡略化したフローチャートを図示する。
【００４７】
詳細な説明の全体にわたって使用されるヒューマンインターフェイスの例は、通覧(survey)アプリケーションの例である。会社の経理担当管理者は、他の管理者から会計年度２００２年の計画資料を手に入れることを欲する。このため、その経理担当管理者は、種々の質問グループ(question group)からなる通覧質問表(survey questionnaire)を作成する。各質問グループは、“計画コスト(planned cost)”または“計画収入(planned revenues)”のような特定の分野に言及する。各質問グループは、種々の質問を含むことができる。この例で用いられる質問は、質問グループ“計画コスト(planned cost)”に属し、そして“計画トラベルコスト(planned travel cost)：”を取り込む。その質問に対する入力を指示(prompt)された管理者は、その質問の隣に、それらの計画データ(planning data)を入力し、そして該当する計画データを記入した後にそのデータをサブミットする。
【００４８】
デスクリプションにおいて用いられるプログラムコーディング部分は、代表的なものであって説明的なものに過ぎず、且つ完全機能のコンピュータプログラムを提供することを意図したものではない。
【００４９】
図２Ａは、方法４００の第１の好ましい実施形態を図示する。
方法４００は、
ａ）所定のアプリケーション特定ヒューマンインターフェイスデスクリプション１１０を提供するステップ４１０と、
ｂ）アプリケーション特定ヒューマンインターフェイスデスクリプション１１０（図４参照）を、標準化ヒューマンインターフェイスデスクリプション１２０に変換するステップ４２０とを備える。
【００５０】
方法４００の第１の実施形態は、任意的に、ステップｃ）からｊ）をさらに備える。即ち、
ｃ）標準化ヒューマンインターフェイスデスクリプション１２０を、ブラウザ対応ヒューマンインターフェイスデスクリプション１３０（図４参照）にコンバート(convert)するステップ４３０と、
ｄ）ブラウザ対応ヒューマンインターフェイスデスクリプション１３０を、ヒューマンインターフェイスレイアウトテンプレート１４０−１およびデータデスクリプション１４０−２（図５Ｂ）に分解するステップ４５０と、
ｅ）データデスクリプション１４０−２からデータインスタンス１５０（図７参照）を作成するステップと、
ｆ）データインスタンス１５０を、ヒューマンインターフェイスレイアウトテンプレート１４０−１と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション１６０（図７参照）にマージ(merge)するステップ４７０と、
ｇ）個々のブラウザ対応ヒューマンインターフェイスデスクリプション１６０を翻訳して、ユーザ（図示なし）にデータ入力を指示(prompt)するステップ４７５と、
ｈ）データ１７０（図示なし）をユーザから受け取るステップ４８０と、
ｉ）上記データ１７０をデータインスタンス１５０に格納するステップ４８５と、
ｊ）少なくとも一つの基本レイアウトエレメント１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７（図６参照）のステータスを格納するステップ４９０とを備える。
【００５１】
ここで上記ステップを詳細に説明する。
提供ステップ４１０において、コンピュータシステム９９９（図１参照）は、所定のアプリケーション特定ヒューマンインターフェイスデスクリプション１１０を提供する。好ましくは、所定のアプリケーション特定ヒューマンインターフェイスデスクリプション１１０は、マークアップ言語記述ドキュメントである。
【００５２】
ＸＭＬのような任意のマークアップ言語は、アプリケーション特定レイアウトエレメント（ＡＳＬＥ）の複数１１１（図４参照）を規定する目的を果たす。表１は、三つの特定のアプリケーション（通覧(survey)、財務報告(financial reporting)、サービス要求(service request)）のコンテキスト(context)におけるＡＳＬＥの代表例を示す。
【００５３】
【表１】
2008198229.tif 000003
【００５４】
表１は、アプリケーションと、これらアプリケーション特定レイアウトエレメント（ＡＳＬＥ）の例である。
【００５５】
表２は、ＡＳＬＥ質問表、質問グループ、および質問を用いた通覧アプリケーション特定ヒューマンインターフェイスデスクリプションのＸＭＬコードの例を与える。この例において、タグ（＜＞）の中の接頭辞“que：”（表２参照）は、アプリケーション“通覧(survey)”のネームスペースを表す。以下のライン番号は表２を引用する。この例は、ネーム属性“survey”（ライン２）を有する質問表１１２（図６参照）を示す。質問表１１２は、ネーム属性“planned_costs”（ライン３）を有する質問表１１３を備える。質問グループ１１３は、ネーム属性“travel”（ライン４）を有する質問１１４を備える。各ネーム属性は、相対的なデータパスを表す。この例においては、種々のＡＳＬＥのネーム属性は、ネーム属性において相対的なデータパスから完全なデータパス“//survey/planned_costs/travel”を構築する。完全なデータパスは、通覧アプリケーションのデータアプリケーションの一部になる。完全なデータパスは、質問１１４に対するデータの格納場所を特定する。相対的データパスを使用することは、アプリケーションプログラマがネーム属性を調整することなくＡＳＬＥ定義(ASLE definition)を再使用することを可能にする。例えば、ＡＳＬＥ質問１１４は、任意のＡＳＬＥ質問グループにコピーでき、そして完全なデータパスは、対応するＡＳＬＥのネーム属性において相対的データパスを連結することにより正しく構築される。
【００５６】
任意的に、絶対的データパスを使用することができる。この例では、質問１１４のネーム属性は、完全なデータパス“//survey/planned_costs/travel”である一方、質問グループ１１３および質問１１２のネーム属性は完全なデータパスに使用されない。好ましくは、そのデータパスは、この技術分野において知られているＸパス表記法を使用する。
【００５７】
Ｘパス（ＸＭＬパス言語）は、ドキュメントの論理的構造または階層を通してパスに基づきアドレッシングシンタックスを用いることによりＸＭＬにおいて項目を捜し出して処理するための方法を記述する言語である。Ｘパス言語は、“Ｘパス  Ｗ３Ｃ  勧告  バージョン１．０、１９９９年１１月１６日”に述べられている。Ｘパスはまた、より高い抽象化(abstraction)レベルでアプリケーションプログラマがドキュメントを取り扱うことを可能にする。Ｘパスは、ＸＳＬＴおよびＸポインタ（ＳＭＬポインタ言語）の双方によって使用され且つそれら双方の一部として特定される言語である。それは、ＸＭＬ情報セット(Infoset)において規定された情報アブストラクションを使用する。Ｘパスは、ＸＭＬシンタックスそれ自体を使用しないので、ＸＭＬ以外のコンテキストにおいては使用できない。
【００５８】
【表２】
2008198229.tif 000004
【００５９】
表２は、通覧の例におけるアプリケーション特定ヒューマンインターフェイスデスクリプションドキュメント１１０である。
【００６０】
質問１１４は、属性テキスト１１４−１、スタイル１１４−２、ビジブル(visible)１１４−３、およびデフォルト１１４−４を備える。テキスト属性１１４−１“Planned travel costs 2002 : ”は、ユーザに対する質問の題目(subject)を示す。スタイル属性１１４−２“入力フィールド(inputField)”は、質問タイプ(question type)を記述し、ここで回答は入力フィールド(input field)に書き込まれる。他のスタイルの例は、“ラジオボタン(radioButton)”であり、ここではユーザは、ラジオボタンを選択することにより複数の選択肢から選択することができる。動的なビジブル属性１１４−３“{Boolean(//survey/planned_costs/travel)}”は質問の表示を制御する。データパス“//survey/planned_costs/travel”が通覧アプリケーションのデータデスクリプションに存在する場合、質問が表示される（目に見えるようになる）。デフォルト属性１１４−４は、デフォルト値“０．０”を質問のデータパスに割り当てる。ライン５−７において、閉タグ＜／…＞は、対応するＡＳＬＥ定義の終わりを規定する。
【００６１】
変換ステップ４２０において、アプリケーション特定ヒューマンインターフェイスデスクリプション１１０は、標準化ヒューマンインターフェイスデスクリプション１２０に変換される。好ましくは、標準化ヒューマンインターフェイスデスクリプション１２０はマークアップ言語デスクリプションである。ＸＭＬのような任意のマークアップ言語は、基本レイアウトエレメント１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７の複数１２１を規定する目的を果たす。好ましくは、ＸＳＬＴのようなスタイルシート言語変換が変換ルールを使用することにより変換ステップ４２０を実行する。通覧の例における変換ルールの例が表３に示されている。
【００６２】
以下のライン番号は表３を引用する。ライン１は、ＸＭＬドキュメントの開始を示す。ライン２は、ＸＳＬＴ変換の開始を示す。接頭辞“xs1:”は、ＳＩＤＬにおけるＢＬＥの定義を示す。
【００６３】
ライン４は、ＡＳＬＥ質問表１１２のための変換ルールの開始を示す。質問表１１２と一致するＢＬＥはページ(page)１２７（ライン５）である。ＢＬＥページ１２７は、他のレイアウトエレメント（ライン６）を備える。ライン７および８は、質問表変換ルールを閉じる。
【００６４】
ライン９は、ＡＳＬＥ質問グループ(ASLE questionGroup)１１３のための変換ルールの開始を示す。質問グループ１１３と一致するＢＬＥはグリッド(Grid)１２２（ライン１０）である。グリッド(Grid)１２２は、質問グループ１１３における質問の数に相当する多くの行(row)と二つの列(column)（ライン１０）を備える。ライン１１は、グリッド(Grid)１２２におけるＢＬＥ（例えば行）をさらに備える。ライン１２および１３は、質問グループ変換ルールを閉じる。
【００６５】
ライン１４は、質問グループ１１３におけるＡＳＬＥ質問(ASLE question)１１４のための変換ルールの開始を示す。質問１１４は、二つのセル(cell)１２４−１，１２４−２（ＢＬＥ）と共にＢＬＥ行(BLE Row)１２３（ライン１５）に変換される。行１２３は、質問属性ビジブル(question attribute visible)１１４−３から導き出される行属性“visible”を運ぶ。
【００６６】
ＢＬＥセル１２４−１（ライン１６）は、ＢＬＥテキスト出力(BLE TextOutput)１２６を備える。テキスト出力１２６は、質問属性テキスト１１４−１（ライン１７）と一致する。セル１２４−２（ライン１９）は、ＢＬＥフィールド入力(FieldInput)１２５（ライン２２）を含む。フィールド入力１２５は、質問スタイル属性１１４−２である入力フィールド(InputField)（ライン２１）と一致する。さらに、質問デフォルト属性１１４−４の値はＢＬＥフィールド入力(BLE FieldInput)１２５（ライン２２）に割り当てられる。フィールド入力１２５においてユーザから受け取った入力データ１７０（図７参照）は、ネーム属性（ライン２３，２４）における相対的データパスを用いることによって構築される対応した完全なデータパスの下に格納される。ライン１８および２５ないし３１は、質問ＡＳＬＥのための変換ルールを閉じる。
【００６７】
【表３Ａ】
2008198229.tif 000005
【００６８】
【表３Ｂ】
2008198229.tif 000006
【００６９】
表３は、通覧(survey)の例におけるＡＳＬＥからＢＬＥへの変換ルールである。
通覧の例において、コンピュータシステム９９９（図１参照）のプロセッサ９１０は、表３の変換ルールに関して表２を処理する。この変換の出力を表４に示す。表４は、ＡＳＬＥの複数１１１に代えてＢＬＥの複数１２１を備える表２と同様のヒューマンインターフェイス９５１（図６参照）を記述するＸＭＬドキュメントに対応する。表４におけるＢＬＥは、表３の対応する変換ルールによって表２のＡＳＬＥから導き出される。この変換の利点は、ヒューマンインターフェイス９５１を記述するために、アプリケーション独立かつブラウザ独立の標準化されたフォーマットである。
【００７０】
以下のライン番号は表４を引用する。ＢＬＥページ(BLE page)１２７は、ライン２において規定され、そしてライン１４において閉じられる。ページ１２７はＢＬＥをさらに備える。ライン４は、ＡＳＬＥ質問グループ(ASLE questionGroup)１１３から導き出されるＢＬＥグリッド(BLE Grid)１２２を記述する。この例におけるグリッド１２２は、一つの行(row)と二つの列(column)を備える。グリッド１２２は、ＡＳＬＥ質問(ALSE question)１１４から導き出されるＢＬＥ行(BLE Row)を備える。行１２３はビジブル属性(visible attribute)１１４−１（ライン５）を運ぶ。行１２３はＢＬＥ１２５、１２６（ライン９，６）を備える。ＢＬＥ１２６は、質問テキスト属性(question text attribute)１１４−１（ライン７）から導き出される。ＢＬＥ１２５は質問スタイル属性(question style attribute)１１４−２（ライン１０）から導き出され、そしてデフォルト属性１１４−４はＢＬＥ１２５のデフォルト属性のままでいる。ＢＬＥ１２５のデータのための完全なデータパスは、表３の質問変換ルールによって決定される。ライン８および１１−１４は、対応するＢＬＥの閉コマンド(closing command)である。
【００７１】
【表４】
2008198229.tif 000007
【００７２】
表４は、通覧の例における標準化ヒューマンインターフェイスデスクリプションドキュメント１２０である。
【００７３】
任意的なコンバート(converting)ステップ４３０において、標準化インターフェイスデスクリプション１２０は、ブラウザ対応ヒューマンインターフェイスデスクリプション１３０（図４参照）にコンバート(convert)される。好ましくは、ブラウザ対応ヒューマンインターフェイスデスクリプション１３０は、マークアップ言語デスクリプションドキュメントである。例えば、パーソナルコンピュータ上の従来のブラウザ用のドキュメントはＨＴＭＬまたはＸＨＴＭＬで記述できる。好ましくは、標準化ヒューマンインターフェイスデスクリプションドキュメント１２０からブラウザ対応ヒューマンインターフェイスデスクリプションドキュメント１３０へのコンバージョン(conversion)は、適切なコンバージョンルールを用いることによりＸＳＬＴのようなスタイルシート言語変換を通して実行される。例えば、ＸＳＬＴによるＸＨＴＭＬへのＸＭＬドキュメントのコンバージョンはこの技術分野では知られている。好ましくは、コンバージョンルールは、表３で述べられた変換ルールと類似の方法で実施される。好ましくは、プロセッサ９２０が、標準化ヒューマンインターフェイスデスクリプションドキュメント１２０にコンバージョンルールを適用し、そしてＢＬＥが、ブラウザ対応ヒューマンインターフェイスデスクリプションドキュメント１３０の対応するブラウザ対応マークアップ言語命令にコンバートされる。このコンバージョンの利点は、ブラウザ対応ヒューマンインターフェイスデスクリプションドキュメント１３０が、マイクロソフト（登録商標）FrontPageまたはアドビ（登録商標）GoLiveのような標準的なｗｅｂオーサリングツールを用いてレイアウトの更なるリファインのためにユーザによって編集可能である。
【００７４】
表５は、通覧の例におけるブラウザ対応ヒューマンインターフェイスデスクリプション１３０のＸＨＴＭＬドキュメント例を図示する。標準的なＨＴＭＬ命令は、当業者に知られているので、詳細に説明しない。以下のライン番号は表５を引用する。ＢＬＥページ(BLE page)１２７（図６参照）は、ライン１−６および２２−２４にコンバートされ、そこではライン６はページ１２７についての対話方法(interaction method)を規定する。ＢＬＥグリッド(BLE grid)１２２は、一つの行１２３（ライン１０，１９）を備えるライン９，２０のテーブル命令(table instruction)にコンバートされる。セル１２４−１のコンバージョンは、結果としてライン１１−１３を生じ、且つセル１２４−２のコンバージョンはライン１４−１８を生じる。ライン１２の“span”タグは、ＢＬＥ１２６（表４、ライン７参照）に由来する。入力フィールド命令（ライン１６）のネーム属性は完全なデータパスに対応する。
【００７５】
【表５】
2008198229.tif 000008
【００７６】
表５は、通覧の例におけるブラウザ対応ヒューマンインターフェイスデスクリプションドキュメント１３０である。
【００７７】
入力フィールド命令は、更なる属性タイプおよび値を運ぶ。タイプ属性“text”は、フィールド入力ＢＬＥ(FieldInput BLE)１２５（表４、ライン１０参照）に由来し、且つその値は、対応するデフォルト値“０．０”に由来する。
【００７８】
任意的な分解ステップ４５０において、コンピュータシステム９９９は、ヒューマンインターフェイスレイアウトテンプレート１４０−１およびデータデスクリプション１４０−２（図５Ｂ参照）を、ブラウザ対応ヒューマンインターフェイスデスクリプション１３０から抽出する。最初に述べたように、通覧またはサービス要求のようないくつかのアプリケーションに対しては、データデスクリプションは、そのアプリケーションのためのヒューマンインターフェイス９５１（図６参照）が記述されるときに、その時点で時間内に存在しない。従って、いくつかのアプリケーションについて、ブラウザ対応ヒューマンインターフェイスデスクリプションドキュメント１３０は、レイアウト情報とデータデスクリプションの混合を含む。好ましくは、ランタイム中にデータはレイアウト情報とは別に格納される。このことは、各データインスタンスで余剰のレイアウト情報を格納することなく、ユーザ特定およびアプリケーション特定のデータのインスタンス化を可能とする。好ましくは、分解ステップ４５０は、ＸＳＬＴのようなスタイルシート言語変換をブラウザ対応ヒューマンインターフェイスデスクリプション１３０に適用することにより実施される。レイアウトテンプレート１４０−１を抽出するステップ４５１、およびデータデスクリプション１４０−２の詳細は図３Ｂに基づき説明される。
【００７９】
更なる任意的なステップ、即ち、ｅ）インスタンス化するステップ４６０、ｆ）マージステップ４７０、ｇ）翻訳ステップ４７５、ｈ）受取ステップ４８０、ｉ）データ格納ステップ４８５、およびｊ）ステータス格納ステップ４９０は図７に基づいて詳細に説明される。
【００８０】
図２Ｂは、第２の、方法４００の好ましい実施形態を図示する。第１の実施形態（図２Ａ参照）との相違点は、ステップｃ）およびｄ）（標準化デスクリプション４３０をコンバートするステップ、およびブラウザ対応デスクリプション４５０を分解するステップ）を、標準化デスクリプション４４０を分解するステップｋ）で置き換えたことである。第１の実施形態において、アプリケーションプログラマは、ステップ４３０の後にヒューマンインターフェイスレイアウトデスクリプションをリファインすることができ、そして分解ステップ４５０は、リファインされたレイアウトデスクリプション（ブラウザ対応ヒューマンインターフェイスデスクリプション１３０）に基づき実行される。それに対し、第２の実施形態においては、分解ステップ４４０は、標準化ヒューマンインターフェイスデスクリプション１２０に基づき自動的に実行される。この例における自動的ヒューマンインターフェイスの生成は、アプリケーションプログラマがレイアウトをリファインすることを許容しない。分解ステップ４４０において、コンピュータシステム９９９は、標準化ヒューマンインターフェイスデスクリプション１２０から、ヒューマンインターフェイスレイアウトテンプレート１４０−１およびデータデスクリプション１４０−２（図５Ａ参照）を抽出する。好ましくは、分解ステップ４４０は、ＸＳＬＴのようなスタイルシート言語変換を、標準化ヒューマンインターフェイスデスクリプション１２０に適用することにより実施される。レイアウトテンプレート１４０−１を抽出するステップ４４１、およびデータデスクリプション１４０−２を抽出するステップ４４２は、図３Ａに基づき説明される。
【００８１】
図３は、方法４００のいくつかのステップの詳細を示す。
図３Ａは、分解ステップ４４０のサブステップ、即ち、レイアウトテンプレート１４０−１（図５Ａ参照）を抽出するサブステップ４４１と、データデスクリプション１４０−２を抽出するサブステップ４４２を図示する。
【００８２】
レイアウトテンプレート抽出ステップ４４１において、コンピュータシステム９９９は、好ましくは、ＸＳＬＴ（表６参照）のようなスタイルシート変換を用い、標準化ヒューマンインターフェイスデスクリプション１２０（図５Ａ参照）を処理してレイアウトテンプレート１４０−１を生成する。
【００８３】
説明の便宜上、表６は、ＢＬＥフィールド入力(BLE FieldInput)１２５（表４、ライン１０参照；図６参照）のための変換ルールの例を含む。なぜなら、ＢＬＥフィールド入力１２５がレイアウト情報とデータの両方を含むからである。他のレイアウトエレメントのための変換ルールは、従って如何なる当業者によっても規定することができる。明示的な表の引用を除いては以下のライン番号は表６を引用する。
【００８４】
【表６】
2008198229.tif 000009
【００８５】
表６は、通覧の例における標準化ヒューマンインターフェイスデスクリプション１２０からレイアウトテンプレート１４０−１を抽出するための変換ルールである。
【００８６】
ライン１，１４は、ＸＳＬ変換ドキュメントを示す。ライン３，１２は、ＢＬＥフィールド入力(BLE FieldInput)１２５のための変換ルールを含む。ライン４は、もとの表４のライン１０に適用されたときに目標の表７を生成する。目標の表７は、通覧の例におけるレイアウトテンプレート１４０−１の好ましいＸＳＬＴの実施である。デフォルト属性値“０．０”（元の表４、ライン１０参照）の形式におけるデータ情報は、レイアウトテンプレート１４０−１の中に生成されない。ここでレイアウト情報はデータから分離される。しかし、代替物(placeholder)が、対応するデータにリンクすることを可能にする。
【００８７】
【表７】
2008198229.tif 000010
【００８８】
表７は、通覧の例におけるレイアウトテンプレートドキュメント１４０−１である。
【００８９】
ライン５−１０は、“value-of”命令（表７、ライン１３）を備える値属性(value attribute)のために目標の表７のライン１２，１４におけるＸＳＬ属性命令を生成する。“value-of”命令は値が格納される場所を示し（例えば、データインスタンス１５０；図７参照）、従って、分離されたレイアウトおよびデータ情報のリンクを提供する。
【００９０】
データデスクリプション抽出ステップ４４２において、コンピュータシステム９９９は、データデスクリプション１４０−２を生成するために、好ましくはＸＳＬＴのようなスタイルシート変換を用いて、標準化ヒューマンインターフェイスデスクリプション１２０（図５Ａ参照）を処理する。通覧の例において、ＸＳＬ変換は、ネームドキュメントについてドキュメントをスキャンすることにより、表４におけるＸＭＬドキュメントを処理する。データパス情報を備えるネーム属性が検出されるたびに、対応するタグ(<data_path_element>,</data_path_element>)が、各データパスエレメントについてデータデスクリプションドキュメント１４０−２（表８参照）に挿入される。好ましくは、データデスクリプションドキュメント１４０−２は、ＸＭＬのようなマークアップ言語で記述される。ネーム属性“//survey/planned_costs/travel”は表４のライン１０において検出される。通覧の例において結果として生じるデータデスクリプション１４０−２は表８に示される。以下のライン番号は表８を引用する。ライン１は、ＸＭＬドキュメントを示す。ライン２−４は、デフォルト値“０．０”（ライン４）のデータパス“//survey/planned_costs/travel”を規定する。閉タグ</…>（ライン４から６）は、データパスの定義を完結する。
【００９１】
【表８】
2008198229.tif 000011
【００９２】
表８は、通覧の例におけるデータデスクリプションドキュメント１４０−２である。
【００９３】
図３Ｂは、分解ステップ４５０のサブステップ、即ち、レイアウトテンプレート１４０−１（図５Ａ参照）を抽出するサブステップ４５１と、データデスクリプション１４０−２を抽出するサブステップ４５２を図示する。
レイアウトテンプレート抽出ステップ４５１において、コンピュータシステム９９９は、レイアウトテンプレート１４０−１を生成するために、好ましくはＸＳＬＴのようなスタイルシート変換を用いて、ブラウザ対応ヒューマンインターフェイスデスクリプション１３０（図５Ｂ参照）を処理する。表９は、通覧の例について、ブラウザ対応ヒューマンインターフェイスデスクリプション１３０（元の表５参照）をレイアウトテンプレート１４０−１（目標の表７参照）に変換する変換ルールを図示する。説明の便宜上、表９は、入力フィールド命令（表５、ライン１６）のための変換ルールの例を含む。なぜなら、入力フィールド命令は、レイアウト情報およびデータの両方を含むからである。他のレイアウトエレメントのための変換ルールは、従ってこの技術分野のいかなる当業者によっても規定できる。明示的な表の引用を除いては以下のライン番号は表９を引用する。
【００９４】
ライン１は、ＸＳＬＴドキュメントの開始を示す。ライン３，１３は、それに含まれたコーディング(coding)が、もとの表５（表５、ライン１６参照）の入力フィールド命令に適合することを示す。ライン４，１２は、結果として目標の表７のライン１１，１５になる元の表５の入力フィールド命令をコピーする。ライン５は、値属性を除いて全ての元の表属性をコピーする。従って、目標の表７のライン１１は値属性を持たない。レイアウト情報は、ここでデータから分離される。しかし、代替物(placeholder)が、対応するデータにリンクすることを許可する。従って、ライン６−１１は、目標の表７のライン１２−１４の中に値属性のためのＸＳＬ命令を生成する。ライン６，７，１１は、目標の表７のライン１２，１４において（入力フィールド命令の）値属性のための属性命令を生成する。ライン８−１０は、データインスタンス１５０における対応する場所から除去されたデータを取り出すために“value-of”命令を備える目標の表７のライン１３を生成する。
【００９５】
【表９】
2008198229.tif 000012
【００９６】
表９は、通覧の例においてブラウザ対応ヒューマンインターフェイスデスクリプション１３０からレイアウトテンプレート１４０−１を抽出するための変換ルールである。
【００９７】
データデスクリプション抽出ステップ４５２において、コンピュータシステム９９９は、データデスクリプション１４０−２を生成するために、好ましくはＸＳＬＴのようなスタイルシート変換を用いて、標準化ヒューマンインターフェイスデスクリプション１３０（図５Ｂ参照）を処理する。
【００９８】
通覧の例において、ＸＳＬ変換は、ネーム属性についてドキュメントをスキャンすることにより表５におけるＸＨＴＭＬドキュメントを処理する。データパス情報を備えるネーム属性が検出されるたびに、データパス情報の各データパスエレメント(<data_path_element>,</data_path_element>)のための対応タグがデータデスクリプションドキュメント１４０−２（表８参照）に挿入される。ネーム属性“/survey/planned_costs/travel”は表５のライン１６において検出される。この通覧の例において結果として生じるデータデスクリプションドキュメント１４０−２は表８に示され、そして既に図３Ａに基づき説明された。
【００９９】
レイアウトテンプレート１４０−１およびデータデスクリプション１４０−２は、図３Ａに基づき述べられた対応ドキュメントと同等である。通覧の例において、表７および８において述べられたドキュメントが生成される。
【０１００】
図４は、本発明の方法４００におけるステップ４２０，４３０で処理されるドキュメント１１０，１２０，１３０を図示する。
所定のアプリケーション特定ヒューマンインターフェイスデスクリプション１１０は、アプリケーション特定レイアウトエレメント１１２，１１３，１１４（図６参照）の複数１１１を備える。好ましくは、ＡＳＬＥは、ＸＭＬ（表２参照）のようなマークアップ言語で記述される。
【０１０１】
コンピュータシステム９９９は、ＡＳＬＥからＢＬＥへの変換（表３参照）のための変換ルールをアプリケーション特定ヒューマンインターフェイスデスクリプション１１０に適用して、それを標準化ヒューマンインターフェイスデスクリプション１２０に変換４２０する。標準化ヒューマンインターフェイスデスクリプション１２０は、基本レイアウトエレメント１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７の複数１２０を備える。好ましくは、ＢＬＥは、ＸＭＬ（表４参照）のようなマークアップ言語で記述され、その変換はＸＳＬＴのようなスタイルシート言語変換である。
【０１０２】
任意的に、コンピュータシステム９９９は、コンバージョンルールを標準化ヒューマンインターフェイスデスクリプション１２０に適用して、ステップ４３０でそれをブラウザ対応ヒューマンインターフェイスデスクリプション１３０にコンバートする。ブラウザ対応ヒューマンインターフェイスデスクリプション１３０は、マイクロソフト（登録商標）FrontPageまたはアドビ（登録商標）GoLoveのようなｗｅｂオーサリングツールを用いて編集可能である。例えば、ブラウザ対応ヒューマンインターフェイスデスクリプション１３０は、マークアップ言語ドキュメント（例えば、ＸＨＴＭＬ）であり、そこでは全てのＢＬＥエレメントが、従来のブラウザ（表５参照）によって翻訳できるマークアップ言語命令（例えばＸＨＴＭＬ命令）にコンバートされる。好ましくは、そのコンバージョンは、ＸＭＬステートメントをＸＨＴＭＬ命令にコンバートするＸＳＬＴのようなスタイルシート言語変換である。
【０１０３】
図５は、方法４００において処理される更なるドキュメント１４０−１，１４０−２を図示する。
【０１０４】
図５Ａは、標準化ヒューマンインターフェイス１２０をレイアウトテンプレート１４０−１およびデータデスクリプション１４０−２に分解するステップ４４０を図示する。レイアウトテンプレート１４０−１を抽出するステップ４４１のための変換ルールは、表６に詳細に記述されている。データデスクリプション１４０−２を抽出するステップ４４２は図３Ａに記述されている。
【０１０５】
図５Ｂは、ブラウザ対応ヒューマンインターフェイスデスクリプション１３０をレイアウトテンプレート１４０−１およびデータデスクリプション１４０−２に分解するステップ４５０を図示する。レイアウトテンプレート１４０−１を抽出するステップ４５１は、表９に詳細に記述されている。データデスクリプション１４０−２を抽出するステップ４４２は、部３Ｂに詳細に記述されている。
【０１０６】
図６は、ＡＬＳＥ１１２，１１３，１１４およびＢＬＥ１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７を図示する。ＡＬＥは実線で示され、ＢＬＥは破線で示される。
【０１０７】
ヒューマンインターフェイスデスクリプションは、ＡＬＳＥで最初に記述される。通覧のレイアウトにおいては、ＡＳＬＥ質問表(ALSEs questionnaire)１１２、質問グループ(questionGroup)１１３および質問(question)１１４が使用される。ＡＳＬＥは、質問表１１２が少なくとも一つの質問グループ１１３を備え且つ質問グループ１１３が少なくとも一つの質問１１４を備えるヒューマンインターフェイス９５１の論理的構造を示す。質問１１４は、属性１１４−１から１１４−４のような属性を備える。例えば、ヒューマンインターフェイス９５１は、、出力装置９５０（図１参照）上に表示される。
【０１０８】
ＳＩＤＬにおけるＢＬＥは、一般にはページ(page)１２７、グリッド(grid)１２２、行(row)１２３、またはセル(cell)１２４−１，１２４−２のようなアプリケーション独立またはグラフィカルなキャラクターを備える。テキスト出力(TextOutput)フィールド１２６または入力フィールド(inputField)１２５のような異なるタイプのデータはセルに割り付けられる。セルは、行およびセルをさらに備える更なるグリッドを実に備えることができ、ここでのラジオボタン、チェックボックスまたは任意の他のデータタイプがセルに割り付けられる。従って、ＢＬＥの一般的性質は、任意の種類のアプリケーション特定ヒューマンインターフェイス９５１を構成することを可能とする。
【０１０９】
本発明は、論理的に構築されたＡＳＬＥ１１２，１１３，１１４をグラフィカルに構築されたＢＬＥ１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７に自動的に変換するための方法４００を提供する。ＡＳＬＥへのＢＬＥの割り当ては、変換ルール（図２、表３の記述参照）として記述されている。通覧の例において、以下の表１０の割り当ては表３の変換ルールにおいて規定されている。
【０１１０】
【表１０】
2008198229.tif 000013
【０１１１】
表１０は、通覧の例におけるＡＳＬＥとＢＬＥの割り当てである。
【０１１２】
図７は、ランタイム中の本発明によるドキュメント１４０−１，１４０−２，１５０，１６０（任意の１２０−１）およびデータ１７０の処理を図示する。ドキュメント１２０−１は、標準化ユーザインターフェイスデスクリプション１２０のランタイムコピー(runtime copy)である。
【０１１３】
本発明の好ましい実施形態において、コンピュータシステム９９９（図１参照）は、ランタイム中に方法４００（図２参照）の残った任意的なステップ、即ち、
ｅ）データデスクリプション１４０−２からデータインスタンス１５０を作成するステップ４６０、
ｆ）データインスタンス１５０をヒューマンインターフェイスレイアウトテンプレート１４０−１と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション１６０にマージするステップ４７０と、
ｇ）ユーザ（図示なし）にデータ入力を指示するためにブラウザ対応ヒューマンインターフェイスデスクリプション１６０を翻訳するステップ４７５と、
ｈ）ユーザからデータ１７０を受け取るステップ４８０と、
ｉ）データ１７０をデータインスタンス１５０に格納するステップ４８５と、
ｊ）少なくとも一つの基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）のステータスを格納するステップ４９０と、
を実行する。
【０１１４】
作成ステップ４６０において、コンピュータシステム９９９は、結果としてデータインスタンス１５０になる更なるランタイム依存のデータ（ランタイム中に生成または修正されたデータ）によってデータデスクリプション１４０−２を補完する。ランタイム依存のデータの例は、ユーザネーム、ドキュメント生成日時、セッションＩＤ、エラーメッセージ等である。好ましくは、データインスタンス１５０は、ＸＭＬドキュメントのようなマークアップ言語である。以下のライン番号は表１１を引用する。通覧の例において、表１１は、そのヘッダ（ライン３，５）にランタイム依存データのユーザネーム（“USER1”、ライン１）を備えるエンベロープ（ライン２，１３）を図示し、一方では、そのデータデスクリプション（ライン７−１１）は、その本体(body)（ライン６，１２）を形成する。エンベロープネームスペースは、接頭辞“env:”により表される。
【０１１５】
【表１１】
2008198229.tif 000014
【０１１６】
表１１は、通覧の例におけるデータインスタンスドキュメント１５０である。
【０１１７】
マージステップ４７０において、レイアウトテンプレート１４０−１は、データインスタンス１５０に適用される。好ましくは、これはデータインスタンス１５０のスタイルシート変換（表７参照）に対応する。
【０１１８】
要求があれば、データインスタンス１５０は、レイアウトテンプレート１４０−１を適用する前に、例えばアプリケーションプログラム（例えばコンピュータ９０１上のコンピュータプログラム１０１）によって修正される。これはインターフェイス１５５を通して達成される。例えば、コンピュータシステム９９９（図１参照）は、（例えばコンピュータ９００上の）データインスタンス１５０のデータをアプリケーションプログラムにインターフェイス１５５を通して転送し、そしてデータインスタンス１５０は、インターフェイス１５５を通してアプリケーションプログラムから修正されたデータを受け取る。この利点は、データインスタンス１５０のアプリケーション特定の初期化(application specific initialization)である。例えば、通覧の例において、ユーザ（例えば、USER1、表１１のライン４参照）は、次の会計年度のための計画トラベルコスト(planned travel costs)を入力することを欲する。対応するデータデスクリプション１４０−２から導き出されるデフォルト値は、“０．０”（表１１、ライン９参照）である。この例において、アプリケーションプログラムは、前会計年度のユーザの実際のトラベルコストを知っている。アプリケーションプログラムはインターフェイス１５５を通して呼び出され、そして前のトラベルコストについての質問を実施する。結果値はインターフェイス１５５を通してデータインスタンス１５０に戻され、そして古いデフォルト値を置き換える。
【０１１９】
表１２は、マージステップ４７０の結果として個々のブラウザ対応ヒューマンインターフェイスデスクリプションドキュメント１６０を示す。好ましくは、ドキュメント１６０は、ＸＨＴＭＬのようなマークアップ言語で記述される。以下のライン番号は表１２を引用する。ドキュメント１６０は、表５におけるドキュメント１３０と類似する。ライン４および１０における相違点は、ステータス格納ステップ４９０において詳細に説明される。通覧の例のライン１９において、データインスタンス１５０（デフォルト値“０．０”）からのデータおよびレイアウト情報（入力）は、表７（レイアウトテンプレート１４０−１）のライン１１−１５が表１１（データインスタンス１５０）に適用されたときにマージされる。
【０１２０】
【表１２Ａ】
2008198229.tif 000015
【０１２１】
【表１２Ｂ】
2008198229.tif 000016
【０１２２】
表１２は、通覧の例における個々のブラウザ対応ヒューマンインターフェイスデスクリプションドキュメント１６０である。
翻訳ステップ４７５（図２参照）において、個々のブラウザ対応ヒューマンインターフェイスデスクリプション１６０は、例えば出力装置９５０（図１参照）上で従来のブラウザによって翻訳される。通覧の例において、ユーザは、図６（破線）に示されるＢＬＥに類似する構造を備える画面で入力を指示される。ユーザは、テキスト出力(Textoutput)ＢＬＥ１２６の中の質問文を読み、そしてデフォルト値が表示されているフィールド入力(FieldInput)ＢＬＥ１２５にデータを入力することを要求される。もし一つよりも多くの質問が表示されれば、全てのデータ入力を終えた後に、ユーザはデータ１７０をサブミットする。例えば、データのサブミッションはヒューマンインターフェイス９５１上の適切な簿欄をクリックすることにより、または入力装置９４０（図１参照）上の“ENTER”キーを選択することにより実施される。
【０１２３】
データを受け取るステップ４８０において、コンピュータシステム９９９のコンピュータ（例えば、コンピュータ９００、図１参照）は、ユーザインターフェイス９６０（図１参照）を経てユーザからデータ１７０を受け取る。データ１７０は、少なくとも一つのデータセットを備える。好ましくは、データ１７０は、データ１７０の書くデータセットについてネームおよび値を備えた形式で受け取られる。好ましくは、各データセットのネームは、データインスタンス１５０に準拠したＸパスであり、且つ対応するデータセットの値の格納場所を示す。表１３は、通覧の例におけるデータ１７０を示す。表１３の各行は、データ１７０のデータセットに対応する。
【０１２４】
【表１３】
2008198229.tif 000017
【０１２５】
表１３は、通覧の例におけるデータ１７０のフォーマットである。
【０１２６】
データ格納ステップ４８５において、データ１７０は、対応する場所のデータインスタンス１５０に格納される。通覧の例において、格納場所は、表１３のネームカラム（例えば、“//survey/planned_costs/travel”）から自動的に知られる。任意的に、データ１７０を格納した後、データ１７０は、マージステップ４７０のデスクリプションと同様に、インターフェイス１５５を用いることによりアプリケーションプログラム（図示なし）によって処理することができる。
【０１２７】
ステータス格納ステップ４９０において、少なくとも一つの基本レイアウトエレメント（１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７）がデータインスタンス１５０に格納される。あるいは、ステータスは、標準化ヒューマンインターフェイスデスクリプション１２０のランタイムコピーに格納することができる（破線）。
【０１２８】
基本レイアウトエレメントのステータスは、ユーザがデータ１７０をサブミットする時間内の時点でのレイアウトエレメントについての情報を備える。例えば、もし、ヒューマンインターフェイス９５１を通したやり取り(interacting)の間にユーザが階層を拡張すれば、その階層の拡張ステータスが格納される。通覧の例においては、ＢＬＥページ１２７のステータスはヒューマンインターフェイス９５１（図６参照）上のカーソルの位置である。ユーザがデータを一つよりも多くのＢＬＥフィールド入力(FieldInput)に入力する場合、カーソルは、一般には最後のデータ入力を受け取ったＢＬＥにとどまる。説明の便宜上、フィールド入力(FieldInput)１２５のみを考慮する。この場合、ＢＬＥページ１２７のステータス“cursorPos”は、ＢＬＥ１２５に特有のポインタである。このようなポインタは、各ＢＬＥについて特有なＩＤとして実施できる。通覧の例において、データパス“/survey/planned_costs/travel”は、ＢＬＥフィールド入力(FieldInput)１２５に対する特有のＩＤとしての役目を果たす。ユーザがデータ１７０をサブミットするときにカーソルがＢＬＥにあると仮定すれば、例えば、ページ１２７のステータスcuesorPos=“/survey/planned_costs/travel”はここのブラウザ対応ヒューマンインターフェイスデスクリプション１６０の隠れたフィールドに設定される。表１２（ドキュメント１６０）の通覧の例において、これは、カーソル位置を決定する機能（例えばジャバスクリプト（登録商標）機能）（表１２、ライン４ｂ参照）を用いることにより、そしてそのカーソル位置をドキュメント１６０の更なるフィールド命令に変換する表１２のライン１０により達成される。好ましくは、上記更なる入力フィールド命令は、隠された入力フィールド(hidden input field)のためのものである。上記更なる入力フィールド命令の内容は、データ１７０の一部である。ネーム属性“//env:envelope/env:states/uicl:page/@cursorPos”は、データインスタンス１５０における“state”位置(<env:envelope><env:states><uicl:page … cursorPos=…>;表４参照、に対応する。ここで、value=“//survey/planned_costs/travel”は、値属性cursolPos（表１４、ライン１７参照）として格納される。個々のブラウザ対応ヒューマンインターフェイスデスクリプション１６０がデータ１７０のサブミッションの後に再生成されるときに、ドキュメント１６０（表１２、タインスタンス４ａ参照）の更なる機能が実行され、データインスタンス１５０からＢＬＥページ１２７のステータス情報を取得し、そしてそれに応じてカーソル位置を設定する。
【０１２９】
【表１４】
2008198229.tif 000018
【０１３０】
表１４は、レイアウトエレメントステータスを格納した後のデータインスタンスドキュメントである。
【０１３１】
本発明の別の好ましい実施形態において、ＢＬＥステータスは、標準化ユーザインターフェイスデスクリプション１２０のランタイムコピー１２０−１に格納され得る。この別な実施形態は、方法４００のステップ４３０，４５０がステップ４４０に置き換えられた本発明の第２の好ましい実施形態が使用されるときに機能する。これは、方法ステップ４４０を更に備えるための方法ステップ４６０−４９０（図２参照）からのランタイム環境の拡張を意味する。この例では、通覧の例を用いて、データ１７０におけるＢＬＥステータス情報は、ランタイムコピー１２０−１（表１５、ライン２）に直接的に格納される。少なくとも２回、ヒューマンインターフェイス９５１を翻訳するステップ４７５が行われるときにステータスが設定されるように、分解ステップ４４０、作成ステップ４６０、およびマージステップ４７０の期間中、ステータス情報が保存される。
【０１３２】
【表１５】
2008198229.tif 000019
【０１３３】
表１５は、通覧の例における標準化ヒューマンインターフェイスデスクリプションドキュメント１２０のランタイムコピー１２０−１であり、ステータス情報を含む。
【０１３４】
本発明は、コンピュータに実施される方法４００として説明された。そして、本発明は、これからコンピュータシステム９９９として説明される。
【０１３５】
本発明のコンピュータシステム９９９は、ヒューマンインターフェイスデスクリプションを自動的に生成し、そして処理する。
【０１３６】
コンピュータ９００（図１参照）は動作中のコンピュータ(operating computer)であるとする。当業者であれば、サーバコンピュータ（例えば、コンピュータ９０１、図１参照）がデータ処理のために使用され且つクライアントコンピュータ（例えば、コンピュータ９００、図１参照）がブラウザを備えたフロントエンドコンピュータとして動作するところのクライアントサーバシステムにおいて、本発明を実施することもできる。
【０１３７】
コンピュータシステム９９９の第１の好ましい実施形態は、次の手段、即ち、
ａ）所定のアプリケーション特定ヒューマンインターフェイスデスクリプション１１０（図４参照）を供給するステップ４１０（図２参照）のための手段と、
ｂ）アプリケーション特定ヒューマンインターフェイスデスクリプション１１０を、標準化ヒューマンインターフェイスデスクリプション１２０（図４参照）に変換するステップ４２０（図２参照）のための手段とを備える。
【０１３８】
好ましくは、手段ａ）は、ＸＭＬ（表２参照）のようなマークアップ言語ドキュメント１１０を備え、ＡＳＬＥ１１２，１１３，１１４（図６参照）の複数１１１を更に備える。アプリケーション特定ヒューマンインターフェイスデスクリプションドキュメント１１０は、好ましくは、コンピュータ９００のメモリ９２０（図１参照）に格納される。
【０１３９】
好ましくは、手段ｂ）は、ＡＳＬＥ１１２，１１３，１１４を、標準化ヒューマンインターフェイスデスクリプション１２０のＢＬＥ１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７（図６参照）に変換するための変換ルールのセットを備える。例えば、その変換ルールは、スタイルシート言語変換ドキュメント（表３参照）として実施され、そしてメモリ９２０に格納される。標準化ヒューマンインターフェイスデスクリプション１２０は、好ましくは、マークアップ言語ドキュメント（表４参照）として実施され、そしてまたメモリ９２０に格納される。プロセッサ９１０は、変換ルールを処理し、そしてそれらをアプリケーション特定ヒューマンインターフェイスデスクリプションドキュメント１１０に適用する。
【０１４０】
任意的に、第１の実施形態においては、コンピュータシステム９９９は、手段ｃ）からｊ）を更に備える。任意の手段はこれから詳細に説明される。
ｃ）は、標準化ヒューマンインターフェイスデスクリプション１２０を、ブラウザ対応ヒューマンインターフェイスデスクリプション１３０（図４参照）にコンバートするステップ４３０（図２参照）のための手段である。好ましくは、コンピュータ９１０は、ドキュメント１２０のＢＬＥ１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７をドキュメント１３０のブラウザ対応マークアップ言語の命令にコンバートするコンバージョンルールのセットを適用することにより、ドキュメント１２０をコンバートする。好ましくは、プロセッサ１２０は、コンバージョンルールからなるスタイルシート言語変換を処理するときにそのコンバージョンを実行する。結果として生じるドキュメント１３０はメモリ９２０に格納される。
【０１４１】
ｄ）は、ブラウザ対応ヒューマンインターフェイスデスクリプション１３０を、ヒューマンインターフェイスレイアウトテンプレート１４０−１（図５参照）およびデータデスクリプション１４０−２（図５参照）に分解するステップ４５０（図２参照）のための手段である。手段ｄ）は、好ましくは、レイアウトテンプレート１４０−１およびデータデスクリプション１４０−２を抽出するためにドキュメント１３０に適用される二つのスタイルシート言語変換ドキュメントを備える。レイアウトテンプレート１４０−１を抽出するためのスタイルシート変換ドキュメントの例は表９に与えられている。好ましくは、データテンプレート１４０−１は表９で与えられる。好ましくは、データテンプレート１４０−１は、スタイルシート言語変換ドキュメントである。データデスクリプション１４０−２を抽出するためのこのスタイルシート言語変換ドキュメントは、図３Ｂの詳細な説明で述べられる。好ましくは，プロセッサ９１０は、二つのスタイルシート言語変換ドキュメントを処理し、その結果として生じるドキュメント１４０−１および１４０−２をメモリ９２０に格納する。コンピュータシステム９９９のこの第１の好ましい実施形態において、分解ステップ４５０がヒューマンインターフェイス９５１（図６参照）のデザインタイム(design-time)の間に発生するので、メモリ９２０のメモリ部分が使用される。
【０１４２】
ｅ）は、データデスクリプション１４０−２からデータインスタンス１５０（図７参照）を作成するステップ４６０（図２参照）のための手段である。
ｆ）は、データインスタンス１５０をヒューマンインターフェイスレイアウトテンプレート１４０−１と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション１６０（図７参照）にマージするステップ４７０（図２参照）のための手段である。
ｇ）は、ユーザにデータ入力を指示するために個々のブラウザ対応ヒューマンインターフェイスデスクリプション１６０を翻訳するステップ４７５（図２参照）のための手段である。
ｈ）は、ユーザからデータ１７０（図７参照）を受け取るステップ４８０（図２参照）のための手段である。
ｉ）は、データ１７０をデータインスタンス１５０に格納するステップ４８５のための手段である。そして、
ｊ）は、少なくとも一つの基本レイアウトエレメント１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７のステータスを格納するステップ４９０のための手段である。
【０１４３】
好ましくは、手段ｅ）はコンピュータプログラムを備え、そのコンピュータプログラムは、メモリ９２０からデータデスクリプション１４０−２を読み取ると共に、ランタイム依存のデータをデータデスクリプション１４０−２のデータに付け加えることによりメモリ９２０（例えば、ランタイムデータを格納するためのＲＡＭ）のランタイム部においてデータインスタンスドキュメント１５０を生成するものである。ランタイム依存のデータは、ランタイム中に、例えばアプリケーションプログラム（例えば、コンピュータ９０１上の１０１、図１の記載参照）によって生成されまたは修正される。表１１は、データインスタンス１５０の例を示し、それはマークアップ言語ドキュメントとして実施される。
【０１４４】
好ましくは、手段ｆ）は、レイアウトテンプレート１４０−１を備え、それは、この例においてはスタイルシート言語変換ドキュメント（表７参照）である。プロセッサ９１０は、メモリ９２０からレイアウトテンプレート１４０−１を読み取って、そしてそれをデータインスタンス１５０に適用する。その結果は個々のブラウザ対応ヒューマンインターフェイスデスクリプション１６０（表１２のＸＨＴＭＬの例参照）であり、それはメモリ９２０のランタイム部に格納されているマークアップ言語ドキュメントである。
【０１４５】
好ましくは、手段ｇ）は、コンピュータのプロセッサ（例えば、コンピュータ９００のプロセッサ９１０）により実行されるマイクロソフト（登録商標）インターネットエクスプリーラまたはネットスケープ（登録商標）ナビゲータのような従来のブラウザプログラム（図示なし）を備える。ブラウザは、ブラウザ対応ヒューマンインターフェイスデスクリプション１６０を翻訳し、そしてその結果を、出力装置９５０上にヒューマンインターフェイス９５１として表示する。好ましくは、ヒューマンインターフェイス９５１は、ヒューマンインターフェイス９５１を通してユーザにデータ１７０（図７参照）を入力指示する。ユーザは、入力装置９４０（図１参照）を通してデータを入力する。例えば、ユーザは、マウス装置によりヒューマンインターフェイスにおいて表示された入力フィールドを選択し、そしてキーボードによりデータを入力する。
【０１４６】
好ましくは、手段ｈ）は、コンピュータ９００の基本入出力システム（ＢＩＯＳ）およびブラウザを備える。ＢＩＯＳは、バス９３０（図１参照）を通して入力装置９４０から信号を受け取る。その信号はキャラクターとして解釈され、そして出力装置９５０上にブラウザによって適切に表示される。ユーザによってデータ１７０のサブミッションがなされると（例えば、マウス装置を用いてサブミットボタンをクリックすることにより）、コンピュータ９００は、バス９３０を通してデータ１７０を受け取る。
【０１４７】
好ましくは、手段ｉ）は、表１３およびストレージプログラムに従ってデータ１７０のフォーマットを用いることにより実施される。ストレージプログラムは、データインスタンス１５０に属するメモリ９２０のランタイムメモリ部にデータ１７０を自動的に格納する。正確なストレージアドレスは、表１３の各データセットの名の下にＸパスから導き出される。
【０１４８】
好ましくは、手段ｊ）は、ドキュメント１６０（表１２参照）における隠れたフィールドおよびジャバスクリプト（登録商標）機能を用いることにより実施される。ジャバスクリプト（登録商標）機能は、少なくとも一つの基本レイアウトエレメント１２２，１２３，１２４−１，１２４−２，１２６，１２７のステータスを決定し、そしてそのステータスを、隠れたフィールドに格納する。隠れたフィールドは、サブミットされたデータ１７０の一部になり、そしてストレージプログラムによりデータインスタンス１５０（表１４、ライン７参照）にデータ１７０の他のデータセットと一緒に格納される。データ１７０の他のデータセットのように、ステータスもまた、正確なストレージアドレスに対応するＸパスと共にネームを含む。
【０１４９】
コンピュータシステム９９９の第２の好ましい実施形態において、手段ｃ）およびｄ）は、標準化ヒューマンインターフェイスデスクリプション１２０をヒューマンインターフェイスレイアウトテンプレート１４０−１およびデータデスクリプション１４０−２に分解するステップ４４０のために、任意的な手段ｋ）によって置き換えられる。好ましくは、手段ｋ）は、レイアウトテンプレート１４０−１およびデータデスクリプション１４０−２を抽出するために、ドキュメント１２０に適用される二つのスタイルシート言語変換ドキュメントとして実施される。レイアウトテンプレート１４０−１を抽出するためのスタイルシート変換ドキュメントの例が表６に与えられている。好ましくは、データテンプレート１４０−１はスタイルシート言語変換ドキュメントである。データデスクリプション１４０−２を抽出するためのスタイルシート言語変換ドキュメントは、図３Ａの詳細な説明で述べられる。好ましくは、プロセッサ９１０は、二つのスタイルシート言語変換ドキュメントを処理し、そしてその結果として生じたドキュメント１４０−１および１４０−２をメモリ９２０に格納する。コンピュータシステム９９９のこの第２の実施形態において、分解ステップ４５０がヒューマンインターフェイス９５１（図６参照）のデザインタイムの間に発生するので、メモリ９２０のデザインタイムメモリ部が使用される。
【０１５０】
コンピュータシステム９９９の別の好ましい実施形態において、ランタイム処理は、拡張されて手段ｂ）およびｋ）を更に備える。これを達成するため、コンピュータシステム９９９は、手段ｂ）の更なる一部として、標準化ヒューマンインターフェイスデスクリプション１２０のランタイムコピー１２０−１（図７参照）を生成する。好ましくは、ランタイムコピー１２０−１は、メモリ９２０のランタイムメモリ部に格納される。この場合は、分解手段ｋ）は、レイアウトテンプレート１４０−１およびデータデスクリプション１４０−２を抽出するために、ドキュメント１４０−２の代わりにランタイムコピー１２０−１をアクセスし、それら双方はまたメモリ９２０のランタイムメモリ部に格納される。この別の実施形態においては、手段ｊ）は、データインスタンス１５０の代わりにデータ１７０の少なくとも一つのステータスデータセットをランタイムコピー１２０−１に格納４９０する（図７の破線、表１５、ライン２参照）。分解手段ｋ）は、それから、ステータスデータをデータデスクリプション１４０−２に抽出し、そしてレイアウトテンプレート１４０−１において対応するリンクを生成する。
【０１５１】
本発明はコンピュータ実施の方法４００およびコンピュータシステム９９９として説明された。そして、これから、本発明は、コンピュータ読み取り可能なデータキャリア９７０（図１参照）上に格納可能なコンピュータプログラムプロダクト１００（図１参照）として説明される。
【０１５２】
コンピュータプログラムプロダクト１００は、コンピュータ（例えば、コンピュータ９００）のプロセッサ（例えば、プロセッサ９１０）にヒューマンインターフェイスデスクリプションを生成させ且つ処理させるための複数の命令を備える。コンピュータプログラムプロダクト１００は、コンピュータ９００に以下のステップを実行させる。
ａ）所定のアプリケーション特定ヒューマンインターフェイスデスクリプション１１０を提供するステップ４１０。
ｂ）アプリケーション特定ヒューマンインターフェイスデスクリプション１１０を標準化ヒューマンインターフェイスデスクリプション１２０に変換するステップ４２０。
【０１５３】
第１の好ましい実施形態において、コンピュータプログラムプロダクト１００は、コンピュータ９００に、更なる任意的なステップｃ）からｊ）を実行させる。
ｃ）標準化ヒューマンインターフェイスデスクリプション１２０をブラウザ対応ヒューマンインターフェイスデスクリプション１３０にコンバートするステップ４３０。
ｄ）ブラウザ対応ヒューマンインターフェイスデスクリプション１３０をヒューマンインターフェイスレイアウトテンプレート１４０−１およびデータデスクリプション１４０−２に分解するステップ４５０。
ｅ）データデスクリプション１４０−２からデータインスタンス１５０を作成するステップ４６０。
ｆ）データインスタンス１５０を、ヒューマンインターフェイスレイアウトテンプレート１４０−１と共に個々のブラウザ対応ヒューマンインターフェイスデスクリプション１６０にマージするステップ。
ｇ）ユーザにデータ入力を指示するために、個々のブラウザ対応ヒューマンインターフェイスデスクリプション１６０を翻訳するステップ４７５。
ｈ）ユーザからデータ１７０を受け取るステップ４８０。
ｉ）データ１７０をデータインスタンス１５０に格納するステップ４８５．
ｊ）少なくとも一つの基本レイアウトエレメント１２２，１２３，１２４−１，１２４−２，１２５，１２６，１２７のステータスを格納するステップ４９０．
【０１５４】
コンピュータプログラム１００のステップａ）からｊ）は、方法４００のステップａ）からｊ）とそれぞれ等価であり、それらは、図２，３，７に基づき詳細に説明された。
【０１５５】
第２の好ましい実施形態において、コンピュータプログラムプロダクト１００は、コンピュータ９００に、ステップｃ）およびｄ）の代わりに任意的なステップｋ）を実行させる。
ｋ）標準化ヒューマンインターフェイスデスクリプション１２０を、ヒューマンインターフェイスレイアウトテンプレート１４０−１およびデータデスクリプション１４０−２に分解するステップ４４０。
コンピュータプログラム１００のステップｋ）は、図２および３に基づき詳細に説明された方法４００のステップｋ）と等価である。
コンピュータプログラムプロダクト１００の実施形態のそれぞれは、コンピュータ読み取り可能なデータキャリア（例えば、データキャリア９７０）に格納してもよい。
【０１５６】
【表１６Ａ】
2008198229.tif 000020
【０１５７】
【表１６Ｂ】
2008198229.tif 000021
【図面の簡単な説明】
【０１５８】
【図１】本発明のコンピュータネットワークシステムの簡略化したブロックダイアグラムを示す図である。
【図２Ａ】ブラウザ対応ヒューマンインターフェイスデスクリプションを自動的に生成し且つ処理するための本発明の方法の一実施形態の簡略化されたフローチャートを示す図である。
【図２Ｂ】ブラウザ対応ヒューマンインターフェイスデスクリプションを自動的に生成し且つ処理するための本発明の方法の一実施形態の簡略化されたフローチャートを示す図である。
【図３Ａ】方法ステップを図解する図である。
【図３Ｂ】方法ステップを図解する図である。
【図４】本発明の方法で処理されるドキュメントを図解する図である。
【図５Ａ】本発明の方法で処理される更なるドキュメントを示す図である。
【図５Ｂ】本発明の方法で処理される更なるドキュメントを示す図である。
【図６】ＡＬＳＥおよびＢＬＥを図解する図である。
【図７】ランタイム中の本発明によるドキュメントおよびデータの処理を図解する図である。
【図１】
2008198229.tif 000022
【図２Ａ】
2008198229.tif 000023
【図２Ｂ】
2008198229.tif 000024
【図３Ａ】
2008198229.tif 000025
【図３Ｂ】
2008198229.tif 000026
【図４】
2008198229.tif 000027
【図５Ａ】
2008198229.tif 000028
【図５Ｂ】
2008198229.tif 000029
【図６】
2008198229.tif 000030
【図７】
2008198229.tif 000031