Sunday, May 2, 2010

Better Embedded System Software: The Book

The book is available from Amazon.  Here's a description:

Book Summary

This book distills the experience of more than 90 design reviews on real embedded system products into a set of bite-size lessons learned in the areas of software development process, requirements, architecture, design, implementation, verification & validation, and critical system properties. Each chapter describes an area that tends to be a problem in embedded system design, symptoms that tend to indicate you need to make changes, the risks of not fixing problems in this area, and concrete ways to make your embedded system software better. Each chapter is relatively self-sufficient, permitting developers with a busy schedule to cherry-pick the best ideas to make their systems better right away.

Click on the link for chapter 19 on Global Variables to see the free sample chapter

  1. Introduction

    Software Development Process
  2. Written development plan
  3. How much paper is enough?
  4. How much paper is too much?

    Requirements & Architecture
  5. Written requirements
  6. Measureable requirements
  7. Tracing requirements to test
  8. Non-functional requirements
  9. Requirement churn
  10. Software architecture
  11. Modularity

  12. Software design
  13. Statecharts and modes
  14. Real time
  15. User interface design

  16. How much assembly language is enough?
  17. Coding style
  18. The cost of nearly full resources
  19. Global variables are evil
  20. Mutexes and data access concurrency

    Verification & Validation
  21. Static checking and compiler warnings
  22. Peer reviews
  23. Testing and test plans
  24. Issue tracking & analysis
  25. Run-time error logs

    Critical System Properties
  26. Dependability
  27. Security
  28. Safety
  29. Watchdog timers
  30. System reset
  31. Conclusions
Click Here To View Detailed Table of Contents
(Requires Acrobat Reader version 8 or higher)

Click here for errata list.


No comments:

Post a Comment

Please send me your comments. I read all of them, and I appreciate them. To control spam I manually approve comments before they show up. It might take a while to respond. I appreciate generic "I like this post" comments, but I don't publish non-substantive comments like that.

If you prefer, or want a personal response, you can send e-mail to
If you want a personal response please make sure to include your e-mail reply address. Thanks!

Static Analysis Ranked Defect List

  Crazy idea of the day: Static Analysis Ranked Defect List. Here is a software analysis tool feature request/product idea: So many times we...