私はここで問題を抱えています。さまざまな交通シミュレーション モデルの統合を可能にするフレームワークを構築することを目指しています。この統合は、シミュレーション間でのリンク接続、リンク コスト、および車両の共有に基づいています。
分散シミュレーションを行うために、「コーディネーター」 (スター トポロジー) を用意する予定です。参加しているすべてのシミュレーションは、単純に登録され、コーディネーターとのみ対話します。次に、コーディネーターは、各シミュレーション間のさまざまなタスクの実行を調整します。
分布の問題の簡単な例は、1 つのシミュレーションが道路などの特定のオブジェクトを「担当」している場合です。そしてもう一つは、他の道路の「担当」です。ただし、これらの道路は相互接続されています (したがって、これらのシミュレーション間の同期が必要であり、データを交換したり、メソッドをリモートで呼び出したりできる必要があります)。
私は RMI を見てきましたが、このタスクに適していると考えています。(オーバーワイヤ シグナリング規則を作成しなければならないことを抽象化するため)。
これは正気ですか?ここでの問題は、シミュレーション間の明示的な同期を確保するために、シミュレーション参加者がデータ ストレージの一部を「コーディネーター」に集中させる必要があることです。さらに、一部のシミュレーションでは、他のシミュレーションのコンポーネントまたはメソッドが必要になる場合があります。(したがって、RMIを使用するという考えです)。
私の基本的なアプローチは、「コーディネーター」に巨大な RMI レジストリーを実行させることです。また、すべてのシミュレーションは、レジストリ内のすべてを検索するだけで、各ステップで正しいオブジェクトが使用されるようにします。
この道を進むためのヒントはありますか?