polaris model. polaris planning and operations language for activity-based regional integrated...
TRANSCRIPT
POLARIS Model
POLARIS
• Planning and Operations Language for Activity-based Regional Integrated Simulations
• Represents a “Transportation Language” for developing transportation simulation models
• Provided at high/low levels of abstraction, i.e. high-level transportation object model, operationalized by low-level programming and optimization concepts
Transportation Object Model
(TOM)
Transportation Simulation
Framework (TSF)
POLARIS Simulation Core Architecture(CORELIB)
IPC
Mod
ule
Specific Model Implementation
External Processes
Execution Module
Transportation Object Model
(TOM)
TSFGetLandUse()GetActivityPattern()SimulateTrip()
POLARIS Simulation Core Architecture(CORELIB)
IPC
Mod
ule
Read
Urb
anSi
m()
Read
/Run
Amos
()Re
ad/R
unM
alta
()
SIMTRAVEL-P
MALTA
Execution Module{ GetLandUse() While(World.IncrementTime() { GetActivityPattern() SimulateTrip() }
UrbanSim
AMOS
TRANSPORTATION OBJECT MODEL (TOM)
Transportation Object Model• All objects in simulation are expressed as elements• Elements have child elements, attributes and actions• Events operate on attributes, child elements or parent element• TOM abstracted from implementation level details
• World – Root Element– Child Elements:
• Spatial Elements• Population Elements• …
– Attributes• Time
– Actions• Access Element• Increment Time• …
Every “Thing" in a Transportation System
Elements Actions
Agents Proto-Agents
Environment
Parts of Elements
Types of Elements
Attributes
Child Elements
Required Optional Tentative
Legend
• Travelers• Signal• Roadway
Element
Parts of Elements Actions
AssociativePlanning
Types of Actions
Processing Body
Parts of Actions
InformationalPerforming
Pre- & Post- Conditions
Required Optional Tentative
Legend
• Take a Step Forward• Choose a Route• Talk to Someone
Actions
Linked Actions
More To Be Determined
Membership Possession
Types of Associative Actions
Parts of Associative Actions
Targeted Group
Required Optional Tentative
Legend
• Change Households• Take Possession of a Car• Join a Social Network
Associative Actions
More To Be Determined
Types of Actions
Associative
External Performance
Internal Performance
Types of Planning Actions
Parts of Planning Actions
Sequence of Actions
Required Optional Tentative
Legend
• Build a Signal Phase Sequence• Choose a Destination• Conceive a Road Closure
Planning Actions
More To Be Determined
Types of Actions
Planning
Agents
Cognitive Reactive Environmental
Types of Agents
Attributes
Parts of Agents
Controlling
Child Elements
Required Optional Tentative
Legend
• Travelers• Intelligent Signal Systems• Planning Groups
Agents
Types of Elements
Actions- Planning
- Information
Plan
Transportation Object Model - Element Example
• Person <Agent>– Child Elements:
• Money, Vehicle, Housing unit, etc.• Anything else which can take action, have sub-elements, etc.
– Attributes• Age, Sex, Race, other person characteristics• STANDARD ATTRIBUTES:
– Current location, ID, Plan, etc.
– Events (or Actions)• Work, Sleep, etc.• STANDARD EVENTS:
– Move, Plan, Schedule, Take Inventory, Research, Observe, etc.
TRANSPORTATION SIMULATION FRAMEWORK (TSF)
Transportation Simulation Framework (TSF)
• Implement Standard / Element Specific Events or Actions• When Element Calls Plan, TSF determines what this means and
how to accomplish• Defines the underlying Activity-Based Model, Route Selection
and Microsimulation Architecture• High level of abstraction from implementation details, for use by
modelers.• Implementation details found in POLARIS Architecture - CORELIB
Transportation Simulation Framework Example
• Examples:– Environment.Initialize– Environment.Locations.Add(1,1000)– Environment.Agents.Add(Person1)– Enviornment.Agents(P1).Move– Enviornment.Agents(P1).Plan(Act1)
• Framework defines model setup
• TSF has complete access to current agent and environment data – through CORELIB
• Must implement common ABM/Routing components:– Schedule, Plan, Route, in terms of Element.Actions
• CORELIB – defines all agent actions/interaction/calls to attributes, etc.
POLARIS Implementation
• Set up objects in TOM and simulation Framework in TSF
• For TIMESTEP t=0 to END– For Environment.Agent(0) to Environment.Agent.Size
• If (Agent.DoSomething) Then Agent.Action….• If (CallExternal) IPC.RunExternalProcess….• …
POLARIS-ADAPTS Example
• Required Events:– Planning Order Model, Conflict Resolution Model and,– Standard Events: Choose Destination, Choose Start Time, etc.
• New Plan order model requires modification to:– Standard event GenerateActivity– Standard element Activity
• GenerateActivity()
AMOS vs. ADAPTS exampleGenerateActivity() [in AMOS @ t]{
Activity AA.setPlanTimeStart(t+0)A.setPlanTimeStart(t+1/t)A.setPlanTimeMode(t+1/t)A.SetPlanTimeWhoWith(t+2/t)
}
• AMOS setup can use default generation of activities
• Uses small offset from current timestep to set processing order
• Activities planned as they are generated
GenerateActivity() [in ADAPTS @ t]{
Activity AA.setPlanTimeLocation(TSF.GetPlanTime(A,Loc))A.setPlanTimeStart(TSF.GetPlanTime(A,Start))A.setPlanTimeMode(TSF.GetPlanTime(A,Mode))A.setPlanTimeWhoWith (TSF.GetPlanTime(A,Who))
}
• ADAPTS overrides default activity generator
• Set planning times in simulation future• Using new GetPlanTime function written
in TSF
ADAPTS Planner/Scheduler• Handles at each
timestep:– Generation– Planning– Scheduling
• Each step can occur at different times for same activity
• Core of the framework is the Attribute Plan Order Model
At timestep t
Generate new activity
Update existing activity(s)
Execute activity
Attribute Planning Order model
Planned Activity Schedule
Time-of-Day
t = Ttime
Party
t = Twith
Mode Choice
t = Tmod
Destination choice
t = Tloc
Executed Schedule
Resolve Conflicts Conflict Resolution Model
Set Plan Flags:(Ttime,Tloc, etc.)
Yes
DecisionLogical testModelSimulated events
Yes
No
Yes
No
No
Activity G
enerationActivity Planning
Activity Scheduling
How TSF uses TOM / CORELIB
• New function SetPlanTimes, example implementation in TSF
TSF::SetPlanTimes(Activity A, type){
Agent P = Environment.Agents.CurrentAgent()If (P.IsEmployed && type=MODE) return Environment.TimeElse return Environment.Time+2;
}
• Interaction with Corelib– Return current agent– Evaluate Agent employment status– Evaluate environment time– Handles all memory access, translation of TOM, etc.
Interprocess Communicatons (IPC) Module
• Connect existing softaware to POLARIS framework• Convert external software outputs into TOM elements/actions• Called using external communication protocols in CoreLib• Modeler must write conversion scripts to define the software
input/output objects in TOM
TOM Elements
IPC Module(I/O Scripts)
External Objects
External Process POLARIS Model
Communication ProtocolFiles
Memory