/goabm

Go ABM (Agent-Based Modelling) library

Primary LanguageGo

[WIP] Go ABM lib

This is a WIP attempt to create a library for Agent-Based Models simulation using pure Go.

Key interfaces:

Agent

Code specifying behaviour of the agent:

type Agent interface {
    Run()
}

See models/ for examples.

World

Code describing properies of the world:

type World interface {
    Tick() // mark the beginning of the next time period
}

See worlds/ for examples of worlds.

UI

Code for representing World with Agents in a visual form:

type UI interface {
    Stop()
    Loop()
}

See ui/ for examples.

Examples

See examples/.

License

MIT