Engineering Software for Life in Cyber-Physical-Social Spaces