MaDKit 5.1

GitHub

MaDKit

Multiagent Development Kit

by Fabien Michel, Jacques Ferber, and Olivier Gutknecht.

www.madkit.net

September 26 2016

MaDKit is an open source modular and scalable multiagent platform written in Java and built upon the AGR (Agent/Group/Role) organizational model: MaDKit agents play roles in groups and thus create artificial societies. 
MaDKit does not enforce any consideration about the internal structure of agents, thus allowing a developer to freely implements its own agent architectures.

MaDKit is free software, licensed under the CeCILL-C, featuring:



Documentation and resources




Testing MaDKit 5.1

  1. unzip the MaDKit-5.1.zip file somewhere in your file system.
  2. using java -jar madkit-5.1.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 > demo-name.-src.zip > finish       



Developing with MaDKit 5.1

madkit-5.1.jar is a regular Java library which could be used by simply having it on the classpath:

  1. unzip the MaDKit-5.1.zip file somewhere in your file system.
  2. In a new Java project, add the madkit-5.1.jar to the build path (e.g. in your Eclipse project).
  3. Now, you can start using the API.
  4. 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.1.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



Online help



Release notes



License