Developers need tools designed to support multicore development, debugging and optimization. The multicore RTOS should be supported by a tool set that lets developers assess load balancing, identify bottlenecks, determine opportunities for concurrency, characterize and debug interactions between threads running on multiple CPUs, and move threads or processes between cores and measure the resulting impact on the system. Timing and blocking can be thorny issues, so the tool set should offer developers a means of pinpointing what the processors and threads are doing.
Compliance is a necessary condition for getting a medical device to market -- a sine qua non that must be met before investments can be transformed into revenue. Thus, in addition to appropriate OS characteristics and tool set features, a medical device needs a well-planned approval strategy.
Screen shot of a system profiler display showing CPU usage across four cores.
Concern that the complexities associated with multicore systems might hinder certification of the end product has informed some medical manufacturers hesitation to adopt multicore processing. It is worth noting, however, that the inherent complexity of today's single-core systems means that, in practice, it is impossible to validate even single-core systems simply by testing them. Both multiprocessor and single-processor systems are so complex that demonstrating their functional safety requires a combination of techniques -- and the same techniques can and should be used to validate both single-core and multicore systems.
Testing, statistical analysis, and design validation complement one another to validate a software system, whether it is running on one or multiple cores. The requisite techniques should be well-known to anyone who has taken a system through a certification or approval process. They include:
Testing. Though testing can only prove the existence of faults and not their absence, it is still a key element in any system validation strategy.
Statistical analysis. Applied to in-use data for devices or components with a history in the field, statistical analysis can be used to support dependability claims. It can also be used with fault injection during validation to estimate the number of faults remaining in a system.
Fault tree analysis. Starting with potential or actual failures, fault tree analysis can be used to deduce possible causes for the failures.
Design verification. Undertaken during development and retrospectively with tools such as Spin and NuSMV, design verification can provide strong evidence to support system dependability claims.
Design artifacts. A mature software lifecycle with all the relevant design artifacts, from project plan to traceability matrix, is a standard and essential component of any certification case.
Multicore processing is quite likely the future of all but the simplest medical devices. Careful selection of the operating system -- with particular attention to the architecture, to support for the processor affinity of thread hierarchies, and to the tool set -- can mitigate the effect of these challenges on system design, development, and validation.
Testing, statistical analysis and design validation complement one another to validate a software system, whether it is running on one or multiple cores.
About the author Justin Moon is product manager for the medical business at QNX Software Systems. He joined QNX Software 10 years ago and has worked on the custom engineering team, specializing in BSP and driver development, and on the automotive team. He studied computer engineering at St. Lawrence College.
I'm wondering about the analogy between pharmaceutical development costs and medical devices. Namely, approval costs for drugs are a huge percentage of the go-to-market cost, often more than the research to develop the drug itself. I'm wondering if there's any kind of similar scenario with electronic medical systems. Perhaps it varies whether you're talking about consumer or professional. An ancillary consideration is potential liability. The latter might actually be the scariest, cost wise. Anyway, unique challenges in the medical sector and I'm wondering if in some sense this impedes engineers, putting more constraints upon the design process than in other market sectors.
Wow there is a lot to think about. And when it comes to medical liability, I'm sure being "different" is not a competitive advantage, but a huge liability when it comes to review and certification. I appreciate that the article does a great job of dealing with multi-core development to expand the capabilities of small devices. But what of the cloud? While we continue to push the speed and number of processors and cores in individual devices, I wonder how feasible it would be to deploy a cloud-centric system. One that utilized fairly simple biometric transducers, a color touch screen and a crazy-fast wired or wireless modem. Send the raw data to a well controlled, extremely-capable redundant cloud server within the building. Allow the cloud to processes and send the results back to the not-so smart device.
At least when it comes to certification, I suspect validation would be a bit simpler when adding new components and modules to the cloud server rather than needing to manage a heterogeneous collection of smart remote processing units.
The biggest challenge to medical innovation is the regulatory compliance and the challenge adds an exponent to it when it comes to software validation. This article is very important and relevant in the present scenario
Andrew Morris designed a circuit that could detect a stroke victim's groan and convert the sound into a signal so caregivers would know when help was needed.
New disc magnet motors fit into the design trend of stepping up to closed loop performance while maintaining the cost advantage of stepper motor technology.
At the Design News webinar on June 27, learn all about aluminum extrusion: designing the right shape so it costs the least, is simplest to manufacture, and best fits the application's structural requirements.
On April 21, NASA launched a novel project, putting into orbit three satellites that employ an off-the-shelf commercial smartphone as the control system.
From Dell / Intel® New Paradigms in Design Work Scott Hamilton, vertical market strategist for Dell Precision workstations, 5/2/2013 5
Early in my career, I worked as a draftsman and remember the days of drawing on vellum with numbered pencils and Mylar with plastic lead. This was a fun experience in the sense that I ...
I've been using workstations for more than 10 years and love finding ways to get more performance from my system. With demanding professional applications that require more power each ...
A lasting memory from my first job as an engineer in an auto assembly plant is standing on hard concrete at six in the morning, vending-machine coffee clutched in hand, listening to ...
For industrial control applications, or even a simple assembly line, that machine can go almost 24/7 without a break. But what happens when the task is a little more complex? That’s where the “smart” machine would come in. The smart machine is one that has some simple (or complex in some cases) processing capability to be able to adapt to changing conditions. Such machines are suited for a host of applications, including automotive, aerospace, defense, medical, computers and electronics, telecommunications, consumer goods, and so on. This radio show will show what’s possible with smart machines, and what tradeoffs need to be made to implement such a solution.
To save this item to your list of favorite Design News content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.