1

所以我开发了一个由一些管理代理和一些控制代理组成的多代理系统。我有一个 JADE 平台的进程内启动器,我在其中创建了两个新的非主容器(一个用于管理代理,另一个用于控制代理)。管理代理设置一个模拟过程,然后开始模拟。控制代理为仿真模型提供参数。每个模拟项目可能不同,这意味着需要不同的控制代理,并且必须在管理代理协商配置后启动。

我从我的一个管理代理启动代理,但由于我的管理代理位于管理容器中,控制代理也在那里启动!(我只能抓取管理代理的驻留containerController)我可以将控制代理直接启动到控制容器中吗?

4

1 回答 1

0

所以我想出了一个解决方案。我从管理代理启动的控制代理将传递一个 ContainerID 对象作为表示控制容器地址的参数。然后,控制代理将在与管理代理相同的容器中启动。

在 ControlAgent 的设置中,可以使用 doMove() 方法从一个容器转移到另一个容器。doMove() 需要使用 Location 接口的对象,根据API v4.4.0,ContainerID 实现了该对象。

我将在本周晚些时候尝试这个并发布结果。

于 2016-05-23T12:42:13.310 回答