stateDiagram-v2
  state "Class Microwave" as Class_Microwave {
    state "Idle" as Microwave_mode_Idle
    state "Cooking" as Microwave_mode_Cooking {
      state "power" as Microwave_modeCooking_Cooking_power {
        state "High" as Microwave_modeCookingPower_Cooking_power_High
        state "Low" as Microwave_modeCookingPower_Cooking_power_Low
        [*] --> Microwave_modeCookingPower_Cooking_power_High
        Microwave_modeCookingPower_Cooking_power_High --> Microwave_modeCookingPower_Cooking_power_Low : toLow
        Microwave_modeCookingPower_Cooking_power_Low --> Microwave_modeCookingPower_Cooking_power_High : toHigh
      }
      [*] --> Microwave_modeCooking_Cooking_power
    }
    [*] --> Microwave_mode_Idle
    Microwave_mode_Idle --> Microwave_mode_Cooking : turnOn
    Microwave_mode_Cooking --> Microwave_mode_Idle : turnOff
  }

stateDiagram-v2
  state "Class Door" as Class_Door {
    state "Closed" as Door_status_Closed
    state "Open" as Door_status_Open
    [*] --> Door_status_Closed
    Door_status_Closed --> Door_status_Open
    Door_status_Open --> Door_status_Closed : close
  }

stateDiagram-v2
  state "Class Device" as Class_Device {
    state "Idle" as Device_power_Idle
    state "On" as Device_power_On
    [*] --> Device_power_Idle
    Device_power_Idle --> Device_power_On : turnOn
    Device_power_On --> Device_power_Idle : turnOff
    state "Idle" as Device_connectivity_Idle
    state "Online" as Device_connectivity_Online
    [*] --> Device_connectivity_Idle
    Device_connectivity_Idle --> Device_connectivity_Online : connect
    Device_connectivity_Online --> Device_connectivity_Idle : disconnect
  }

stateDiagram-v2
  state "Class Light" as Class_Light {
    state "On" as Light_status_On
    state "Off" as Light_status_Off
    [*] --> Light_status_On
    Light_status_On --> Light_status_Off : turnOff
    Light_status_Off --> Light_status_On : turnOn
  }

stateDiagram-v2
  state "Class Door" as Class_Door {
    state "Closed" as Door_status_Closed
    state "Open" as Door_status_Open
    [*] --> Door_status_Closed
    Door_status_Closed --> Door_status_Open : __autotransition1__
    Door_status_Open --> Door_status_Closed : close
  }