Fork me on GitHub

MaDKit /


What is MaDKit

MaDKit stands for Multiagent Development Kit.
It is a multiagent-based development platform written in Java that allows to easily build distributed applications and simulations using the multiagent paradigm.

One key aspect of MADKit is that, in contrast to conventional approaches which are mostly agent-centered, MaDKit follows an organization-centered approach (OCMAS). Therefore, MaDKit is built upon the AGR (Agent/Group/Role) organizational model and does not rely on a predefnied agent model: (any kind of) Agents play roles in groups and thus create artificial societies. So MaDKit features:

  • Artificial agents creation and life cycle management
  • High heterogeneity in agent architectures: No predefined agent model
  • An organizational infrastructure which is used for several aspects, especially for (1) enabling communication between agents and (2) structuring multi-agent based simulation models
  • Multi-Agent based simulation and simulator authoring tools
  • Multi-agent based distributed application authoring facilities

Getting started

As of version 5, namely MaDKit-5, MaDKit is a lightweight Java library which is mainly designed to be used by developers. It does not provide an embeded IDE for instance. Therefore it has to be mainly understood as a regular API. Tutorials are a good start for understanding what the MaDKit-5 API is about. The docs section of this site contains other resources which are useful for learning more about MaDKit and also how MaDKit applications could be managed and easily deployed using predefined ant files.

About version 4

The strory of the MaDKit project is long and the two last versions are fairly different.

MaDKit 4 was designed as a platform to which application modules are attached. While it is no longer maintained, it comes with a full set of MAS applications that illustrate what can be done using the MaDKit framework (These versions are not compatible but the underlying concepts are the same). So MaDKit 4 could be tested to have an hint about what MaDKit enables in a general way.

Related projects


The TurtleKit platform relies on a logo-based simulation model and proposes a Logo programming approach while giving all the possibilities afforded by high level programming languages.



As its name indicates it, MaDKitGroupExtension is an open source extension of MaDKit that enables to manage advanced representations of groups.