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
,Backend
andRoutingKit
as separate Maven projects in your IDE. - Start
RoutingKit/osm-cleaner/src/main/java/application/SetupManagerApplication.main()
. On first startupSetupManagerApplication
creates 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 API
to download necessary osm data for your simulation - Rename the downloaded file and add
.osm
file ending e.g.london.osm
- Place osm data in
{ProjectDir}/RoutingKit/osm-cleaner/src/main/resources/OSM_Files/
- Launch
SetupManagerApplication
to select your osm file and clean your osm data. This produces a new osm file e.g.london_cleaned.osm
in the same directory. - Then use
SetupManagerApplication
to 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
,RoutingEngine
andBackend
) 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
Frontend
project, launchsrc/main/java/de/thm/agade/frontend/FrontendApplication.main()
- Open
localhost:8081
in 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 build
to build a prepared docker image ofNeo4j
database. 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 up
to start up the database - In the
RoutingKit
project, launchrouting-engine/src/main/rmi/RMIServer.main()
- In the
Backend
project, launch thesrc/main/java/BackendApplication.main()
in the AGADE project - In the
Frontend
project, launchsrc/main/java/de/thm/agade/frontend/FrontendApplication.main()
- Open
localhost:8081
in 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