Pouya Neshagar
(Book Review) "The Engineering of Reliable Embedded Systems 2nd Edition". By: Michael J.Pont
Updated: Apr 11, 2020
If you would like to have a reliable and great embedded software design, then for sure you find this book as of interest. In this review we take a close look at "ERES2" by Michael J.pont.

The “Engineering of Reliable Embedded Systems (2nd edition)”, truly stands for its title. Even though, software reliability is a main topic, the engineering feature was the part that stand out the most for me.
This book is bringing the engineering aspect of the Embedded Software design to the surface by teaching methods that are precise, well thought and calculated, the way that Embedded Software Designed actually should be.
The book, of course, focuses on “Reliability” and how to design a highly reliable system. Michael J.Pont ( the author of the book) has 20 years of academic experience in the subject and has worked with many companies to design such systems. So, the book is backed with advances of academic researches and practicality of the real world and industry. As a result, you are reading and learning top notch practices.
Don’t think that the book is complicated and boring at all. In fact, the opposite is true. The book is easy and engaging to read. You dive to the coding and fun part, right from the beginning, and important theoretical informations are artfully blended to the materials in each chapter.
One details that fascinates me about the book, is the fact that you get to know the specific software safety standard and how to design a software that comply with them. Author’s personal experiences are also presented in small boxes in some chapters that would add a lot of value to the readers.
Reading the book, is like climbing a mountain. The author adds to your knowledge by each chapter, step by step, and by the time that you are on top, you don’t even realize you were climbing.
Just don’t let the easy of read tempts you to go through the book fast. I highly recommend taking time with each chapter and do coding along the way. Each chapter comes with plenty of codes and the full codes are easily accessible from the author's website. Keep in mind that they are subjected to copyright. You can use it for learning, study and hobby projects, but for commercial products, you need to get a license.
The coding language is C throughout this book. Most of the code is done for STM32F4 and NXP LPC17xx as well as Infineon XMC4000 and Texas Instruments TMS450 platforms. So, development boards are fairly easy and chip to buy. But, the techniques discussed in this book works with virtually any other platforms as well (if safety is not a concern). There is a chapter in Appendix, about choosing a correct MCU, make sure to check it out.
You start the book by learning about ‘time-triggered scheduler’ and how can you precisely time your system and make predictable software design. In part two, the focus is on foundation of reliable design, data storage, working with peripherals and so on. Part three, you will get to know the modeling of such systems and importantly how can you model the CPU loads. And in part five, you learn about monitoring and testing the systems and techniques such as, Power On Self Tests (POSTs) and Built In Self Tests (BISTs).
Final part of the book comes with 5 case studies like Washing machine, Aircraft Engine control and industrial monitoring system that actually helps you to see the learning in practice. In each case studies, you will go through design steps for each system and will see how you can use your learning in industry and real world.
Concluding thoughts:
I believe it’s a must-have book for every embedded software engineers, especially if you are student or at the beginning of your career. You learn a lot about how to design a reliable and predictable embedded software. Whether you want to do a safety critical system, or not, there are many important take aways from this book that would help you along the way.
As I said before, I see the software as a soul and spirit of the embedded system and it should be handled with care and integrity. And this book, will certainly helps you to achieve that.
To check the author's website, please go to:
https://www.safetty.net
The book web page and to download the first two chapter of the book, make sure to check:
https://www.safetty.net/publications/the-engineering-of-reliable-embedded-systems-second-edition
And, (Book Review) "Embedded C" by Michael J.Pont :
https://www.pouyaneshagar.com/blog/book-review-embedded-c-by-michael-j-pont
Hope you find this article helpful. As always, remember asking better questions, will help you to find better answers.
-------------------------------------------------------------------------------------
If you find this article useful, share it so that your friends can also benefit. It would be pleasure to have you as a subscriber, so make sure to subscribe to the newsletter to stay on top my featured blog posts and book recommendations each month.