In the context of the modular and incremental development of complex systems, viewed as interconnections of interacting components, new dimensions and new problems arise in the calculation of programs from specifications. A particularly important aspect for extending existing methods to address composite systems is the ability, given programs that realise component specifications, to synthesise the interconnections between them in such a way that the system specification is realised. Taking our cue from earlier work on General Systems Theory (Goguen, 1973) and more recent work on parallel program design (Fiadeiro and Maibaum, 1996), we discuss, characterise and provide solutions for the synthesis of interconnections using a categorical framework in which components are modelled as objects (either specifications or programs) and morphisms are used to express interconnections between components. Keywords Synthesis, interconnection, incremental development, complex systems.