I created a working vending machine model for my university's "Introduction to Software Engineering" module.
The vending machine works in real-time, as users buy from the machine the computer will know how many are left inside. Furthermore, users are able to contact an assistant to refill the machine or other needs. Lastly, as required by the module's project, the machine will stop dispensing if a user abuses the device. It can only be undone by the assistant.