Friday, October 19, 2007

What is an embedded system, anyway?

Just a short insight as to what the term "embedded" really mean. What made me write this was a column I just read, written by Richard Nass in Embedded.com entitled "What's your definition of "embedded"?". Mr. Nass defines embedded as a computer whose end function is not a computer. He cited examples such as a microwave oven that contains a computer, but whose function is not really a computer, rather to heat up food. But due to the rising technology, where cellphones, PDAs, etc are now becoming computer-like, he still argues that an embedded device is simply a microcontroller/microprocessor-based system except for a PC.

Ok, he's right. He's definitely right. However, don't we know that a PC is also a microprocessor-based system? Maybe we should re-define the term "embedded". As for me, a "robot", "computer", and an "embedded device" have very much similarities. Let me define each item first:

ROBOT
A robot is a mechanical or virtual, artificial agent. It is usually an electromechanical system, which, by its appearance or movements, conveys a sense that it has intent or agency of its own.
While there is still discussion about which machines qualify as robots, a typical robot will have several, though not necessarily all of the following properties:
  • Is not 'natural' i.e. has been artificially created.
  • Can sense its environment.
  • Can manipulate or interact with things in its environment.
  • Has some degree of intelligence, or ability to make choices based on the environment, or automatic control / preprogrammed sequence.
  • Is programmable.
  • Can move with one or more axes of rotation or translation.
  • Can make dexterous coordinated movements.
  • Appears to have intent or agency (reification, anthropomorphisation or Pathetic fallacy).
  • Is in some degree metallic.
Source: http://en.wikipedia.org/wiki/Robot


COMPUTER
A programmable machine. The two principal characteristics of a computer are:
  • It responds to a specific set of instructions in a well-defined manner.
  • It can execute a prerecorded list of instructions (a program).
Source: http://www.webopedia.com/TERM/C/computer.html


EMBEDDED SYSTEM
An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions. It is usually embedded as part of a complete device including hardware and mechanical parts. In contrast, a general-purpose computer, such as a personal computer, can do many different tasks depending on programming. Since the embedded system is dedicated to specific tasks, design engineers can optimize it, reducing the size and cost of the product, or increasing the reliability and performance. Some embedded systems are mass-produced, benefiting from economies of scale.
Source: http://en.wikipedia.org/wiki/Embedded_device

Through the aforementioned definitions, I can say that a computer and an embedded system is a robot. Computers and embedded systems have very much similarities because they are both robots in definition. They both respond to a specific set of instructions, are programmable, and in some degree, they are metallic. Both also are artificially created, thus, leading me to the conclusion that both of them are robots. The difference between computers and embedded systems may be traced back to history, but due to the rising technology, computers and embedded systems are now becoming the same, and thus, both are similar. Additionally, the term "computer" has always been associated with the "device having a keyboard, mouse, and monitor". Thus, creating confusion as to its real meaning and intention.

Now, back to the question, "What is an embedded system. anyway?". It is simply a computer packed in different ways to be able to perform certain tasks. Note that I used "computer" to make a general meaning that everybody can understand, which basically means, a controller/processor-based system.

No comments: