https://github.com/fmichel/MaDKit
Multi-agent systems Development Kit - version 6
https://github.com/fmichel/MaDKit
agent-based agent-based-modelling agent-based-simulation agent-oriented-programming artificial-intelligence multi-agent simulation
Last synced: 7 days ago
JSON representation
Multi-agent systems Development Kit - version 6
- Host: GitHub
- URL: https://github.com/fmichel/MaDKit
- Owner: fmichel
- License: other
- Created: 2012-04-16T13:43:26.000Z (about 14 years ago)
- Default Branch: main
- Last Pushed: 2025-04-15T16:48:46.000Z (about 1 year ago)
- Last Synced: 2025-04-15T17:44:47.340Z (about 1 year ago)
- Topics: agent-based, agent-based-modelling, agent-based-simulation, agent-oriented-programming, artificial-intelligence, multi-agent, simulation
- Language: Java
- Homepage: http://www.madkit.net
- Size: 19.4 MB
- Stars: 43
- Watchers: 10
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-java - MaDKit
README
MaDKit: Multi-agent systems Development Kit
[](https://central.sonatype.com/artifact/io.github.fmichel/madkit)
[](https://madkit.net/javadoc)
[](https://www.oracle.com/java/technologies/javase-jdk23-downloads.html)
[](https://gradle.org/)
[](http://www.cecill.info/index.en.html)
**Open source Java API for developing and simulating Multi-Agent Systems** ([MAS](https://en.wikipedia.org/wiki/Multi-agent_system))
MaDKit is designed as a lightweight Java library for developing distributed applications and simulations using the multiagent paradigm.
## Features
* Artificial agents creation and life cycle management
* An organizational infrastructure for communication between agents, structuring the application
* High heterogeneity in agent architectures: No predefined agent model
* Multi-Agent based simulation and simulator authoring tools
## Approach
In contrast to agent-centered approaches, MaDKit follows an organization-centered approach ([OCMAS][1]): There is no predefnied agent model in MaDKit.
Especially, MaDKit does not enforce any consideration about the internal structure of agents, thus allowing a developer to freely implements its own agent architectures.
So, MaDKit is built upon the AGR (Agent/Group/Role) organizational model: Agents play roles in groups, and thus create artificial societies.
[1]: http://www.lirmm.fr/~fmichel/publi/pdfs/ferber04ocmas.pdf
## Simulation authoring
MaDKit is designed to provide tools for easily create agent-based simulation engines from scratch, so that one can achieve particular requirements.
It also provides default simulation settings that can be used and extended to quickly build an agent-based simulation, only focusing on the agent modeling part.
Its conceptual approach to multi-agent based simulation mainly relies on this [research paper](http://www.lirmm.fr/~fmichel/publi/pdfs/michel09mas_and_ms.pdf).
## Programming with MaDKit
JDK 23+ is required.
Using MaDKit can be done by [declaring it as a dependency using your favorite build tool](https://mvnrepository.com/artifact/io.github.fmichel/madkit).
For instance, with Gradle:
```groovy
implementation "io.github.fmichel:madkit:6.0.1"
```
## Getting Started
This repo contains 3 sub projects that give an hint about what can be done with MaDKit:
* MDK-simu-template: A simple example of a simulation using default classes and settings
* MDK-marketorg-app: A classic bid/offer multi-agent application
* MDK-bees-app: A complete simulation example
## More information
* [JavaDoc API Reference](https://madkit.net/javadoc)
* [Official Homepage](http://www.madkit.net) V.5
* [Tutorials](http://www.madkit.net/madkit/tutorials) V.5
* [Documentation](http://www.madkit.net/madkit/documents.php) V.5
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Added some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request