2016-05-20 16 views
1

私はいくつかの管理エージェントといくつかの制御エージェントで構成されたマルチエージェントシステムを開発しました。私は2つの新しい非メインコンテナ(管理エージェント用と制御エージェント用)を作成するJADEプラットフォームのインプロセスラウンチャを用意しています。管理エージェントは、シミュレーションプロセスを設定し、シミュレーションを開始します。制御エージェントはシミュレーションモデルにパラメータを提供します。各シミュレーションプロジェクトは、異なる制御エージェントが必要であり、管理エージェントが構成をネゴシエートした後に起動する必要があるという意味が異なる場合があります。エージェントから別のコンテナにJADEエージェントを起動する

管理エージェントの1人からエージェントを起動しますが、管理エージェントが管理コンテナにあるため、制御エージェントもそこから起動されます。 (私は管理エージェントの常駐containerControllerをつかむことしかできません)、制御エージェントをコントロールコンテナに直接起動することは可能でしょうか?

答えて

0

私は解決策を思いついた。管理エージェントから起動する制御エージェントには、コントロールコンテナのアドレスを表す引数としてContainerIDオブジェクトが渡されます。制御エージェントは、管理エージェントと同じコンテナで起動されます。

ControlAgentの設定では、doMove()メソッドを使用してコンテナ間を移動できます。 DoMove()にはLocationインタフェースを使用するオブジェクトが必要です。これはAPI v4.4.0に従ってContainerIDが実装しています。

私は今週末にこれを試し、結果を投稿します。

関連する問題