Rendering issue with two simple composite states

0 votes
asked Feb 24, 2016 in Bug by anonymous

I have two composite states [OffMode, Running] that render ok, when "Running" is defined first, but fail to render when "OffMode" is defined first.

Is there any way to get this to render consistently correctly?

 

Working:

@startuml

[*] --> OffMode
Running : exit / set_new_ramp_start_speed
Running --> OffMode : undertemp, overtemp
state Running {
    state "Normal Mode" as NormalMode
    NormalMode : thermostate_on
    NormalMode : motor_off
    NormalMode --> OffMode : thermostate_off
    NormalMode --> ForcedMode : motor_on

    state "Forced Mode" as ForcedMode
    ForcedMode : exit / repost_state
    ForcedMode : thermostate_on
    ForcedMode : thermostate_off
    ForcedMode --> NormalMode : motor_off

}

OffMode : entry / stop_compressor
OffMode --> ForcedMode : motor_on
OffMode --> NormalMode : thermostate_on
state OffMode {
    state "Cooling Off Mode" as CoolingOffMode
    [*] --> CoolingOffMode
    CoolingOffMode : entry / enable_tick
    CoolingOffMode : thermostate_on, motor_on
    CoolingOffMode --> FullyOff : tick / disable_ticks

    FullyOff : entry / repost_state
    FullyOff : thermostate_off
    FullyOff : motor_off
}

@enduml


Not working:

@startuml

[*] --> OffMode
OffMode : entry / stop_compressor
OffMode --> ForcedMode : motor_on
OffMode --> NormalMode : thermostate_on
state OffMode {
    state "Cooling Off Mode" as CoolingOffMode
    [*] --> CoolingOffMode
    CoolingOffMode : entry / enable_tick
    CoolingOffMode : thermostate_on, motor_on
    CoolingOffMode --> FullyOff : tick / disable_ticks

    FullyOff : entry / repost_state
    FullyOff : thermostate_off
    FullyOff : motor_off
}

Running : exit / set_new_ramp_start_speed
Running --> OffMode : undertemp, overtemp
state Running {
    state "Normal Mode" as NormalMode
    NormalMode : thermostate_on
    NormalMode : motor_off
    NormalMode --> OffMode : thermostate_off
    NormalMode --> ForcedMode : motor_on

    state "Forced Mode" as ForcedMode
    ForcedMode : exit / repost_state
    ForcedMode : thermostate_on
    ForcedMode : thermostate_off
    ForcedMode --> NormalMode : motor_off

}

@enduml

 

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:
To avoid this verification in future, please log in or register.
...