A picture is worth a thousand lines of code - Embedded.com

A picture is worth a thousand lines of code

Graphical system design and prototyping opens the doors of embedded systems development to the masses.

Many engineers agree that higher levels of abstraction in tools are needed in the embedded space. The solution en vogue is electronic system-level (ESL) design, with concepts such as hardware/software codesign, predictive analysis, transaction-level modeling, and others. Does this sound like simplifying the problem or just making it more complex?

Fundamentally, the problem is that the domain experts—the scientists, researchers, and engineers developing advanced new algorithms—are limited by the relatively few number of embedded systems developers capable of dealing with the complexities of today's technologies.

The industry requires a fundamental change to liberate the thousands of domain experts to experiment and prototype algorithms for embedded systems—to prove success early, before they are overtaken with the complexity of implementation.

We saw this same phenomenon in test and measurement. Using a graphical modeling and programming approach such as National Instruments' LabVIEW, engineers could much more quickly represent their algorithms and solutions through block diagrams. Leading academic researchers in embedded systems design hold that graphical languages offer the most intuitive solutions for representing the notions of concurrency and timing relationship critical in embedded systems. For example, a concept such as advanced parallel execution can be represented simply by placing two independent loop structures on a diagram. How many lines of code would it take to represent that in today's tools? And how many domain experts could look at multiple lines of text code and interpret what is happening? Obviously, with high-level tools like this, concerns about footprint or performance will arise, but those are the kind of problems that tend to get solved naturally over time, as the industry is already seeing with the almost daily innovations in silicon. Only a truly innovative user experience—like the Macintosh OS or, later, Windows for PCs, the spreadsheet for financial analysis, or the iPod scroll wheel for MP3 players—can truly empower the masses to embrace a new area at a broad scale.

The domain experts also need a complete commercial off-the-shelf platform for testing their algorithms with real-world signals and I/O. The reason these embedded systems often fail is because of the unknowns that are not uncovered until the end of the development cycle. With LabVIEW, National Instruments has created a graphical language that domain experts can use to develop their control algorithms. With the same tool, they also can download the code to run on a real-time processor integrated with an FPGA for custom timing and integration connectivity to modular I/O options. National Instruments' CompactRIO is an example of the type of platform—embedded processor, FPGA, and I/O modules—that is becoming popular in embedded machine control applications for which control engineers need the power and performance of an embedded system using a standard COTS hardware platform. This approach is ideal for the machine builder, but what about the embedded system developer in general? Even if they deploy on other hardware, designers can prototype an algorithm with real-world I/O in a matter of days or weeks rather than waiting to know if it will actually work. After seeing this exact shift in test and measurement—from traditional text-based programming approaches like BASIC and C to LabVIEW—it seems more obvious than ever. Graphical system design needs to become reality. Or do 6 million lines of C code sound like a more intuitive approach?

Dr. James Truchard is president and CEO of National Instruments, which he cofounded in 1976. Truchard holds a doctorate in electrical engineering, as well as a master of science and bachelor of science in physics, all from The University of Texas at Austin. You may send comments to him at

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.