RailSim

Year 2024
Technology Python, SQL, Plotly, Dash
Software Engineering
View it on Github
Description
RailSim is a sophisticated simulation tool developed upon decades of research and development to address the operational challenges faced by heavy rail systems in major metropolitan areas, particularly during peak periods when demand is highest. This tool provides a microscopic simulation model for heavy rail systems, enabling detailed analysis of train behaviors, signaling systems (fixed-block and moving-block), and interactions between trains and passengers. By employing RailSim, researchers can evaluate various operating strategies such as skip-stop, station consolidation, and dwell control to mitigate capacity bottlenecks.

The simulation codebase is implemented in Python, making it accessible to everyone with any level of experience with software engineering. The codebase is designed in a purely object-oriented paradigm. To achieve code reusability, flexibility, and modularity design patterns such as Decorator, Observer, State, and Strategy are used. The package is also equipped with command line utilities that are installed through the Pipenv virtual environment for visualizing the results.

The source code, and associated presentations can be shared upon reasonable request. Two research papers were produced as a result of this work which are presented at Transportation Research Board Annual Meeting can be found here and here.