  Cyber-Physical Systems (CPS) revolutionize various application domains with
integration and interoperability of networking, computing systems, and
mechanical devices. Due to its scale and variety, CPS faces a number of
challenges and opens up a few research questions in terms of management,
fault-tolerance, and scalability. We propose a software-defined approach
inspired by Software-Defined Networking (SDN), to address the challenges for a
wider CPS adoption. We thus design a middleware architecture for the correct
and resilient operation of CPS, to manage and coordinate the interacting
devices centrally in the cyberspace whilst not sacrificing the functionality
and performance benefits inherent to a distributed execution.
