mirror of
https://github.com/gsi-upm/soil
synced 2024-11-22 03:02:28 +00:00
38f8a8d110
First iteration to achieve MESA compatibility. As a side effect, we have removed `simpy`. For a full list of changes, see `CHANGELOG.md`. |
||
---|---|---|
docs | ||
examples | ||
soil | ||
tests | ||
.dockerignore | ||
.gitignore | ||
.gitlab-ci.yml | ||
CHANGELOG.md | ||
debug.py | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
logo_gsi.png | ||
logo_gsi.svg | ||
Makefile | ||
MANIFEST.in | ||
README.md | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt |
SOIL
Soil is an extensible and user-friendly Agent-based Social Simulator for Social Networks. Learn how to run your own simulations with our documentation.
Follow our tutorial to develop your own agent models.
Citation
If you use Soil in your research, don't forget to cite this paper:
@inbook{soil-gsi-conference-2017,
author = "S{\'a}nchez, Jes{\'u}s M. and Iglesias, Carlos A. and S{\'a}nchez-Rada, J. Fernando",
booktitle = "Advances in Practical Applications of Cyber-Physical Multi-Agent Systems: The PAAMS Collection",
doi = "10.1007/978-3-319-59930-4_19",
editor = "Demazeau Y., Davidsson P., Bajo J., Vale Z.",
isbn = "978-3-319-59929-8",
keywords = "soil;social networks;agent based social simulation;python",
month = "June",
organization = "PAAMS 2017",
pages = "234-245",
publisher = "Springer Verlag",
series = "LNAI",
title = "{S}oil: {A}n {A}gent-{B}ased {S}ocial {S}imulator in {P}ython for {M}odelling and {S}imulation of {S}ocial {N}etworks",
url = "https://link.springer.com/chapter/10.1007/978-3-319-59930-4_19",
volume = "10349",
year = "2017",
}
Mesa compatibility
Soil is in the process of becoming fully compatible with MESA. As of this writing,
This is a non-exhaustive list of tasks to achieve compatibility:
- Environments.agents and mesa.Agent.agents are not the same. env is a property, and it only takes into account network and environment agents. Might rename environment_agents to other_agents or sth like that
- Integrate
soil.Simulation
with mesa's runners:soil.Simulation
could mimic/become amesa.batchrunner
- Integrate
soil.Environment
withmesa.Model
:Soil.Environment
inherits frommesa.Model
Soil.Environment
includes a Mesa-like Scheduler (see thesoil.time
module.
- Integrate
soil.Agent
withmesa.Agent
:- Rename agent.id to unique_id?
- mesa agents can be used in soil simulations (see
examples/mesa
)
- Document the new APIs and usage
@Copyright GSI - Universidad Politécnica de Madrid 2017-2021