An increasing number of different kinds of resources, including everyday objects, are interconnected to each other. Some analysts estimate that around 50 billions of devices should be interconnected at the horizon of 2020. This paves the way for new large-scale systems, and requires the need for novel architectures and design principles to support such a scale. Further, these resources may be very different at both the hardware and software layer, in terms of both functional and non-functional properties. This will lead to system of systems that federate highly heterogeneous distributed systems as already illustrated, for instance, by environmental and earth observation systems. Designing such large, interconnected and heterogeneous systems is a daunting task. A possible way to overcome the complexity of contemporary distributed systems is to leverage overlay networks and their higher level of abstraction. The virtualization of the underlying network resources allows providing a range of reusable network services. Many types of overlay networks have been proposed and developed in the previous years for a variety of networked systems, applications and services. However, the design and development of overlays remains a complex task, especially when dynamic adaptation, large-scale interoperability and composition are required. Adding interoperability, adaptation and composition capabilities often require huge and complex re-engineering of existing overlay implementations. In the context of overlay networks, it also requires appropriate abstractions and runtime support for allowing different type of overlays and structures to be linked, cooperate and provide adaptive interoperable end-to-end services in a dynamic fashion. In this project, we propose to raise the level of abstraction provided to designers of overlays and systems-of-systems. To this end, we are using a generative language approach to overlay design and composition. We will provide the corresponding new programming models, abstractions and tools. Our aim will be reached via the use of a high-level domain-specific language, declaring what should be achieved for the structure and functions of overlays, rather than by defining low-level nodes interactions. The proposed approach will be supported by a dedicated runtime implemented in a distributed systems development and deployment framework. The project follows a prototype-driven approach. It will feature a large-scale demonstrator linking heterogeneous overlays —networked systems and sensor networks—in an integrated manner, with support for adaptive and malleable end-to-end services and functionalities.