We propose a component-based semantic model for Cyber-Physical Systems (CPSs) wherein the notion of a component abstracts the internal details of both cyber and physical processes. Our semantic model uniformly exposes externally observable behaviors of components expressed as sets of sequences of observations. We introduce algebraic operations on such sequences to model different kinds of component interaction. As a result, these composition operators yield the externally observable behavior of their resulting composite components. We provide a co-inductive framework to construct such algebraic operations that compose components to, e.g., synchronize with or mutually exclude each other's alternative behaviors. Our framework is expressive enough to allow articulation of properties that coordinate desired interactions among composed components within the framework, also as component behavior. We demonstrate the usefulness of our formalism through examples of coordination properties in a CPS consisting of two robots interacting through shared physical resources.