interface I { in void e(); behaviour { on e: {} } } interface II { in void e(); out void add(); behaviour { on e: {} } } component range_expression { provides I p; requires II r; behaviour { subint Sub {0..4}; Sub n = 3; on p.e(): { n = n+1; r.e(); } on r.add(): {} } }