Real-Time Systems: Design Principles for Distributed Embedded Applications (Real-Time Systems Series)