interface I { enum Status { Yes, No }; in Status done(); behaviour { bool dummy = false; on done: { [true] { reply(Status.Yes); } // [true] // { // reply(Status.No); // } } } } interface U { enum Status { Ok, Nok }; in Status what(); behaviour { bool dummy = false; on what: { [true] { reply(Status.Ok); } // [true] // { // reply(Status.Nok); // } } } } component R { provides I i; requires U u; behaviour { bool dummy = false; [true] { on i.done(): { U.Status s = u.what(); if(s == U.Status.Ok) { reply(I.Status.Yes); } else { reply(I.Status.No); } } } } }