(57)【要約】計算機機器が実施する機能性モデルを生成することであって、前記モデルが、すべての実装が満足しなければならない少なくとも１つの制約条件を含んでおり、かつモデルにより指定された機能性を実施する少なくとも１つのソフトウェア部品を配置することとを含む、計算機機器の構成方法。  少なくとも１つのソフトウェア部品は、少なくとも１つの制約条件に関する値を返すための手段を含み、かつ、部品は前記値が前記制約条件を満足する場合にのみ選択される。【選択図】図２
2007507019.tif 000002
【特許請求の範囲】
【請求項１】
計算機機器を構成するための方法であって、
計算機機器が実施する機能性のモデルを生成することであって、前記モデルが、すべての実装が満足しなければならない少なくとも１つの制約条件を含んでおり、
モデルにより指定された機能性を実施する少なくとも１つのソフトウェア部品を配置することとを含み、
少なくとも１つのソフトウェア部品が、少なくとも１つの制約条件に関する値を返すための手段を含み、かつ部品が、前記値が前記制約条件を満足する場合にのみ選択されている構成方法。
【請求項２】
モデルが、複数の通信用抽象プロキシ部品を含み、かつ少なくとも１つのソフトウェア部品が各抽象プロキシ部品に対する具象プロキシ部品を含む、請求項１に記載の方法。
【請求項３】
各具象プロキシ部品が、少なくとも１つの制約条件に関する値を返すために呼ばれ得るメソッドを提供する請求項２に記載の方法。
【請求項４】
各具象プロキシ部品が、共通インタフェースを実装し、前記インタフェースがそのメソッドを指定する、請求項３に記載の方法。
【請求項５】
各抽象プロキシ部品が、共通インタフェースを実装する抽象クラスとして定義されている、請求項４に記載の方法。
【請求項６】
各抽象プロキシ部品に対応する具象プロキシ部品が、その抽象プロキシ部品の子である、請求項５に記載の方法。
【請求項７】
メソッドがＪａｖａ（登録商標）プログラミング言語を用いて実装される、請求項１乃至６のいずれか1項に記載の方法。
【請求項８】
制約条件が、実行時間の制約条件である、請求項１乃至７のいずれか1項に記載の方法。
【請求項９】
制約条件が電力消費量の制約条件である、請求項１乃至８のいずれか1項に記載の方法。
【請求項１０】
制約条件がモデルに関して指定される、請求項１乃至９のいずれか1項に記載の方法。
【請求項１１】
制約条件がモデルの単一部品に関して指定される、請求項１乃至１０のいずれか1項に記載の方法。
【請求項１２】
計算機機器が通信端末である、請求項１乃至１１のいずれか1項に記載の方法。
【請求項１３】
計算機機器が実施する機能性のモデルを生成する手段であって、前記モデルが、すべての実装が満足しなければならない少なくとも１つの制約条件を含んでおり、
モデルにより指定された機能性を実施する少なくとも１つのソフトウェア部品を配置する手段とを含み、
少なくとも１つのソフトウェア部品が、少なくとも１つの制約条件に関する値を返すための手段を含んでおり、かつ部品が、前記値が前記制約条件を満足する場合にのみ選択されている計算機機器。
【請求項１４】
モデルが、複数の通信用抽象プロキシ部品を含み、かつ少なくとも１つのソフトウェア部品が各抽象プロキシ部品に対する具象プロキシ部品を含む、請求項１３に記載の計算機機器。
【請求項１５】
各具象プロキシ部品が、少なくとも１つの制約条件に関する値を返すために呼ばれ得るメソッドを提供する請求項１４に記載の計算機機器。
【請求項１６】
各具象プロキシ部品が、共通インタフェースを実装し、前記インタフェースがそのメソッドを指定する、請求項１５に記載の計算機機器。
【請求項１７】
各抽象プロキシ部品が、共通インタフェースを実装する抽象クラスとして定義されている、請求項１６に記載の計算機機器。
【請求項１８】
各抽象プロキシ部品に対応する具象プロキシ部品が、その抽象プロキシ部品の子である、請求項１７に記載の計算機機器。
【請求項１９】
制約条件が実行時間の制約条件である、請求項１３乃至１８のいずれか1項に記載の計算機機器。
【請求項２０】
制約条件が電力消費量の制約条件である、請求項１３乃至１９のいずれか1項に記載の計算機機器。
【請求項２１】
制約条件がモデルに関して指定される、請求項１３乃至２０のいずれか1項に記載の計算機機器。
【請求項２２】
制約条件がモデルの単一部品に関して指定される、請求項１３乃至２１のいずれか1項に記載の計算機機器。
【請求項２３】
計算機機器が通信端末である、請求項１３乃至２２のいずれか1項に記載の計算機機器。
【請求項２４】
計算機に、計算機機器が実施する機能性のモデルを生成させ、前記モデルが、すべての実装が満足しなければならない少なくとも１つの制約条件を含んでおり、
かつ計算機に、モデルにより指定された機能性を実施する少なくとも１つのソフトウェア部品を配置させる、
計算機プログラムコード手段を記憶するデータ記憶媒体であって、
少なくとも１つのソフトウェア部品が少なくとも１つの制約条件に関する値を返すための手段を含んでおり、かつ部品が、前記値が前記制約条件を満足する場合にのみ選択される、データ記憶媒体。
【請求項２５】
計算機に請求項１乃至１２のいずれか1項の方法に従う手順を実行させる計算機プログラムコードを記憶するデータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機機器を構成するための方法に関する。より詳細には、構成がシステムに課された制約条件を満足することを保証する方法に関する。
【背景技術】
【０００２】
最新の通信端末は、通常、信号処理に適した種類の異なるハードウェア装置の集合が入っている。そのような装置はデジタルシグナルプロセッサ（ＤＳＰ）、特定用途向ＩＣ（ＡＳＩＣ）、および再構成可能なハードウェア（Ｒ−ＨＷ）を含む。
通信の分野、特に無線通信の分野での急速な進展により、多くの異なるプロトコルが適用されるようになってきている。例えば、ある通信装置はＧＳＭ（広域移動体通信システム）プロトコルを使用し、一方他のものはＵＭＴＳ（ユニバーサル移動体通信サービス）プロトコルを使用する。従来の通信端末は再構成することができない固定の信号処理素子を含んでいる。したがって、そのような端末は、１つのプロトコルを他のプロトコルに換えて扱えるように、その挙動を変化させることができない。したがって、そのような端末は適応性の点に難点がある。
【０００３】
ソフトウェア無線は、適当なマイクロプロセッサ上で端末の動作を変化させるために実行する種々のソフトウェア部品を、実行時にダウンロードすることにより、無線端末などの装置の動作を決定することができる。公開米国特許出願ＵＳ２００２／０１４４１３４Ａ１（Ｗａｔａｎａｂｅ他）はそのようなソフトウェア無線の１つについて記述している。
【０００４】
一般的に言えば、送信されたソフトウェアにより、端末のベースバンド挙動を変化させることができる。ベースバンドの挙動に対する変更は、時には、１つのプロトコルから別のプロトコルへの全体の再構成であってもよい。例えば、ＵＭＴＳプロトコルに代わってＧＳＭプロトコルを用いて動作するように端末を構成する場合である。代替的には、動作標準を変更することなく挙動を変化させるように、部分的再構成を行うことができる。
【０００５】
ＷＯ０１／９０８９０（Ｒｏｋｅ  Ｍａｎｏｒ  Ｒｅｓｅａｒｃｈ  Ｌｉｍｉｔｅｄ）はソフトウェア無線端末を再構成する際に使用するための再構成マネージャについて説明している。再構成ハンドラーは、様々な送信源からの要求を管理し、適切なソフトウェアをダウンロードし、端末内の適切な装置で、このソフトウェアを実行することによって、再構成を行う。また、ＷＯ０１／９０８９０は、必要な機能性を提供するために適当なクラスがダウンロードされ、インスタンスが生成されるオブジェクト指向の実施について説明している。第１のクラスを第２のクラスで置き換えて再構成する場合、機能性、挙動およびインタフェースの変更をサポートするために、動的バインディングが必要であることが説明されている。
【０００６】
多くの場合通信システムは、厳格な期限に従って動作する厳密な実時間システムである。例えば、１つの装置は予め定めた期間以内で信号を処理し、その後の装置が上記処理済み信号に対して動作できるようにしなければならない。すべての期限を満足しない通信システムは誤り状態と見なされる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、ソフトウェア無線システムが、種々の部品の実装が時間的制約条件を満足することを保証する手段を提供することは重要である。
【課題を解決するための手段】
【０００８】
本発明の目的は少なくとも上述の問題を回避するか、または緩和することである。
本発明の第１の態様によれば、
計算機機器が実施する挙動モデルを生成することであって、そのモデルがいかなる実装も満足しなければならない少なくとも１つの制約条件を含んでおり、
かつ、そのモデルで指定される挙動を実施する少なくとも１個のソフトウェア部品を配置することであって、
少なくとも１個のソフトウェア部品が上記少なくとも１つの制約条件に関する値を返すための手段を含んでいる、計算機機器を構成するための方法が提供される。
【０００９】
そのモデルは、複数の通信用抽象プロキシ部品を含んでも良い。また、少なくとも１個のソフトウェア部品がそれぞれの抽象プロキシ部品に対する具象プロキシ部品を含んでもよい。各具象プロキシ部品は少なくとも１つの制約条件に関連する値を返すために呼ぶことができるメソッドを提供してもよい。各具象プロキシ部品は共通インタフェースを実装してもよい。また、インタフェースはメソッドを指定してもよい。各抽象プロキシ部品は共通インタフェースを実装する抽象クラスとして定義されてもよい。各抽象プロキシ部品に対応する具象プロキシ部品はその抽象プロキシ部品の子であってもよい。
【００１０】
このメソッドは、Ｊａｖａ（登録商標）プログラミング言語を使用して実装されても良い。
制約条件は実行時間の制約条件であっても良い。制約条件は電力消費量の制約条件であっても良い。制約条件はモデルに関して指定されても良い。制約条件はモデルの単一部品に関して指定されても良い。
【００１１】
本発明の第２の態様によれば、
計算機機器が実施する挙動モデルを生成する手段であって、そのモデルがいかなる実装も満足しなければならない少なくとも１つの制約条件を含んでおり、
かつ、そのモデルで指定される挙動を実施する少なくとも１個のソフトウェア部品を配置する手段とを含み、
少なくとも１個のソフトウェア部品が少なくとも１つの制約条件に関する値を返すための手段を含んでいる、計算機機器が提供される。
【００１２】
本発明の第３の態様によれば、以下の計算機プログラムコード手段を記憶するデータ記憶媒体が提供される。
その手段は、計算機に、計算機機器が実施する機能性のモデルを生成させ、前記モデルが、すべての実装が満足しなければならない少なくとも１つの制約条件を含んでおり、
かつ、モデルにより指定された機能性を実施する少なくとも１つのソフトウェア部品を配置させ、少なくとも１つのソフトウェア部品が少なくとも１つの制約条件に関する値を返すための手段を含んでいる。
【００１３】
本明細書において、本発明の特徴を説明するためにＪａｖａ（登録商標）プログラミング言語に関連して普通に使用される用語が用いられる。本発明がＪａｖａプログラミング言語を用いた実装に決して制限されていないことが理解されるだろう。また、Ｊａｖａプログラミング言語の特徴を参照するために用いる用語は、他のプログラミング言語の等価な特徴を含むように解釈されるべきである。
【発明を実施するための最良の形態】
【００１４】
本発明の実施例を添付図面を参照して一例として説明する。
最初に図１により、相互に、および図１に示していない他の通信端末と通信するように構成されている複数の通信端末１を示す。通信端末は、無線または有線の手段を用いて通信でき、広範囲に種々の利用可能な通信プロトコルの任意の１つを用いて通信してもよいことはいうまでもない。例えば、各端末は、移動電話、適当な通信ハードウェアを含むラップトップのような計算機、または移動電話を組み込んでいるハンドヘルド計算機であってもよい。
【００１５】
図１は有線または好ましくは無線接続手段３を用いて端末１と通信する構成装置２を含む。公知のソフトウェア無線システムにおいては、構成装置２は通信端末の挙動を変化させるためのソフトウェアを通信端末１の１つに送信する。次に、このソフトウェアは、端末の挙動を変化させるように端末内のマイクロプロセッサ上で実行される。
【００１６】
本発明により、端末の挙動を、ダウンロードされたソフトウェアを端末内のマイクロプロセッサ上で実行することにより変化させることができるだけでなく、特定用途向ＩＣ（ＡＳＩＣｓ）または再構成可能なハードウェア（Ｒ−ＨＷ）のような適切なハードウェアアクセラレータを構成することによっても変化させることができる。
【００１７】
図２は本発明に従う構成を示す。端末１は制御プロセッサ５上で実行するローカル構成マネージャ４を含む。一般に、制御プロセッサ５は端末１の挙動を変化させるために制御タスクを実行する。端末１は、また信号処理タスク専用の複数のハードウェアアクセラレータ処理資源６を含む。このハードウェアアクセラレータ処理資源６は、通常は種類の異なるハードウェアデバイスの集合が入っているだろう。この集合は、明確に定義された命令セットで指定されたコードを実行することができるマイクロプロセッサであるディジタル信号プロセッサ（ＤＳＰ）、および種々のパラメータを用いて構成されるＡＳＩＣを含む。
【００１８】
端末は無線リンク８を用いてリモートネットワークノード７と通信する。ネットワークノードは端末１が無線リンク８を用いてアクセスできるリモート構成マネージャ９を含む。
ローカル構成マネージャ４はソフトウェア部品ライブラリ１０へのアクセス手段を持っている。リモート構成マネージャ９はリモートソフトウェア部品ライブラリ１１へのアクセス手段を持っている。ローカルおよびリモートライブラリ１０、１１の双方は装置の詳細およびこれらの装置を種々の方法で動作させる構成を格納している。通常、リモートソフトウェア部品ライブラリ１１はマスターライブラリであり、新しい装置と装置構成はそのライブラリに追加される。ローカルソフトウェア部品ライブラリ１０は、装置の詳細および端末１で使用中または使用された装置構成を含む。さらに、ローカルソフトウェア部品ライブラリ１０は規定の挙動に必要な装置構成を含む。リモートソフトウェア部品ライブラリ１１とローカルソフトウェア部品ライブラリ１０の間でデータを必要に応じて構成マネージャ４、９の制御の下で複写することができる。
【００１９】
図２で示された構成において、システムは無線リンク上で交信するローカル構成マネージャ４とリモート構成マネージャ９の両方を含む。しかしながら、本発明のいくつかの実施例において、端末１の構成は、無線リンク８を介して通信するリモート構成マネージャ９だけでも実行され得る、または代替的にはローカル構成マネージャ４だけでも実行され得ることが理解されるだろう。
【００２０】
図２に示すアーキテクチャを用いた構成により、通常のソフトウェア無線にあるようなＤＳＰのようなマイクロプロセッサを用いることができるだけでなく、ＡＳＩＣのようなより高速のハードウェアを用いることができる。
ローカル構成マネージャ４は、制御プロセッサ５を用いて構築、操作されるアプリケーションモデル１２およびハードウェアモデル１３を構築する。また、リモート構成マネージャ９は、アプリケーションモデル１４とハードウェアモデル１５を有する。端末１の構成にあるこれらモデルの機能を図３を参照して以下に説明する。
【００２１】
図３は端末１の構成を示す。ここで端末はＵＭＴＳ無線の挙動を実施するものとする。ＵＭＴＳベースバンドの挙動を表すアルゴリズムマップ１６は、制御プロセッサ５上で実行するローカル構成マネージャ４により、ローカルライブラリ１０から検索される。このアルゴリズムマップはＵＭＴＳの挙動を実施するために必要な機能をデータフローモデルを用いて記述している。アルゴリズムマップ１６は構造（すなわち、部品を接続して必要な機能を提供する方法）および各部品が備えなければならないインタフェースについて記述する。アルゴリズムマップ１６は、各所要部品を抽象プロキシ部品として表すことによって、このモデル化を定める。各抽象プロキシ部品はインタフェースを定義するが実装は定義しない。抽象プロキシによって定義されたインタフェースを提供する具象プロキシ部品を、関連する実装と共に配置することが構成マネージャ４の機能である。これらの具象プロキシ部品はアルゴリズムマップ１６の挙動を実装するために必要なソフトウェアを提供する。このプロセスを以下に説明する。
【００２２】
図４に図３のアルゴリズムマップ１６をより詳細に示す。ＵＭＴＳの挙動が以下の３つの抽象プロキシ部品を用いて定義されることが分かる。すなわち、レイク受信機プロキシ１７、ターボ復号機プロキシ１８、およびフィルタプロキシ１９である。レイク受信機プロキシ１７は抽象チャンネル部品２０によってターボ復号機プロキシ１８に接続される。レイク受信機プロキシ１７は抽象チャンネル部品２１によってフィルタプロキシ１９に接続される。
【００２３】
再び図３を参照して、構成マネージャは、構成中の通信端末上で利用可能なハードウェアを表すハードウェアモデル２２を構築し、管理する。このハードウェアモデル２２は端末の各部品を模擬する。図３の例において、端末のハードウェアアクセラレータ資源６は、ＤＳＰマネージャ２４の制御下にあるＤＳＰ２３、構成可能計算機（ＣＣ）マネージャ２６の制御下にある構成可能な計算機２５（上述のＲ−ＨＷの一例）、およびＡＳＩＣマネージャ２８の制御下にあるＡＳＩＣ２７を含む。
【００２４】
構成マネージャ４はライブラリ１０（または、図２のリモートライブラリ１１）内に、図４のアルゴリズムマップの抽象プロキシ部品で定義された各機能に対する適当な具象プロキシ部品を配置しなければならない。各具象プロキシ部品はハードウェアモデル２２のハードウェア装置に対応していなければならない。適当な具象プロキシ部品が配置されると、アルゴリズムマップ１６内に指定された抽象プロキシ部品に対応する具象プロキシ部品の実行時モデルであるアプリケーションモデル２９が生成される。各具象プロキシ部品は、適切なハードウェアアクセラレータ資源６が制御できるようにハードウェアモデル２２の対応部品と接続する。
【００２５】
ハードウェアアクセラレータ資源６は異なる方法で構成されてもよい。例えば、フィルタ機能性を提供するためのＤＳＰ２３を構成するために、ＤＳＰの命令セットで書かれた１ブロックのコード３０がＤＳＰで実行される。レイク受信機を実施するためのＣＣ２５を構成するために、適当な構成データ３１がＣＣに提供されなければならない。一方ＡＳＩＣ２７はターボ復号機として作動するために適当なパラメータ３２を要求する。適切な構成データがアプリケーションモデル２９内のそれぞれの具象プロキシ部品にリンクされ、対応するハードウェアアクセラレータ資源６の構成のためにハードウェアモデル２２内の適切なマネージャに提供される。
【００２６】
上述から、具象プロキシ部品が、特定のハードウェアアクセラレータを指定する手段を提供する一方で、対応する抽象プロキシで定義されるようなインタフェースを提供することが分かる。このように、このアーキテクチャは、与えられた部品の複数の異なるハードウェア実装を指定するためのメカニズムを、それぞれの具象プロキシ部品を用いて提供する。各具象プロキシ部品はより高いレベルの機能への共通インタフェースを定義している。端末の挙動は、適切な具象プロキシ部品が用意されるとすれば、通常のソフトウェア無線の場合のようにＤＳＰを用いるだけでなく、ＡＳＩＣまたはＣＣのようなハードウェアアクセラレータ素子を用いても再構成できる。すべての具象プロキシは同じように構成マネージャ４によって処理され、より高いレベルの機能はそれらの基本的な実装に関係なく共通的な方法で部品を指定することができる。
【００２７】
アプリケーションモデル２９は図２のアプリケーションモデル１２の１つであり、ハードウェアモデル２２は図２のハードウェアモデル１３の１つである。しかしながら、構成がリモート構成マネージャ９によって実行される場合には、アプリケーションモデル２９は図２のモデル１４の１つであり、ハードウェアモデル２２は図２のモデル１５の１つだろう。
【００２８】
図５は上記部品間の階層的な関係を示すＵＭＬクラス線図である。階層構造の最上部に、二つのパブリックメソッドを定義するＰｒｏｘｙインタフェース３３がある。Ｊａｖａプログラミング言語にあるように、インタフェースはそのインタフェースを実装するように宣言されたクラスによって実装されるメソッドを定義する。インタフェース自体はメソッドを実装しないで（ファンクションプロトタイプに類似した）メソッドのヘッダー以外のものを含まない。Ｊａｖａにおいてインタフェースを用いることは、当業者に容易に理解されるだろう。また、Ｆｌａｎａｇａｎ、  Ｄ著「Ｊａｖａ概要」第２版、Ｏ’Ｒｅｉｌｌｙ、１９７７、７７ページから８０ページに記載されている。この記載はここに参考文献として組み込まれる。
【００２９】
図５は、抽象クラスＲａｋｅＲｅｃｅｉｖｅｒＰｒｏｘｙ３４がＰｒｏｘｙインタフェースを実装することを示す。これは、このクラスのすべてのインスタンスが上で説明したパブリックメソッドを提供しなければならないか、またはこれらのメソッドの提供をその子に代行させなければならないことを意味する。ＲａｋｅＲｅｃｅｉｖｅｒＰｒｏｘｙクラスが抽象であると仮定すると、決してそれ自体をインスタンス化することはできないが、単にクラス階層の付加的層として働き、他のクラスのペアレントとして動作することができる。ＲａｋｅＲｅｃｅｉｖｅｒＰｒｏｘｙの子である任意のクラスは、ＲａｋｅＲｅｃｅｉｖｅｒＰｒｏｘｙクラス３４のＰｒｏｘｙインタフェース３３においても指定され、クラス３３内では実装されない任意のメソッドを実装しなければならない。オブジェクト指向の継承の階層において、抽象クラスを使用することは、当業者に容易に理解されるだろう。また、前記参照のＪａｖａ概要の４９ページから１０１ページに記述されている。
【００３０】
ペアレントとしてＲａｋｅＲｅｃｅｉｖｅｒＰｒｏｘｙを持っているクラスは、ＲａｋｅＲｅｃｅｉｖｅｒＰｒｏｘｙがＰｒｏｘｙインタフェースで指定されるｇｅｔＡｃｔｕａｌＥｘｅｃｔｉｏｎＴｉｍｅ（）メソッドとｇｅｔＡｃｔｕａｌＰｏｗｅｒＣｏｎｓｕｍｐｔｉｏｎ（）メソッドを実装していない場合、これらのメソッドを提供しなければならない。したがって、ＲａｋｅＲｅｃｅｉｖｅｒＰｒｏｘｙクラスはこれらのメソッドの実装を子へ委譲する。
【００３１】
図５において、ＲａｋｅＲｅｃｅｉｖｅｒＰｒｏｘｙクラスは、ＲａｋｅＤＳＰ３５とＲａｋｅＡＳＩＣ３６の二つのチャイルドクラスを有している。これらの具象クラス双方はＰｒｏｘｙＩｎｔｅｒｆａｃｅ３３で指定されたｇｅｔＡｃｔｕａｌＥｘｅｃｔｉｏｎＴｉｍｅ（）とｇｅｔＡｃｔｕａｌＰｏｗｅｒＣｏｎｓｕｍｐｔｉｏｎ（）を実装する。レイク受信機を表すいかなる具象プロキシ部品も抽象クラス３４の子である。したがって、レイク受信機を表すすべてのプロキシ部品は外部の世界に対して統一インタフェースを提示することになる。
【００３２】
ＲａｋｅＤＳＰクラス３５はＤＳＰ上でレイク受信機を実現する具象プロキシ部品である。ＲａｋｅＡＳＩＣクラス３６はＡＳＩＣ上でレイク受信機を実現する具象プロキシ部品である。したがって、図３で示した形式のアプリケーションモデルにクラス３５、３６を含めることができるだろう。
【００３３】
再び図５を参照して、Ｐｒｏｘｙインタフェース３３で定義された２つのメソッドはパブリック（接頭詞「＋」で表す）である。１番目のｇｅｔＡｃｔｕａｌＥｘｅｃｕｔｉｏｎＴｉｍｅ（）メソッドは、予め定めた時間単位を用いて、インタフェースを実装するクラスによって表された部品の実行時間を表す整数値を返す。２番目のｇｅｔＡｃｔｕａｌＰｏｗｅｒＣｏｎｓｕｍｐｔｉｏｎ（）メソッドは、予め定めた単位を用いて、インタフェースを実装するクラスによって表された部品の電力消費量を表す整数値を返す。
【００３４】
アルゴリズムマップ（図４）は多数の通信用抽象プロキシ部品で挙動を定義する。さらに、アルゴリズムマップは制約条件の仕様も含んでいる。例えば、アルゴリズムマップは、レイク受信機を実施するために、選択した具象プロキシ部品が実行時間をある一定の限界内に、また電力消費量を一定の限界内にしなければならない、という条件を付けてもよい。
【００３５】
抽象プロキシ部品によって表される機能を実施するために具象プロキシ部品を選択すると、構成マネージャは、その部品に対する実際の実行時間と電力消費値を得るために、その具象プロキシ部品が提供するメソッドを呼ぶ。構成により選択された部品がアルゴリズムマップで指定された制約条件を満足することを保証するために、得られた実行時間と電力消費量値をアルゴリズムマップで指定された制約条件と比較することができる。
【００３６】
構成マネージャは、すべての具象プロキシ部品が必要なメソッドを提供することが確実であるとすることができる。これらのメソッドが最上レベルのインタフェース３３（図５）で定義されているからである。したがって、図５に示したクラス階層は、構成マネージャが、アルゴリズムマップで指定された制約条件と比較することができる電力消費量と実行時間のデータを得るために、共通的方法ですべてのプロキシ部品を操作するための便利な方法を提供する。
【００３７】
本発明のいくつかの実施例において全電力消費量の制約条件は、個々のプロキシ部品に関してでなく、全体のアルゴリズムマップ１６に関連して決定されてもよいことはいうまでもない。このような場合には、構成マネージャは、どの組み合わせが全電力消費制約条件を満足するかを決定するために具象プロキシの可能な組み合わせをすべて調べなければならない。
【００３８】
実行時間と電力消費量の制約条件を上に述べたが、本発明はそのような制約条件に限定されないだけでなく、システムに課せられた他の制約条件または制約条件の組み合わせに適用可能なことが理解されるだろう。上の記述では、アルゴリズムマップは、それぞれが抽象Ｊａｖａクラスである複数の抽象プロキシ部品で実装されているとして記述されてきた。アルゴリズムマップは必要な挙動仕様を提供する多くの方法で実装され得ることが理解されるだろう。例えば、本発明のいくつかの実施例では、アルゴリズムマップは事前に定義された構文に従って書かれた平文ドキュメントとして実施される。
【００３９】
本発明のいくつかの実施例において、それぞれが端末の実施する異なる機能性に対応して、複数の異なるアルゴリズムマップが提供されてもよいことはいうまでもない。そのような実施例において、端末は、ライブラリからの適切なアルゴリズムマップを選択し、そのアルゴリズムマップの抽象プロキシ部品に対応する具象プロキシ部品を含むアプリケーションモデルを構築することにより再構成することができる。例えば、ＧＳＭ機能性およびＵＭＴＳ機能性の両方のためのアルゴリズムマップを提供でき、次に、上で説明した方法で適切なアプリケーションモデルを生成することによって、どちらの機能性でも提供するように端末を構成することができる。いくつかの状況において、複数のアプリケーションモデルが並行使用のために、例えば同時にＧＳＭおよびＵＭＴＳの機能性の両方を提供するために生成されてもよいことはいうまでもない。
【００４０】
上記説明のいくつかの場所でＪａｖａプログラミング言語を参照したが、他のオブジェクト指向プログラミング言語も同様に使用することができることは当業者に容易に理解されるだろう。さらに、本発明はオブジェクト指向実装に限定されておらず、適当な計算機プログラミング言語で実装され得るだろう。
【図面の簡単な説明】
【００４１】
【図１】無線通信端末間の通信網の概略図。
【図２】図１の通信端末の本発明に従う構成を示す概略図。
【図３】本発明に従う構成をより詳細に示す図１および図２の通信端末の一部の概略図。
【図４】図３のアルゴリズムマップの概略図。
【図５】図３の構成に用いたクラスを示すＵＭＬクラスダイアグラム。
【符号の説明】
【００４２】
１…通信端末、２…構成装置、３…接続手段、５…制御プロセッサ、７…リモートネットワークノード、１６…アルゴリズムマップ、２２…ハードウェアモデル、２９…アプリケーションモデル
【図１】
2007507019.tif 000003
【図２】
2007507019.tif 000004
【図３】
2007507019.tif 000005
【図４】
2007507019.tif 000006
【図５】
2007507019.tif 000007
【国際調査報告】
2007507019.tif 000008
2007507019.tif 000009
2007507019.tif 000010