The World of Embedded Systems Continues to Expand—but How Far into the Consumer Realm?
TOM WILLIAMS, EDITOR-IN-CHIEF
Page 1 of 1
The editorial page in a magazine can, in our opinion, be used in a number of ways. Mostly it is used to express an opinion or perspective regarding the editorial focus of the publication—in this case, embedded systems in all their variegated glory. We do sometimes get feedback from these pages but we like to hope that whatever views are expressed here help to engage thought on whatever is the topic at hand. This month, we are moved to simply express some questions for which we have no hard and fast answers. However, such questions may help us all toward some perspective on what appears to be the changing universe of what we think of as “embedded systems” and the burgeoning variety of processors that power them.
I’ll start off with a riddle that may at first seem unrelated—what do WindowsCE, Linux and Java have in common? Answer—they were all originally conceived with no thought to their use in embedded or real-time systems. The first version of WindowsCE was developed for miniature laptops that would today be compared to netbooks. At the time, these devices simply flopped in the market. Linux was developed as a free, open-source and improved version of UNIX, and Java was targeted to be a better object-oriented environment that could be quickly ported to large numbers of different systems. Yet developers in the embedded community were so enthusiastic about the attractive aspects of all three of these technologies that they spent man-millennia of effort to adapt them for use in embedded and real-time systems.
In so doing, they greatly expanded the scope of what we today would think of as an embedded system from a small control module running a special-purpose RTOS to the vast world of powerful, semi-autonomous connected systems we know today. The use of these much larger and more powerful software environments has also been fueled by the advances in processor power, which in addition to multicore and 64-bit architectures has also ridden Moore’s law to bring very powerful computing capacity ever further down into very small devices with continuous connectivity all the way up to huge enterprise servers.
If this were all that was going on, it would be easy to just say, “Well that is now the universe of embedded systems.” But it gets bigger. At one point, consumers had no need to be aware of the fact that their cars, their appliances, their cell phones and their stereos were all running on little programmed microcontrollers. The trick was to “hide the computer behind its own usefulness.”
But now increased connectivity and handheld and mobile devices are migrating the PC experience into contexts in which the user of a cell phone, a car or a TV is very much aware that he or she is dealing with a computer and that in many cases that computer is dedicated to a particular purpose . . . except that increasingly many other purposes can be addressed at the same time. With an Internet TV you can monitor your manufacturing process and check inventory while watching “Glee.” You can do the same with your iPhone, your iPad or any number of PC-based, Android-enabled phones and tablets. GPS-based applications can learn from your interactivity and guide you to restaurants and stores in a strange city. The world of apps seems unlimited.
And at the beginning of this page I was going to wonder, “Are all these devices legitimate topics for an embedded systems publication?” My answer is, “For an industrial and engineering publication, no, not really.” They cannot be totally ignored as adjuncts to a wider embedded infrastructure, but their design is pretty well set and not an issue for the readers of RTC. More specialized handheld devices that operate in a connected context may be a different story. Behind all these things, however, lies an infrastructure whose design and operation as we get into such areas as cloud computing and “device to cloud” becomes ever more vital—in terms of the devices that talk to the cloud and the kinds of applications they support.
It is also true that we can no longer limit our consideration of what constitutes an embedded system to isolated small modules and devices and control elements in larger systems and machines—and then say, “Oh yeah, they are also connected to the Internet or a local area network.” The synergistic effect of that connectivity must also be considered as an integral aspect of the embedded system—and that includes their communication with what we call the “enterprise,” or “IT,” because that is often where the ultimate application is located.