Real-Time Design Patterns