For novel ideas about building embedded systems (both hardware and firmware), join the 35,000 engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
By Jack Ganssle
Flash! The strobe winks in your rear-view mirror while you're navigating a confused hodge-podge of unfamiliar city streets. A computer transcribes your license plate and sends a citation for running the red light.
In London a similar system checks drivers' tags against a database. If you haven't paid the day's five pound fee for driving in the central part of the city, expect an automated fine. According to the NY Times (http://nytimes.com/2005/11/11/nyregion/11traffic.html - registration required) officials are considering a similar system for Manhattan.
The Amendment reads in its entirety: "In all criminal prosecutions, the accused shall enjoy the right to a speedy and public trial, by an impartial jury of the State and district wherein the crime shall have been committed, which district shall have been previously ascertained by law, and to be informed of the nature and cause of the accusation; to be confronted with the witnesses against him; to have compulsory process for obtaining witnesses in his favor, and to have the Assistance of Counsel for his defense."
As embedded systems become both the accuser and sometimes the sole witness for a variety of crimes, citizens are complaining that their right to be confronted by their accuser is being abridged. Do we have the right to haul the red-light camera from its designated curb onto the witness stand? Though even Clarence Darrow would elicit nothing but silence from even the most aggressive of questioning, shouldn't we be able to burrow into the device's brain for evidence?
Computers have regulated our lives in important ways since the dawn of the programming age. Banking, for instance, is entirely digital and is accepted by pretty much everyone. But monthly reconciliations give us recourse. The rare cases where there's a bank mistake (I've had one in my life) get resolved.
That's not true when a smart device allegedly catches us in some illegal act. Was the speed radar properly calibrated? Is there any chance the drunk-o-meter's code could get confused by something unanticipated?
A prosecutor might build a case using complex technology like DNA fingerprinting. Few defendants have the expertise to check or even understand DNA analysis. But law is an open process; the accused can have his own experts verify every bit of the evidence.
When an embedded system makes an accusation things change. The units' operations are secret. You can't hire an expert witness to probe the devices' internals. The crime is long over, so it's impossible to run a duplicate "analysis" using a different device.
Science fiction author Robert Heinlein proposed the idea of using a certified True Witness to confirm the truth in matters of law. Perhaps we need a similar idea for embedded devices, a sort of independent verification process that assures the units are error-free. Maybe the solution is to escrow the source code, making it available to expert witnesses under an NDA seal, which preserves the trade secret protection while affording transparency for defendants.
Open-source code totally alleviates the problem. But I think it's wrong for the Feds to force companies to release their code under the GPL.
Though an embedded surveillance system could go a long way to making the roads safer and enforcing a variety of laws, I shudder to think that Americans might be herded into compliance by systems of unknown reliability employing secret algorithms.
What do you think?