Multithreaded-Embedded-Code

5 Tipps gegen die »dunkle Seite« von Software

7. Juni 2021, 6:00 Uhr | Von Dr. Johan Kraft
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

3. Softwareentwicklung verbessern

Einige Entwicklungsprojekte geraten in eine Art »Debugging-Hölle«, ein häufiges Szenario, in welchem ein massiver Debugging-Aufwand zum Bremsklotz für das gesamte Projekt wird. Oft tragen Abweichungen von bewährten Praktiken bei der Softwareentwicklung und bei der RTOS-Applikationsentwicklung wesentlich hierzu bei. Beispiele sind ungeeignete Task-Prioritäten, starke Schwankungen beim Timing der Software und übermäßig viele Abhängigkeiten zwischen den Tasks. Derartige Probleme können zu einem komplexen und chaotischen Systemverhalten mit unzureichender Prüfbarkeit führen, was wiederum das Risiko für schwer greifbare Bugs erhöht, die sich, bis in die fertigen Produkte hinein, einer Aufdeckung entziehen.

passend zum Thema

Die visuelle Trace-Diagnose hilft den Entwicklern, die Softwarestruktur zu analysieren und zu verbessern sowie ein stabiles, zuverlässiges Systemverhalten zu gewährleisten. Werden Fehler in der Struktur der Software frühzeitiger erkannt, sind zu ihrer Behebung weniger Änderungen nötig und das Risiko für Fehler in den ausgelieferten Produkten wird geringer. Überdies können Verbesserungen an der Softwarestruktur auch die Leistungsfähigkeit und Reaktionsschnelligkeit des Systems entscheidend verbessern. Dies wiederum kann es erlauben, kostengünstigere Prozessoren zu wählen, um die Materialkosten zu senken oder durch Absenken der Taktfrequenz die Leistungsaufnahme zu reduzieren.

4. Timing und Leistung während des gesamten Projekts verifizieren

Am besten messen Entwickler die Timing- und Leistungsparameter so früh wie möglich, damit sich etwaige Probleme noch vor der Auslieferung beheben lassen. Dies ist von entscheidender Bedeutung für Echtzeitsysteme mit expliziten Timing-Vorgaben, aber auch für die Nutzererfahrung anderer Applikationen. Schließlich möchte niemand eine schleppend reagierende Touch-Bedienoberfläche oder einen langsamen Datentransfer per WLAN haben. Die Ursachen hierfür sind aber aus dem Quellcode häufig nicht ersichtlich und der Umstieg auf einen leistungsfähigeren Prozessor hilft nicht unbedingt, wenn die eigentliche Ursache in der Softwarestruktur liegt.

Die visuelle Trace-Diagnose macht es einfach, die Ursachen von Anomalien aufzuzeigen und die Timing-Eigenschaften, die Speicherbelegung und die CPU-Auslastung der Software zu messen. Leichtere Einhaltung der Echtzeitvorgaben, bessere Leistung der Applikation und höhere Kundenzufriedenheit sind nur ein paar Beispiele für die Vorteile dieser Vorgehensweise.

5. Breiten Zugang zu Diagnosefunktionen sichern

Die visuelle Trace-Diagnose kommt ohne zusätzliche Hardware aus, denn sie stützt sich nur auf Softwareintegration und die existierende Hardware. Dies macht es möglich, sie standardmäßig in das Softwaresystem zu integrieren, sodass sie von den Entwicklern während der gesamten Entwicklungs-, Test- und Freigabephase genutzt werden kann. Wenn die Diagnosefunktionen immer verfügbar sind, sobald ein Problem auftaucht, können alle Entwickler jeden Tag davon profitieren. Aufgezeichnet werden alle Informationen, die für die Applikation relevant sind – darunter auch interne Daten und Zustände, die zur Laufzeit nicht nach außen gelangen. Außerdem lassen sich alle gewünschten Datendiagramme parallel zur visuellen Verarbeitungszeitleiste anzeigen, um ein optimales, wettbewerbsfähiges Produkt zu entwickeln.

 

Der Autor

 

 

 

Dr. Johan Kraft von Percepio
Dr. Johan Kraft von Percepio.
© Percepio

Dr. Johan Kraft

ist CEO und Gründer von Percepio. Er ist der ursprüngliche Entwickler von Percepio Tracealyzer, einem Werkzeug zur visuellen Trace-Diagnose, das einen tiefen Einblick in Laufzeitsysteme bietet. In seiner akademischen Forschung, die in Zusammenarbeit mit der Industrie erfolgte, konzentrierte sich Dr. Kraft auf die Timing-Analyse von eingebetteter Software. Vor der Gründung von Percepio im Jahr 2009 war Dr. Kraft bei ABB Robotics in der Entwicklung eingebetteter Software tätig. Er verfügt über einen Doktortitel in Informatik.

johan.kraft@percepio.com


  1. 5 Tipps gegen die »dunkle Seite« von Software
  2. 3. Softwareentwicklung verbessern

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Percepio AB

Weitere Artikel zu Betriebssysteme

Weitere Artikel zu Soft-SPS/Programmier-undRuntime

Weitere Artikel zu Cyber-Security

Weitere Artikel zu Rechnergestützte Messtechnik