As I mentioned briefly in a recent Embedded.com newsletter , Ron Wilson interviewed John Bruggeman, until recently chief marketing executive of both Cadence Design Systems and before that at Wind River Systems, and included some of the former executive’s comments in his last column on “Dumbing down embedded design. ”
The former executive’s predictions about the embedded system design industry are generating comment online. Here are my further thoughts on the topics Bruggeman raised: some of which I agree with, but many of which I do not..
The former chief marketing executive of both Cadence Design Systems and Wind River Systems thinks that the “whole fragmented RTOS-tied world is shrinking,” and that embedded systems are coming to the point at which “only a handful of mission critical applications will use an RTOS,” and everything else will be based on Linux/Android.
Not only that, Bruggeman predicts that traditional commercial RTOS embedded tool vendors will be absorbed into companies supplying the hardware building blocks or into companies building the devices.
While much of what he says is true of the mobile phone and connected consumer computing markets, it is not very applicable to the broader real-time, deterministic, control-oriented embedded market.
In the first market segment, almost everything that is not Apple-based uses Linux with Android’s user-friendly Java wrapper, adequate for non- real-time, non-deterministic Web and TCP/IP-driven apps. Embedded systems companies in the past were able to experience high growth rates in this segment because mobile and consumer device companies needed their space-, power-, and resource-efficient RTOSes and development tools, not necessarily their real-time or deterministic performance capabilities.
Now this market has its own software development platforms, with vendors of RTOSes and C/C++ development tools left with what Bruggeman dismisses as a “handful of mission critical applications.”
Left to hard real-time and deterministic RTOSes and C/C++ tools are many of the traditional embedded markets in the network transport layer infrastructure upon which this wondrous world of Androids and Apple iThings is built, automotive engine and industrial machine controls, medical, military/aerospace, as well as many new smart power infrastructure apps.
In addition, there is the emerging IPv6-driven “Internet of things” where mobile phones and mobile computing devices will use only a fraction of the billions upon billions of new IP addresses. Using the rest? My guess: remote sensors and sensor/controller combinations that will require much harder real-time and deterministic capabilities and will be much more space, power, and performance efficient than even most mobile phone, computing and consumer apps.
As to C and C++ being replaced by something else as the lingua franca of embedded systems design, Bruggeman may have a point. But it will not be Java or some other Web oriented language more appropriate to connected mobile and consumer computing devices.
More likely is a more parallelizable language appropriate to the much more distributed and multiple processor nature of future embedded systems designs at the chip, board, system, and network level. Or something entirely new that fits both traditional hard real- time deterministic embedded apps and the asynchronous, non-deterministic environment of connected devices.
To be fair, Bruggeman’s claim that traditional providers of commercial embedded systems tools and RTOSes may be a thing of the past has some support in the most recent EET/ESD Embedded Market Study, in which the use of commercial RTOSes in the current projects of those who participated dropped from 51 percent in 2006 to 38 percent currently.
Commercial software vendors such as Wind River have placed much of their hope of survival on commercial distribution and support of open source OSes such as Linux. But according to the study, respondents’ use of such alternatives increased only two percent, from 12% in 2006 to just 14 percent currently.
Ironically, according to the study the biggest growth in RTOS usage among those who answered the survey was in the “roll-your-own (RYO)” categories. These include the developers who use an internally developed in-house OS (from 21 percent in 2006 to 32% currently ), and developers who are using an open source OS without commercial support and adapting it to their own internal needs (from 16 percent in 2006 to 29% currently ).
I am doubtful of the claim that in the future the complex interactions required by machine-dependent and time-critical code will not be handled by an RTOS but instead be encapsulated in hardware by the chip makers, processor vendors, and builders of the end devices. I am also certain that they will support only those hardware features in those applications where there is sufficient potential sales volume to justify the investment. What about those lower volume applications and market segments that do not justify the addition of those features to the hardware?
For the innovation that many of the lower volume segments of the embedded market will need, it is the developers in that RYO segment on whom we will have to depend. From them we will get the new general purpose, hardware independent OSes needed to meet the requirements of the connected, real-time, and deterministic “Internet of Things” world.
While I may disagree with much of Bruggeman’s assessment, I do agree with Ron Wilson’s conclusions: embedded developers need to come up with strategies that will allow them to not just survive future changes, but embrace them and thrive.