machine light_bulb
[
states [ light_on , light_off ];
events [ turn_on , turn_off , switch ];
starting on light_off;
transitions
[
from light_on to light_off on event turn_off execute kek2 | kek;
from light_on to light_off on event switch;
from light_off to light_on on event turn_on;
from light_off to light_on on event switch execute kek;
];
];
machine temp_switch
[
states [A,B];
events [A];
starting on A;
transitions
[
from A to B on event A granted !light_bulb.light_on || temp_switch2.A
if !light_bulb.light_on
execute kek;
else
execute zeh | kek;
];
];
machine temp_switch2
[
states [A,B];
events [A];
starting on A;
transitions
[
from A to A on event A;
];
];