Computers as Components Principles of Embedded Computing System Design