Embedded Systems Programming, September 2005
Table of Contents
Architecture of Safety-Critical Systems
by David Kalinsky
It's one thing to know your system is safety-critical; it's another to know how to deal with it. The author explains how to evaluate errors, categorize them, and safely handle them when they happen.
Test-osterone! A Case Load of Tests
by Niall Murphy
Writing code and testing code are often two different disciplines. Programming expert Niall Murphy shows how to create good tests that catch real bugs without antagonizing the people who write the software in the first place. It's a good article to keep pinned to the cubicle wall.
Implementing the Logic Behind Complex Behavior
by Jos Dijkstra
This article takes a hard look at asynchronous, event-driven systems-complex projects that are commonly found in everything from automotive to industrial systems. Most programmers are familiar with these systems-or think they are. Here are some best practices for making these systems reliable and safe.
The Changing Role of Software as Hardware
by Gary Banta
In this first part of an occasional series, we look at the different roles of hardware versus software. Which adds more value? Does it make sense for companies to differentiate their products though unique hardware or specialized software? Here's one view to get us started.
Use Volatile Judiciously
by Dan Saks
Using the volatile qualifier helps you write correct programs. The flip side is it can make some code fragments bigger and slower.
Understand Your Users' Needs
by Jack G. Ganssle
To make a reliable product, you have to know how your customers' business. Imagine yourself stranded on a sailboat full of your embedded systems. Would they work? Could you live with them? Could you leave home without an embedded systems engineer?
by Jim Turley
Hell hath no fury like an Apple iPod user scorned. As Jim Turley found out, the little music machine sparks some strong emotions from readers.