1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
//! Djinn is a framework for writing distributed agent-based simulations (ABMs), providing: //! //! - a structure for defining agents and their behaviors/decision-making //! along with some extensions for common behaviors. //! - a distributed architecture mediated by Redis which allows computationally-intense //! agents to be processed in parallel across multiple processes and/or multiple machines. //! - utilities for logging and emitting events during the simulation, e.g. to a websocket //! frontend. //! //! For examples refer to the `examples/` folder. extern crate ws; extern crate fnv; extern crate uuid; extern crate rand; extern crate redis; extern crate yaml_rust; extern crate rmp_serialize; extern crate rustc_serialize; mod sim; mod ser; mod hash; mod event; mod compute; pub mod ext; pub use event::WebSocketServer; pub use sim::{Agent, Update, State, Simulation}; pub use compute::{Population, Manager, Updates, Worker, Redis, run, run_workers};