Making Embedded Systems Design Patterns for Great Software 2.pdf