Supporting Heterogeneity in Cyber-Physical Systems Architectures | Synapse