Fork me on GitHub

MaDKit-5 is a lightweight Java library for designing and simulating Multi-Agent Systems (MAS)

   MaDKit-5 is free software licensed under CeCILL-C and features

Artificial agents creation and
life cycle management

Embeds the Agent/Group/Role
(AGR) organizational model

Heterogeneity in agent architectures:
No predefined agent model

Multi-Agent based simulation and simulator authoring tools

Testing MaDKit 5

Unzip MaDKit-5.3.2 .zip somewhere in your file system.
Then, using java -jar madkit-5.3.2 .jar launches the desktop mode of MaDKit which could be used to test the demos.
The demo directory contains files for different purposes:

  • Using the jar files
    These jar files are runnable: Double click them (file execution permission is required) or use java -jar demo-name.jar
    They are also used to build the demo menu of the MaDKit 5 desktop which could be launch by running the kernel jar file.
  • Using the jnlp files
    These files could be used to launch the last version of a demo using Java web start.
    You can also distribute these files so that one can see the demos without installing anything
  • Source codes
    Can be tested in Eclipse with Import > Existing project > Select Archive File > > finish

Developing with MaDKit 5

madkit-5.jar is a regular Java library which could be used by simply having it on the classpath: First, unzip the MaDKit-5.3.2 .zip file somewhere in your file system. Then, in a new Java project, add the madkit-5.3.2 .jar to the build path (e.g. in your Eclipse project). Now, you can start using the API.
Optional: You can use the build.xml file in your project to easily build library and deployment files (runnable jars, Java Web Start files, etc.)

To launch your MadKit agents, simply either
(1) use, anywhere, a main method with something like :

	public static void main(String[] args) {
		new Madkit("--launchAgents","mypackage.myagentClass;mypackage.myOtherAgentClass");

(2) use, in an agent class, a main method with :

	public static void main(String[] args) {
		executeThisAgent(args) // This will execute one agent of this kind with a GUI

(3) use a command line such as

java -cp pathTo-madkit-5.3.2
.jar:yourClassPath madkit.kernel.Madkit --launchAgents mypackage.myagentClass;mypackage.myOtherAgentClass

Other command line options are described in the API of the madkit.kernel.Madkit class


December 23rd 2021: MaDKit 5.3.2 is out ! See the Release Notes
Check the unit test reports
You can find older MaDKit-5 versions here.

MaDKit exists since many years... You can find the major previous version here