UML Statechart tip: Be wary of exit-state behavior

This post assumes a basic understanding of UML statechart behavior related to entry/exit-state handling as well as the associated order of processing such events. If needed, please review the references at the end of this post before reading further. It has been nearly 20 years since I first studied UML statecharts. Since that initial exposure, … More UML Statechart tip: Be wary of exit-state behavior

Community + Business == Heartwarming Story

I grew up in the great state of Arkansas. My parents and grandparents were always in-touch with the local and national news and encouraged us to keep up with current events. The Arkansas Gazette and later the Arkansas Democrat-Gazette newspaper was read cover-to-cover by the entire family, sparking family discussions on the latest politics and, … More Community + Business == Heartwarming Story

Why I love C++11 for Embedded Software and Firmware (or C++14, or…)

In the firmware and embedded software engineering domains, engineers overwhelmingly choose C as their language of choice. Evidence of this may be seen in the following screen-grab of a presentation by Dan Saks at CppCon2016. I would recommend the entire presentation, which may be found here: https://youtu.be/D7Sd8A6_fYU Selecting C over C++ is a reasonable and conservative choice, especially … More Why I love C++11 for Embedded Software and Firmware (or C++14, or…)

Premature optimization?

“…premature optimization is the root of all evil…” – Donald Knuth This well known quote by Donald Knuth represents hard-earned wisdom for which many software engineers should consider and broadly follow. Yet with any succinct rule we must be vigilant in our application and apply it appropriately. In some cases it may be found that … More Premature optimization?

Questions to Ask: Software Architecture, Design, And Coding

The process involved in architecting, designing, and writing embedded software and firmware is complicated, but I believe often times may be guided with a set of questions which must be continually evaluated by the engineering team as software development proceeds forward. This post provides a few of the questions I might be considering during my personal process. … More Questions to Ask: Software Architecture, Design, And Coding