我想开发一个多代理系统,我想从不同的容器中运行不同的代理。我正在使用eclipse与Jade框架,我不知道如何为项目配置“运行配置”以实现此目的。到目前为止我有这个:-gui -container main:Sender; a1:Receiver; a2:Pong,我想将代理a1和a2放在一个单独的容器中。请帮忙。
答案 0 :(得分:0)
启动新的jade项目时,我通常使用启动和销毁其他代理的方法创建一个Coordinator代理。我认为这是一种很好的做法,因为如果需要,可以将这些方法扩展到其他代理。
答案 1 :(得分:-1)
我希望这会有所帮助。
首先运行Agent jade图形用户界面(Ejade)(通过安装Ejade库)
或者您可以在控制台上运行它:
C:\java jade.Boot -gui
(您必须将系统变量路径修改为"C:\..\jade.far"
并创建变量名称classpath = "C:\..\jdk7\"
)
运行允许您创建新容器的代码,以便在代理上部署它。
import jade.core.ProfileImpl;
import jade.core.Runtime;
import jade.domain.ams;
import jade.wrapper.AgentContainer;
import jade.wrapper.AgentController;
public class ContainerDeploy {
public static void main(String[] args) {
try{
Runtime runtime=Runtime.instance();
ProfileImpl profileImpl = new ProfileImpl(false);
profileImpl.setParameter(ProfileImpl.MAIN_HOST, "localhost");
AgentContainer agentContainer=runtime.createAgentContainer(profileImpl);
AgentController agentcontroller1 = agentContainer.createNewAgent("Name of Agent", "com.package.AgentClass", new Object[]{});
agentController1.start();
}catch(Exception e) {
System.out.println("Runtime Error\t");
e.printStackTrace();
}
}
}