This project seeks to develop a systemic approach to facilitate the efficient co-design of both the control (physical) and computer (cyber) sides of a cyber-physical system (CPS). Designing a CPS requires substantial inter-disciplinary activity. System design complexity is compounded by this multi-domain nature, precluding model and algorithm development within a single framework. Controlled-plant dynamics are the domain of control theory. The state of the controlled plant and of the operating environment are monitored by means of sensors exploiting properties in the domain of physics. The plant is controlled by a preset control policy and human operator commands. Formulating the control inputs to the actuators depends on control algorithms realized using finite-precision computers. Error-free operation of these components is not guaranteed. For example, sensors can drift; algorithms that use sensor data may have numerical instabilities for certain subsets of their input space. The control computers are susceptible to both permanent and transient failures. Despite failures, the controlled plant must not be allowed to enter a dangerous operating condition. To render the problem of design and validation of complex CPSs manageable, we are constructing abstractions to be effective and efficient interfaces between engineering disciplines. For example, the dynamics of the controlled plant can be abstracted in terms of the impact that feedback delay and control noise can have on its performance. This impact, expressed in terms of cost functions and hard deadlines, can be used in scheduling and chosen precision levels of the computational tasks. The latter is especially important when iterative algorithms are involved, which allows output accuracy to be adapted depending on the allotted execution time. Energy constraints are an important consideration that also affect the rate at which computations can and should be carried out. We consider the management of energy resources, including the scheduling of power draws from batteries for both physical actuation and computational tasks. We tackle online reconfiguration of processor architectures in response to the specific needs of individual computational tasks, addressing the integrative problem of co-optimizing physical actuation and computation in discrete and continuous representation frameworks. We are developing techniques to carry out backup task scheduling in multicore processors to allow rapid task assignment in the event of core failure. We have two reference applications: automobile control and flight management for unmanned aerial vehicles (UAVs). While the methodology and algorithms we are developing are applicable to CPSes in general, we use these two applications to provide the context within which to test and evaluate many of our approaches. In the context of the UAV application, we are integrating realistic algorithms for vehicle guidance, navigation, and control with models of energy use for both physical actuation plus computation and communication. The result will be a system-level UAV mission simulator that can be used for optimizing and testing cyber and physical control parameters.