Anzeige

Komplexität beim embedded Software Design


Concurrency Checking

Das Programmieren von Multithreaded Anwendungen ist äußerst komplex und ermöglicht aufgrund der geteilten Daten schwer auffindbare Fehler. Der Trend zu Multicore Chip Design verlangt Multithreaded Software, um die Vorteile von moderner Hardware auszuschöpfen. Moderne statische Analyselösungen sprechen Concurrency Probleme in C und C++ Programmen an, aber speziell für Java gibt es bislang keine umfassende Lösung. Dabei wird Java als dritt-populärste Sprache für embedded Systeme heute von 28% der embedded Entwickler genutzt. Programmierer, die ihren Code nicht erfolgreich vor Fehlern wie Race Conditions und Deadlocks in C/C++ und Java schützen, werden unweigerlich mit Produktausfällen konfrontiert. Als Beispiel zeigt der Code in Bild 4 eine Unstimmigkeit bei den Methoden, wie eine Klasse ein Feld anspricht. Bei manchen Klassen sind die Zugänge synchronisiert, bei anderen nicht. Diese Fehlerart ist einfach zu übersehen, kann aber zu mysteriösen Symptomen führen, die schwer zu reproduzieren und festzustellen sind.

Tiefgreifende Analyse

C und C++, die gängigsten Sprachen für embedded Anwendungen, sind aufgrund einiger eigener Unzulänglichkeiten sehr anfällig für gefährliche Fehler. Trifft diese Eigenschaft auf eine steigende Vielfalt an Kombinationen aus Ziel-Hardware/-Firmware, kann das zu unberechenbarem Verhalten führen. Der Schlüssel für die Fehlerbehebung im Code ist die Auswahl eines Tools, das tief in die Codebasis eindringt und zugleich eine niedrige False-Positive Rate erzielt. Tools, die mit Hilfe eines einheitlichen Datenflusses und der symbolischen Ausführungsanalyse ein gesamtes Programm untersuchen, finden mehr potenzielle Fehler und Schwachstellen. Sie ermöglichen die Auslieferung von qualitativ höherwertigerer Software. Zudem sind Teams mit einem Tool mit modernen Darstellungsmöglichkeiten für Fehler wie z.B. Visualisierung besser gerüstet, um das genaue Code-Verhalten in ihren embedded Anwendungen nachzuvollziehen. Weil der Preis eines Fehlers bei embedded Geräten so hoch sein kann, sind Entwicklerteams historische ‚Early-Adopter‘ von modernen Lösungen zur Codeanalyse. Wegen der steigenden Anforderungen der embedded Industrie brauchen Entwickler diese automatisierten Analysetools dringender als zuvor, als Voraussetzung für einen erfolgreichen Job. Nur mit den fortschrittlichsten statischen Analysetools können sie die Herausforderungen durch neue regulatorische Normen erfüllen, die Auswirkungen durch sich explosionsartig vermehrenden Drittanbieter-Code verringern, und die allgegenwärtigen vernetzten Geräte und Multicore Prozessoren managen.

Empfehlungen der Redaktion

Das könnte Sie auch interessieren

Model Engineering Solutions startet die diesjährige Webinar-Reihe mit dem Thema ISO in zehn Schritten. Im einstündigen Webinar erfahren Sie, wie Sie einen ISO-konformen Software-Entwicklungsprozess erlangen. ‣ weiterlesen

Anzeige

Der Industrieverband AIM-D und die nanotron Technologies GmbH haben am 7. September 2012 den neuen AIM-Arbeitskreis RTLS für Echtzeit-Lokalisierungssysteme (RTLS) im Deutschen Institut für Normung (DIN) in Berlin gestartet. Die Leitung des Arbeitskreises übernimmt Dr. Jens Albers, CEO von nanotron Technologies. ‣ weiterlesen

Anzeige

Der Industrieverband AIM-D und die nanotron Technologies GmbH starten am 7. September 2012 den neuen AIM-Arbeitskreis RTLS für Echtzeit-Lokalisierungssysteme im Deutschen Institut für Normung (DIN) in Berlin.  ‣ weiterlesen

Wind River hat das Open Virtualization Profile entwickelt und bietet damit Open-Source Echtzeit-Kernel-Virtualisierungstechnologien für Telekommunikationsequipment sowie für NFV (Network Functions Virtualization) und Cloud-Weiterentwicklungen an. Dabei handelt es sich um ein High Value Add-on Software-Profil für Wind River Linux. ‣ weiterlesen

Altium Limited hat für Anwender von Altium Designer einen PCB Design Content mit Unterstützung für die Human Machine Interface-Lösungen (HMI) der FT800-Familie von FTDI vorgestellt. Die Familie mit Embedded-Video-Engine-Technik (EVE) vereint Display-, Audio- und Touch-Funktionen auf einem Chip. ‣ weiterlesen

Mentor Graphics hat die Autosar-Aktivitäten einschließlich der Autosar-Entwicklungsumgebung Mecel Picea von Mecel AB erworben. Das hat Metor Graphics am 12. Februar 2014 mitgeteilt. Durch die Übernahme baut das Unternehmen sein bestehendes Lösungsangebot an Automobilsoftware weiter aus. ‣ weiterlesen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige