The goal of the project is to design two Vending Machine components using the Model-Driven Architecture (MDA) and then implement these Vending Machine components based on this design using the OO programming language. This OO-oriented design should be based on the MDA-EFSM for both Vending Machine components of the project.
Design uses the following OO design patterns: state pattern strategy pattern abstract factory pattern