Computers as components, 3rd edition: principles of embedded computing system design by Marilyn Wolf