interface I { in bool e(); behaviour { bool b = false; on e: { [true] reply(false); [true] reply(true); [true] reply(b); } } } component boolnot { provides I p; requires I r; behaviour { bool m = false; [m] on p.e(): { m = !m; bool b = r.e(); reply(!b); } [!m] on p.e(): { m = !m; bool b = false; b = r.e(); reply(!b); } } }