extern integer $int$; interface ishadow { in void e(integer g, integer p); in void f(out integer p); in void b(out integer x); behaviour { on e: {} on f: {} on b: {} } } component data_shadow_port { provides ishadow p; behaviour { bool x = false; integer g = $-1$; on p.e(a, p): g = a; on p.f(q): q = g; on p.b(x <- g): blocking p.reply(); } }