130 likes | 281 Views
Transportation simulator. CIM project meeting. CIM Project meeting. Jonne Zutt. Contents. Transport Planning TP Simulator Pamela TP Simulator. Infrastructure. Agents. Orders. Incidents. Transport Planning - overview. TP Simulator. (Re)Planning. Execution & monitoring.
E N D
Transportation simulator CIM project meeting CIM Project meeting Jonne Zutt
Contents • Transport Planning • TP Simulator • Pamela • TP Simulator
Infrastructure Agents Orders Incidents Transport Planning - overview TP Simulator (Re)Planning Execution & monitoring Agent history Statistics Order state
Incident management • Any event from outside the planning system that cannot be anticipated with certainty. • new orders, changes in orders • road blocks, traffic jams • malfunctional vehicles • What is incident management? • Ensuring the correct operation of a system under the events of incidents • Detection, repair and notification of problems
Agent plan • Route Rt =n, • Schedule Sd = n, where i is claimed at time i, • (Un)loading U, L = (O)n. Performance measures • Infrastructure resource utilization, transportation resource utilization, • Sum of pick-up / delivery penalties, • Scalability: cpu load and communication.
Transport Planning • Testing performance and robustness of routing/scheduling algorithms in normal conditions varying order densities / agents / infrastructure properties. • Testing performance and robustness with different incident rates.
TP Simulator for CIM • Similarities: • Communicating agents with different capabilities • Resource based planning • Blackboard, negotiation, auction, contracting • Differences: • Claiming multiple resources simultaneously • Tasks with precedence relations [Jeroen]
Pamela • A.J.C. van Gemund • General-purpose performance simulation interface, • Concurrency is obtained by using light-weight threads, • Based on procedure-oriented (P/V-style) paradigm, • Fast discrete event simulator.
Pamela run-time library [tr-1994-03] • Process pam_proc: • Light-weight thread • Local timestamp • Semaphore pam_sema: • Credit • Queue of blocked processes • At each time, only one process is running (preemptive vs. non-preemptive) • pam_time( ), pam_delay(delay) • pam_P(sema), pam_V(sema), pam_T(sema)
Send(msg) pam_P(room) push(msg) pam_V(data) Receive( ) pam_P(data) pop(msg) pam_V(room) returnmsg Pamela – communication data.credit = 2 room.credit = 4 Msg 1 Msg 2 Non-blocking-receive( ) if pam_T(data) > 0 return Receive( ) else return NoMessageAvailable
Drive(A, B) pam_P(cap_B) arbitrated_pam_V(cap_A) pam_delay(…) Arbitrated_pam_V(sema) pam_V(sema) Reschedule processes that are blocked for sema Pamela – capacity constraints • Each infrastructure resource has acapacity semaphore cap_, with its creditinitialized to the capacity of the resource.