A real-timetraffic simulation platform controlling an instance of the SUMO simulation package via the TraaS API over a localhost server.
This application visualizes traffic flow, enables user interaction, and allows for adaptive traffic control strategies as well as statistical analysis of traffic.
Developed for the Object-Oriented Programming in Java - Advanced Course module (Winter 25/26) at Frankfurt University of Applied Sciences, project supervision by Prof. Dr. Ghadi Mahmoudi
This project is a real-time traffic simulation platform developed in Java, designed to interface with the SUMO engine.
By wrapping the TraaS API's functionalities, our application bridges the gap between simulation data and visualization / manipulation.
The TraaS API (native to SUMO) relies heavily on static methods and vague function calls.
Our solution implements a robust Object-oriented wrapper around TraaS, encapsulating entities like Vehicles, Edges, and Traffic Lights into clean, reusable, instanceable objects to ensure maintainability and extensibility.
This software provides an environment for experimenting with traffic flow and urban mobility.
Unlike the native sumo-gui, this platform offers a custom JavaFX GUI that allows users to interact with the simulation in real-time.
Users can inject vehicles, manipulate traffic light phases, and apply stress tests on the road network to observe and compare congestion behavior in real-time, as the simulation is running.
The road network is rendered in the JavaFX GUI providing live visual feedback on traffic flow, vehicle states, and phase indicators.
Metrics such as average speed, vehicle density, and average vehicle waiting time, are displayed live, as well as exported to CSV and PDF for detailed reports.
- 2 preinstalled maps, but also allowing for user imports
- Map Select
- Run an instance of sumo on localhost
- Render UI using JavaFX
- Inject vehicles, allowing for the following variables
- 1 - 1000 vehicles
- 1 out of 16,777,216 possible Colors
- Selectable Vehicle Type
- Selectable Route for the vehicle to take
- Traffic light manipulation
- Display vehicles and traffic light data in a Data Pane
- Filter vehicles by attributes (color, speed, route, type)
- Output Data to .csv as well as .pdf
- JDK 25+
- SUMO 1.24 (Windows 64 Extra version)
- TraaS 1.1
- jdom 2.0.6.1
git clone https://github.com/LuarEbre/STAR.git STAR- Open an IDE of your choosing (IntelliJ, Eclipse, VSCode)
- Run the class Main.java
- Allow elevator.exe to bypass Windows Defender (only if using IntelliJ)
- Allow sumo to bypass the firewall (otherwise problems might occur when trying to run the server clientside)


