Tech Focus: Making embedded software safer
HIGHLIGHTS
Verifying certified software: making the most of the tools you have
Using static code analysis to support DO-178b certification
Seventeen steps to safer C code
Editor's Note
There are a number of classes on safety-critical embedded systems design at the ESC in Boston, Sept. 26-29 you should consider attending, They include:
Designing embedded systems that do not damage humans (ESC-107)
Strategies for safety-critical software development (ESC-303)
Agility development of safety critical systems (ESC-312)
Complying with FDA medical device regulations (DM-303)
Software separation for safe medical devices (DM-305 )
A guide to critical software certification (ESC-409)
Why attend? Two reasons. In today's uncertain economy, the embedded design markets that require rigorous attention to reliability and safety are also less sensitive to market shifts: military/aerospace, medical and automotive. Becoming an expert on safety-critical embedded systems may guarantee you a paycheck. Secondly, with embedded devices so pervasive in our lives, their reliability and safety will continue to become more important. While focused attention to safe operation may not be important to every design, learning the principles and applying them may be critical to your project's success in the marketplace.
Here are some recent Embedded.com articles, white papers and webinars on safety-critical design, of which my Editor's Top Picks are:
Verifying certified software
Seventeen steps to safer C code
Architecture of safety-critical systems
Also, be sure to read Michael Barr's newest column: "Five dangerous coding standard rules."
Design How-Tos
Verifying certified software: making the most of the tools you have
An examination of the Software Code Standard and Structural Coverage Analysis requirements of the DO-178B standard, and an evaluation of some techniques useful in meeting the needs of safety-critical software development,
Using static code analysis to support DO-178b certification
In this Product How-To, Paul Anderson of GrammaTech takes you step by step through how to use his company's static analysis tools to support the safety-critical software requirements of the DO-178B standard.
Building in RTOS support for safety- & security-critical systems
In this Product How-To, LynuxWorks' Will Keegan explain the differences between safety-critical and security-critical applications and how to use the company's two independent RTOSes – LynxOS-178 and LynxSecure – to meet the demanding requirements of each.
Seventeen steps to safer C code
Here are 17 tips for writing safety-critical C code using methods adapted from C++ and Ada.
Applying Bayesian belief networks to fault tree analysis of safety critical software
Using a Bayesian Belief Network to express the fault tree allows both hard and soft evidence to be used in safety critical software analysis in a quantifiable way with the results usable in a larger model that expresses a full, quantified safety case for a design.
Challenges of safety-critical multi-core systems
In this article, the challenges involved in migration to multi-core processor architectures are reviewed in the context of the particular ones related to their use in safety-critical systems.
Build Safety-Critical Designs with UML-based Fault Tree Analysis - The basics
This three part series describes use of Fault Tree Analysis (FTA) in safety-critical design, taking advantage of UML profiling to create a safety analysis profile, including the definition of its normative metamodel. Part 1: The basics of safety & capturing of fault metadata for analysis.
Is it time for another look at how we build safety-critical embedded systems?
This article discusses the repercussions of embedded software failure within such industrial segments as automotive, medical and mil/aero, looks at examples of erroneous code to look out for when looking for defects, and the different initiatives that drive software safety benchmarks such as DO-178B, FDA, and MISRA.
Safety-critical design for secure systems
Robert B. K. Dewar of Adacore surveys specialized languages and tools, rigorously controlled testing, and the use of formal methods needed for safety- critical designs and explains their use to build error-free software systems
Architecture of safety-critical systems
It's one thing to know your system is safety-critical; it's another to know how to deal with it. The author explains how to evaluate errors, categorize them, and safely handle them when they happen.
Five steps to creating reliable medical devices
Ravi Patel describes a holistic approach to the systems engineering and software development of a medical device.
ESC Boston 2011 Tracks
System Integration & Test Integrating hardware with software, developing test strategies, managing and executing system test. Track Chair: Bruce Douglass, Chief Evangelist, IBM
Linux, Android, Open-Source Evaluating, understanding and using Embedded Linux, the Android platform and other open-source software. Track Chair: Bill Gatliff, Freelance Consultant
Real-Time Systems Fundamental real-time concepts, selecting and understanding an RTOS, developing and verifying real-time systems. Track Chair: Dave Stewart, Director of Software Engineering, InHand Electronics, Inc.
Project Management Development methodologies, traceable design, developing and managing requirements, agile development, build and change management and other aspects of making a project succeed. Track Chair: Rob Oshana, Director, SW R&D, Networking & Multimedia Group, Freescale
Multicore Understanding, evaluating and programming multiple-processor systems. Track Chair: Robert Cravotta, Principal Analyst, Embedded Insights
Networking & Connectivity Understanding and implementing Internet connections into embedded systems, networks within embedded systems and interfaces such as USB and PCI Express. Track Chair: Christian Legare, Vice President, Micrium
Safety & Security All aspects of developing and testing systems that must be safe to deploy in life-critical applications, and systems that are secure against malicious attacks. Track Chair: Mark Kraeling, Product Manager, GE Transportation
FPGAs in Embedded Systems FPGAs as alternatives to microcontrollers, as signal-processing units, as configurable accelerators, or just as a way of implementing an interface: Selection, design and verification. Understanding and using the FPGA tool chain and how it differs from software development tools. Employing CPUs inside or beside FPGAs. Track Chair: Mike Santarini, Publisher / Sr. Manager Xcell Journal & Editorial Services, Xilinx
Prototyping Embedded Systems Model-based prototyping, use of simulation, selection and use of development kits, FPGAs as prototyping aids. Track Chair: RC Cofer, FAE, Avnet
Microcontrollers & SoCs Understanding, selecting and programming microcontrollers; Sorting out the ARM architectures; Peripheral and memory issues in MCUs and SoCs, evaluating an application-specific standard product SoC for a project. Track Chair: Mark Kraeling, Product Manager, GE Transportation
Embedded I/O Systems Storage, display and input devices for embedded systems. Track Chair: Larry Mittag, Lead Consultant, Mittag Enterprises
Software Engineering Reviewing programming fundamentals, building programming skills, software architectures, optimization and best practices. Track Chair: Niall Cooling, Director, Feabhas Ltd.
Low-Power Design Hardware and software issues in low-power design. Accurate power estimation and measurement. Track Chair: John Donovan, Editor/Publisher, Low-Power Design (www.low-powerdesign.com)
Military/Aerospace Design Hardware, software and methodology practices for military and aerospace applications. Use of these techniques in other application areas. Track Chair: Dave Stewart, Director of Software Engineering, InHand Electronics, Inc.
Products
QA·C 8.0 deep-flow analysis improves code checking for safety-critical apps
Phaedrus Systems now supplies the new release of the QA·C code analysis tool from Programming Research. QA·C 8.0 uses sophisticated technology to go beyond static code analysis by performing deep-flow dataflow analysis.
DDC-I's Safety-Critical RTOS now available for Intel's Atom CPU
Company believes DEOS support will open up many military/aerospace applications for the Atom architecture
GrammaTech streamlines ISO 26262 compliance for functional safety in automotive industry
GrammaTech, Inc. has announced the release of supplementary documentation to its CodeSonar static-analysis tool that details how static analysis can be used to support an organization's ISO 26262 initiatives. The International Organization for Standardization (ISO) Draft International Standard (DIS) 26262, titled "Road vehicles -- Functional safety," is a Functional Safety standard that is currently in the final draft. This standard is an adaptation of the Functional Safety standard IEC 61508 for Automotive Electric/Electronic Systems.
|