Presentation is loading. Please wait.

Presentation is loading. Please wait.

TRANSIMS Version 5 Software Architecture January 20, 2011 David Roden – AECOM.

Similar presentations


Presentation on theme: "TRANSIMS Version 5 Software Architecture January 20, 2011 David Roden – AECOM."— Presentation transcript:

1 TRANSIMS Version 5 Software Architecture January 20, 2011 David Roden – AECOM

2 Topics  Goals and objectives  Standard template library extensions  Code organization and consolidation  Program service hierarchy  Typical program linkages  Path building and simulation services  Multiple threads, DLL, and MPI 1/20/2011 Chicago RTSTEP TRANSIMS Model 2

3 Goals and Objectives  Make the code easier for new programmers to understand, modify and build upon –Standard Template Library –Centralize codes, standardize and automate processing –Expand and simplify programmer support services  Make the code safer and more robust –Eliminate re-defined data classes and application differences  Improve performance and reduce run times –Utilize multiple cores and MPI clusters  Create DLL services for linkages to other software 1/20/2011 Chicago RTSTEP TRANSIMS Model 3

4 Standard Template Library Extensions  Custom data containers  C++ STL –vectors, maps, iterators, streams, and strings  Encapsulate and extend STL methods –string  String Case insensitive comparisons, trimming, parsing, type conversions, and type safe printf-like formating –streams  Message, Print, Write, XML Managed output to the screen and print files –char array  Buffer Dynamic character arrays for binary and text file input and output –time  Dtime Day-time data object with input and output formatting 1/20/2011 Chicago RTSTEP TRANSIMS Model 4

5 Code Organization and Consolidation  Enumerations consolidated into one place with static conversion services (text  code, code  text)  Standard containers and iterators defined in a central TypeDefs library  SysLib re-grouped and organized as files, data classes, read and write methods, and a series of program services  Control key structure and processing methods standardize, simplify, and automate user interface and help functions 1/20/2011 Chicago RTSTEP TRANSIMS Model 5

6 SysLib Db-File Hierarchy 1/20/2011 Chicago RTSTEP TRANSIMS Model 6 Static Service Code-Text conversions, Round/UnRound Internal-External Unit conversions Default file format and time format File status code and messages File ID and File Type Execution_Service *exe Db_Status Db_Record Db_File Db_Base Db_Header Db_Field System Files Arcview_File Db_Array Points Projection Buffers ArcGIS Files Record buffers and nesting data Delimiter processing File handle, reads and writes Delimiter processing Field name and attributes Memory file Record array Field creation and I/O File header and definition files Shape file processing XYZ point array Coordinate projection services

7 Low Level Program Services 1/20/2011 Chicago RTSTEP TRANSIMS Model 7 Message Service Report Service Control Service Static Service Execution Service Code-Text conversions, Round/UnRound Internal-External Unit conversions Default file format and time format Screen messages Program/Version Exit codes Report/XML output Problem services Partitioning flags Control file processing Key processing and validation services Help services Control key and report specifications Command line processing Program execution process Execution_Service *exe TITLE REPORT_FILE REPORT_FLAG PROJECT_DIRECTORY DEFAULT_FILE_FORMAT TIME_OF_DAY_FORMAT MODEL_START_TIME MODEL_END_TIME UNITS_OF_MEASURE RANDOM_NUMBER_SEED MAX_WARNING_MESSAGES MAX_WARNING_EXIT_FLAG MAX_PROBLEM_COUNT NUMBER_OF_THREADS PROGRAM_REPORTS TITLE REPORT_FILE REPORT_FLAG PROJECT_DIRECTORY DEFAULT_FILE_FORMAT TIME_OF_DAY_FORMAT MODEL_START_TIME MODEL_END_TIME UNITS_OF_MEASURE RANDOM_NUMBER_SEED MAX_WARNING_MESSAGES MAX_WARNING_EXIT_FLAG MAX_PROBLEM_COUNT NUMBER_OF_THREADS PROGRAM_REPORTS

8 File and Data Services 1/20/2011 Chicago RTSTEP TRANSIMS Model 8 Execution Service NOTES_AND_NAME_FIELDS FLOW_UNITS SKIM_OD_UNITS SKIM_TIME_PERIODS SKIM_TIME_INCREMENT SKIM_TOTAL_TIME_FLAG SKIM_TRAVEL_TIME_FORMAT SKIM_TRIP_LENGTH_FORMAT NEAREST_NEIGHBOR_FACTOR MERGE_TIME_PERIODS NOTES_AND_NAME_FIELDS FLOW_UNITS SKIM_OD_UNITS SKIM_TIME_PERIODS SKIM_TIME_INCREMENT SKIM_TOTAL_TIME_FLAG SKIM_TRAVEL_TIME_FORMAT SKIM_TRIP_LENGTH_FORMAT NEAREST_NEIGHBOR_FACTOR MERGE_TIME_PERIODS File Service System file selection Open existing and create new files File status and format information Data Service Read system files into data structures Write data structures to system files Record indexing and sorting (System File and Format Keys) DAILY_WRAP_FLAG SUMMARY_TIME_RANGES SUMMARY_TIME_INCREMENT CONGESTED_TIME_RATIO PLAN_SORT_TYPE HIGHEST_ZONE_NUMBER DAILY_WRAP_FLAG SUMMARY_TIME_RANGES SUMMARY_TIME_INCREMENT CONGESTED_TIME_RATIO PLAN_SORT_TYPE HIGHEST_ZONE_NUMBER Data_Service *dat

9 NEW_NODE_FILENEW_NODE_FORMAT NEW_ZONE_FILENEW_ZONE_FORMAT NEW_SHAPE_FILENEW_SHAPE_FORMAT NEW_LINK_FILENEW_LINK_FORMAT NEW_POCKET_FILENEW_POCKET_FORMAT NEW_LANE_USE_FILENEW_LANE_USE_FORMAT NEW_CONNECTION_FILENEW_CONNECTION_FORMAT NEW_TURN_PENALTY_FILENEW_TURN_PENALTY_FORMAT NEW_PARKING_FILENEW_PARKING_FORMAT NEW_LOCATION_FILENEW_LOCATION_FORMAT NEW_ACCESS_FILENEW_ACCESS_FORMAT NEW_SIGN_FILENEW_SIGN_FORMAT NEW_SIGNAL_FILENEW_SIGNAL_FORMAT NEW_PHASING_PLAN_FILENEW_PHASING_PLAN_FORMAT NEW_TIMING_PLAN_FILENEW_TIMING_PLAN_FORMAT NEW_DETECTOR_FILENEWDETECTOR_FORMAT NEW_TRANSIT_STOP_FILENEW_TRANSIT_STOP_FORMAT NEW_TRANSIT_FARE_FILENEW_TRANSIT_FARE_FORMAT NEW_TRANSIT_ROUTE_FILENEW_TRANSIT_ROUTE_FORMAT NEW_TRANSIT_SCHEDULE_FILENEW_TRANSIT_SCHEDULE_FORMAT NEW_TRANSIT_DRIVER_FILENEW_TRANSIT_DRIVER_FORMAT NEW_SELECTION_FILENEW_SELECTION_FORMAT NEW_HOUSEHOLD_FILENEW_HOUSEHOLD_FORMAT NEW_LINK_DELAY_FILENEW_LINK_DELAY_FORMAT NEW_PERFORMANCE_FILENEW_PERFORMANCE_FORMAT NEW_RIDERSHIP_FILENEW_RIDERSHIP_FORMAT NEW_VEHICLE_TYPE_FILENEW_VEHICLE_TYPE_FORMAT NEW_VEHICLE_FILENEW_VEHICLE_FORMAT NEW_TRIP_FILENEW_TRIP_FORMAT NEW_PROBLEM_FILENEW_PROBLEM_FORMAT NEW_PLAN_FILENEW_PLAN_FORMAT NEW_SKIM_FILENEW_SKIM_FORMAT NEW_NODE_FILENEW_NODE_FORMAT NEW_ZONE_FILENEW_ZONE_FORMAT NEW_SHAPE_FILENEW_SHAPE_FORMAT NEW_LINK_FILENEW_LINK_FORMAT NEW_POCKET_FILENEW_POCKET_FORMAT NEW_LANE_USE_FILENEW_LANE_USE_FORMAT NEW_CONNECTION_FILENEW_CONNECTION_FORMAT NEW_TURN_PENALTY_FILENEW_TURN_PENALTY_FORMAT NEW_PARKING_FILENEW_PARKING_FORMAT NEW_LOCATION_FILENEW_LOCATION_FORMAT NEW_ACCESS_FILENEW_ACCESS_FORMAT NEW_SIGN_FILENEW_SIGN_FORMAT NEW_SIGNAL_FILENEW_SIGNAL_FORMAT NEW_PHASING_PLAN_FILENEW_PHASING_PLAN_FORMAT NEW_TIMING_PLAN_FILENEW_TIMING_PLAN_FORMAT NEW_DETECTOR_FILENEWDETECTOR_FORMAT NEW_TRANSIT_STOP_FILENEW_TRANSIT_STOP_FORMAT NEW_TRANSIT_FARE_FILENEW_TRANSIT_FARE_FORMAT NEW_TRANSIT_ROUTE_FILENEW_TRANSIT_ROUTE_FORMAT NEW_TRANSIT_SCHEDULE_FILENEW_TRANSIT_SCHEDULE_FORMAT NEW_TRANSIT_DRIVER_FILENEW_TRANSIT_DRIVER_FORMAT NEW_SELECTION_FILENEW_SELECTION_FORMAT NEW_HOUSEHOLD_FILENEW_HOUSEHOLD_FORMAT NEW_LINK_DELAY_FILENEW_LINK_DELAY_FORMAT NEW_PERFORMANCE_FILENEW_PERFORMANCE_FORMAT NEW_RIDERSHIP_FILENEW_RIDERSHIP_FORMAT NEW_VEHICLE_TYPE_FILENEW_VEHICLE_TYPE_FORMAT NEW_VEHICLE_FILENEW_VEHICLE_FORMAT NEW_TRIP_FILENEW_TRIP_FORMAT NEW_PROBLEM_FILENEW_PROBLEM_FORMAT NEW_PLAN_FILENEW_PLAN_FORMAT NEW_SKIM_FILENEW_SKIM_FORMAT NODE_FILENODE_FORMAT ZONE_FILEZONE_FORMAT SHAPE_FILESHAPE_FORMAT LINK_FILELINK_FORMAT POCKET_FILEPOCKET_FORMAT LANE_USE_FILELANE_USE_FORMAT CONNECTION_FILECONNECTION_FORMAT TURN_PENALTY_FILETURN_PENALTY_FORMAT PARKING_FILEPARKING_FORMAT LOCATION_FILELOCATION_FORMAT ACCESS_FILEACCESS_FORMAT SIGN_FILESIGN_FORMAT SIGNAL_FILESIGNAL_FORMAT PHASING_PLAN_FILEPHASING_PLAN_FORMAT TIMING_PLAN_FILETIMING_PLAN_FORMAT DETECTOR_FILEDETECTOR_FORMAT TRANSIT_STOP_FILETRANSIT_STOP_FORMAT TRANSIT_FARE_FILETRANSIT_FARE_FORMAT TRANSIT_ROUTE_FILETRANSIT_ROUTE_FORMAT TRANSIT_SCHEDULE_FILETRANSIT_SCHEDULE_FORMAT TRANSIT_DRIVER_FILETRANSIT_DRIVER_FORMAT SELECTION_FILESELECTION_FORMAT HOUSEHOLD_FILEHOUSEHOLD_FORMAT LINK_DELAY_FILELINK_DELAY_FORMAT PERFORMANCE_FILEPERFORMANCE_FORMAT RIDERSHIP_FILERIDERSHIP_FORMAT VEHICLE_TYPE_FILEVEHICLE_TYPE_FORMAT VEHICLE_FILEVEHICLE_FORMAT TRIP_FILETRIP_FORMAT PROBLEM_FILEPROBLEM_FORMAT PLAN_FILEPLAN_FORMAT SKIM_FILESKIM_FORMAT NODE_FILENODE_FORMAT ZONE_FILEZONE_FORMAT SHAPE_FILESHAPE_FORMAT LINK_FILELINK_FORMAT POCKET_FILEPOCKET_FORMAT LANE_USE_FILELANE_USE_FORMAT CONNECTION_FILECONNECTION_FORMAT TURN_PENALTY_FILETURN_PENALTY_FORMAT PARKING_FILEPARKING_FORMAT LOCATION_FILELOCATION_FORMAT ACCESS_FILEACCESS_FORMAT SIGN_FILESIGN_FORMAT SIGNAL_FILESIGNAL_FORMAT PHASING_PLAN_FILEPHASING_PLAN_FORMAT TIMING_PLAN_FILETIMING_PLAN_FORMAT DETECTOR_FILEDETECTOR_FORMAT TRANSIT_STOP_FILETRANSIT_STOP_FORMAT TRANSIT_FARE_FILETRANSIT_FARE_FORMAT TRANSIT_ROUTE_FILETRANSIT_ROUTE_FORMAT TRANSIT_SCHEDULE_FILETRANSIT_SCHEDULE_FORMAT TRANSIT_DRIVER_FILETRANSIT_DRIVER_FORMAT SELECTION_FILESELECTION_FORMAT HOUSEHOLD_FILEHOUSEHOLD_FORMAT LINK_DELAY_FILELINK_DELAY_FORMAT PERFORMANCE_FILEPERFORMANCE_FORMAT RIDERSHIP_FILERIDERSHIP_FORMAT VEHICLE_TYPE_FILEVEHICLE_TYPE_FORMAT VEHICLE_FILEVEHICLE_FORMAT TRIP_FILETRIP_FORMAT PROBLEM_FILEPROBLEM_FORMAT PLAN_FILEPLAN_FORMAT SKIM_FILESKIM_FORMAT System File and Format Keys 1/20/2011 Chicago RTSTEP TRANSIMS Model 9 File Service

10 Select Service  Support service class for selecting data records 1/20/2011 Chicago RTSTEP TRANSIMS Model 10 SELECT_HOUSEHOLDS SELECT_MODES SELECT_PURPOSE SELECT_START_TIMES SELECT_END_TIMES SELECT_ORIGINS SELECT_DESTINATIONS SELECT_TRAVELER_TYPES SELECT_FACILITY_TYPES SELECT_VEHICLE_TYPES SELECT_SUBAREA_POLYGON SELECT_ORIGIN_ZONES SELECT_DESTINATION_ZONES PERCENT_TIME_DIFFERENCE MINIMUM_TIME_DIFFERENCE MAXIMUM_TIME_DIFFERENCE SELECTION_PERCENTAGE MAXIMUM_PERCENT_SELECTED SELECT_HOUSEHOLDS SELECT_MODES SELECT_PURPOSE SELECT_START_TIMES SELECT_END_TIMES SELECT_ORIGINS SELECT_DESTINATIONS SELECT_TRAVELER_TYPES SELECT_FACILITY_TYPES SELECT_VEHICLE_TYPES SELECT_SUBAREA_POLYGON SELECT_ORIGIN_ZONES SELECT_DESTINATION_ZONES PERCENT_TIME_DIFFERENCE MINIMUM_TIME_DIFFERENCE MAXIMUM_TIME_DIFFERENCE SELECTION_PERCENTAGE MAXIMUM_PERCENT_SELECTED Select Service Read selection keys Maintain selection flags and data ranges Execution_Service *exe

11 Typical Program Linkages 1/20/2011 Chicago RTSTEP TRANSIMS Model 11 RandomSelect Select a random set of travelers or trips Randomly distribute travelers to partitions NUMBER_OF_PARTITIONS Select Service Data Service PlanPrep Select a random set of travelers or trips Randomly distribute travelers to partitions MERGE_PLAN_FILE MERGE_PLAN_FORMAT MAXIMUM_SORT_SIZE Select Service Data Service

12 Path Building and Simulation Services  Builds private data structures for algorithm needs –No longer re-defines or over-writes data in SysLib services SysLib creates internal record IDs for all datasets and programs Re-defining data structures not permitted by STL containers –Important for DLL and on-the-fly path building  Path Builder and Simulator modules in SysLib –Available to multiple programs and as DLL services to other software  Path Builder includes two basic options –Construct a path for a specific trip of a specific traveler –Construct paths or path skims between a user-defined set of origins, destinations, times of day, modes, and vehicle types 1/20/2011 Chicago RTSTEP TRANSIMS Model 12

13 Router Services 1/20/2011 Chicago RTSTEP TRANSIMS Model 13 Data Service IMPEDANCE_SORT_METHOD SAVE_ONLY_SKIMS WALK_PATH_DETAILS IGNORE_VEHICLE_ID LIMIT_PARKING_ACCESS IGNORE_TIME_CONSTRAINTS END_TIME_CONSTRAINT IGNORE_ROUTING_PROBLEMS PERCENT_RANDOM_IMPEDANCE WALK_SPEED BICYCLE_SPEED WALK_TIME_VALUES BICYCLE_TIME_VALUES FIRST_WAIT_VALUES TRANSFER_WAIT_VALUES PARKING_TIME_VALUES VEHICLE_TIME_VALUES DISTANCE_VALUES COST_VALUES FACILITY_BIAS_FACTORS LEFT_TURN_PENALTIES RIGHT_TURN_PENALTIES U_TURN_PENALTIES PARKING_PENALTY_FILE TRANSIT_PENALTY_FILE TRANSFER_PENALTIES STOP_WAITING_PENALTIES STATION_WAITING_PENALTIES BUS_BIAS_FACTORS BUS_BIAS_CONSTANTS RAIL_BIAS_FACTORS RAIL_BIAS_CONSTANTS MAX_WALK_DISTANCES MAX_BICYCLE_DISTANCES MAX_WAIT_TIMES MIN_WAIT_TIMES MAX_NUMBER_OF_TRANSFERS MAX_NUMBER_OF_PATHS MAX_PARK_RIDE_PERCENTAGE MAX_KISS_RIDE_PERCENTAGE KISS_RIDE_TIME_FACTOR KISS_RIDE_STOP_TYPES MAX_KISS_RIDE_DROPOFF_WALK MAX_LEGS_PER_PATH FARE_CLASS_DISTRIBUTION DEFAULT_PARKING_DURATION LOCAL_ACCESS_DISTANCE LOCAL_FACILITY_TYPE LOCAL_IMPEDANCE_FACTOR MAX_CIRCUITY_RATIO MIN_CIRCUITY_DISTANCE MAX_CIRCUITY_DISTANCE IMPEDANCE_SORT_METHOD SAVE_ONLY_SKIMS WALK_PATH_DETAILS IGNORE_VEHICLE_ID LIMIT_PARKING_ACCESS IGNORE_TIME_CONSTRAINTS END_TIME_CONSTRAINT IGNORE_ROUTING_PROBLEMS PERCENT_RANDOM_IMPEDANCE WALK_SPEED BICYCLE_SPEED WALK_TIME_VALUES BICYCLE_TIME_VALUES FIRST_WAIT_VALUES TRANSFER_WAIT_VALUES PARKING_TIME_VALUES VEHICLE_TIME_VALUES DISTANCE_VALUES COST_VALUES FACILITY_BIAS_FACTORS LEFT_TURN_PENALTIES RIGHT_TURN_PENALTIES U_TURN_PENALTIES PARKING_PENALTY_FILE TRANSIT_PENALTY_FILE TRANSFER_PENALTIES STOP_WAITING_PENALTIES STATION_WAITING_PENALTIES BUS_BIAS_FACTORS BUS_BIAS_CONSTANTS RAIL_BIAS_FACTORS RAIL_BIAS_CONSTANTS MAX_WALK_DISTANCES MAX_BICYCLE_DISTANCES MAX_WAIT_TIMES MIN_WAIT_TIMES MAX_NUMBER_OF_TRANSFERS MAX_NUMBER_OF_PATHS MAX_PARK_RIDE_PERCENTAGE MAX_KISS_RIDE_PERCENTAGE KISS_RIDE_TIME_FACTOR KISS_RIDE_STOP_TYPES MAX_KISS_RIDE_DROPOFF_WALK MAX_LEGS_PER_PATH FARE_CLASS_DISTRIBUTION DEFAULT_PARKING_DURATION LOCAL_ACCESS_DISTANCE LOCAL_FACILITY_TYPE LOCAL_IMPEDANCE_FACTOR MAX_CIRCUITY_RATIO MIN_CIRCUITY_DISTANCE MAX_CIRCUITY_DISTANCE Router Service Router Base Create and manage path building threads Send results to an output thread Flow-Time Service Process path building control keys Prepare path building data structures Set path building parameters by type Path Builder

14 Flow-Time Service  Support service class for managing link-delay and performance file processing 1/20/2011 Chicago RTSTEP TRANSIMS Model 14 Flow-Time Service Initialize link-delay data Cumulate flow and travel time data Apply volume-delay equations UPDATE_FLOW_RATES CLEAR_INPUT_FLOW_RATES UPDATE_TRAVEL_TIMES LINK_DELAY_UPDATE_RATE LINK_DELAY_FLOW_FACTOR EQUATION_PARAMETERS UPDATE_FLOW_RATES CLEAR_INPUT_FLOW_RATES UPDATE_TRAVEL_TIMES LINK_DELAY_UPDATE_RATE LINK_DELAY_FLOW_FACTOR EQUATION_PARAMETERS Data_Service *dat

15 Router and PathSkim Linkages 1/20/2011 Chicago RTSTEP TRANSIMS Model 15 Router Build paths and write plan files for select trips Update and merge plan files Update flow rates and travel times HOUSEHOLD_TYPE_SCRIPT UPDATE_PLAN_RECORDS PRINT_UPDATE_WARNINGS Select Service Router Base PathSkim Build paths and write plan files for specified trips Write zone or location-based skim files Update flow rates and travel times ROUTE_FROM_SPECIFIED_LOCATIONS ROUTE_TO_SPECIFIED_LOCATIONS ROUTE_AT_SPECIFIED_TIMES ROUTE_BY_TIME_INCREMENT ROUTE_WITH_TIME_CONSTRAINT ROUTE_WITH_SPECIFIED_MODE ROUTE_WITH_SPECIFIED_USE_TYPE ROUTE_FROM_SPECIFIED_ZONES ROUTE_TO_SPECIFIED_ZONES ORIGIN_LOCATIONS_PER_ZONE DESTINATION_LOCATIONS_PER_ZONE LOCATION_SELECTION_METHOD ORIGIN_ZONE_FILE DESTINATION_ZONE_FILE ORIGIN_LOCATION_FILE DESTINATION_LOCATION_FILE ZONE_LOCATION_MAP_FILE ROUTE_FROM_SPECIFIED_LOCATIONS ROUTE_TO_SPECIFIED_LOCATIONS ROUTE_AT_SPECIFIED_TIMES ROUTE_BY_TIME_INCREMENT ROUTE_WITH_TIME_CONSTRAINT ROUTE_WITH_SPECIFIED_MODE ROUTE_WITH_SPECIFIED_USE_TYPE ROUTE_FROM_SPECIFIED_ZONES ROUTE_TO_SPECIFIED_ZONES ORIGIN_LOCATIONS_PER_ZONE DESTINATION_LOCATIONS_PER_ZONE LOCATION_SELECTION_METHOD ORIGIN_ZONE_FILE DESTINATION_ZONE_FILE ORIGIN_LOCATION_FILE DESTINATION_LOCATION_FILE ZONE_LOCATION_MAP_FILE Select Service Router Base

16 Simulator Services 1/20/2011 Chicago RTSTEP TRANSIMS Model 16 Router Base SIMULATION_START_TIME SIMULATION_END_TIME TIME_STEPS_PER_SECOND SPEED_CALCULATION_METHOD CELL_SIZE PLAN_FOLLOWING_DISTANCE LOOK_AHEAD_DISTANCE LOOK_AHEAD_LANE_FACTOR LOOK_AHEAD_TIME_FACTOR MAXIMUM_SWAPPING_SPEED MAXIMUM_SPEED_DIFFERENCE ENFORCE_PARKING_LANES FIX_VEHICLE_LOCATIONS DRIVER_REACTION_TIME PERMISSION_PROBABILITY SLOW_DOWN_PROBABILITY SLOW_DOWN_PERCENTAGE MINIMUM_WAITING_TIME MAXIMUM_WAITING_TIME MAX_ARRIVAL_TIME_VARIANCE MAX_DEPARTURE_TIME_VARIANCE COUNT_PROBLEM_WARNINGS PRINT_PROBLEM_MESSAGES SIMULATION_START_TIME SIMULATION_END_TIME TIME_STEPS_PER_SECOND SPEED_CALCULATION_METHOD CELL_SIZE PLAN_FOLLOWING_DISTANCE LOOK_AHEAD_DISTANCE LOOK_AHEAD_LANE_FACTOR LOOK_AHEAD_TIME_FACTOR MAXIMUM_SWAPPING_SPEED MAXIMUM_SPEED_DIFFERENCE ENFORCE_PARKING_LANES FIX_VEHICLE_LOCATIONS DRIVER_REACTION_TIME PERMISSION_PROBABILITY SLOW_DOWN_PROBABILITY SLOW_DOWN_PERCENTAGE MINIMUM_WAITING_TIME MAXIMUM_WAITING_TIME MAX_ARRIVAL_TIME_VARIANCE MAX_DEPARTURE_TIME_VARIANCE COUNT_PROBLEM_WARNINGS PRINT_PROBLEM_MESSAGES Simulator Service Simulator Base Create and manage simulator threads Process simulator control keys Prepare simulator data structures Set simulator parameters by type Simulator Simulator Output Create and manage output threads Output Services Output Services

17 Simulator Output Link Delay and Performance 1/20/2011 Chicago RTSTEP TRANSIMS Model 17 Link-Delay Output Initialize link-delay data Cumulate flow and travel time data Write link-delay file NEW_LINK_DELAY_FILE NEW_LINK_DELAY_FORMAT NEW_LINK_DELAY_TIME_FORMAT NEW_LINK_DELAY_INCREMENT NEW_LINK_DELAY_TIME_RANGE NEW_LINK_DELAY_LINK_RANGE NEW_LINK_DELAY_COORDINATES NEW_LINK_DELAY_VEH_TYPES NEW_LINK_DELAY_TURN_FLAG NEW_LINK_DELAY_FLOW_TYPE NEW_LINK_DELAY_FILE NEW_LINK_DELAY_FORMAT NEW_LINK_DELAY_TIME_FORMAT NEW_LINK_DELAY_INCREMENT NEW_LINK_DELAY_TIME_RANGE NEW_LINK_DELAY_LINK_RANGE NEW_LINK_DELAY_COORDINATES NEW_LINK_DELAY_VEH_TYPES NEW_LINK_DELAY_TURN_FLAG NEW_LINK_DELAY_FLOW_TYPE Simulator_Base *exe Performance Output Initialize performance data Cumulate flow and travel time data Write performance file NEW_PERFORMANCE_FILE NEW_PERFORMANCE_FORMAT NEW_PERFORMANCE_TIME_FORMAT NEW_PERFORMANCE_INCREMENT NEW_PERFORMANCE_TIME_RANGE NEW_PERFORMANCE_LINK_RANGE NEW_PERFORMANCE_COORDINATES NEW_PERFORMANCE_VEH_TYPES NEW_PERFORMANCE_TURN_FLAG NEW_PERFORMANCE_FLOW_TYPE NEW_PERFORMANCE_FILE NEW_PERFORMANCE_FORMAT NEW_PERFORMANCE_TIME_FORMAT NEW_PERFORMANCE_INCREMENT NEW_PERFORMANCE_TIME_RANGE NEW_PERFORMANCE_LINK_RANGE NEW_PERFORMANCE_COORDINATES NEW_PERFORMANCE_VEH_TYPES NEW_PERFORMANCE_TURN_FLAG NEW_PERFORMANCE_FLOW_TYPE Simulator_Base *exe

18 Simulator Output Snapshot and Occupancy 1/20/2011 Chicago RTSTEP TRANSIMS Model 18 Snapshot Output Snapshot Output Initialize snapshot data Process vehicle locations Write snapshot file NEW_SNAPSHOT_FILE NEW_SNAPSHOT_FORMAT NEW_SNAPSHOT_TIME_FORMAT NEW_SNAPSHOT_INCREMENT NEW_SNAPSHOT_TIME_RANGE NEW_SNAPSHOT_LINK_RANGE NEW_SNAPSHOT_COORDINATES NEW_SNAPSHOT_MAX_SIZE NEW_SNAPSHOT_LOCATION_FLAG NEW_SNAPSHOT_CELL_FLAG NEW_SNAPSHOT_FILE NEW_SNAPSHOT_FORMAT NEW_SNAPSHOT_TIME_FORMAT NEW_SNAPSHOT_INCREMENT NEW_SNAPSHOT_TIME_RANGE NEW_SNAPSHOT_LINK_RANGE NEW_SNAPSHOT_COORDINATES NEW_SNAPSHOT_MAX_SIZE NEW_SNAPSHOT_LOCATION_FLAG NEW_SNAPSHOT_CELL_FLAG Simulator_Base *exe Occupancy Output Occupancy Output Initialize occupancy data Cumulate cell occupancy data Write occupancy file NEW_OCCUPANCY_FILE NEW_OCCUPANCY_FORMAT NEW_OCCUPANCY_TIME_FORMAT NEW_OCCUPANCY_INCREMENT NEW_OCCUPANCY_TIME_RANGE NEW_OCCUPANCY_LINK_RANGE NEW_OCCUPANCY_COORDINATES NEW_OCCUPANCY_MAX_FLAG NEW_OCCUPANCY_FILE NEW_OCCUPANCY_FORMAT NEW_OCCUPANCY_TIME_FORMAT NEW_OCCUPANCY_INCREMENT NEW_OCCUPANCY_TIME_RANGE NEW_OCCUPANCY_LINK_RANGE NEW_OCCUPANCY_COORDINATES NEW_OCCUPANCY_MAX_FLAG Simulator_Base *exe

19 Simulator Output Ridership and Turn Volume 1/20/2011 Chicago RTSTEP TRANSIMS Model 19 Ridership Output Ridership Output Initialize ridership data Cumulate ridership data Write ridership file NEW_RIDERSHIP_FILE NEW_RIDERSHIP_FORMAT NEW_RIDERSHIP_TIME_FORMAT NEW_RIDERSHIP_TIME_RANGE NEW_RIDERSHIP_ROUTE_RANGE NEW_RIDERSHIP_ALL_STOPS NEW_RIDERSHIP_FILE NEW_RIDERSHIP_FORMAT NEW_RIDERSHIP_TIME_FORMAT NEW_RIDERSHIP_TIME_RANGE NEW_RIDERSHIP_ROUTE_RANGE NEW_RIDERSHIP_ALL_STOPS Simulator_Base *exe Turn Volume Output Turn Volume Output Initialize turn volume data Cumulate turning movements Write turn volume file NEW_TURN_VOLUME_FILE NEW_TURN_VOLUME_FORMAT NEW_TURN_VOLUME_FILTER NEW_TURN_VOLUME_TIME_FORMAT NEW_TURN_VOLUME_INCREMENT NEW_TURN_VOLUME_TIME_RANGE NEW_TURN_VOLUME_NODE_RANGE NEW_TURN_VOLUME_FILE NEW_TURN_VOLUME_FORMAT NEW_TURN_VOLUME_FILTER NEW_TURN_VOLUME_TIME_FORMAT NEW_TURN_VOLUME_INCREMENT NEW_TURN_VOLUME_TIME_RANGE NEW_TURN_VOLUME_NODE_RANGE Simulator_Base *exe

20 Multiple Threads, DLL and MPI  Boost library used for multi-threads  All SysLib classes available for dynamic linking to other software packages (e.g., Path Builder)  MPI Microsimulator under development –Expand to other thread-ready applications (e.g., Router, PlanPrep)  Software compiled for multiple platforms –Stand-alone single thread – 32 bit and 64 bit (Bin and Bin64) –Stand-alone multi-thread – 32 bit and 64 bin (BinBoost, Bin64Boost) –DLL single thread – 32 bit and 64 bit (BinDLL and Bin64DLL) –DLL multi-thread – 32 bit and 64 bit (BinBoostDLL and Bin64BoostDLL) –MPI multi-thread – 32 bit and 64 bit (BinMPI and Bin64MPI) 1/20/2011 Chicago RTSTEP TRANSIMS Model 20


Download ppt "TRANSIMS Version 5 Software Architecture January 20, 2011 David Roden – AECOM."

Similar presentations


Ads by Google