rusty_agent 0.1.1

multi-agent systems framework.
Documentation
  • Coverage
  • 62.07%
    18 out of 29 items documented1 out of 17 items with examples
  • Size
  • Source code size: 30.35 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 586.78 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 19s Average build duration of successful builds.
  • all releases: 19s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • tmetsch/rusty_agent
    5 2 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • tmetsch

Multi-agent framework in Rust

This is a simple framework enabling multi-agent systems. Originally developed to test distributed planning & decision-making for this crate, it can be used for various other use cases.

It uses ZeroMQ for messaging between the agents. Each agent internally works with two threads. One which listen to message from other agents, another which continuously "pings" it's neighbours. This pinging allows agents to join and leave a system-of-systems on the fly. Once an agent is pinged it will include information about the neighbours it knows about to the other agents.

Example

An example is provided - first start the first agent, it will broadcast a hello world to its neighbours. It will wait till other agents have joined the system-of-systems:

$ cargo run --example sample_agent 0

The program parameter "0" indicates the id of the agent, as well as the port it will use.

Now another agent can be started - which will connect to the previous one, wait for the "hello world" and stop:

$ cargo run --example sample_agent 1