Transportation Planning Applications Conference 2015
Configurable & Reusable Software for Activity-Based Travel Demand Modeling
Presented by Jessica Guo
Formal Specification Framework and More
Transportation Planning Applications Conference 2015
Objectives
• Why develop ABM software that are
Configurable, Reusable, Maintainable,
Extensible?
• How - Design tactics
Transportation Planning Applications Conference 2015
One Size Does Not Fit All
• Agency resources and constraints• System requirements (hardware, OS, software)
• Budget
• Data format
• Policy environment• Model sensitivity
• Model scope & complexity
Vary by Agency
Change over Time
Transportation Planning Applications Conference 2015
CT-RAMPFamily Characteristics Example
Lightweightindividual daily activity pattern, tour generation with stops, tour and trip level choices
Oregon statewide model
Classiccoordinated daily activity patterns, joint travel, tour generation with subsequent stop frequency
ARC, MTC-TM1
Advancedmultiple resolutions for space and networks (MAZs, TAZs, TAPs)
SANDAG, MTC-TM2
Next-Gentour formulation models, high temporal resolution, escorting, space-time constraints
MAG, Ohio3C
DTA-Integrated
schedule adjustment, vehicle trajectory mining, revised feedback and iteration procedures
CMAP
Transportation Planning Applications Conference 2015
Reusable Software - How?
Code Scavenging
Function Reuse
Component Reuse
System ReuseFrequency
Complexity
Transportation Planning Applications Conference 2015
“Software Must be
Designed for Reuse”
Tracz, W. (1990), Where does reuse start? Software Engineering Notes 15(2), 42-26
Transportation Planning Applications Conference 2015
Example
Model Update
Software Update
Transportation Planning Applications Conference 2015
AO Model
Design Tactic #1
Standardized Interface
AV Model
CDAP Model
Tour-Level
Models
Trip-Level
Models
Simulation Engine
Transportation Planning Applications Conference 2015
Design Tactic #2
Separation of Concerns
AV Model
CDAP Model
Tour-Level
Models
Trip-Level
Models
AO Model
Simulation Engine
Data Access, Utility Calculation, Choice Probability Calculation, Random Number Draw, …
Design Tactic #3
Layered ArchitectureF
ron
t-E
nd
Use
r In
terf
ace
Vis
ualiz
atio
n T
ool
Rep
ortin
g To
olC
onfig
urat
ion
Co
nsol
e
Develo
pm
ent U
tilities
Logging/T
racing
Tool
Sim
. Monitorin
g C
onsole
Integration Layer
Customization Layer
Configuration Layer
Core Layer
Data Access Layer
External Applications
Transportation Planning Applications Conference 2015
Model Kthru12Tour_ModeChoice Alt
No Description Filter Beta-Alt1DRIVEALONEFREE
44 SOV Free unavailable for auto 0 @numAutos==0 -999.000045 SOV Free unavailable for age < 16 @age<16 -999.000046 SOV Free In-vehicle time 1.000048 SOV Free parking cost (@freeParking==2) 1.0000
Transportation Planning Applications Conference 2015
Model Kthru12Tour_ModeChoice Alt
No Description Filter Beta-Alt1DRIVEALONEFREE
44 SOV Free unavailable for auto 0 Household.NumAutos==0 -999.000045 SOV Free unavailable for age < 16 Person.Age<16 -999.000046 SOV Free In-vehicle time 1.000048 SOV Free parking cost ZONE[ID==Tour.DestZone].FreeParking==2 1.0000
Design Tactic #4
Utility Expression Language
• Object Reference
• Field access
• Unary operations: EXP(), LN()
• Binary operations: +, &, |
• Ternary operations: ?:, IF(a,b,c)
• Filter: Tours using a AV
• Aggregation: MAX(), COUNT()
Household.HasAvPerson.HasAvAcccessVehicle.IsAutonomous
Design Tactic #5
Meta Modeling Language
Household.HasAvPerson.HasAvAcccessVehicle.IsAutonomous
• Construct/alter choice set
dynamically
• Define logic for transient variables
• Specify meta-utilities
• Specify econometric structure
• Configure model application flow
Transportation Planning Applications Conference 2015
Domain Specific Expression and Modeling Language
Utility Expression Language +
Meta Modeling Language
• Enhance system transparency
• Standardize interface
• Raise level of abstraction
• Promote greater reuse of software artifacts
Transportation Planning Applications Conference 2015
Contact
Jessica Guo, PhD, CAP
Supervising Planner
Systems Analysis Group
Parsons Brinckerhoff
Portland, OR
503-478-2342
www.pbworld.com
Configurable & Reusable Software
for Activity-Based Travel Demand
Modeling