I am trying to model a transportation system which has multiple pickup locations. I would like to count the number of customers in the queues at different locations. If there are more than 1 customer waiting in any of the queue, then the gate will allow the transporter entity (which is waiting idle in their own queue) to pass through and go to pick up the waiting customer.
How should I model this event triggering such that the transporter must wait idle in his queue until there are more than 1 waiting customer in the system (do I need to use a combination of stateflow and gate)? How do I keep track of the total number of customers waiting in every queue?
Check out the Resource Allocation demo in SimEvents. The Entity Combiner block can be used for such synchronization between a transporter entity and the waiting customer. The result is that a transporter entity can be combined with a customer entity when both are available, to create a composite (transporter+customer) entity. The Entity Splitter block can be used to split this into the component transporter and customer entities. After splitting the transporter can go back to the waiting queue to wait for the next customer's availability.