  Self-organization offers a promising approach for designing adaptive systems.
Given the inherent complexity of most cyber-physical systems, adaptivity is
desired, as predictability is limited. Here I summarize different concepts and
approaches that can facilitate self-organization in cyber-physical systems, and
thus be exploited for design. Then I mention real-world examples of systems
where self-organization has managed to provide solutions that outperform
classical approaches, in particular related to urban mobility. Finally, I
identify when a centralized, distributed, or self-organizing control is more
appropriate.
