Library providing implementation for event broker agents, behaviours and event serialisation utilities used for distribution and receiving events inside multi-agent environments based on JADE (Java Agent DEvelopment Framework)
This project utilises the Event Engine library which is the core component used to represent events. Every other agent that is interested to use such events is also required to integrate it (usually via Event-Engine-JADE) in order to be able to interpret the received event data.
The project is distributed under LGPLv3 license or its later versions.
- Implementation of Event Broker Agent (that can be further extended if needed; based on JADE)
- JADE behaviours for automatic:
- Subscription to event broker agents and subscription management
- Announcement of event broker agents
- Exchange of events via specialised channel
- Garbage collection of agent messages
- JADE helper utilities for working with:
- Service descriptions
- Directory Facilitator / Yellow Pages
- Java 8+
- Maven 3.6.2+ or IntelliJ IDEA 2019.1+
- JADE v4.5.0+ (older versions might work too, not tested)
- With Maven (recommended):
- Execute
mvn clean install -P java8
- Execute
- With IntelliJ IDEA:
- Open the project and build it using the GUI options. (no profiles for jar artifacts)
- With Maven (recommended):
- Execute
mvn clean install -P java9p
- Execute
- With IntelliJ IDEA (no profiles for jar artifacts):
- Open the project.
- In project's settings specify Project JDK to be JDK9 or later
- For every module copy the file module-info.java inside its java directory.
The default event distribution agent can be executed through maven:
mvn exec:java -P jade-agent
A very simple event client agent with the default event distribution agent can be executed through maven as well:
mvn exec:java -P jade-with-test-client-agent
At this point the examples are extremely limited, so please refer to the pom.xml file, the aforementioned profiles and dispatcher.properties file holding the default configuration of the event broker agent.
First include the library into your project. Click on the download links at the top to see how. Then you will need an event broker agent (to run one check the pom.xml) connected to a message broker system(s) (a quick and easy choice without any configuration is Apache ActiveMQ). Sample code for ordinary (client) agents (demonstrating only the basic capabilities of the library - how to send and receive events) can be found inside the pseudo test client agent.