interface ihello { in void hello(); out void world(); behaviour { on hello: {} on optional: world; } } component hello_optional { provides ihello h; requires ihello w; behaviour { on h.hello(): w.hello(); on w.world(): h.world(); } }