AGADE Traffic is an agent based traffic simulator written in Java. Main objective of this project is to provide a tool that allows traffic planners to simulate and analyse behavioural structures in road traffic. The model assumes that personal preferences and decisions made by individual travellers have major impact on overall traffic flow. For this reason, AGADE Traffic focuses on modelling individuals as intelligent software agents. The modelling component uses semantic technologies (OWL and SWRL) to express agent knowledge and preferences that utimately has an effect on travel behaviour. The simulator uses the JADEX framework for implementing BDI agents. For representation of geographic network infrastucture, publicly available map data from OpenStreetMap is stored in a graph database (Neo4J). For more information visit our website www.agade.de and get access to simulation examples as described in our publications. We also provide an online live demo of AGADE Traffic frontend.
- Create a local repository using
git clone https://github.com/KITE-Cloud/AGADE-TRAFFIC.git - Open
Frontend,BackendandRoutingKitas separate Maven projects in your IDE. - Start
RoutingKit/osm-cleaner/src/main/java/application/SetupManagerApplication.main(). On first startupSetupManagerApplicationcreates important environmental variables that are required for connecting service modules. You will need to restart Java to detect changes.
- Manually select a map area at openstreetmap and use
overpass APIto download necessary osm data for your simulation - Rename the downloaded file and add
.osmfile ending e.g.london.osm - Place osm data in
{ProjectDir}/RoutingKit/osm-cleaner/src/main/resources/OSM_Files/ - Launch
SetupManagerApplicationto select your osm file and clean your osm data. This produces a new osm file e.g.london_cleaned.osmin the same directory. - Then use
SetupManagerApplicationto select the cleaned osm file and import data into database.
Make sure you have Docker running!
- Open a terminal and navigate to your project directory
- Startup AGADE Traffic Services (
Neo4j,RoutingEngineandBackend) by typingdocker-compose up - On first startup project build must be completed. Project build will be cached which makes startup of subsequent sessions faster.
- You will have to start AGADE Traffic Frontend separately. In the
Frontendproject, launchsrc/main/java/de/thm/agade/frontend/FrontendApplication.main() - Open
localhost:8081in your browser
For developers working with AGADE Traffic we recommend starting up services separately.
- Open a terminal and navigate to
{ProjectDir}/RoutingKit - Type in
docker-compose buildto build a prepared docker image ofNeo4jdatabase. If you make changes to the database (e.g. import new data), you will need to rebuild. - Once build process is completed, type
docker-compose upto start up the database - In the
RoutingKitproject, launchrouting-engine/src/main/rmi/RMIServer.main() - In the
Backendproject, launch thesrc/main/java/BackendApplication.main()in the AGADE project - In the
Frontendproject, launchsrc/main/java/de/thm/agade/frontend/FrontendApplication.main() - Open
localhost:8081in your browser
AGADE.Traffic.-.Tutorial.-.Overview.mp4
Simulation results will be output in the Frontend project under the following path: src/main/resources/output
AGADE Traffic is an open source product licensed under MIT