is the question of the decade! Embedded systems have been around for
years, and each of us owns a scad of them, but no agreed-upon definition
exists! (Beware, a digression is impending, but with relevant references
intermixed . . .)
A cheap and dirty definition:
"If it's got a plug or a
charger, chances are it's an embedded system."
Here is my definition, which is similar with a few clarifications....with the idea that some brains need to be included.
embedded system is an electronic device like a cell phone, DVD player, or
appliance that contains a special computer that only performs the programs
needed to make that device work correctly."
...and the ubiquitous
"These computers are different from personal
computers, which can perform a nearly endless array of user-selected
programs like word processing, spreadsheets and email and photo editing
programs. While most devices have only one embedded processor, others like
cars contain many embedded processors to control individual tasks like
windshield wiper delays, fuel injection, and antilock brake functions."
Whew! A mouthful. I know. Have you ever tried describing exactly what
you do to your family and friends? And as you explain and reclarify
you see their eyes glaze over? Defining embedded systems is tough - most
descriptions don't tell what an embedded system is. They list
characteristics of embedded systems, or indicate what an embedded system
is not, and then provide examples of recognizable embedded
systems in hope that the reader will have an ah-hah moment
and connect the dots.
"People use the term embedded system to mean any computer system
hidden inside...products such as VCRs, digital watches, etc." David E. Simon,
An Embedded Software Primer.
references actually shove a stake in the ground and provide a
short-and-sweet working definition that is useful without clarification.
One reason is that short-and-sweet "correct" definitions leave you wanting
specifics. For example, these definitions are reasonable and they make
sense to folks already in the embedded systems field, but can be
rather cryptic for everyone else:
Personally, I am extremely
hesitant to use a Microsoft-based operating system in a critical
embedded device. Blue Screen of Death on my cell phone is
annoying; Blue Screen of Death on my antilock brakes is somewhat less
Although this sounds flippant at
first read, it is actually a reasonable definition by omission. As long as
"device" means some electronic thing with some sort of smarts.
How many embedded systems or embedded computers do you have in your house? (Send
me your counts!) We rely on these devices without fully understanding their
prevalence or importance until the coffee pot fails to perk 10 minutes before
the alarm clock goes off in the morning, or the smoke detectors all start
chirping at 2AM for a battery change.
(Smoke detectors should not have a real time clock in them -
but how do they know to start being incredibly annoying in the middle of the
night? And that after you pull out the main 9V battery (that is supposedly near
death), there is another little lithium cell hidden behind the "non user
serviceable" seal? And that it takes 2 layers of 5mm wetsuits and a
suitcase piled on top of them in the basement to drown out the sound of the
periodic chirps as you try to get back to sleep before you can wake up and
drive to the store to purchase 7 new 9V batteries for every detector in the
house because when one chirps they all chirp?)
On a 10 minute walk through my house, I found 202 embedded devices - now
this is just whole devices, not individual embedded processors. For example, I
counted both my car and my cell phone as single embedded devices, although my
car could have over 100 embedded processors in it and my phone has about
As a dear friend of mine would say, "You are an engineer and engineers just
make gadgets." Nip tirade in the bud right there. Well,
dear, your life REVOLVES around gadgets, so deal. Gadgets used to be little
disconnected thingies that did some little interesting functions that appealed
to early adopters and Star Trekkie types. Welcome of the new millennium
where these little gadgets are all starting to talk to one another and provide
a new backbone of communications and information.
And then the government always has to get involved. . . Here's an amusing
thought: the lack of a formal definition for "embedded systems" has
even been sent to a committee that provides advice to the federal government.
On the other hand, the National Science Foundation is offering federal
grants for embedded systems projects, recognizing the future role of embedded
systems in information technology:
Embedded and hybrid
systems: The National Science Foundation solicits proposals for
the embedded and hybrid
systems program through the division of computer-communications research.
This program supports fundamental research in embedded systems,
emphasizing the role of information technology, specifically embedded
software, as an active element in control, diagnosis, and decision support
for physical and engineered systems. Embedded systems combine interacting
properties and continuous dynamics of the physical system to be monitored
real-time, and synchronization properties and resource demands of
software that controls the system;
services of the computational platform (both hardware and system