Departments


Editor's Forum


I just got back from the Embedded Systems Conference in San Jose, an eclectic mix of hardware and software offerings for embedded and real-time system developers. The Embedded Systems Conference may be the only show where you can find heat sinks displayed next to UML modeling tools. It's that eclectic.

Even if you don't program embedded systems, there are some trends in the embedded world you may want to hear about. The unstated theme of this year's show would have to be "convergence." The most visible convergence is occurring between embedded systems, networks, telecomm, and consumer appliances. Expect range wars and strange bedfellows for a while, if you work in any of these fields. The result of this stormy convergence is supposed to be a new computing paradigm known as "Ubiquitous Computing" (or UC for short). UC proponents predict that intelligent, Internet-capable devices will turn up everywhere — in our cars, our kitchens, and even in our pockets. Accordingly, Lindsey Vereen, Editorial Director of Embedded Systems Programming magazine, pronounced this show the first ESC of the "Post PC" era. Well, sort of. Lindsey told me later that he was using the term to apply primarily to home computing. In that case I agree — the PC is a goner on the home front. However, "Post PC" may be misleading in a business context, a consideration that seems to be lost on many an evangelist for UC.

I have tried to imagine what sort of "ubiquitous device" would keep me happy in this brave new world, assuming I needed to run common business applications on a daily basis. Well, let's see, it would have a nice color display and a comfortable keyboard; and unless my network connection was absolutely blazing, I would need local mass storage as well. Hmmm... that's starting to look like — like a PC! My point being, although the days of the desktop boat anchor may be over (finally), the applications that we run on our beloved boat anchors are far from becoming obsolete. No matter how thoroughly we populate our environment with blinking, burbling devices, it won't take away the need for decent user interfaces and responsive applications. Ten cell phones do not a PC make.

A less visible area of convergence for most of us is between hardware and software. Hardware just isn't as "hard" as it used to be. There are a wide assortment of ICs that let you program the connections between elements, with varying degrees of permanence. Today if you have the time and money, you can design your own microprocessor with a Hardware Description Language, or HDL. You can then have that design programmed into silicon. That in itself is not so new; what's new is that hardware engineers are encountering the same problems with HDL that software engineers found with C about a decade ago: it is too low-level. They can't manage the complex systems they are being asked to develop. Hardware engineers are looking for higher-level languages in which to specify their chips — and guess which languages they're considering? C and C++! (See www.dotelectronics.com/ee/28_6_99.shtml#Story4, for example.)

The use of C and C++ as HDLs is bound to affect the non-embedded world, coloring how we conceive of and use these languages. A few stuffed shirts may howl about "bastardization," but I am betting this influence will be positive. New applications stress a language in new ways, bringing hidden flaws to light. Closer to home, I look forward to this trend as a fresh source of interesting articles, on topics such as modeling, simulation — well, you tell me.

Whether we're Post PC or just Post Boat Anchor, we're definitely not Post C/C++. The rapid changes in embedded systems and networks are creating interesting new applications for these languages. In coming months, we hope to tell you about them in CUJ.

Marc Briand
Editor-in-Chief