Embedded Systems design becomes more complex as increasingly sophisticated functionality is added to designs. This book introduces a rigorous design methodology to address the various challenges posed by complex, heterogeneous, embedded systems.