interface I { in void e(); behaviour { [true] { on e: {} } } } interface II { in void a(); out void e(); behaviour { enum States {S0, S1}; States s = States.S0; [s.S0] { on a: s = States.S1; } [s.S1] { on a: {} on inevitable: e; } } } // This component has an livelock problem after one step component component_livelock_fail1 { provides I i; requires II ii; behaviour { [true] { on i.e(): ii.a(); on ii.e(): {} } } }