The goal of Transport-IDE is to make the life of transportation infrastructure and control strategy engineers easier. We believe that this engineering domain needs new tools and methodologies to develop better systems with higher performance in shorter time and at lower lifetime cost. In particular, we think that transportation system engineers must be supported better in
- analyzing requirements for specific application scenarios (e.g. travel time and energy consumption) as well as
- deriving, verifying, and validating principle solution variants (including transportation, charge, and maintenance infrastructure as well as control strategy).
Transport-IDE is an open source software project initiated by Dr. Georg Hackenberg, Professor for Industrial Informatics, School of Engineering, University of Applied Sciences Upper Austria and Dominik Ascher, Research Associate, Distributed Artificial Intelligence Laboratory, Technical University of Berlin.
Here are some screenshots of Transport-IDE in action:
Here is a list of currently supported features of Transport-IDE:
- ⭐ System modeling
- Driving infrastructure through intersections and segments
- Charging infrastructure through stations
- Fleet configurations through vehicles
- Load scenarios through demands
- ⭐ Control strategies
- Random strategy throwing the dice for every decision
- Manual strategy asking the user for every choice to be made
- Greedy strategy behaving randomly unless demand can be dropped
- Smart strategy based on shortest path algorithm
- ⭐ Scenario simulations
- Discrete-event semantics for minimal computational effort
- Monte-Carlo experiments for statistical behavior analysis
- Multi-threaded executions for maximum computation speeds
Feel free to request new features via our GitHub issues!
The following diagram provides an overview of the modeling concepts:
flowchart TB
Station["<b>Station</b><br/>Energy charge point"]
Vehicle["<b>Vehicle</b><br/>Transport means"]
Demand["<b>Demand</b><br/>Transport request"]
Segment["<b>Segment</b><br/>Road section"]
Intersection["<b>Intersection</b><br/>Road crossing"]
Location["<b>Location</b><br/>Distance on segment"]
LocationTime["<b>LocationTime</b><br/>Location and timepoint"]
Station --> Location
Station --current--> Vehicle
Vehicle --initial--> Location
Vehicle --current--> Location
LocationTime --> Location
Demand --current--> Vehicle
Demand --pick--> LocationTime
Demand --drop--> LocationTime
Demand --current--> Location
Location --> Segment
Segment --start--> Intersection
Segment --end--> Intersection
style Location fill:white
style LocationTime fill:white
To build and run the project you need to following software packages:
- OpenJDK
provides a Java compiler and runtime environment - Apache Maven
provides a dependency management and build configuration tool
To work on the code you can use the following software package:
- Eclipse IDE for Java Developers
the traditional way of Java coding - IntelliJ IDEA
the professional way of Java coding - Visual Studio Code + Extension Pack for Java
a nice, modern, and lightweight alternative (our preferred solution!)
Here is a screenshot of our Visual Studio Code setup in action:
This software packages comprises three modules and their dependencies. The following diagram provides an overview of the software modules included. Technically, the software modules are implemented as Java Jigsaw and Apache Maven modules.
flowchart RL
core["<b>mbse.transport.core</b><br/>Core functionality"]
cli["<b>mbse.transport.cli</b><br/>Command line interface"]
fx["<b>mbse.transport.fx</b><br/>New JavaFX-based GUI"]
swing["<b>mbse.transport.swing</b><br/>Old Swing-based GUI"]
cli --> core
fx --> core
swing --> core
Learn more about the modules here: Core
, CLI
, FX
, and Swing
.
Here is a brief description of the top-level folder structure of this repository:
- 📁 Modules
Contains the source code of the various software modules. - 📁 Models
Contains sample system models used for testing and demonstration. - 📁 Images
Contains image material used in the documentation. - 📁 Prototypes
Contains prototypes of new functionalities to be added later. - 📁 Manuscripts
Contains source code of publications written in Latex.
And here are some top-level documents to check out before getting started:
- 📄 LICENSE.md
Contains information about the license for this source code. - 📄 CANGELOG.md
Contains information about software versions and changes included. - 📄 CONTRIBUTING.md
Contains information for contributors to this software project.
And, finally, here is a list of publications related to this software project:
- Next-Generation Design Tools for Intelligent Transportation Systems
MODELSWARD 2025
- A Discrete Event Formalism for Fast Simulation of On-Demand Transportation Systems
ISDA 2024
- Model-Based Design of Integrated Transportation Systems Using Approximate Dynamic Programming
ITSC 2023
- The passenger extension of the TRANSP-0 system design framework
MT-ITS 2017
- The TRANSP-0 framework for integrated transportation and power system design
ITSC 2016
- Integrated transportation and power system modeling
ICCVE 2015
- Early estimation of multi-objective traffic flow
ICCVE 2014
See PUBLICATIONS.md for information about the workshops, conferences, and journals as well as article abstracts and Bibtex entries.