interface ihello { in void hello(); out void world(); behaviour { bool idle = true; [idle] on hello: idle = !idle; [!idle] on hello: illegal; [!idle] on inevitable: { [true]{idle = !idle; world;} [true]{idle = !idle; world;} } } } component hello_inevitable_illegal { provides ihello p; requires ihello r; behaviour { bool idle = true; [idle] on p.hello(): {idle = !idle; r.hello();} on r.world(): {idle = !idle; p.world();} } }