How to execute the coffeemaker simulation:

(1) Loading CoffeeMachine.zuml
(2) Make sure,classpath in  Settings/Environment includes
       $inst_path/state2java/lib/state2java.jar
       $inst_path/state2java/lib/statemachine_events.jar
       $inst_path/state2java/lib/unification.jar
(3) Java code generation and compilation of whole model with generating accessor methods enabled.
   (Be aware of right output directory)
(4) Select state diagram "CoffeeMakerFactory"
(5) Select Execution Panel and push run
(6) State2Java code generation and compilation. Make sure, cleaning of output directory is disabled.
(7) Initializing of CoffeeMaker GUI:
      a) click on trigger createCoffeeMaker in simulation diagram CoffeeMakerFactory
      b) click on trigger startCoffeeMaker in simulation diagram CoffeeMakerFactory
    GUI frame should be visible.

CoffeeMachine.zuml:
Model which should be used to demonstrate modifying the model producing a different coffee maker execution behaviour.
Issues to improve:
1. You only can brew coffee if the pot is empty
   -> We want to brew coffee even though the pot is not completely empty.
   ToDo:
   1. Select state diagram  "BrewController".
   2. Add transition from state "warming" to composite state brewing.
   3. Add trigger to new transition with name: "brewButtonPushed"   (case sensitive !)

After this step the following problem occurs:
2. The pot can overflow if we brew coffee more than one time without drinking  the brewed coffee until the pot is empty.
   -> The coffee machine should stop brewing coffee, if the pot is full.
   1. Select state diagram "Pot"
   2. Select self transition triggered with "fill" at state "partiallyFilled".
   3. Add guard to transition with guard expression "level<capacity".
   4. Add transition from state "partiallyFilled" to state "full".
   5. Add trigger to new transition with trigger name "fill".
   6. Add guard to transition with guard expression "level>=capacity".

To execute the changes go to step (4).

CoffeeMachine_enhanced.zuml:
Same model as in Coffeemachine.zuml enhanced with the two proposed improvements.