Embedded systems tend to be, well, embedded in everyday life as cable modems, gas pumps, entertainment equipment, watches, hearing aids, automobiles, even light switches. Absent a malfunction, such as having your car's security system lock you inside, we generally ignore the myriad computers surrounding us.
That's changed with the advent of the electronic voting machines now replacing aging mechanical and paper balloting devices across the United States. Esoteric topics such as encryption, paper trails, reliability, back doors, and even human factors have become fodder for the mainstream press. Whether most folks understand the underlying problems remains to be seen, but one branch of embedded systems design is much more visible.
My April 2001 column covered vote-by-wire topics, and unfortunately, we now have real-world results from full-scale deployments and independent (albeit unauthorized) teardown analysis of electronic voting machines to show that some of the predictions have come to pass. The optimistic view, that the worst of the problems hasn't occurred, depends on a lack of evidence; those problems may simply be lying in wait for a propitious moment.
Here's what I see in the current reports, summarized in rules useful for evaluating any proposals that come your way. You should definitely follow the links at the end of this column to read the original reports, where you'll find examples of the points I mention.
By virtue of publication lead time, I'm writing this before the November midterm elections and you're reading it afterward. That gives you the ability to see how my rules apply in practice.