package eis.examples.communication; import eis.AgentListener; import eis.EnvironmentListener; import eis.exceptions.ActException; import eis.exceptions.AgentException; import eis.exceptions.NoEnvironmentException; import eis.exceptions.RelationException; import eis.iilang.Action; import eis.iilang.EnvironmentEvent; import eis.iilang.Identifier; import eis.iilang.Percept; /** * The main class of the example. It registers three agents, associates them * with on entity each and performs a special messaging-action. * * @author tristanbehrens * */ public class Main implements EnvironmentListener,AgentListener { public static void main(String[] args) { Main m = new Main(); try { EnvironmentInterface ei = new EnvironmentInterface(); ei.attachEnvironmentListener(m); ei.registerAgent("ag1"); ei.registerAgent("ag2"); ei.registerAgent("ag3"); ei.associateEntity("ag1", "en1"); ei.associateEntity("ag2", "en2"); ei.associateEntity("ag3", "en3"); ei.performAction("ag1", new Action("tellall", new Identifier("Hi"))); ei.performAction("ag2", new Action("tellall", new Identifier("Hello"))); ei.performAction("ag3", new Action("tellall", new Identifier("Bonjour"))); ei.performAction("ag4", new Action("tellall", new Identifier("Greetings"))); } catch(AgentException e) { System.out.println("Caught exception: " + e.getMessage()); } catch (RelationException e) { e.printStackTrace(); } catch (ActException e) { e.printStackTrace(); } catch (NoEnvironmentException e) { e.printStackTrace(); } } public void handlePercept(String agent, Percept percept) { System.out.println("Agent \"" + agent + "\" gets the event \"" + percept + "\""); } public void handleDeletedEntity(String entity) { } public void handleEnvironmentEvent(EnvironmentEvent event) { } public void handleFreeEntity(String entity) { } public void handleNewEntity(String entity) { } }