The Embedded Systems Conferences each year are an opportunity to look for gold: those nuggets of information about new products and technologies that give me a sense of where things are going. The recent ESC in San Jose was especially rich in such nuggets. If you weren’t there, check out the ESC video on You Tube and the just inaugurated online “ESC Virtual Event.”
One of the nuggets I found was Express Logic’s “downloadable application module” concept to allow small footprint microkernel RTOSes to match the dynamic download capability of the desktop OSes and monolithic RTOSes used in many high end smartphones. To learn more about this capability and its applicability to traditional dedicated small-footprint embedded designs, read “Bring big system features to small RTOS devices with DAMs,” by John Carbone.
Another significant development is that software engineers at LDRA have been upgrading their code analysis and coverage tools to support requirements traceability from the source code to the object code and back. They have come up with a way of mapping the structure of the original source code to that of the compiled version one-to-one, with no ambiguity.
Normally, such mapping is seldom possible and it is one reason embedded developers have such a close personal relationship with their compilers. As it is now, a well understood and reliable compiler is the only way to trace software bugs in the compiled code back to their original location in the uncompiled source code, and it is often fraught with difficulty.
The LDRA engineers have promised me an article going into more details on how they did this and what it means. For now, read Jack Ganssle’s “My Spring ESC highlights” for his perspective on what they are doing.
Another nugget: a new trade organization called the Open Networking Foundation (ONF) – formed just a few weeks before the Spring ESC – has the aim of improving networking application design and performance through what it calls software-defined networking.
The group’s activities are based on the belief that the still amorphous “cloud computing” trend will blur distinctions between computers and networks, making it difficult to develop the network infrastructure.
One of the ONF’s critical building blocks is the the extension of the OpenFlow research platform to control how packets are forwarded through network switches and routers on the Internet backbone. OpenFlow is a protocol originally developed by university researchers as an architecture -independent framework for developing techniques to improve network performance that were not dependent on any company proprietary hardware or software platform.
Finally, a number of people I talked to at ESC mentioned an open source effort called the “Low Level Virtual Machine (LLVM).” Despite its name, it is actually a compiler infrastructure designed for compile-time, link-time, run-time, and idle-time optimization of programs written in arbitrary programming languages.
Most of the interest was among developers of tools and applications for mobile platforms such as the Java/Linux-based Android and Apple’s iThings. On those platforms it is mainly used as a language-agnostic compiler front end for web-based applications based on Objective-C, Fortran, Ada, Haskell, Java bytecode, Python, Ruby, ActionScript, and others.
LLVM may have implications for real-time deterministic embedded software development because it was originally developed as an aggressive C/C++ optimizer for X86, ARM, PowerPC, Sparc, Alpha, and several other targets.
It was started in 2000 at the University of Illinois at Burbana-Champaign, under the direction of Vikram Adve and Chris Lattner. In 2005, Apple Inc. hired Lattner and formed a team to work on the LLVM system for various uses within Apple's development systems. It is now an integral part of Apple's latest development tools for the Macintosh OS-X and the iOS platform that serves as the software underpinning of all of Apple’s iPad, iPhone, and iPad products.
I am now working my way through some of the technical material available on OpenFlow.org as well as a number of sites devoted to the low level virtual machine concept, including the LLVM Compiler Infrastructure Project web site at the University of Illinois and Chris Lattner’s personal web page. I have a suspicion that LLVM will have a profound impact on connected embedded designs.
I will continue researching this and other nuggets uncovered at the Spring ESC. In the meantime, let me know your thoughts in the form of emails, blogs, and design article submissions.
Embedded.com Site Editor Bernard Cole is also site leader of iApplianceweb and a partner in the TechRite Associates editorial services consultancy. He welcomes your feedback. Call him at 602-288-7257 or send an email to .