Boston -- Picture a group of college students hanging out in their dorm--or at an arcade, or in a park--each plugged into a media player. One of them takes the role of DJ for the tiny virtual radio station they have assembled ad hoc, playing a song list that everyone shares. At the same time, the kids are talking about the music, and their lives, over a wireless Internet telephony channel supported by the media players.
This vision of social networking--one that could just as easily apply to people attending a conference, soldiers arrayed on a battlefield or gamers doing virtual battle--is seeding predictions for new growth in semiconductors. "We are trying not to drink our own Kool-Aid on this, but we think the peer-to-peer content sharing, if it plays out, is clearly a dislocation in the market for silicon vendors," said John Croteau, co-manager of the Blackfin DSP product line at Analog Devices Inc. (Norwood, Mass.).
It's also provoking much debate about the technical how-tos. What hardware will best support such peer-to-peer content sharing? What's the best way to manage the large and disparate data files coming into these small-footprint mobile devices? And, most critical of all, how can developers keep the mushrooming lines of software code needed to drive it all both error free and secure?
Indeed, security is "the proverbial elephant in the room," said Jim Turley, principal analyst and editor for Silicon Insider. "Everyone knows that it's hard, but the problem is that [debug] is not considered 'productive' work: If you write good code, then you shouldn't have to debug. But designers spend more time debugging than coding."
The problem is only exacerbated by the rise of multicore processing--on both homogeneous and heterogeneous platforms--as well as the increased susceptibility to hacking and other security issues that go hand-in-hand with rising connectivity.
Another factor is the relative dearth of coders. "The number of lines of code is increasing at a CAGR [compound annual growth rate] of 46 percent, but the number of developers is only rising at the rate of 7.5 percent," said Chris Lanfear, director of the embedded software and tools division of research firm Venture Development Corp. (Natick, Mass.), who spoke as part of the Disruption Zone lunch at last week's Embedded Systems Conference (ESC) here.
The burgeoning applications running on mobile devices "are adding significant software complexity," said Ben Chelf, chief technology officer at Coverity Inc. (San Francisco). "If we rewind just a few years, we had teams of two to five software engineers who could comprehend the entire software stack as it was created, avoiding many of the most commonly seen coding errors. Now, the software stack is beyond the comprehension of even the most skilled engineers or quality assurance teams."
For social networks to proliferate, some form of middleware will be needed to distribute data to different platforms. If someone using a Zune MP3 player is to share a musical experience with a pal on an iPod, hardware-independent data distribution software is needed, said David Barnett, director of product management at middleware vendor Real Time Innovations Inc. (RTI; Santa Clara, Calif.).
"We have one guy studying this topic right now," he said. "It's an opportunity that would leverage our data distribution expertise. But right now we are still looking into it." RTI's software supports data distribution services using the DDS standard, while data distribution over wireless networks is based on the Session Initiation Protocol. For the U.S. Navy, RTI's middleware enables a variety of computers on surface ships to distribute and share data over disparate hardware platforms.
For Hiroshi Nakamura, general manager of the embedded business group at Hitachi America, "The challenge is to find something interesting or useful from the huge mass of content out there" and, in the case of Hitachi, to also find a means to search and store it efficiently. At ESC, the company announced a small-footprint database management product, Entia, which is being released now in the U.S. market. With a 600-kbyte footprint, Entia is being designed into cellular handsets, MP3 players, car navigation systems and digital televisions in Japan, Nakamura said.
The Entia database manager supports spatial searches, making it possible to download files and metafiles to a cache on a mobile device. Again, there is a social-networking angle: Phones will be able to perform queries, such as "find all the friends on this phone's buddy list who are within range of this shopping mall," using global-positioning system technology.
But there's more to the issue of social networking and other upcoming applications than the distribution, search and storage of data and metafiles (the latter of which are taking up an increasing portion of the information being downloaded; a simple example is the artist and recording information that accompanies every downloaded song). The challenge of managing, integrating and then storing multiple streams of data coming into a mobile device is also complex, said Jan Liband, marketing director at Encirq Corp. (Burlingame, Calif.), a relatively small U.S. software company that is now getting established in Japan. According to Liband, the job requires "new development tools and service libraries."
"Just as Moore's Law is doubling the number of transistors," Liband said during the ESC Disruption Zone, so "the lines of code used on these embedded devices is doubling every two years. As more data presents itself to be managed, the challenge is to build a process to handle all of these different data formats, coming in from sensors, from Bluetooth and from the Internet. It goes beyond content into mediation [of that content]." At this point, he estimated, "50 to 70 percent of code is data management code."
According to Liband, software is a critical path to differentiation and an improved user experience. "But to do that we need better efficiency, higher performance and shorter [processing] time across different platforms," he said. To that end, Encirq announced at ESC the third generation of its DeviceSQL product for device data management, including management of dynamic streams of data as well as memory-mapped and in-memory data that can be intermixed within a single application and accessed in real-time.
On the processing side, Analog Devices is concentrating on power efficiency per task, leveraging application-optimized instruction sets. One ongoing project, said Croteau, involves extensions to the Blackfin processor's instruction-set architecture to better meet the needs of mobile devices that can handle video, mobile TV and other emerging applications. "It comes down to how many data elements can I manipulate with a single instruction," said Jerry Maguire, co-manager of the Blackfin line.
The debug jitters
While the underlying processors are advancing rapidly, the tools required to develop upon them are not. "JTAG won't crack it in the future," said Derek Leadbetter, product line director for core development tools at ADI. "We need new debug and data-logging techniques way ahead of where we are today. [Tool developers] need to work with silicon designers." Silicon Insider's Turley echoed that sentiment, adding, "Now we have multicore and multithreading, so there's no way to intuitively understand what's going on inside [a device]--we need to have better insight into what's happening."
The new demands provide a robust market for vendors of software development and code analysis tools. Coverity, for one, plans to release its third-generation product "by the end of the year," said Chelf, providing analysis of Java code.
Coverity's tool detects bugs when the software is compiled, before they can crash the system during run-time. For programmers accustomed to dealing with a gigabyte of RAM on a desktop, confronting the limited memory resources of mobile devices requires more careful attention, Chelf said. And with millions of lines of code to deal with, finding bugs in the source code can take an agonizingly long time.
"Static analysis can't address dynamic [run-time] issues, but it can tell what's going to happen," said David Goldman, product manager for Klocwork Inc., a Wheaton, Ill., developer of embedded open-source analysis tools and an ESC exhibitor. That said, the static analysis tools are adding concurrent checking and support for new languages. In addition, the tools are going beyond basic static analysis. "We're now finding run-time issues due to memory leaks and are looking to the next level of run-time [issues] so we can address it early on."
Goldman said Klocwork's tools also address security, a problem that increases with rising connectivity. "Buffer overflow is the No. 1 security issue, and it happens when you don't check what you're taking in. You need to validate the inputs for tainted data," he said. "Security has to be designed in."
Other startups doing source code analysis include Gramma Tech and Polyspace. "Within five years, every software development team will be using these kinds of tools," Coverity's Chelf said.
Among larger companies tackling static analysis is Green Hills Software Inc. (Santa Barbara, Calif.), which at ESC announced Double Check, its entry into the source code analysis market. Double Check is part of the company's Multi 5.0 software development framework, and David Kleidermacher, vice president of engineering, said it gives Green Hills an advantage. "Because Double Check is integrated into Multi, the engineers are using the same user interface," he said. "And Double Check relies on Green Hills' compiler, rather than sending code out to an external analysis tool for recompilation."
Goldman disputed the Green Hills integrated development environment edge, arguing that Klocwork's static tool provides much deeper analysis and can be integrated into third-party IDEs. The company already has deals with embedded-software giants Wind River and QNX, he said.
Developers are also grappling with multicore designs. Kleidermacher said that multicore is now the biggest challenge, with heterogenous architectures right behind. He also sees serial trace as the next big enhancement, "but we need to standardize on it," he said. "ARM has one approach while Nexus 5001 has another."
The Nexus 5001 Forum was founded eight years ago to develop an embedded-processor debug interface standard. In 1999, the effort came under the purview of IEEE-ISTO but has since languished. Early last month, the group got a shot in the arm with the announcement that Analog Devices, NEC Electronics, Tensilica and Texas Instruments had joined, bringing total membership to 22. The group continues to solicit cooperation from ARM, which continues to go it alone.
See related image
See related image