interface ihello { in void hello(); in void cruel(); behaviour { on hello: {} on cruel: {} } } interface iworld { out void world(); behaviour { on inevitable: world; } } component hello_block { provides ihello h; requires iworld w; behaviour { bool blocked=false; [!blocked] { on h.hello(): blocking blocked=true; on w.world(): {} } [blocked] { on w.world(): {h.reply (); blocked=false;} on h.hello (): {} } on h.cruel(): {} } }