In this talk we will focus our attention to embedded control systems as one possible incarnation of cyber-physical systems. Their design starts with high-level control algorithm design and ends with a concrete hardware/software implementation, involving independent design teams who work at different levels of abstraction – control theorists, compiler designers, programmers, embedded systems designers, computer architects, and semiconductor experts. As a result, design assumptions made at one layer often do not hold at other layers, thereby requiring costly, often ad hoc, ex post facto integration, testing and debugging. While this is a well-recognized problem, till date there is no satisfactory solution that integrates all the abstraction layers. We will outline the challenges involved here and discuss potential solutions.