Computers as Components: Principles of Embedded Computing System Design