The Art of Designing Embedded Systems