interface i { out void cb(); behaviour { on optional: cb; } } interface ilivelock { out void cb(); behaviour { on inevitable: cb; } } component QueueFullExternal { provides i p; requires external ilivelock r; behaviour { on r.cb(): {} } }