This is the source code of the SMART_JaCaMo team, one of the teams participating in the 2018 Multi-Agent Programming Contest (MAPC). In this repository, you will find all the information required to run our code.
Have fun!
We used the JaCaMo platform to develop our team of agents. Here, we briefly describe how we applied each programming abstraction of the JaCaMo framework (agent, environment, organisation).
-
Jason: we use Jason to develop the behaviour of our agents. They are able to reason about the percepts that come from the environment in order to decide their course of action. In our approach, agents may change their intentions depending on the team and environment state;
-
CArtAgO: we use CArtAgO to exchange team information between our agents and to interact with the MAPC server;
-
Moise: our agents adopt roles in the Moise organisation which represent particular tasks (builders, gatherers, etc.). We developed our strategies based on these roles, and in this sense, it is easy for our agents to adopt autonomously to a different strategy (i.e., the agents themselves decide to change to a different role). Moise is also useful to facilitate coordination when multiple agents are required to work together to accomplish a desired task.
For further details about our team implemantation, check out our paper (coming soon).
To start developing and contributing to this repository, you will need the JaCaMo plugin for Eclipse. In order to install it, please follow this tutorial. Now, open Eclipse and select from the toolbar:
File > Import > Git > Projects from Git > Clone URI
Copy https://github.com/smart-pucrs/mapc2018-pucrs.git and paste it on the URI field.
If you’re fond of command line, just copy and paste the following command at your terminal in your desired folder:
And import this project from local git repository at Eclipse.
We use JUnit to run both the server and our JaCaMo code.
To run the simulation with one round, choose your appropriate JUnit test depending on the map you’re interested in, and in folder test/pucrs/agentcontest2018/
right-click ScenarioRun1sim{desired_map}.java file, "Run as", "jUnit Test".
To run the simulation with three rounds, right-click test/pucrs/agentcontest2018/ScenarioRun3sim.java file, "Run as", "jUnit Test".
The server’s output is shown on the Eclipse console. The JaCaMo output is loaded into a separate gui
. Press enter
at the server output (Eclipse console) to start the simulation.
If you’d like to see our matches, follow the links below:
-
Versus Jason-DTU: Copenhagen, Berlin, São Paulo;
-
Versus Akuanduba-UDESC: Copenhagen, Berlin, São Paulo;
-
Versus Dumping to Gather: Copenhagen, Berlin, São Paulo;
-
Versus TUBDAI: Copenhagen, Berlin, São Paulo.
To see all the MAPC matches, click this link and search for Section Replays.