Slide 6
Slide 6 text
Architecture & Implementation:
Implementation
Fig. 2: Sequence diagram for the simulation engine.
6/11
action
Navigation Agent
Navigation Agent Website Agent
Website Agent Simulation Engine
Simulation Engine
loop
simulation step
loop
simulation step
newNavigationAgents()
loop
(navigation agent)
loop
(navigation agent)
updateState(navAgent, action)
notify(navAgent, action)
alt
alt
exit action
browse action
addToCart action
checkout action
idle action
modifyPage(navAgent, page)
<< create >>
emitAction
showPage(navAgent, page)
showPage(navAgent, cartPage)
showPage(navAgent, homePage)
action
Navigation Agent Website Agent Simulation Engine
loop
simulation step
newNavigationAgents()
loop
(navigation agent)
updateState(navAgent, action)
notify(navAgent, action)
alt
exit action
browse action
addToCart action
checkout action
idle action
modifyPage(navAgent, page)
<< create >>
emitAction
showPage(navAgent, page)
showPage(navAgent, cartPage)
showPage(navAgent, homePage)
Simulation Engine: discrete event
simulation architecture.
• The event list only contains events
scheduled for the next step;
• There are no conditional events;
• All the events happen
instantaneously;
• The events do not depend on other
events, they do not require
synchronization and may be
implemented in a single-threaded
engine.