interface ihello { in void hello(); behaviour { on hello: {} } } component foreign { provides iworld w; // behaviour {} } component hello { provides ihello h; requires iworld w; behaviour { on h.hello(): w.world(); } } interface iworld { in void world(); behaviour { on world: {} } } component hello_foreign { provides ihello h; system { hello c; foreign f; h <=> c.h; c.w <=> f.w; } }