Product developers need to be more aware of software timing
and synchronization issues, especially in safety-critical systems such as
automotive airbags and robotic surgical tools, an embedded design expert warned
today during a keynote event at NIWeek 2010.
Jeff Kodosky, co-founder of National Instruments Corp., told an audience
of approximately 4,000 engineers that real-time performance of embedded products
is already suffering in some cases, largely due to inattention to such issues.
Smart phones and handheld devices are experiencing timing problems, he said,
and those problems are small compared to the issues that will be faced as
embedded technology migrates more prominently into safety-critical designs.
"People have been building these
systems all along, and they're not always as reliable as we hope," said
Kodosky, who serves as Business and Technology Fellow for NI, a maker of
automated test equipment and virtual instrumentation. "We want a much higher
threshold of confidence that these systems will work correctly."
Kodosky cited examples of potential
problems for automotive airbags, robotic surgical devices, defense and
aerospace systems, as well as future vehicle brake-by-wire and steer-by-wire
systems. He said that while smart phones and handheld devices can be easily
shut down when a timing issue occurs, the same is not true for safety-critical
products. "If you're in a critical automotive situation and you jam on your
brakes or you need your airbag, you expect those systems to work," he said.
"Anyplace where you put a computer between you and some action, you need to be
sure there aren't any software glitches."
Kodosky blamed the speedy evolution
of computer processors for many of today's timing issues. "It's an extremely
difficult problem," he told Design News.
"All of the things that make processors run faster have confounded the
developer's ability to create determinant real-time systems."
To help solve the problem, Kodosky
said that university-based computer science programs need to be more vigilant
in teaching students to deal with timing issues. Today, he said, students are
virtually unaware if timing intervals in an embedded system are too long or
irregular, in part because they are trained in desktop programming, where
real-time performance isn't typically an issue. That, he said, must change.
"To the extent that you believe
that computers will be involved in everyday products, you will need more
embedded programmers, rather than desktop programmers," he said.
Without better software development
tools, timing problems could also be particularly vexing for so-called "domain
experts" - that is, doctors and scientists who want to create innovative
products but don't have a programming background.
"Timing problems will make it more
difficult for the new ‚ÄėEdisons' of the world who are trying to make
software-based products," Kodosky said. "It's our job to allow those new Edisons to invent."