10. Designing Real-time Systems: Challenges and Solutions — Programming Keynou