/CrowdNav

A model problem for big data self adaptive systems using SUMO and TraCI

Primary LanguagePythonMIT LicenseMIT

CrowdNav

Banner

Description

CrowdNav is a simulation based on SUMO and TraCI that implements a custom router that can be configured using kafka messages or local JSON config on the fly while the simulation is running. Also runtime data is send to a kafka queue to allow stream processing and logger locally to CSV.

Minimal Setup

Getting Started Guide

A first guide on how to use (i.e. adapt, measure, optimize) CrowdNav with the RTX tool is available at this Wiki page.

Operational Modes

  • Normal mode (python run.py) with UI to Debug the application. Runs forever.
  • Parallel mode (python parallel.py n) to let n processes of SUMO spawn for faster data generation. Stops after 10k ticks and reports values.

Further customization

  • Runtime variables are in the knobs.json file and will only be used if kafkaUpdates = True is set to false in Config.py. Else the tool uses Kafka for value changes.
  • To disable the UI in normal mode, change the sumoUseGUI = True value in Config.py to false.

Notes

  • To let the system stabalize, no message is sent to kafka or CSV in the first 1000 ticks .