This project is a sophisticated Java-based multi-agent system using the Dedale framework, designed for a treasure hunt game. It involves complex agent interactions and coordination within an initially unknown environment that the agents must explore.
Prerequisites include Java JDK 8+ and Maven. Follow these steps:
- Clone the repository: [https://github.com/raccamateo/MAS_treasure_hunt_dedale]
- Open the project in IntelliJ as a Maven project (navigate to the inner
dedale-etu
folder). - Trust the project if prompted, and configure Maven as detailed in the provided guide.
Dependencies:
The project requires the following dependencies to be installed:
- JavaFX (version 18) modules including:
- javafx
- javafx-web
- javafx-swing
- javafx-media
- javafx-graphics
- javafx-fxml
- javafx-controls
- javafx-base
- JADE (Java Agent DEvelopment Framework) for multi-agent systems:
- jade (version master-SNAPSHOT)
- GraphStream, a library for graph modeling and visualization:
- gs-core (version 2.0)
- gs-algo (version 2.0)
- gs-ui-javafx (version 2.0)
- gs-ui-swing (version 2.0)
- Bouncy Castle for cryptography:
- bcmail-jdk14 (version 139)
- PlantUML for generating UML diagrams from a simple text description:
- plantuml (version 8036)
- JUnit for unit testing:
- junit (version 4.12)
- Jackson for JSON processing:
- jackson-databind (version 2.12.3)
- jackson-core (version 2.12.3)
- Dedale, the core project and Delta for specialized functionalities:
- dedale (version -SNAPSHOT)
- mas from com.gitlab.deltas (version -SNAPSHOT)
- tools from com.gitlab.herpsonc (version -SNAPSHOT) These dependencies are managed by Maven and should be automatically resolved and downloaded when building the project.
Run the simulation using Maven:
mvn install exec:java
The JADE and Dedale GUIs will open, and agents will be created and displayed.
Configure Dedale to use specific maps and elements:
- Set
ConfigurationFile
to use the map and elements files. - Modify the
Principal
class to create agents with specified configurations.
Agents utilize Dedale's functionalities for exploration, communication, and interaction:
- Agents communicate using ACL messages with protocols like "UselessProtocol".
- The
MapRepresentation
class manages the topology for navigation and strategy. - Agents like
ExploreCoopAgent
andCollectorAgent
are configured with specific attributes for tasks such as cooperative exploration and resource collection.
The included guide details a comprehensive exercise for configuring and extending the simulation. It includes:
- Map and elements configuration.
- JSON configuration files for agents.
- Agent spawning and behavior customization.
Contribute to this Dedale-based simulation by:
- Forking the repository.
- Creating a feature branch.
- Implementing new features or improvements.
- Submitting a pull request with a complete description of changes.
This project is developed on the Dedale framework, an educational tool for multi-agent systems provided by URV. The simulation is intended for educational and research purposes in the field of artificial intelligence, precisely on Multi Agent Systems.
Thank you for your interest and contributions!