interface I { enum Res { OK, NOK }; in Res e(); behaviour { enum State { Idle, Error }; State s = State.Idle; [s.Idle] { on e: reply(Res.OK); on optional: s = State.Error; } [s.Error] { on e: reply(Res.NOK); on optional: s = State.Idle; } } } component silentoptional { provides I p; behaviour { on p.e(): reply(I.Res.NOK); } }