// Commentary: // // This model demonstrates the use of the blocking keyword. // // Code: interface ihello { in void hello(); in void cruel(); behavior { on hello: {} on cruel: {} } } interface iworld { in void hello(); out void world(); behavior { bool idle = true; [idle] on hello: idle = false; [!idle] on inevitable: {idle = true; world;} } } component hello_block { provides blocking ihello h; requires iworld w; behavior { on h.hello(): blocking w.hello(); on w.world(): h.reply (); on h.cruel(): {} } }