Grocery Checkout Simulation System (CSS). Aisle Width. 9 . Aisle n. 2 . 1 . 0 . Sales Register. Grocery Store Simulation. Aisle 2. Aisle 1. Starting Point. Aisle Delta. Exit. Shopper & Cart. Bagger & Shopper Exit. Cart Pool. Checkout Queue. Bagging Bin. Conveyor. bagger.
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
9:When the payment transaction has been completed and all bagshave been loaded in thecart, the shopper leavesthe store with the baggedgroceries.
6: The shopper pays for the groceriesand is given a sales receipt.
2: Shopper places plasticdivider on conveyor afterlast grocery item.
5: When all items have been processed by the clerk, the shopperis presented with the total amountof the purchase.
1: Shopper unloads groceryitems, if there is room on conveyor.
3: Conveyor has a fixedcapacity in numbers of items and transports themat a constant rate to theclerk’s station.
7: When the cart has been unloaded, the shopper gives the cart to the bagger to be filled with bags of groceries.
4:Clerk removes grocery itemsfrom conveyor and enterstheir identity and price intothe sales system. Some itemsare identified and priced bybar codes. Other items mustby manually identified and weighed.
8:The bagger loads grocerybags with items that havebeen priced by the clerk.Bags are held in the bin until the cart becomes available from the shopper.
N = Conveyor capacity in Slots.
(1) A slot is the space that can be occupied by a single item.
(2) The shopper always deposits the next item at slot 1, when it is empty.(3) The clerk always removes an item from slot N, when it is full.
(4) If slot N is empty and at least one other slot is filled, the conveyor rotates one slot to the right. The amount of time necessary for the conveyor to rotate one slot position is a model parameter and is specified as a multiple of the simulation time granule.
StopState Transition Models
DepositItem => Conveyor
ReceiveCart => Bagger
AcceptCash => Clerk
AcceptCredit => Clerk
ItemAccepted <= Conveyor
CartAccepted <= Bagger
AcceptTotal <= Clerk
AcceptChange <= Clerk
AcceptReceipt <= Clerk
AcceptCart <= Bagger
 More items in Cart
 Wallet >= Sales Total
 Grocery item received
 Cash Received > Sales Total
RequestItem => Conveyor
LastItemInBin => Bagger
CartRelease => Bagger
AcceptTotal => Shopper
AcceptChange => Shopper
AcceptReceipt => Shopper
ReceiveItem <= Conveyor
AcceptCash <= Shopper
AcceptCredit <= Shopper
 More items in Bin
 No Items, but More Bags
Last Itemwith Cart
CheckBin => Bagger
AcceptCart => Shopper
CheckBin <= Bagger
LastItemInBin <= Clerk
ReleaseCart <= Clerk
[~2] / AcceptCart
The fidelity and realism of the models defining these agents shall be determined by the granularity of simulation time, the set of events that characterize their interaction, and by input parameters that control the response of each agent engaged in given interaction event. (See later modeling requirements.) The interaction events modeled shall be sufficient to realistically support the interaction scenarios and activities (1 – 9) described on the slide entitled: “Checkout Station Model.”
NOTE: if cash is insufficient to pay for groceries, and the pay by cash option is exercised, then pay by credit must override the payment option.
NOTE: assume that pay by-credit always succeeds when used – insufficient funds will not be modeled for credit payment.
NOTE: Parameter #6 applies when shopper and bagger interact to exchange cart possession.
NOTE: assume all other delays are zero (0). For example, parameters #1 and #2 include time to drop item in bagging bin.
There are two kinds of items: bar-coded and weighed. All grocery items have a name that uniquely distinguishes them from other items. The price of weighed items is computed from the weight of the item in pounds and the price per pound given in cents.
Assumptions and Constraints
This class represents the Simulated World. It implements the CSS simulation interfaceand contains methods for creating and initializing the CSS object and running it. It alsocontains methods for post simulation review and analysis.
This layer of the design contains all and only the classes that define the behavior of active agents in thesimulated world. In the CSS, this layer contains classes for the Shopper, the Clerk, the Conveyor, and theBagger. All agent classes must communicate by sending messages to one another, that is, by creating andposting an Event that defines the future time at which the interaction event will occur, the identity of therecipient agent, and a Message object that identifies the specific event and provides the necessary data to service the event. Each of these classes must be derived subclasses of Agent.
This layer contains all the passive classes of the simulated world. Active agents may direct calls on passive objects. Passive objects make direct calls to each other, if necessary. Passive objects may be passed from one active agent to another as part of a Message.
This layer contains all the derived subclasses of Message. These classes are used to pass data for servicinginteraction events between active agents. Only recipient agent classes know the content or use instancesof these classes. Methods of a recipient agent designed to service interaction events for that agent willoptionally take parameters which are instances of one of these classes.
Recvr: AgentSimulation Dynamics
If there are Events thathave not been processed,Run() gets the next event from the EventMgr anddispatches it to the Recipient agent.
Dispatch( Recvr, getMsg(E) )
Repeat until thereare no more Eventsto dispatch. This ends the simulation Run().
The Recipient agentcomputes Messagesto other agents forfuture interactionEvents – these areposted to the EventMgr
*Post( Event )