In cyber-physical systems it is essential not to regard the computer as just a black box that executes programs by magic. The underlying hardware and software infrastructure upon which applications are constructed is collectively described by the term "cyber systems." Cyber systems broadly span the sub-disciplines of sensors, actuators, human-system interfaces, operating systems, parallel and distributed systems, communications networks, and computer architecture. These sub-disciplines share important common fundamental concepts including computational paradigms, parallelism, cross-layer communications, state and state transition, resource allocation and scheduling, and so on.
This module gives broad coverage to cyber-physical systems and develops a deeper understanding of the hardware environment upon which all digital processing is based, and the interface it provides to application layers. Students learn of a cyber--physical system’s functional components, their characteristics, performance, and interactions, and, in particular, the challenge of harnessing parallelism and distributed processing to sustain performance improvements now and into the future. Students need to understand architecture to develop programs that can achieve high performance through a programmer’s awareness of parallelism and latency. In selecting a system to use, students should be able to understand the trade-off among various components, such as processor performance and power limitations and how these influences cyber security.