# MadKit - Multi Agent Development Kit

## Version 4.0

  Olivier Gutknecht
  Jacques Ferber
  Fabien Michel

MadKit is developped by the MadKit Team..

##

## Documentation

### General documentation

- MadKit quick start: how to get the software, install it and compile your first agent in a minimum of steps. A good starting point to get some clues at using MadKit.
- User's guide : Description of all the user's features of MadKit: how to launch agents, how to use the desktop, the explorer and all the standard system agents of MadKit, how to build your own MadKit installation.
- Development:
  - Development guide: how to program agents in MadKit. This is description of the programming aspects of MadKit, and how to program MadKit in Java, Scheme, Python, BeanShell and Jess.
  - Script languages:
    - How to program MadKit in Scheme
    - How to program MadKit in BeanShell
    - How to program MadKit in Python
    - How to program MadKit in Jess
  - API documentation (javadoc generated): very handy to get references to internals of MadKit.
- Release Notes and history. To get informed of the last features and bugs corrections.. This is a very nice place to get some information about the new features.

### Faq and How to

- FAQ, Frequently Asked Questions, with tricks and answers about questions that are often asked.
- How to: many questions remains often.. You should get some answers by reading these how to which may be considered as specific tutorials for developping applications in MadKit.
- Importing your projects from MadKit 3.1: you will find here your answers concerning the

### Tools

MadKit comes with a set of tools which may be used to help the development of multiagent applications.

- System agents: these are the main tools that a MadKit developper use to explore, launch, visualize and trace agents.
- Communicator: an agent which allows to build distributed application without being concerned by distribution..
- NetCom: a newer, more flexible and more adaptable version of the Communicator agent. (documentation not available yet)
- ProjectBuilder: how to create, edit and build a new project in MadKit (this feature is not available yet)
- jEdit editor: an "agentified" version of jEdit which has bee integrated into MadKit and may be used to edit and launch Java and Scripted agents. (this feature is not available yet)
- SEdit is both an editor and animation of diagrams which may be used to view and manipulate information represented as graphs. SEdit is now totally integrated to MadKit and thus the manual needs a little update.. But, still, it provides a lot of useful information.
- PluginManager: MadKit comes with its own installer which may be used to install, update and taylor MadKit to your needs.

### Specialized and dedicated multiagent contexts

MadKit comes with different execution and development contexts and a set of basic agents which may be used as a starting point for your development.

- Demos agents: a set of agents which may be used to see how MadKit is working
- TurtleKit: a reactive agent execution tool that runs on the "synchronous engine" of the MadKit platform which has been inspired by the StarLogo and NetLogo platforms. A set of simulation that runs under TurtleKit are presented as a TurtlePack.
- Warbot is a game where two sides try to destroy the other bases. Test your agent programming skills and design the "brains" of these agents. (in french for the moment)

MadKit requires an installed Java 2 virtual machine. MadKit needs a jre or jdk 1.4.xx or later.

## Licenses

MadKit is licensed under the LGPL license for all core parties of MadKit (including both the Communicator and the NetAgent) and under GPL for all GUI interfaces and platform extensions.

MadKit comes with third party components: check their license in the User's guide.