Skip to content

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

License

Notifications You must be signed in to change notification settings

iliasger/CrowdNav

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Version requirements

  • Python version >=3.7 (tested for v3.7)
  • SUMO version >=1.2 (tested for v1.2)

Minimal Setup

  • Download the CrowdNav code
  • Run python setup.py install to download all dependencies
  • Install SUMO & set environment variable SUMO_HOME to point to SUMO installation folder
  • Install Kafka (we recommend this Docker image) and set kafkaHost in Config.py
  • Run python run.py

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 .

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.6%
  • Dockerfile 1.4%