XTMF is software that creates, edits and runs model systems. Model systems in XTMF are designed with a hierarchical compositions of modules. Every module in a model system provides data input and custom execution logic. XTMF uses projects as an organizational structure for containing a collection of model systems.
XTMF and its modules are written in C# using the .NET 8.0 SDK.
A large collection of modules are available as part of this repository - and is also included with the binary releases of XTMF.
The current module library largely supports the creation of travel-demand related model systems. Many of the modules included with XTMF are part of Travel Modelling Group's GTAModel. Model systems need not be limited to the transit domain, but will most likely require the development of your own custom modules.
XTMF includes an SDK for the development of your own custom modules. Custom modules are written in C# that provide custom executable logic and pre-defined module information (such as input properties).
A guide for writing your own XTMF modules is available here.
The most recent XTMF binary release is available on the releases page.
- Download the .zip archive of XTMF version of your choosing.
- Extract the .zip archive.
- Run XTMF.Gui.exe to launch XTMF with a graphical user interface. XTMF.Run.exe can be used to run XTMF in headless mode.
For development of XTMF, Visual Studio 2017 or later is required. XTMF.sln in the Code/ folder is the solution file that should be used.
Note: Module development does not require using Visual Studio as your IDE. Rider, Visual Studio Code and others are suitable alternatives for module development only with the XTMF SDK.
To compile XTMF run the following in the Code
directory:
dotnet build -c Development;
To run unit tests execute
dotnet test -c Development;
To run XTMF from the command line:
dotnet run -c Development --project XTMF.GUI;
Documentation for XTMF is available on the Travel Modelling Group's documentation site.
The eXtensible Travel Modelling Framework Licensed under the GPLv3 which is available in the root directory under "License". The eXtensible Travel Modelling Framework (XTMF) is an open-source (GPLv3) software platform developed by the University of Toronto to build model systems through the composition and configuration of different modules. This means that all modules used to construct GTAModel V4.0+ have their code available for inspection or recompilation.