Design West 2012, aka Embedded Systems Conference, is host to a flood of new software and development tool announcements. Here are a couple of the more interesting ones. Some of these are also covered on Engineering TV.
Static analysis tools from a number of vendors like LDRA's TBManager and GrammaTech's CodeSonar were on display. LDRA's TBmanager (Fig. 1) is the test management and traceability component that is part of a larger LDRA tool suite. It is now integrated with Visure Solutions' IRQA requirements engineering tool. The combination is designed for applications where process-oriented standards like DO-178C and ISO 26262 mandate that all source code and validation tests be traceable. It eliminates tedious, error-prone manual methods such as copying information into word processing or spreadsheet files.
TBmanager handles the static code analysis and testing while IRQA tracks the results. IRQA includes a requirements analyzer where each requirement is given a quality rating. This lets developers to avoid weaknesses such as ambiguous words, conditional sentences, overlapping requirements, inconsistent use of units, and legibility.
LDRA's tools are used by LDRA Certification Services (LCS). The new division of LDRA targets developers that need to create safety-critical software that may need to meet FAA/EASA certifications. LCS provides comprehensive support including overseeing and guiding certification applicants through a wide-range of aviation standards such as Aircraft & Systems Development (ARP-4754A), Flight Software (DO-178B/C) andGround Systems (DO-278/A).
GrammaTech's CodeSonar (Fig. 2) also targets static analysis chores for C and C++ developers. The latest incarnation provides major improvements in graphical presentation of program code providing developers with insight to the structure and operation of the code. It provides visualization of call-graphs, include hierarchies, inheritance information and user-provided data. It can present information in a wide variety of format such as trees, maps, clusters and many more formats. It is possible to drill down and examine information in the more useful form depending upon the kind of analysis being performed.
The system supports team annotations and it is possible to share analysis information among the team. The system is designed to handle large applications with more than 10 million lines of code by taking advantage of GPUs.
Adacore's GNAT Pro 7.0 is an Eclipse-based IDE designed to support Ada among other programming languages. It can also take advantage of Adacore's CodePeer 2.1 which provides support for automated core reviews and validation.
What I wanted to focus on though is Adacore's support for the forthcoming Ada 2012 standard that updates the Ada 2005 standard. Ada 2005 added object oriented support. Ada 2012 addresses safety and security by incorporating contracts. Contracts have been used in a number of languages or extensions including SPARK that is built on Ada. The big difference between SPARK and Ada 2012 is that the contracts are not hidden in comments but are part of the language.
As you might expect, Ada continues to be important in aviation and military applications but look for it in other areas such as rail and automotive in the future as safety and security become more formalized and required. The latest tracability support by Adacore with its tools is designed to address standards like DO-178B. They were not telling who the latest user of this support was but they were able to utilize a deterministic subset of Ada to meet DO-178B Level A's 100% source code coverage requirement. It also did so by cutting the amount of code to check by a factor of 7.
IAR is well known for their development tools like IAR Embedded Workbench (Fig. 3). The latest incarnation supports power debugging (see Power Debugger Finds Hot Spots). Power debugging takes advantage of the diagnostics available to developers using IAR's JTAG interfaces and developments for a number of ARM-based platforms.
The I-jet (Fig. 4) is IAR's is a low-cost ($299), USB-based JTAG debug probe. It handles ARM7, ARM9, ARM11, ARM Cortex-M series, ARM Cortex-R4 and ARM Cortex-A5/A8/A9 cores. The USB 2.0 interface supports download speeds up to 1 Mbyte/s, Serial Wire Debug (SWB) speeds up to 35 MHz and Serial Wire Output (SWO) up to 100 MHz. The I-jet can provide limited power to the board under test.
These are just the tip of the iceberg from San Jose. Check out the rest of our show coverage for the latest technology.