明細書に記載の発明。無線装置のユーザインターフェイスUI上におけるアプリケーションの表示を管理する無線アプリケーションのコンポーネント画面の定義に、最大の柔軟性が提供されるのが望ましい。他に所望されるものとしては、無線アプリケーションのユーザ及び開発者に効果的な情報表示を提供すること、対話型の動的なUIを提供すること、及び、ユーザインターフェイス管理の大半をインテリジェント装置ランタイムに委譲することが含まれる。無線アプリケーション用の画面設計に際して遭遇する典型的なシナリオでは、1つの制御コントロールの外観又は値が、その画面内の別の制御に影響され得る。この特徴を備えると、豊富な機能性を有するより複雑な画面を定義できるが、同時に、複雑さ、及びそれに従って無線装置上のアプリケーションの格納要件も増すことになり得る。本明細書に開示されるシステム及び方法は、上述した短所の少なくとも一部を取り除く又は軽減するための、条件付き制御環境を提供する。無線アプリケーション用の画面設計に際して遭遇する典型的なシナリオでは、1つの制御の外観又は値が、その画面内の別の制御に影響され得る。この特徴を備えると、豊富な機能性を有するより複雑な画面を定義できるが、同時に、複雑さ、及びそれに従って無線装置上のアプリケーションの格納要件も増すことになり得る。現在の表示システム及び方法とは異なり、このアプリケーションGUIは、1組のアトミック原子的画面コンポーネントとして記述される。アプリケーション画面は、XML、HTML又はXHTML等の構造化言語によって定義され、複数のネストされた入れ子構造のレイアウト及び複数のUI制御の集合として表される。これらの視覚的コンポーネントの表現は、画面表示、管理及びユーザの対話型操作のための1式のサービスを提供するインテリジェント装置ランタイムフレームワークを用いることによって容易になる。この画面コンポーネントの指定は、対話型の動的なUIを供給するものであり、また、ユーザインターフェイス管理の一部をインテリジェント装置ランタイムフレームワークに委譲することを実現するものである。画面コンポーネントは、無線アプリケーション定義内の条件付き制御を利用する。条件付き制御は、特定の条件を満たすことによって、その外観又は挙動を決定する動的な画面要素である。条件付き制御は、アプリケーションランタイム画面の挙動を変更する、いわゆる駆動一次制御及び依存二次制御を含む。本発明によれば、構造化定義言語で表された画面コンポーネントを有する無線アプリケーションを実行するためのインテリジェント実行フレームワークを有する無線装置が提供される。この装置は、少なくとも1つの一次制御と少なくとも1つの二次制御とを有する1組の条件付き制御を含む画面表現をモデリングするよう構成された画面モデルを画面コンポーネントから生成する、フレームワークの画面マネージャと、装置のユーザとアプリケーションとの間の対話型環境を提供するユーザインターフェイスと、ユーザインターフェイスに画面表現を供給する、フレームワークのユーザインターフェイスサービスと、を含み、ユーザが、アプリケーションの実行中にユーザインターフェイス上に表示される条件付き制御の対話型操作を行う。本発明の更に別の態様によれば、構造化定義言語で表されたアトミック画面コンポーネントを有する無線アプリケーションを無線装置のインテリジェント実行フレームワークによって実行する方法が提供される。この方法は、少なくとも1つの一次制御と少なくとも1つの二次制御とを有する1組の条件付き制御を含む画面コンポーネントをメモリから抽出する工程と、装置のユーザとアプリケーションとの間の対話型環境を提供するために、装置のユーザインターフェイス上に表示される画面表現をモデリングするよう構成された画面モデルを、条件付き制御を含む画面コンポーネントから作成する工程と、画面モデルに基づいて、アプリケーションの実行状態に対応するユーザインターフェイス条件の現在の値を反映するよう構成された画面表現を生成する工程と、を含み、ユーザが、アプリケーションの実行中にユーザインターフェイス上に表示される条件付き制御の対話型操作を行う。本発明の更に別の態様によれば、無線装置を、無線アプリケーションを実行するためのインテリジェント実行フレームワークを有するよう構成するコンピュータプログラム製品が提供される。装置は、該装置のユーザとアプリケーションとの間の対話型環境を提供するユーザインターフェイスを有し、アプリケーションは、構造化定義言語で表されたアトミック画面コンポーネントを有する。このコンピュータプログラム製品は、コンピュータ読み取り可能媒体と、コンピュータ読み取り可能媒体に格納され、少なくとも1つの一次制御と少なくとも1つの二次制御とを有する1組の条件付き制御を含む画面表現を画面コンポーネントからモデリングするよう構成された画面モデルを生成する、フレームワークの画面マネージャモジュールと、コンピュータ読み取り可能媒体に格納され、画面表現をユーザインターフェイスに供給する、フレームワークのユーザインターフェイスサービスモジュールと、を含み、ユーザが、アプリケーションの実行中にユーザインターフェイス上に表示される条件付き制御の対話型操作を行う。本発明の更に別の態様によれば、構造化定義言語で表されたアトミック画面コンポーネントを有する無線アプリケーションを実行するためのインテリジェント実行フレームワークを有する無線装置が提供される。この装置は、少なくとも1つの一次制御と少なくとも1つの二次制御とを有する1組の条件付き制御を含む画面コンポーネントをメモリから抽出する手段と、装置のユーザとアプリケーションとの間の対話型環境を提供するために、装置のユーザインターフェイス上に表示される画面表現をモデリングするよう構成された画面モデルを、条件付き制御を含む画面コンポーネントから作成する手段と、画面モデルに基づいて、アプリケーションの実行状態に対応するユーザインターフェイス条件の現在の値を反映するよう構成された画面表現を生成する手段と、を含み、ユーザが、アプリケーションの実行中にユーザインターフェイス上に表示される条件付き制御の対話型操作を行う。上記及び他の特徴は、例示のみの目的で添付の図面を参照する以下の詳細な説明において、より一層明らかとなるであろう。例えば、本発明は以下の項目を提供する。項目1構造化定義言語で表されたアトミック画面コンポーネントを有する無線アプリケーションを実行するためのインテリジェント実行フレームワークを有する無線装置であって、少なくとも1つの一次制御と少なくとも1つの二次制御とを有する1組の条件付き制御を含む画面表現をモデリングするよう構成された画面モデルを前記画面コンポーネントから生成する、前記フレームワークの画面マネージャと、前記装置のユーザと前記アプリケーションとの間の対話型環境を提供するユーザインターフェイスと、前記ユーザインターフェイスに前記画面表現を供給する、前記フレームワークのユーザインターフェイスサービスと、を含み、前記ユーザが、前記アプリケーションの実行中に前記ユーザインターフェイス上に表示される前記条件付き制御の対話型操作を行う、インテリジェント実行フレームワークを有する無線装置。項目2前記条件付き制御に関係するユーザイベントを識別するために、前記ユーザインターフェイス上の前記画面表現の挙動が、前記フレームワークによってモニタリングされる、請求項1記載の装置。項目3前記モニタリングが、予め定義されたランタイム基準に従って実行される、項目2記載の装置。項目4前記画面マネージャが、前記ユーザインターフェイスサービスによって通信された前記ユーザイベントに基づいて前記画面モデルを更新する、項目2記載の装置。項目5前記構造化定義言語が、XMLに基づく言語、HTML及びXHTMLからなる群から選択される、項目4記載の装置。項目6前記条件付き制御が、ネストされたレイアウトと、画面ボタン、画面編集ボックス、画面ラベル、画面メニュー項目及び画面レイアウトタイプからなる群から選択されるユーザインターフェイス制御とを含む、項目5記載の装置。項目7前記画面表現を記述するための、前記画面コンポーネントと共に含まれるコード部を更に含む、項目2記載の装置。項目8前記画面コンポーネントの前記コード部を実行するための、前記フレームワークのスクリプトインタプリタを更に含む、項目8記載の装置。項目9前記条件付き制御が、予め定義された画面条件を満たすことにより自らの状態を決定する、項目2記載の装置。項目10前記状態が、外観、制御値、可視性及び挙動からなる群から選択される、項目9記載の装置。項目11前記一次制御の状態が前記二次制御の状態に影響する、項目9記載の装置。項目12前記二次制御の状態が、前記一次制御の状態に基づいて決定される、項目11記載の装置。項目13前記条件付き制御の状態が、前記ユーザイベントに従って変化するよう構成される、請求項12記載の装置。項目14前記画面コンポーネント内に、前記構造化定義言語によって指定される前記条件付き制御を更に含む、項目2記載の装置。項目15前記画面コンポーネント内に、コード要素によって指定される前記条件付き制御を更に含む、項目2記載の装置。項目16前記コード要素がスクリプト要素である、項目15記載の装置。項目17前記画面コンポーネント内に、前記構造化定義言語と前記コード要素との組合せによって指定される前記条件付き制御を更に含む、項目15記載の装置。項目18前記画面コンポーネント内に、前記二次制御が前記コード要素によって自らの状態を指定するように指定される前記条件付き制御を更に含む、項目15記載の装置。項目19条件付きレイアウトを含む前記条件付き制御を更に含む、項目2記載の装置。項目20前記条件付きレイアウトが、前記レイアウトに含まれる前記二次制御に対する前記一次制御として構成される、項目19記載の装置。項目21構造化定義言語で表されたアトミック画面コンポーネントを有する無線アプリケーションを無線装置のインテリジェント実行フレームワークによって実行する方法であって、少なくとも1つの一次制御と少なくとも1つの二次制御とを有する1組の条件付き制御を含む前記画面コンポーネントをメモリから抽出する工程と、前記装置のユーザと前記アプリケーションとの間の対話型環境を提供するために、前記装置のユーザインターフェイス上に表示される画面表現をモデリングするよう構成された画面モデルを、前記条件付き制御を含む前記画面コンポーネントから作成する工程と、前記画面モデルに基づいて、前記アプリケーションの実行状態に対応するユーザインターフェイス条件の現在の値を反映するよう構成された前記画面表現を生成する工程と、を含み、前記ユーザが、前記アプリケーションの実行中に前記ユーザインターフェイス上に表示される前記条件付き制御の対話型操作を行う、方法。項目22前記条件付き制御の変化に関係するユーザイベントを識別するために、前記ユーザインターフェイス上の前記画面表現の挙動を、前記フレームワークによってモニタリングする工程を更に含む、項目21記載の方法。項目23前記条件付き制御の変更を反映するよう前記画面モデルを変更する工程を更に含む、請求項22記載の方法。項目24前記二次制御の状態が、連結された前記一次制御の状態の変化に従って変更される、請求項23記載の方法。項目25前記画面モデルの変更が、変化した前記条件付き制御に連結されたコード部によって指示される、項目23記載の方法。項目26前記画面マネージャが、前記ユーザインターフェイスサービスによって通信される前記ユーザイベントに基づいて前記画面モデルを更新する、項目23記載の方法。項目27前記構造化定義言語が、XMLに基づく言語、HTML及びXHTMLからなる群から選択される、項目26記載の装置。項目28前記条件付き制御が、ネストされたレイアウトと、画面ボタン、画面編集ボックス、画面ラベル、画面メニュー項目及び画面レイアウトタイプからなる群から選択されるユーザインターフェイス制御とを含む、項目27記載の方法。項目29前記条件付き制御が、予め定義された画面条件を満たすことにより自らの状態を決定する、項目22記載の装置。項目30前記状態が、外観、制御値、可視性及び挙動からなる群から選択される、項目29記載の方法。項目31前記一次制御の状態が前記二次制御の状態に影響する、項目29記載の方法。項目32前記二次制御の状態が、前記一次制御の状態に基づいて決定される、項目31記載の方法。項目33前記条件付き制御の状態が、前記ユーザイベントに従って変化するよう構成される、請求項32記載の方法。項目34前記画面コンポーネント内の前記条件付き制御が、前記構造化定義言語によって指定される、項目22記載の装置。項目35前記画面コンポーネント内の前記条件付き制御が、コード要素によって指定される、請求項22記載の方法。項目36前記コード要素がスクリプト要素である、項目35記載の方法。項目37前記画面コンポーネント内の前記条件付き制御が、前記構造化定義言語と前記コード要素との組合せによって指定される、項目35記載の方法。項目38前記画面コンポーネント内の前記条件付き制御が、前記二次制御が前記コード要素によって自らの状態を指定するように指定される、項目35記載の方法。項目39前記画面モデルの前記条件付き制御内に条件付きレイアウトを含む工程を更に含む、請求項22記載の方法。項目40前記条件付きレイアウトが、前記レイアウトに含まれる前記二次制御に対する前記一次制御として構成される、項目39記載の方法。項目41無線装置を、無線アプリケーションを実行するためのインテリジェント実行フレームワークを有するよう構成するコンピュータプログラム製品であって、前記装置は、該装置のユーザと前記アプリケーションとの間の対話型環境を提供するユーザインターフェイスを有し、前記アプリケーションは、構造化定義言語で表されたアトミック画面コンポーネントを有し、前記コンピュータプログラム製品は、コンピュータ読み取り可能媒体と、前記コンピュータ読み取り可能媒体に格納され、少なくとも1つの一次制御と少なくとも1つの二次制御とを有する1組の条件付き制御を含む画面表現を前記画面コンポーネントからモデリングするよう構成された画面モデルを生成する、前記フレームワークの画面マネージャモジュールと、前記コンピュータ読み取り可能媒体に格納され、前記画面表現を前記ユーザインターフェイスに供給する、前記フレームワークのユーザインターフェイスサービスモジュールと、を含み、前記ユーザが、前記アプリケーションの実行中に前記ユーザインターフェイス上に表示される前記条件付き制御の対話型操作を行う、コンピュータプログラム製品。項目42構造化定義言語で表されたアトミック画面コンポーネントを有する無線アプリケーションを実行するためのインテリジェント実行フレームワークを有する無線装置であって、少なくとも1つの一次制御と少なくとも1つの二次制御とを有する1組の条件付き制御を含む前記画面コンポーネントをメモリから抽出する手段と、前記装置のユーザと前記アプリケーションとの間の対話型環境を提供するために、前記装置のユーザインターフェイス上に表示される画面表現をモデリングするよう構成された画面モデルを、前記条件付き制御を含む前記画面コンポーネントから作成する手段と、前記画面モデルに基づいて、前記アプリケーションの実行状態に対応するユーザインターフェイス条件の現在の値を反映するよう構成された前記画面表現を生成する手段と、を含み、前記ユーザが、前記アプリケーションの実行中に前記ユーザインターフェイス上に表示される前記条件付き制御の対話型操作を行う、インテリジェント実行フレームワークを有する無線装置。<装置環境>図1を参照すると、無線装置100は、無線ネットワーク104との通信時に、要求/応答メッセージ105を個々に送受信する。装置100は、メッセージヘッダー情報及びそれに関連付けられたデータコンテンツの形態の要求/応答メッセージ105を用いることにより、例えば、ネットワーク104に接続されたウェブサービス図示せずのウェブクライアントとして動作可能であり、例えば、オンライン商店に対して製品の価格及び入手可能性を要求し、受信することができる。このウェブサービスは、装置100のユーザに対してユーティリティを提供するために、装置100のインテリジェントランタイム環境フレームワーク206によって実行されるクライアントアプリケーションプログラム302が、無線ネットワーク104を介して交信するシステムの一例である。装置100のアプリケーションプログラム302は、或るオブジェクト又は機能に対するメソッドを呼び出すのと同様に、そのウェブサービスのビジネスロジックを用いることができる。なお、クライアントアプリケーションプログラム302は、ネットワーク104を介して装置100に直接ダウンロード/アップロード可能であることを認識されたい。更に、装置100は、ネットワーク104を介して1つ以上のウェブサービスと通信可能であることを認識されたい。この無線アプリケーション302では、アプリケーションGUIは1組のアトミック画面コンポーネント402図3参照として記述される。ユーザインターフェイス202に表示されるアプリケーション画面は、XML、HTML又はXHTML等の構造化定義言語によって定義され、複数のネストされたレイアウト及び複数のUI制御500の集合図4参照として表される詳細は後述する。これらの視覚的コンポーネント402の表現は、画面表示、管理及びユーザの対話型操作のための1式のサービス304を提供するインテリジェント装置ランタイムフレームワーク206を用いることによって容易になる。<通信装置>再び図1を参照すると、装置100は、携帯電話、PDA、双方向ポケットベル又はデュアルモード通信装置等であるが、これらに限定されない。装置100は、接続218を介して装置インフラ204に接続された、無線トランシーバ等のネットワーク接続インターフェイス200を含む。接続インターフェイス200は、装置100の動作中に、例えば、RF、IR等の無線リンク等によって、無線ネットワーク104に接続可能であり、無線ネットワーク104は、装置100がネットワーク104を介して、他の装置100や外部システムウェブサービス等と通信すること、及び、クライアントアプリケーションプログラム302と外部システムとの間の要求/応答メッセージ105を調整することを可能にする。ネットワーク104は、ネットワーク104に接続された装置100と外部システムとの間での、要求/応答メッセージ105内のデータの伝送をサポートする。ネットワーク104は、装置100とネットワーク104の外部の他の装置100との間の通話のための音声通信をサポートしてもよい。無線ネットワーク104は、DataTAC、GPRS又はCDMA等の無線データ伝送プロトコルを用いることができるが、これらに限定されない。再び図1を参照すると、装置100は、接続222によって装置インフラ204に接続された、ユーザ図示せずと対話するためのユーザインターフェイス202も有する。ユーザインターフェイス202は、QWERTY配列キーボード、キーパッド、トラックホイール、スタイラス、マウス、マイク等これらに限定されないの1つ以上のユーザ入力装置と、LCD画面ディスプレイ及び/又はスピーカー等のユーザ出力装置とを含む。画面が接触感知型である場合には、ディスプレイも、装置インフラ204によって制御されるユーザ入力装置として用いることもできる。ユーザインターフェイス202は、装置100のユーザによって、ネットワーク104を介した要求/応答メッセージ105を調整するため、及び、ユーザのアクション操作によって装置100上でアプリケーション302を実行するために用いられる。再び図1を参照すると、装置100の動作は、装置インフラ204によって可能になる。装置インフラ204は、コンピュータプロセッサ208と、それに関連付けられたメモリモジュール210とを含む。コンピュータプロセッサ208は、メモリモジュール210内に配置されたオペレーティングシステム及びクライアントアプリケーションプログラム302によって供給される関連する命令を実行することにより、通信装置100のネットワークインターフェイス200、ユーザインターフェイス202及びフレームワーク206の動作を操作する。更に、装置インフラ204は、プロセッサに命令を供給するための及び/又はメモリモジュール210にクライアントアプリケーションプログラム302をロード/更新するための、プロセッサ208に接続されたコンピュータ読み取り可能記憶媒体212を含み得ることを認識されたい。コンピュータ読み取り可能媒体212は、例えば、磁気ディスク、磁気テープ、CD-ROMやDVD-ROM等の光学的に読み取り可能な媒体、及びメモリカード等といったハードウェア及び/又はソフトウェアを含み得る。各場合において、コンピュータ読み取り可能媒体212は、メモリモジュール210内に配設された小型ディスク、フレキシブルディスケット、カセット、ハードディスクドライブ、固体メモリカード、又はRAMの形態をとり得る。なお、上述の例のコンピュータ読み取り可能媒体212は、単独で又は組み合わせて用いることができる。<装置のフレームワーク>図1及び図2を参照すると、装置100のフレームワーク206は、接続220によって装置インフラ204に接続されている。装置100のクライアントランタイム環境はフレームワーク206によって提供され、クライアントアプリケーションプログラム302後で更に定義する構造化定義言語で表されたアトミック画面/表示コンポーネント402を含む。図3参照を生成、ホスティング及び実行する能力があるのが好ましい。装置ランタイムは、アプリケーション302の一般的な挙動例えば、パーシステンスデータ維持、メッセージング、画面ナビゲーション及び表示を管理及び実行するための1組の基本的なサービスを提供するインテリジェントソフトウェアフレームワーク206として考えることができる。従って、フレームワーク206は、クライアントアプリケーションプログラム302のためのネイティブクライアントランタイム環境を提供すると共に、装置インフラ204のプロセッサ208及びそれに関連付けられたオペレーティングシステムの、装置100の機能性に対するインターフェイスである。フレームワーク206は、アプリケーションプログラム302が実行される装置100上に、制御された安全で安定した環境を好ましく提供することにより、ランタイム環境を提供する。フレームワーク206は、アプリケーション302に関して生成されたメタデータからの画面モデル350図3参照を管理するサービスとして定義可能な、画面マネージャ306も有する。画面マネージャ306は、ユーザインターフェイス202図1参照を介してアプリケーションによって用いられる全ての条件付き制御及びレイアウトのモデリングも扱うと共に、UIサービス308から受信したイベントに基づいてモデル350を継続的に又は周期的に更新する。図2を参照すると、フレームワーク206は、或るサービスがアプリケーション302の一部として含まれていない場合に、又は、アプリケーションプログラム302の一部として別個のコンポーネント図示せずとして受信された場合に、クライアントアプリケーションプログラム302にフレームワークサービス304一般的なサービスの標準セットを提供する。アプリケーションプログラム302は、必要に応じてフレームワークサービス304と通信する214。フレームワーク206のフレームワークサービス304は、接続220を介した装置インフラ204との通信を調整する。従って、フレームワーク206及び関連付けられたサービス304によって、クライアントアプリケーションプログラム302に、装置インフラ204、ユーザインターフェイス202及びネットワークインターフェイス200へのアクセスを提供できる。装置インフラ204図2参照のオペレーティングシステムの一部は、フレームワークサービス304のいずれかを表し得ることを認識されたい。フレームワークサービス304には、通信サービス306、UIサービス308、パーシステンスサービス310、アクセスサービス312、プロビジョニングサービス314及びユーティリティサービス316等が含まれ得るが、これらに限定されない。通信サービス306は、アプリケーション302の代行として、ウェブサービスに関して送受信されるメッセージ105及び関連付けられたデータ等といった、コンポーネントアプリケーションプログラム302と外部システム10との間の接続性を管理する。UIサービス308は、画面マネージャ306によって提供される、ユーザインターフェイス202図1参照の出力装置に出力されるアプリケーションプログラム302の表現を管理する。パーシステンスサービス310は、アプリケーションプログラム302が、データを装置インフラ204のメモリモジュール210図1参照に格納できるようにする。アクセスサービス312は、コンポーネントアプリケーションプログラム302に、通信装置100上に存在する他のソフトウェアアプリケーションへのアクセスを提供する。プロビジョニングサービス314は、通信装置100上のソフトウェアアプリケーションのプロビジョニングを管理する。アプリケーションのプロビジョニングは、新たな及び更新されたアプリケーションプログラム302の要求及び受信、ネットワーク104を介してアクセス可能なサービスにアクセスするためのアプリケーションプログラム302の構成、アプリケーションプログラム302及びサービス構成の修正、並びに、アプリケーションプログラム302及びサービスの除去を含み得る。ユーティリティサービス316は、文字列を異なるフォーマットに変換する際のデータ操作の実行等といった、様々な一般的なタスクを行うために用いられる。通信装置100のフレームワークサービス304は、アプリケーションプログラム302に、上述のサービスを含み得る機能性を提供できることを認識されたい。更に、フレームワークサービス304は、別個のフレームワーク304として提供されるのではなく、アプリケーション302と統合されることも可能である。いずれにしても、コンポーネントアプリケーションプログラム302は、更に後述するように、統合された及び/又は別個のフレームワークサービス304を介して、通信装置100の機能性にアクセスできる。図3を参照すると、条件付き駆動及び依存制御500図4参照をアドレスする能力更に後述するは、アプリケーション302に関連してインテリジェント装置ランタイムフレームワーク206を用いて提供される。フレームワーク206は、アプリケーションを表すために用いられた構造化定義言語例えば、XMLに基づく言語等であるが、これらに限定されないによって記述された画面のモデリング及び表示を司る。フレームワーク206は、アプリケーション302のユーザとの対話型操作も管理し、ユーザインターフェイス202のイベントの結果として生じた、現在の画面モデル350に対する変化を処理する。フレームワーク206は、アプリケーション302の定義及び生成されたデータ用の装置100のリポジトリとして用いられるアプリケーション格納部356を有することができる。上述のように、UIサービス308は、装置100のネイティブUIフレームワーク206におけるアプリケーション302の画面表現352の視覚化を提供する。また、UIサービス308は、ユーザインターフェイス202からのユーザイベントを画面マネージャ306に供給する。フレームワーク206は、アプリケーション302のスクリプト部ECMAスクリプト等であるがこれらに限定されないを実行するスクリプトインタプリタ354も有し、画面マネージャ306と交信することにより現在の画面モデル350を操作する能力を有する。<条件付き制御500>図4を参照すると、アプリケーション302定義には、条件付き制御500の概念が含まれる。条件付き制御500はユーザインターフェイス202の動的な画面要素であり、特定の条件を満たすことによりそれら画面要素の外観又は挙動を決定する。条件付き制御500は、画面マネージャ306との交信を介してアプリケーション302のランタイム画面の挙動を変更する、一次又は駆動制御502と依存又は二次制御504とを含む。一般的に、駆動又は一次制御502は、その値が別の制御依存/二次制御504の値又は外観に影響するUI制御500である。依存制御は、その値又は外観が別の制御駆動/一次制御502の値に基づいて決定されるUI制御500である。駆動制御502と依存制御504との関係については更に後述する。画面コンポーネント402を、それらが動的に挙動し且つ、処理及び表示ロジックをインテリジェント装置ランタイムフレームワーク206に委譲するための最大能力を提供するよう定義できることが大変望ましい。再び図3及び図4を参照すると、最も基本的なアプリケーション画面表現352は、レイアウト506及びネストされた制御500の静的な構成を含み、これは、ランタイムのファクタ要因に関わりなく同様にユーザインターフェイス202上に表示される。この手法は、基本的なアプリケーション302に対しては十分である。動的に変化する基準に基づいて変異する、より複雑な画面表現352を生成するために、アプリケーション302定義に、画面コンポーネント402を介して、条件付き制御500を含めることができる。アプリケーション302内で定義された画面コンポーネント402の画面モデル350に、画面マネージャ306によって条件付き制御500を導入することにより、ユーザインターフェイス202上の画面表現352の正確な外観/挙動が、インテリジェント装置ランタイム206によって管理されるランタイム基準に委譲される。条件付き制御500は2つに分けられる。即ち、依存制御504、及び駆動制御502であり、一般的に、制御500は、ボタン、編集ボックス、ラベル、メニュー項目、又はレイアウトタイプの制御等といったUIタイプ制御であり得るが、これらに限定されない。駆動制御502と依存制御504との関係、並びに、この制御がインターフェイス202上の画面表示352のランタイムの外観をどのように決定するかについては、スクリプト要素からの制御500及びレイアウト506の視覚化に影響する能力に加えて後述する。依存/二次制御504は、別の制御500一次制御502及び他のリンクされた二次制御504を含むの変化に基づいて、自らの状態を評価する制御である。依存制御504の状態には、制御値、外観、及び可視性が含まれ得る。依存制御504は、自らの特性を決定する検証条件を指定する。これらの条件は、スクリプトECMAスクリプト等及び/又はアプリケーション302の構造化定義言語例えばXMLによって表されてもよい。駆動/一次制御502は、その状態が、リンクされた依存制御504のプロパティ状態に影響する制御である。駆動制御502の状態が変化すると、依存制御504の検証条件の評価がトリガ起動される。駆動制御502の状態には、制御値、外観、及び可視性が含まれ得る。画面表現352の、様々なリンクされた画面の条件付きナビゲーションに関して、画面ナビゲーションを指定する制御500は、依存制御504として指定されてもよい。この指定の結果生じる効果は、アプリケーション全体にわたる動的なナビゲーション経路の効果である。このタスクによく適した2タイプの制御は、画面上ボタン、及びメニュー項目である。駆動/依存制御500の指定には、3通りの一般的な手法がある。即ち、装置ランタイムフレームワーク206の能力にロジックを委譲する画面メタデータ例えばXMLによって駆動/依存関係を記述する画面定義メタデータ、カスタムスクリプト要素を駆動制御に関連付けると共にスクリプトコードによって依存制御の外観を指定できる駆動制御スクリプト/コード、外観を決定するために依存制御504がスクリプトを評価するよう画面メタデータによって条件付き関係を定義する拡張画面メタデータ/依存スクリプト/コード、及び駆動制御502が存在しない場合に、スクリプトによって制御504が自らの表示の条件を指定するような、依存スクリプト/コード条件である。スクリプトコード/要素は、アプリケーション302の構造化定義言語内に別個の要素として指定されてもよく、或いは、画面コンポーネント402定義に組み入れられてもよいことを認識されたい。いずれにしても、画面マネージャ306は、アプリケーション定義からのメタデータ/スクリプトの抽出をモニタリング監視し、アプリケーション302から画面コンポーネント402として得られた画面メタデータ/スクリプトを処理することによって画面モデル350を生成する。例A:画面メタデータによってXMLで定義される駆動/依存関係駆動制御502及び依存制御504の外観は、アプリケーション302のXML構造化定義言語のみによって指定されてもよい。図5のサンプルXMLコードでは、ユーザが米国又はカナダのいずれにいるかの申告に基づいて、米国の州又はカナダの州を表示する能力の提供が目的である。太字で示されている駆動制御502は、選択制御choiceCountry国を選択である。選択制御choiceCountryには依存制御504がリンクされており、このchoiceCountry制御が変化すると、依存制御504が再評価される。図示されるように、カナダの選択肢に関連付けられた要素は、カナダの州provincesを表示するものである。choiceCountryの値が米国と判断されると、米国の州statesが表示される。この手法は、画面マネージャ306が画面コンポーネント402を解釈することにより、外観の実装に必要な全てのロジックがインテリジェント装置ランタイムフレームワーク206に委譲されるという長所を有する。例B:駆動制御スクリプト図6を参照すると、条件付き制御500を操作する別の方法は、アプリケーション302に添付されたカスタムスクリプト部600を用いる。例Aで上述したサンプルアプリケーションのように、駆動502選択制御choiceCountryは、選択に変化が生じた際に評価すべき実行可能スクリプトここでは例示目的でECMAスクリプトの一部分として示されているを指定する。この構成では、依存関係は、localizeControlsと称されるスクリプトに関連付けられている。このスクリプトは、呼び出されると、インターフェイス202上の画面図4参照のどの制御500をユーザに対して可視化するかを、choiceCountryの現在の状態に基づいて決定する。このスクリプトのメカニズムは、駆動制御502と依存制御504とをリンクする別の方法を示しており、これにより、アプリケーション302のアプリケーション開発者によって表示ロジックが指定される。例C:拡張画面メタデータ/依存スクリプト次の図7の例は、依存制御504が自らの表示基準を指定するための依存制御504の再評価に、駆動制御502がどのように影響し得るかを示している。この基準は、別個のコード部として指定されてもよく、或いは、この例で示されるように、インライン埋め込み評価として指定されてもよい。サンプルアプリケーション302では、passwordEntryパスワード入力編集ボックスが駆動制御502を表している。編集ボックスを変更すると、XMLによって指定された条件付き制御の再評価がトリガされる。依存制御504を指定すると、ブール条件を評価することによってアプリケーション302の挙動が更に改良される。このサンプルでは、インターフェイス202図1参照上に表示された画面表現の次ページに移行するためのメニュー項目を追加する前に、パスワードの最小限の長さが指定されている。この最小長さ条件が満たされない場合には、ユーザインターフェイス202に警告ラベルを表示させる。例D:依存スクリプト条件図8に示されている例では、駆動制御502は指定されていない。この例における依存制御504は、自らのスクリプトを評価対象として指定している。スクリプト要素の評価によって、制御504の表示がゲート制御gateされる。スクリプトは、アプリケーション302のXMLのローカル関数として参照されてもよく、或いは、インラインスクリプトであってもよい。図示されるように、discount割引ラベルは、どの駆動制御502にも結びついていない。discountラベルは、更なる割引の資格が生じるための最小限の数の項目商品が選択されたか否かを判断する、ECMAスクリプト部分800を含む。例E:XMLによる条件付きナビゲーション前の例では、アプリケーションで定義された依存制御504及び駆動制御502の表現を用いた条件付きナビゲーションが示された。図9に示されているサンプルナビゲーションでは、次の商店ページへのナビゲーションは、駆動制御502選択であるuserOptionsユーザ選択肢の選択によって決定される。選択が変更されると、2つの依存504ボタンのうちの1つが表示され得る。ユーザ確認が必要ない場合には、gotoCatalogueカタログに進むボタン504が示される。ShopOnlineオンラインで買い物が選択された場合には、ユーザに対してvalidateUserユーザ確認ボタン504が表示される。アプリケーション302が表示可能な画面表現352図4参照の次の画面が、ユーザの選択により依存制御504の指定を介して動的に変更される。<条件付きレイアウト506>図4を参照すると、レイアウト506は、依存UI制御504の構成に影響する特殊な制御500であり得る。レイアウト506は、駆動条件制御502によって影響される依存制御504であり得ることを認識されたい。レイアウト506の、可視性、レイアウトタイプ、並びにスタイル及び色等これらに限定されないといったプロパティは条件付きであり得る。レイアウトは、自身に含まれるこれらのUI制御504又は依存レイアウト506に対する親の駆動制御502であるので、埋め込まれた制御500との状態の矛盾を解消するための規則がある。例えば、レイアウト506内のネストされた制御504が可視でありながら、条件付きレイアウト506が不可視になるよう決定される状況が生じ得る。この状況では、規則は、適合する場合には、依存制御504が、その駆動制御502の可視性に従うというようになっている表1にまとめる。表1:ネストされた制御の可視性を決定する規則例F:アプリケーションXMLによる依存レイアウト制御図4を参照すると、レイアウト506は、UI制御500と同様に、駆動制御502に依存するよう指定され得る。上述の例Aを参照すると、国の選択の状態に基づいて米国の州又はカナダの州を示す能力が、条件付き依存レイアウト506により、ネストされた制御500の可視性の依存レイアウト506制御を介して、再アドレスされる。図10を参照すると、この例Fでは、駆動制御502であるchoiceCountryは、関連付けられた2つのレイアウト506のどちらをユーザインターフェイス202図1参照上に表示するかの決定に影響する。各レイアウト506は、choiceCountry駆動制御502にリンクしており、その表示を制御する自らの値属性を指定している。各レイアウト506の依存制御504は、自らの可視性状態を条件によって指定していないので、可視であると仮定される。表1の規則によれば、任意の可視依存制御504は、駆動制御の可視性状態に従う。実際の効果として、2組のネストされた制御のうちの一方のみが表示される。例G:スクリプトに基づくレイアウト506のプロパティの操作図11に示されている例Gでは、レイアウト506の、スタイル及びレイアウトタイプを含む幾つかの付加的なプロパティが修正されている。choiceCountry制御502が変化した場合には常に、駆動制御502であるchoiceCountryに付随されたスクリプト950の評価がトリガされる。その制御502の現在の値に基づき、レイアウト506のプロパティを、ユーザインターフェイス202図1参照上の固有のビューuniqueview960のスクリプトによってカスタマイズできる。この例は、レイアウト506及び制御502、504のXML定義と、ECMAスクリプト950の関数であるlocalizeControls制御をローカライズとを有するサンプルアプリケーション302を示している。このサンプルでは、カナダCanadaを選択すると、ラベル及び州選択設定のフローレイアウト506配置構成が表示される。背景色及び前景色が操作される。国の選択が米国USAである場合には、レイアウト506の配向により、依存制御504が垂直構成に配置される。<条件付き制御を行うための画面マネージャの動作>インテリジェント装置ランタイムフレームワーク206を用いることにより、アプリケーション302に対する条件付き駆動及び依存制御502、504をアドレスする能力が提供される。図3及び図4を参照すると、フレームワーク206は、画面モデル350による制御500及びレイアウト506のモデリングと、モデル350から生成された結果の画面表現352のユーザインターフェイス202図1参照への表示とを司る。画面モデル350は、アプリケーション302の定義から抽出されたアプリケーション302メタデータ/スクリプトによって、画面コンポーネント402として記述される。フレームワーク206は、アプリケーション302のユーザとのユーザインターフェイス202を介した対話型操作も管理し、UI202イベントの結果としての現在の画面モデル350に対する変更を処理する。図12を参照すると、オペレーション1000は、UIサービス308による、ユーザインターフェイス202上の画面表現352から得られる初期画面のローディングステップ1002を説明するものである。まず、ステップ1004で、画面マネージャ306によって、アプリケーション格納部356からアプリケーション画面コンポーネント402がアプリケーションメタデータ/スクリプトとして抽出され、次に、参照基準画面メタデータ/スクリプト表現を提供する画面モデル350が生成されるステップ1006。次に、画面マネージャ302は、補外により、画面モデル350から、全ての現在のフィールド値及び設定を含むと共に画面条件の現在の状態を反映した、ユーザインターフェイス202上に表示するための現在の画面表現352を生成するステップ1008。次に、画面マネージャ306は、現在の画面表現352をUIサービス308に渡しステップ1010、現在の画面表現352はステップ1002を介してインターフェイス上で視覚化される。図13を参照すると、インターフェイス202上の現在の画面表現352の、ユーザによる1つ以上の画面ネイティブ制御500の変化から生じる対話型操作を示すオペレーション1050が与えられている。この変化が、リンクされた駆動制御502に対するものである場合には、いずれかの依存制御504図4参照の再評価を生じ得る。ステップ1052では、UIサービス308が制御500の変化に気づく。ステップ1154では、UIサービス308によって、この変化イベントが画面モデル350に通知される。ステップ1056では、画面モデル350が、画面コンポーネント402によって供給される内部画面メタデータ表現に対するイベントの性質を確認し、アプリケーション302のメタデータによって全体を指定される任意の条件付き制御関係により、このUIイベントの結果として影響される駆動/依存制御500をすべて検出する。ステップ1058では、画面モデル350が、このUI変化が何らかのスクリプト処理の発生を要するか否かを検出する。これは、必要なスクリプト処理を指定している駆動制御502又は依存制御504のいずれかから生じ得る。肯定された場合には、ステップ1060で、スクリプトインタプリタ354が、画面モデル350をスクリプトで指定されている通りに変更する。ステップ1162では、更新された画面モデル350に従って、画面マネージャ306により画面表現352が更新される。ステップ1064では、更新された表現352がUIサービス308に渡され、ステップ1066でユーザインターフェイスに渡されて視覚化される。本明細書の開示は、1つ以上の例示的なシステム及び方法に向けられていたが、当業者には多くの変形が自明であり、そのような変形は本出願の範囲内である。例えば、本明細書の例ではXML及びECMAスクリプトのサブセットを用いたが、他の言語及び言語変種を用いてアプリケーション302を定義してもよい。