For practicing programmers, thoroughly details the principles and practical aspects of designing, solving problems, and planning the ubiquitous embedded systems nestled in larger software systems, from small subroutines to huge multi-million-line tracking systems. Focuses on the context of industrial production, and considers economic factors as germane to the design process