Abstract-Cyber-PhysicalSystems (CPS) integrate embedded computers that control physical processes. Application domains for CPS may be found in intelligent buildings, healthcare, transportation and factory automation, among many others. Typically, they are based on low profile computing elements, such as sensors and actuators that must communicate to carry out complex tasks. They must address certain issues such as managing available resources and service redundancy, as well as solving heterogeneity. In particular, managing communication issues can be relatively complex. In this scenario, middleware technologies can help developers in the design of state-of-the-art CPS. This work describes the design principles of CPS that require cooperation. More specifically, it presents a generic family of logical information exchange and cooperation topologies capable of adapting dynamically to changes in the environment. These topologies may be implemented on top of several middleware specifications as a means for managing distributed resources and service redundancy of CPS at run-time.