Customers prepay the operator for gas at a specific pump.
The operator only keeps track of the number of customers waiting at each pump and activates a pump if there are customers remaining to be served. Once the pump is activated, a customer uses it to pump gas. When the customer finishes, the pump reports the amount of gas actually pumped to the operator who then gives the customer change. This problem can be viewed using the client-server model. The server includes the operator and pumps which are a scalable collection of co-operating tasks.