(57)【特許請求の範囲】
【請求項１】
シーケンシャル・オブジェクト指向システムシミュレーションをシーケンス制御する方法にあって、この方法の場合、少なくとも幾つかの同じ特性を有する複数のオブジェクトが、複数のオブジェクトグループに統合され、これらのオブジェクトグループは、複数のクラスにマッピングされ、各クラスは、シミュレーションプログラム部によって実現され、この場合、インスタンスが、少なくとも１つのパラメータをシミュレーションプログラム部にセットすることによって実現されることで、１つのオブジェクトグループの１つのオブジェクトが、クラスの１つのインスタンスにマッピングされ、これによって、このシミュレーションプログラム部が、パラメータ化されたシミュレーションプログラム部になり、オブジェクト間の通信をシミュレートするインスタンスが、このパラメータ化されたシミュレーションプログラム部でイベントを生成し処理し、このことは、複数のパラメータ化されたシミュレーションプログラム部を実行させることによって実現され、この場合、このシミュレーションの実行は、インスタンスを起動させることによって制御される方法において、シミュレーション・シーケンスが、メインプログラム内に記憶されかつ限定された複数のサイクル・インクリメント（１２）から成る１つのサイクル（１１）後にこのメインプログラムによって第１シミュレーションレベル（５）で制御されること、
第１サイクル・インクリメント（１２）中の第１クラス（３）のこの第１サイクル・インクリメント中の少なくとも１つの第１インスタンス（２）が、少なくとも１つの第１イベント（９）を生成するメインプログラムによって選択されて、第１サイクル（１１）の第１サイクル・インクリメント（１２）を処理し、この場合、イベント（９）は、パラメータ化されたシミュレーションプログラム部（８）で計算された値（１０）によって実現され、この値は、１つの情報値とサイクル番号及びサイクル・インクリメント番号を有する時間値とから少なくとも構成され、この値は、ターゲットインスタンスに割り当てられたイベント記憶装置（１３）内に記憶され、このプログラム制御は、第１イベント又は全てのイベント（９）の生成の終了後にメインプログラムに返されること、
サイクル・インクリメント（１２）中に通知された全てのインスタンス（２）が処理され，第１サイクル・インクリメント（１２）の処理が、プログラム制御をメインプログラムに返すことによって終了するまで、メインプログラムが、場合によっては１つ又は多数の別のインスタンス（２）を同じ又は別のクラス（３）から選択して、イベントが第１サイクル・インクリメント（１２）中に通知されている時に、少なくとも各１つのイベント（９）を生成し記憶すること、
別のサイクル・インクリメント（１２）中の第１クラス（３）のこの別のサイクル・インクリメント中の少なくとも１つの第１インスタンス（２）が、メインプログラムによって選択されて、第１サイクル（１１）のこの別のサイクル・インクリメント（１２）を処理し、この場合、この選択されたインスタンス（２）のパラメータ化されたシミュレーションプログラム部（８）が、このインスタンスに割り当てられたイベント記憶装置（１３）を探索パラメータによってイベント（９）を求めて探索すること、
探索パラメータが一致した場合、イベント（９）の付随する情報値が、インスタンス（２）に属するパラメータ化されたシミュレーションプログラム部（８）によってこのインスタンスの特性に応じて処理され、この処理の結果、イベント（９）が生成されないか、又は、１つ若しくは多数のイベントが、生成されターゲットインスタンス（２）に割り当てられたイベント記憶装置（１３）内に記憶され、プログラム制御が、メインプログラムに返されること、
探索パラメータが、付随するイベント記憶装置（１３）内に記憶されたイベント（９）のパラメータに一致しない場合、プログラム制御が、メインプログラムに返されること、  第２サイクル・インクリメント（１２）中に通知された全てのインスタンス  （２）が処理され、その他のサイクル・インクリメント（１２）の処理が、プログラム制御をメインプログラムに返すことによって終了するまで、その他のインスタンス（２）が、イベント（９）を探索し処理するために連続して選択されること、
第１サイクル（１１）が終了するまで、サイクル・インクリメント（１２）が存在する場合、メインプログラムは、１つのサイクル（１１）の全てのその他のサイクル・インクリメントを連続して実行し、所定のサイクル数を実行するか又はその時のイベント（９）をもはや処理する必要がなくなるまで、メインプログラムは、シミュレーションの処理を後続するサイクル（１１）で繰り返し続行すること、
イベント（９）のデータ及び／又はインスタンス（２）によってイベント（９）を処理して生成されたデータが、シミュレーションシーケンスの選択されたサイクル・インクリメント（１２）及び／又はサイクル（１１）内に記憶され次いで評価プログラム部によって評価されることを特徴とする方法。
【請求項２】
シミュレーションは、第１シミュレーションレベル（５）の実行後に別のシミュレーションレベル（５）で続行され、このシミュレーションは、全てのシミュレーションレベル（５）の処理後にこの第１シミュレーションレベル（５）で続行されることを特徴とする請求項１に記載の方法。
【請求項３】
シミュレーションが、第１シミュレーションレベル（５）の１つのサイクル  （１１）の１つのサイクル・インクリメント（１２）を処理する間に別のシミュレーションレベル（５）で分岐され、処理が、この別のシミュレーションレベル（５）内の処理の終了後に後続する又は第１シミュレーションレベル（５）で続行されることを特徴とする請求項１に記載の方法。
【請求項４】
システムシミュレーション又は別のシステムシミュレーションをシーケンス制御する同じ方法が、別のシミュレーションレベル（５）で使用されることを特徴とする請求項２に記載の方法。
【請求項５】
イベント（９）は、付随するインスタンス（２）によるイベント（９）の処理後にイベント記憶装置の領域（１３）から消去されることを特徴とする請求項１に記載の方法。
【請求項６】
イベント記憶装置は、記憶装置の分割によって又はインスタンス（２）の分割によってイベント記憶装置（１３）の複数の領域に区分され、イベント記憶装置（１３）の各領域がそれぞれ、１つのインスタンス（２）に固定に割り当てられていることを特徴とする請求項１に記載の方法。
【請求項７】
インスタンス（２）は、メインプログラム内に固定されたイベント記憶装置（１３）の領域内だけにイベント（９）を記憶する請求項１に記載の方法。
【請求項８】
イベント（９）のシーケンシャル処理が、１つのサイクル・インクリメント  （１２）内に１つのインスタンス（２）に割り当てられた１つのイベント記憶装置内でこのイベント（９）の時間値によって、ユーザが規定した優先権によって又はイベント（９）の構成要素であるインスタンス番号のトポロジカルソートによって制御されることを特徴とする請求項１に記載の方法。
【請求項９】
異なるインスタンス（２）のイベント（９）が、１つのサイクル・インクリメント（１２）内で異なるスレッド内の配置によって並列処理されることを特徴とする請求項１に記載の方法。
【請求項１０】
１つの時間値に対する１つのインスタンス（２）によって受け取られ処理されるイベント（９）が、別のインスタンス（２）に対するイベント（９）又はそれ自体を同じ時間値によって生成することを特徴とする請求項１に記載の方法。
【請求項１１】
１つの時間値に対して１つのインスタンス（２）によって受け取られ、処理されるイベント（９）が、別の時間値を有する別のインスタンス（２）又はそれ自体用のイベント（９）を生成することを特徴とする請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンシャル・オブジェクト指向システムシミュレーションをシーケンス制御する方法に関する。この方法の場合、少なくとも幾つかの同じ特性を有する複数のオブジェクトが、複数のオブジェクトグループに統合される。これらのオブジェクトグループは、複数のクラスにマッピングされる。各クラスは、シミュレーションプログラム部によって実現される。この場合、インスタンスが、少なくとも１つのパラメータをシミュレーションプログラム部にセットすることによって実現されることで、１つのオブジェクトグループの１つのオブジェクトが、クラスの１つのインスタンスにマッピングされる。これによって、このシミュレーションプログラム部が、パラメータ化されたシミュレーションプログラム部になる。オブジェクト間の通信をシミュレートするインスタンスが、このパラメータ化されたシミュレーションプログラム部でイベントを生成し処理する。このことは、複数のパラメータ化されたシミュレーションプログラム部を実行させることによって実現される。この場合、このシミュレーションの実行は、インスタンスを起動させることによって制御される。
【背景技術】
【０００２】
システムシミュレーションは、コンピュータプログラムを実行することである。このコンピュータプログラムは、テストすべきシステムをテストの目的に対して十分な抽象化でモデル化する。ダイナミックシミュレーションは、リアルタイムで応答するシステムを示す。時間離散シミュレーションは、ダイナミックシミュレーションである。このダイナミックシミュレーションでは、シミュレーションに参加するオブジェクトの状態が、連続する時間目盛内の不連続な時点に対して変化する。このようなシミュレーションは、このようなプログラムの大きさ及び複雑さを制御するためにオブジェクト指向原理にしたがって実現される。すなわちプログラムは、互いに通信するプログラムオブジェクトから構成される。
【０００３】
時間離散システムシミュレーションは、静的な「モンテ・カルロシミュレーション」とは違ってシミュレートされたモデルの履歴をシミュレートできるので、これらの時間離散システムシミュレーションは、例えば電気通信では無線通信アクセスネットワークの設計，最適化及び信頼性の確認に使用される。この履歴は、移動無線電話サービスの加入者の移動又は多数のパケット通信サービス又は例えばＷＣＤＭＡ多重アクセスの方法による無線通信アクセスネットワーク内の適応する要素の増大する使用の影響を分析するために重要である。したがって時間離散システムシミュレーションは、無線資源の使用時に発生するような無線通信アクセスネットワークのアルゴリズムをテストできるようにするためにも特に適する。無線通信アクセスネットワークは、ここでは移動無線ネットワークの無線ネットワークに関連する一部である。
【０００４】
時間離散シミュレーション中のオブジェクト間の通信のシーケンス制御は、シミュレーション・シーケンス制御のタスクである。このシミュレーション実行制御は、１つ又は多数のシミュレーション方法を実行する。シミュレーション方法は、例えばE.A.Lee and A.Sangiovanni-Vincentelli:A Framework for Comparing Models of Computation,in IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems, vol. 17(12), pp. 1217-1229, Dez. 1998 によるオブジェクト間の通信の意味論(Semantik)である。
【０００５】
E.A.Lee, "Modeling Concurrent Real-time Processes Using Discrete Events", Invited paper, Annals of Software Engineering, Special Volume on Real-Time Software Engineering, vol. 7(1999), pp.25-45, Feb.19997には、離散イベントによる時間離散シミュレーションのシーケンス制御が記されている。オブジェクト間の通信が、ここではイベントによって処理される。イベントは、実際にオブジェクト間で交換すべき情報、情報値に加えてソースアドレスとターゲットアドレスとから構成できるアドレス値並びにタイムスタンプを有する。これらのイベントは、このタイムスタンプによって例えば時系列順位に配列され得る。その他の可能な配列基準は、トポロジカルソート又は通信オブジェクトのユーザに応じたプライオリティである。
【０００６】
その都度最小のタイムスタンプを有するイベントを中央イベント記憶装置内で探索することによって、及び、このイベントを受信するオブジェクトにこのイベントを送信し、このオブジェクトがこのイベントを処理し、そして中央イベント記憶装置にイベントを返送しないか又は１つのイベント又は多数のイベントを返送することによって、図１から分かるように、シミュレーション及びシミュレーション時間が先行する。したがって、離散イベントによるシミュレーションは、実行時間計画されたシミュレーション方法のグループに属する。実行時間計画されたシミュレーション方法自体が、シミュレーションのシーケンスをプログラムの実行時間に対して初めて計画するか又は生成する。これとは異なってコンパイラ時間計画されたシミュレーション方法は、シミュレーションのシーケンスをプログラムの実行前に既に計画する。
【０００７】
大規模なシミュレーションでは、多数のイベントが、オブジェクト間の通信によって発生する。これらのイベントが、完全に独立したオブジェクト間の通信に使用される時でも、これらのイベントは、中央イベント記憶装置の１つ又は複数のリスト内で分類される必要がある。非常に多いイベントを有する非常に長いイベントリストの場合、これらのリスト内での分類とその都度最小のタイムスタンプを有するイベントの探索との双方が、時間を非常に浪費し得る。
【０００８】
無線通信アクセスネットワークの時間離散システムシミュレーションの理論の革新的な知識では、オブジェクトの通信が同期しさらに１つのイベントサイクル中に起こりうることが特に(J.Voigt and G.Fettweis: A Cycle-Based Approach for Parallel Simulation of Mobile Communications Networks, in: Symposium on Performance Evaluation of Computer and Telecommunications Networks  (SPECTS'2K), pp. 139-143, Vancouver, BC, Canada, July 2000) 及びドイツ連邦共和国特許出願公開第101 04 926号明細書中に記されている。イベント及びイベントサイクルの受信時間の同期を認識することによって、シミュレーションのシーケンスが、シミュレーションの開始前に既知である。
【０００９】
離散イベントによるシーケンシャルシミュレーションは、全てのイベントを包括的な分類関係で処理する必要が必然的にある。このことは、シミュレーションすべきシステムの性質の妨げとなりうるか又はモデルのオーバー仕様を招く。非常に計算時間経費がかかるので、このことは欠点とみなされうる。もう１つの欠点は、シーケンシャルシミュレーションがシミュレーション中に発生する全てのイベントを必要な包括的な分類関係にする中央イベント記憶装置を必要とする点にある。
【００１０】
これに関連する高い資源経費の不利な要件に加えて、同時にシミュレーションの全計算時間の比較的大きい部分が、中央イベント記憶装置のリストの分類だけに使用する必要がある。
【特許文献１】E.A.Lee and A.Sangiovanni-Vincentelli:A Framework for Comparing Models of Computation,in IEEE Transactions on Computer Aided Design of Integrated Circuits and Systems, vol. 17(12), pp. 1217-1229, Dez. 1998
【特許文献２】E.A.Lee,  "Modeling Concurrent Real-time Processes Using Discrete Events", Invited paper, Annals of Software Engineering,   Special Volume on Real-Time Software Engineering, vol. 7(1999), pp.25-45, Feb.19997
【特許文献３】(J.Voigt and G.Fettweis: A Cycle-Based Approach for Parallel Simulation of Mobile Communications Networks, in: Symposium on Performance Evaluation of Computer and Telecommunications Networks (SPECTS'2K), pp. 139-143, Vancouver, BC, Canada, July 2000)
【特許文献４】ドイツ連邦共和国特許出願公開第101 04 926号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の課題は、シーケンシャル・オブジェクト指向システムシミュレーションをシーケンス制御する方法を提供することにある。この方法は、システムシミュレーションの実行時のコンピュータ資源のより良好な利用を可能にしかつ速いシミュレーション・シーケンスを可能にする。
【課題を解決するための手段】
【００１２】
この課題は、本発明により、シミュレーション・シーケンスが、メインプログラム内に記憶されかつ限定された複数のサイクル・インクリメントから成る１つのサイクル後にこのメインプログラムによって第１シミュレーションレベルで制御されること、
第１サイクル・インクリメント中の第１クラスのこの第１サイクル・インクリメント中の少なくとも１つの第１インスタンスが、少なくとも１つの第１イベントを生成するメインプログラムによって選択されて、第１サイクルの第１サイクル・インクリメントを処理し、この場合、イベントは、パラメータ化されたシミュレーションプログラム部で計算された値によって実現され、この値は、１つの情報値とサイクル番号及びサイクル・インクリメント番号を有する時間値とから少なくとも構成され、この値は、ターゲットインスタンスに割り当てられたイベント記憶装置内に記憶され、このプログラム制御は、第１イベント又は全てのイベントの生成の終了後にメインプログラムに返されること、
サイクル・インクリメント中に通知された全てのインスタンスが処理され，第１サイクル・インクリメントの処理が、プログラム制御をメインプログラムに返すことによって終了するまで、メインプログラムが、場合によっては１つ又は多数の別のインスタンスを同じ又は別のクラスから選択して、イベントが第１サイクル・インクリメント中に通知されている時に、少なくとも各１つのイベントを生成し記憶すること、
別のサイクル・インクリメント中の第１クラスのこの別のサイクル・インクリメント中の少なくとも１つの第１インスタンスが、メインプログラムによって選択されて、第１サイクルのこの別のサイクル・インクリメントを処理し、この場合、この選択されたインスタンスのパラメータ化されたシミュレーションプログラム部が、このインスタンスに割り当てられたイベント記憶装置を探索パラメータによってイベントを求めて探索すること、  探索パラメータが一致した場合、イベントの付随する情報値が、インスタンスに属するパラメータ化されたシミュレーションプログラム部によってこのインスタンスの特性に応じて処理され、この処理の結果、イベントが生成されないか、又は、１つ若しくは多数のイベントが、生成されターゲットインスタンスに割り当てられたイベント記憶装置内に記憶され、プログラム制御が、メインプログラムに返されること、
探索パラメータが、付随するイベント記憶装置内に記憶されたイベントのパラメータに一致しない場合、プログラム制御が、メインプログラムに返されること、
第２サイクル・インクリメント中に通知された全てのインスタンスが処理され、その他のサイクル・インクリメントの処理が、プログラム制御をメインプログラムに返すことによって終了するまで、その他のインスタンスが、イベントを探索し処理するために連続して選択されること、
第１サイクルが終了するまで、サイクル・インクリメントが存在する場合、メインプログラムは、１つのサイクルの全てのその他のサイクル・インクリメントを連続して実行し、所定のサイクル数を実行するか又はその時のイベントをもはや処理する必要がなくなるまで、メインプログラムは、シミュレーションの処理を後続するサイクルで繰り返し続行すること、
イベントのデータ及び／又はインスタンスによってイベントを処理して生成されたデータが、シミュレーションシーケンスの選択されたサイクル・インクリメント及び／又はサイクル内に記憶され次いで評価プログラム部によって評価されることによって解決される。
【００１３】
シミュレーション・シーケンスは、メインプログラムによって制御される。インスタンス間の通信のシーケンスが、既知のサイクルにしたがって規定された数のサイクル・インクリメントによって実行されるので、このシーケンスは、シーケンス制御するメインプログラム内にプログラムコードの形態で記憶されている。
【００１４】
１つのサイクルが、シミュレーションレベルでのシミュレーションの実行を決定する。１つのシステムシミュレーションが、１つ又は多数のシミュレーションに及ぶ。この場合、シミュレーションレベルの交換時の時点及び順序が、メインプログラムによって制御される。
【００１５】
１つの第１シミュレーションレベルを処理するため、メインプログラムは、インスタンスを同じ又は異なるクラスから連続して選択する。次いでこれらのインスタンスは、イベントを生成する。すなわちメインプログラムは、プログラム処理をインスタンスに割り当てられたパラメータ化されたシミュレーションプログラム部に分岐させて１つの値を計算する。この目的のため、１つのサイクルのサイクル・インクリメントごとに割り当てられたインスタンスが、メインプログラム内で規定されている。これらのインスタンスは、シミュレーションの処理時に考慮される必要がある。１つのイベントが、１つの情報値及び１つの時間値を有する１つの値を示す。この場合、時間値は、サイクル番号及びサイクル・インクリメント番号から構成され、例えばイベントの処理を時系列順に制御するために使用される。情報値は、例えば伝送すべきデータ又はイベントを生成する理由に関する情報を有し得る。
【００１６】
実際のプログラムデータを記憶するために設けられている記憶領域であるイベント記憶装置は、複数の領域に区分されている。この場合、各インスタンスは、この記憶装置の固有の領域であるイベント記憶領域に割り当てられている。１つのイベントが、１つの選択されたインスタンスによって生成された場合、１つの値が計算される。次いでこの値は、インスタンスのイベント記憶装置内に記憶される。このイベントは、このインスタンスに対して決定されている。イベントの従来の技術において必要な部分値が、イベント記憶装置のこの本発明の分散化によって省略される。この部分値は、ターゲットインスタンスのアドレスを有する。
【００１７】
全てのイベントが、第１サイクルの第１サイクル・インクリメントで生成された後に、実際のサイクルの全てのサイクル・インクリメントが実行されるまで、メインプログラムが、同じサイクルの別のサイクル・インクリメントで処理を続行する。各クラスのメインプログラムによって選択された各インスタンスが、このインスタンスに割り当てられたイベントを処理し、このときにそれ自体の又は別のインスタンスに対するイベントを生成しないか又は１つ若しくは多数のイベントを生成し、そして同様に個々のインスタンスに割り当ててこれらのイベントを記憶する。この場合、イベントの処理の順序は、イベント記憶装置の領域内でプリセットされている。プログラムを続行するために選択されたインスタンスのイベント記憶装置の領域が、イベントを受け取らない場合、インスタンスは、プログラム制御をメインプログラムに再び返す。次いでこのメインプログラムは、処理を以下で選択すべきインスタンスによって続行する。
【００１８】
こうして、１つのサイクルのそれぞれのサイクル・インクリメントで規定された全てのインスタンスが処理される。シミュレーション・シーケンスは、例えば規定されたサイクル数の実行後に終了される。このシミュレーションは、イベントがインスタンスによってもはや処理する必要がない時にも終了される。
【００１９】
後続するシミュレーション結果の分析及び表示のため、値が、シミュレーション結果の間に記憶される。これらの値は、イベント，イベントの部分値又はインスタンスによってイベントを処理して生成された中間値でもよい。これらの値は、メインプログラム，メインプログラムのこれに対して設けられている分析部分又はメインプログラムから独立した分析プログラムによって分析できる。分析の結果、例えば検査すべきシミュレーション領域内の受信領域の強度分布，移動体通信加入者の数若しくはシミュレーション領域内での移動体通信加入者の移動に応じた移動無線ネットワークの状況又は基地局の空間的分布のような個々のパラメータの変化若しくは送信出力の変化時のネットワークの状況が分かる。
【００２０】
この方法の好適な構成では、シミュレーションが、第１シミュレーションレベルの実行後に別のシミュレーションレベルで続行され、このシミュレーションは、全てのシミュレーションレベルの処理後にこの第１シミュレーションレベルで続行される。
【００２１】
本発明の方法によれば、シーケンス制御が、システムシミュレーションの間に１つ又は多数のシミュレーションレベルで実行できる。そのため、第１シミュレーションレベルが、例えば移動無線ネットワークの無線に関する部分をマッピングする。この移動無線ネットワークでは、異なるオブジェクトが互いに交信する。第２シミュレーションレベルでは、通信シーケンスが、第１シミュレーションレベル内にマッピングされたオブジェクト内にマッピングされる。別のレベルでは、例えばオブジェクトの構造グループ内の通信がマッピング可能である。シミュレーションレベルが、シーケンス制御に知らされる。それぞれのプログラム実行中の第１シミュレーションレベル内の１つのサイクルの処理後にプログラム実行を別のシミュレーションレベルに分岐させてこの別のシミュレーションレベルの１つのサイクルを処理し、そしてこの別のシミュレーションレベルのサイクルの終了後に第１又は後続するシミュレーションレベルでこの処理を優先制御で続行することによって、このシーケンス制御は、プログラム実行を仕様に応じて全ての存在するシミュレーションレベルによって制御する。
【００２２】
本発明の方法の構成では、シミュレーションが、第１シミュレーションレベルの１つのサイクルの１つのサイクル・インクリメントを処理する間に別のシミュレーションレベルで分岐され、処理が、この別のシミュレーションレベル内の処理の終了後に後続する又は第１シミュレーションレベルで続行される。
【００２３】
別のシミュレーションレベルへのプログラム分岐は、第１シミュレーションレベルの全サイクルの実行後だけで行われるのではなくて、第１シミュレーションレベルの１つのサイクルの１つのサイクル・インクリメント処理する間でも行ってもよい。この場合でも、順序及びシミュレーションレベルの数が、シーケンス制御に知らされる。これらのシミュレーションレベルは、例えば仕様によって又は実際のシミュレーション状況によって制御されて実行できる。
【００２４】
本発明の方法の別の構成では、システムシミュレーション又は別のシステムシミュレーションをシーケンス制御する同じ方法が、別のシミュレーションレベルで使用される。
【００２５】
多数のシミュレーションレベルにわたるシミュレーションシーケンスの場合、本発明の方法は、第１シミュレーションレベルで利用される。別のシミュレーションレベル内では、本発明の方法を同様に利用してもよいし、又は、別の方法、例えば従来の技術で記した離散イベントを用いたシーケンス制御の方法を利用してもよい。
【００２６】
本発明の方法の別の実施形では、イベントが、付随するインスタンスによるイベントの処理後にイベント記憶装置の領域から消去される。
【００２７】
インスタンスに割り当てられているイベント記憶装置の１つ又は多数のイベントの処理後に、又は、後の時点に対して、イベントが、イベント記憶装置から消去されるか又は新しいイベントによって上書きされる。
【００２８】
本発明の好適な構成では、記憶装置の分割によって又はインスタンスの分割によって、イベント記憶装置が、イベント記憶装置の複数の領域に区分され、イベント記憶装置の各領域がそれぞれ、１つのインスタンスに固定に割り当てられている。
【００２９】
イベントを記憶するために設けられている記憶領域の一部が、各インスタンスに割り当てられる。インスタンスに割り当てられ、これによって分散したこのイベント記憶装置では、それぞれのインスタンスの全ての受信されるイベントが、それらの処理までインスタンス自体によって記憶される。記憶装置は、例えば分割によって、すなわちテーブルを用いたインスタンスの開始記憶装置アドレス及び終了記憶装置アドレスによって記憶器を複数の領域に区分することで分割できる。さらに、付随する記憶装置の領域のパラメータをそれぞれのインスタンス自体に割り当てることが可能である。このとき、インスタンスは、割り当てられた開始記憶装置アドレス及び大きさ又はインスタンスに割り当てられたイベント記憶装置の領域の終了記憶装置アドレスを認識する。イベント記憶装置を分散することによって、従来の技術で利用される中央イベント記憶装置とは対照的にターゲットインスタンスのアドレスをイベント内に記憶することがもはや必要ない。
【００３０】
本発明の好適な実施形では、インスタンスが、メインプログラム内に固定されたイベント記憶装置の領域内だけにイベントを記憶する。
【００３１】
メインプログラムによって制御される場合、インスタンスが、イベントを特定のインスタンスだけに対して送信できる。すなわちインスタンスが、インスタンスごとに割り当てられた特定の分散したイベント記憶装置内だけにイベントを記憶できる。したがって、インスタンスの論理的な通信シーケンスが保証される。
【００３２】
この方法の好適な実施形では、イベントのシーケンシャル処理が、１つのサイクル・インクリメント内に１つのインスタンスに割り当てられた１つのイベント記憶装置内でこのイベントの時間値によって、ユーザが規定した優先権によって又はインスタンス番号のトポロジカルソートによって制御される。このとき、このインスタンス番号は、イベントの構成要素である。
【００３３】
多数のイベントが、１つのインスタンスに割り当てられた１つのイベント記憶装置内に記憶されている場合、これらのイベントを処理する順序を制御する必要がある。これらのイベントは、パラメータ化されたシミュレーションプログラム部内で連続して発生する。この順序を制御するため、例えばイベントの時間値が利用され得る。このとき、処理が、この時間値によって昇順又は降順に実行できる。時間値による制御のほかに、それぞれのイベントを生成するソースインスタンスのインスタンス番号を評価することも可能である。これらのインスタンス番号は、この場合に対してはソースインスタンスによって生成されたイベントの構成要素である必要がある。
【００３４】
この方法の別の好適な構成では、異なるインスタンスのイベントが、１つのサイクル・インクリメント内で異なるスレッド内の配置によって並列処理される。
【００３５】
イベントは、パラメータ化されたシミュレーションプログラム部内で連続して処理される。マルチプロセッサシステム上でシミュレーションの処理速度を上げるため、異なるインスタンスのイベントが、プログラム部を異なるスレッド（プログラム列）内に配置することによって互いに時間並列に処理できる。
【００３６】
この方法の別の好適な実施形では、１つの時間値に対する１つのインスタンスによって受け取られ処理されるイベントが、別のインスタンスに対するイベント又はそれ自体を同じ時間値によって生成する。
【００３７】
１つのインスタンスによってイベントを生成する場合、１つの値が、付随するパラメータ化されたシミュレーションプログラム部によって計算される。この値は、特に１つの時間値を有する。この時間値は、例えばイベントの処理順序の制御時に使用されかつ１つのサイクル番号及び１つのサイクル・インクリメント番号から構成される。１つのインスタンスが、付随するイベント記憶装置の領域からの１つのイベントを処理することによって処理すべきイベントの時間値を有する別のインスタンス又はそれ自体用の１つの新しいイベントを生成する。
【００３８】
この方法の別の好適な構成形では、１つの時間値に対して１つのインスタンスによって受け取られるイベントが、別の時間値を有する別のインスタンス又はそれ自体用のイベントを生成する。
【００３９】
１つのインスタンスが、付随するイベント記憶装置の領域からの１つのイベントを処理することによって１つの時間値を有する別のインスタンス又はそれ自体用の１つの新しいイベントを生成する。この時間値は、サイクル番号及び／又はサイクル・インクリメントで処理すべきイベントの時間値と区別が付く。
【００４０】
以下に、本発明を４つの実施の形態に基づいて詳しく説明する。
【発明を実施するための最良の形態】
【００４１】
実施の形態１：
使用される用語及びこれらの用語の相互関係をこの実施の形態の前に説明する。
【００４２】
シミュレーションレベル５でリアリティーレベル４のオブジェクトオブジェクト１を表すため、これらのオブジェクト１が、いわゆるインスタンス２によって図３中に示したようにマッピングされる。少なくとも１つの共通の特性から構成された多数のこれらのインスタンス２が、シミュレーションレベル５のクラス３に分類される。移動無線ネットワークのシミュレーションの特別な場合に対しては、このことは、ハンディ，基地局又は伝送チャネルのクラス３でもよい。
【００４３】
シミュレーションレベル５のクラス３は、プログラムレベル６内のシミュレーションプログラム部７によって実現される。このシミュレーションプログラム部７は、共通の特性又はクラス３に属するインスタンス２の同じ状況を変換する。
【００４４】
シミュレーションレベル５のインスタンス２は、リアリティレベル４のオブジェクト１と全く同様に少なくとも１つの特性によって互いに区別されるので、パラメータがこれらのインスタンス２に割り当てられる。
【００４５】
シミュレーションレベル５のクラス３の１つのインスタンス２が、少なくとも１つのパラメータを割り当てた後にプログラムレベル６のパラメータ化されたシミュレーションプログラム部８で実現される。この場合、これらの割り当てられたパラメータのうちの少なくとも１つのパラメータは、インスタンス２ごとに異なる必要がある。すなわち、これらのインスタンス２が個別化される。クラス３であるハンディの区別は、例えばパラメータである電話番号でもよい。
【００４６】
選択されたインスタンス２が、シミュレーション・シーケンスの間にイベント９を生成する。これらのイベント９は、プログラムレベル６で情報値並びにサイクル番号とサイクル・インクリメント番号を有する時間値から少なくとも構成された値１０によって実現される。シミュレーションレベル５のインスタンス２が、これらの生成されたイベント９を用いて互いに交信する。
【００４７】
この例では、移動無線ネットワーク用の規定された領域内のシミュレーションを説明する。シミュレーション領域内に存在する基地局，移動体通信加入者，移動体通信加入者の現在地及び移動体通信加入者の場所の変化に関するデータが、シミュレーション空間に関するデータに加えてメインプログラムに対して既知である必要がある。さらにメインプログラムは、どのインスタンス２がどの時点に対してどんなアクションを命令するかに関する情報を有する必要がある。したがって、例えば、通話に対する接続若しくはその解除又は通話データパケットの伝送が考えられる。移動体通信加入者の個々のアクションの時間割り当て、すなわちオブジェクト１をマッピングするインスタンス２がどのサイクル１１のどのサイクル・インクリメント１２でイベント９を生成するかは、前もって決定されてもよいし又はランダムプログラム部によってプリセット後に決定されてもよい。
【００４８】
メインプログラムは、規定されたサイクル・インクリメント数を有する１つのサイクル１１のシミュレーション・シーケンスに既知の実行にしたがってシミュレーション・シーケンスを制御する。そのため、メインプログラムが、第１サイクル１１の第１サイクル・インクリメント１２から開始してプログラム処理を各インスタンス２を実現する個々のパラメータ化されたシミュレーションプログラム部８に分岐させる。パラメータ化されたシミュレーションプログラム部８内の例えばイベント９が生成されるプログラム処理後に、シーケンス制御が、メインプログラムに再び返され、処理が、このサイクル・インクリメント１２中に通知された別のインスタンス２でプログラム制御を付随するパラメータ化されたシミュレーションプログラム部８に転送することによって続行される。このパラメータ化されたシミュレーションプログラム部８の処理時に生成された値１０が、シミュレーション・シーケンスのイベント９を示す。このイベント９は、個々のインスタンス２に固定に割り当てられたイベント記憶装置１３内に分散して記憶される。この例では、インスタンス２  Ａ１によってシミュレーションレベル５上にマッピングされる移動体通信加入者Ａ１が、別の移動体通信加入者Ａ２と通話できる。この場合、Ａ１によって生成されたイベント９は、伝送チャネルＢ１のイベント記憶装置の領域１３内に記憶される。図４参照。
【００４９】
シミュレーション中に挿入された全てのクラス３のサイクル・インクリメント１２で通知された全てのインスタンス２が処理された後に、メインプログラムが、シミュレーションを後続するサイクル・インクリメント１２で続行する。
【００５０】
そのため、プログラム制御が、メインプログラムによって特定の時点に対して伝送チャネルＢ１を実現するパラメータ化されたシミュレーションプログラム部８に転送される。このパラメータ化されたシミュレーションプログラム部８は、イベント記憶装置の領域１３内に記憶された値１０を処理する。この値１０は、その特性に応じてＡ１によって生成されたイベント９を示す。Ａ１の伝送すべきイベント９は、伝送チャネルの特性によって処理される。Ｂ１の処理の結果、別のイベント９が、基地局Ｃ１に対して生成される。このイベント９は、基地局Ｃ１をマッピングするインスタンス２  Ｃ１のイベント記憶装置１３内に記憶される。別のインスタンス２及び／又はサイクル・インクリメント１２の処理後に、プログラム制御部が、メインプログラムによってインスタンス２  Ｃ１を実現するパラメータ化されたシミュレーションプログラム部８に転送される。このパラメータ化されたシミュレーションプログラム部８は、イベント９を処理して別のイベントを生成する。この別のイベントは、伝送チャネルＢ２に割り当てられて記憶される。インスタンス２  Ｂ２を実現するパラメータ化されたシミュレーションプログラム部８は、イベント９を処理して別のイベントを生成する。この別のイベントは、インスタンス２  Ａ２によってマッピングされる移動体通信加入者Ａ２に割り当てられて記憶される。このイベント９は、同様にインスタンス２  Ａ２によって処理され、この場合にＡ１とＡ２との間の接続を構築するので、通話を受ける移動電話のベルを鳴らす。メインプログラムは、この接続の構築のほかに異なる別のインスタンス２間の別の通信を制御し、分析目的のために選択された値１０，部分値又は処理の中間結果を記憶する。これらは、分析プログラム部によって処理され、例えば図５中のように図示される。当業者は、このグラフィックを評価することによってシミュレーション環境内の弱い位置を確認できる。次いで、別のシミュレーション・シーケンスを１つ又は多数のオブジェクトの変更したパラメータによって実行してシミュレーションの結果を比較することが可能である。
実施の形態２：
別の例では、期間4.615ms の範囲内の期間0.577ms の８つの時間ステップが、ＧＳＭシステム内で伝送される。ＧＳＭ移動無線システムの時間離散及びオブジェクト指向されたシステム・シミュレーションに対するシミュレーション・シーケンス制御を本発明の方法にしたがって実現するため、図２中に例示的に示されたサイクル１１は、シミュレーションすべきモデルの希望する時間分解能に応じて各時間ステップ又は各時間空間にも適応され得る。したがって、ＧＳＭ移動無線標準にしたがう無線アクセスネットワークの時間離散システム・シミュレーションが、本発明の方法によってシーケンス制御され得る。
実施の形態３
以下の説明は、ドレスデンのRadioplan GmbHの製品"WiNeS-Wireless Network System Simulator" に関する。
【００５１】
ＵＭＴＳ移動無線ネットワーク用の存在する時間離散及びオブジェクト指向されたシステムシミュレータは、そのシミュレーション・シーケンス制御が交換できるようにモジュール式に設計されている。すなわちシミュレーション・シーケンス制御は、時間離散及びオブジェクト指向されたＵＭＴＳ用のシステムシミュレータの移動アクセスネットワークをモデル化する部分によって使用される要素である。完全に分離された２つの使用可能なシミュレーション・シーケンス制御が存在する。第１シミュレーション・シーケンス制御は、図１の離散イベントによってシーケンシャル方法を実行する。このシミュレーション・シーケンス制御は、米国のカルホルニア大学バークリー校のパブリックドメインツールであるPtolemyII 1.0.1(http://ptolemy.eecs.berkeley.edu) に基づき、プログラミング言語のJavaで実行される。第２シミュレーション・シーケンス制御は、請求項１及び図２のサイクル１１による図４にしたがう本発明の方法を同様にプログラミング言語Javaで実行する。
【００５２】
同じシミュレーション条件下でのシミュレーション・シーケンスの高速化を証明するため、ＵＭＴＳネットワークの一部としての典型的なテスト領域が、両シミュレーション・シーケンス制御によって一定に保持されたシミュレーション時間（シミュレーションされるリアルタイム）に対してシミュレートされる。この場合、両シミュレーション・シーケンス制御に対して必要な計算時間が、異なるトラフィック負荷で比較される。この場合、使用される計算ハードウェア及び計算ソフトウェアは、シミュレーション・シーケンス制御まで同じである。この場合、トラフィック負荷は、規定通りにシミュレーションされるモバイルステーションの数に比例する。
【００５３】
モバイルステーションによって利用されるサービスは、定格データ速度12.2kbit/s及び66％の通話活動による双方向サービス及び回線交換サービスである。プロセッサであるAthlonXP1.7 及び動作システムであるMicrosoft Windows 2000 Professional を装備した市販のパーソナルコンピュータが、テストコンピュータとして使用された。使用されたJava Virtual Machineは、Java version "1.3.1 ＿02" Java(MT) 2 Runtime Environment, Standard Edition (build 1.3.1 ＿02-b02), Java HotSpot(TM) Client VM (build 1.3.1＿02-b02), mixed mode である。シミュレートされたＵＭＴＳテスト領域は、それぞれ2000m の距離を有する４つのノードＢから成る。各ノードＢは、３つのセルを有する。すなわち全体で12個のセルが任意に使用できる。テスト領域の地理的配置に対しては、図５参照のこと。
【００５４】
同じシミュレーションであるものの異なるシミュレーション・シーケンス制御に対する必要な計算時間の比較結果が、図６中に示されている。それぞれ一定のシミュレーション時間に対しては、シミュレーション中に存在するモバイルステーションの数が増加する。図６では、本発明の方法によるシミュレーション・シーケンス制御が、全てのトラフィック負荷で離散イベントを用いた従来の標準的な方法によるシミュレーション・シーケンス制御よりも短い同じシミュレーション負荷及びシミュレーション時間に対する計算時間を必要とすることが明らかに分かる。
【００５５】
離散イベントを用いたシミュレーション方法の実行の実行に固有の属性が、図６からPtolemyII （これに対しては、J.S.Davis II, E.A.Lee, et. Al.: Heterogeneous Concurrent Modeling and Design in Java, In technical report UCB/ERL No. M99/40, カリフォルニア大学，バークレイ，米国，1999年７月を参照）で計算される場合でも、本発明の方法のシミュレーション・シーケンス制御が、離散イベントを用いた従来の標準的な方法に比べて全体的に遥かに時間効率が良いように、シミュレーション・シーケンスの規定された高速化が、図６にしたがって本発明の方法を使用することによって明らかである。
実施の形態４：
情報が、ＷＣＤＭＡ（広帯域符号分割多重アクセス）用の移動無線通信規格ＵＴＲＡＮ／ＦＤＤ（広域無線アクセスネットワーク／周波数分割複信）エアインターフェースによって10msの期間を有する時間フレーム内で伝送される。例えば、(H. Holma and A. Toskala: WCDMA for UMTS, John Wiley & Sons., Chichester, UK, 2000, ISBN 0-471-72051-8) 参照。図２中に示されたサイクル１１を有する本発明の方法は、同様にＵＴＲＡＮ／ＦＤＤの移動無線通信規格にしたがって時間離散のシステムシミュレーションのシーケンスを制御するために利用される。
【００５６】
ＷＣＤＭＡのエアインターフェースの場合、確かに迅速な出力制御が、エアインターフェースの効率的な動作自体に対して必要不可欠である。例えば、同様に（H. Holma and A. Toskala: WCDMA for UMTS, John Wiley & Sons., Chichester, UK, 2000, ISBN 0-471-72051-8 ）参照。この迅速な出力制御は、ＵＴＲＡＮ／ＦＤＤで時間フレームの交換よりも15倍速い。すなわち、無線基地局の送信出力が、時間フレーム当たり15倍に適合される。しかし送信出力のこの適合は、図２のサイクル１１のサイクル・インクリメント１２の３，４及び５だけに関する。すなわち、無線アクセスネットワークの時間離散のシステムシミュレーションをＵＴＲＡＮ／ＦＤＤの移動無線通信規格にしたがって迅速な出力制御のモデル化時にシーケンス制御するためには、これらの３つの受信時点をサイクル１１内で15倍に処理する必要がある。上述したイベント９の３つの受信時点が、図２のサイクル１１内で全体で15倍に処理される固有のサイクル１１とみなされる場合、本発明の方法の課題は、シミュレーションを多数のシミュレーションレベルに分割することによって解決され得る。そのため、第１レベルでは、包括的なシミュレーション・シーケンスが示され、第２レベルでは、無線基地局の送信出力に適合する迅速なシミュレーション部分が示される。このとき、シミュレーションが、特定の時点に対してこの迅速なシミュレーションレベルに繰り返し分岐される。
【図面の簡単な説明】
【００５７】
【図１】従来の技術による離散イベントによって制御されるシミュレーションの流れを示す。
【図２】本発明の方法で可能なイベントサイクルを示す。
【図３】本発明のレベルを示す。
【図４】本発明の方法によるシミュレーションのシーケンス制御の例を示す。
【図５】テストエリアの移動体通信セクタ内のシミュレーションの図示されたイベントを示す。
【図６】従来の技術に対して本発明の方法を比較した必要な計算時間のグラフである。
【符号の説明】
【００５８】
１  オブジェクト
２  インスタンス
３  クラス
４  リアリティレベル
５  シミュレーションレベル
６  プログラムレベル
７  シミュレーションプログラム部
８  パラメータ化されたシミュレーションプログラム部
９  イベント
１０  値
１１  サイクル
１２  サイクル・インクリメント
１３  イベント記憶領域
【図１】
0004452710.tif 000002
【図２】
0004452710.tif 000003
【図３】
0004452710.tif 000004
【図４】
0004452710.tif 000005
【図５】
0004452710.tif 000006
【図６】
0004452710.tif 000007