The upcoming generation of socio-technical computing systems, such as intelligent traffic management and networked smart homes, are inherently decentralized systems that have to operate under various uncertainties, e.g., changing user needs, parts that attach and detach at will, and unpredictable availability of resources. From a technical viewpoint these systems should be able to adapt themselves dynamically to changes in a decentralized manner, while assuring service provision. From a methodological viewpoint, engineering these systems requires co-design across the technology stack (from business processes, to architecture and programming, down to hardware) and co-design across disciplines (incl. expertise in technology, sociology, economics, etc.). Providing sustainable solutions in face of uncertainty calls for agility@runtime, where system evolution becomes an interactive runtime process between adaptive computing systems and stakeholders.