Skip to content

A modern Java-/JavaFX-based Intelligent Transportation Systems Modeling and Simulation Toolkit (ITS-Toolkit)

License

Notifications You must be signed in to change notification settings

ghackenberg/Transport-IDE

Repository files navigation

Transport-IDE

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

  1. analyzing requirements for specific application scenarios (e.g. travel time and energy consumption) as well as
  2. 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.

Screenshots

Here are some screenshots of Transport-IDE in action:

Features

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!

Concepts

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
Loading

Requirements

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:

Here is a screenshot of our Visual Studio Code setup in action:

Modules

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
Loading

Learn more about the modules here: Core, CLI, FX, and Swing.

Folders

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.

Documents

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.

Publications

And, finally, here is a list of publications related to this software project:

  1. Next-Generation Design Tools for Intelligent Transportation Systems
    MODELSWARD 2025
  2. A Discrete Event Formalism for Fast Simulation of On-Demand Transportation Systems
    ISDA 2024
  3. Model-Based Design of Integrated Transportation Systems Using Approximate Dynamic Programming
    ITSC 2023
  4. The passenger extension of the TRANSP-0 system design framework
    MT-ITS 2017
  5. The TRANSP-0 framework for integrated transportation and power system design
    ITSC 2016
  6. Integrated transportation and power system modeling
    ICCVE 2015
  7. 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.

About

A modern Java-/JavaFX-based Intelligent Transportation Systems Modeling and Simulation Toolkit (ITS-Toolkit)

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •