Engineering Safe and Secure Cyber-Physical Systems