ABC Company Conference
Unsubscribe
Banner_VXW_Text

„Auf Veränderung zu hoffen, ohne selbst etwas zu tun,
ist wie am Bahnhof zu stehen und auf ein Schiff zu warten.“
(Unbekannt)

Newsletter im April 2019:

No-Brainer für die Projektarbeit: EC-LIB
- Es gibt keine fehlerfreie Software
- Vertrauen ist gut - Tracealyzer ist besser!
- Warum auf diese Vorteile verzichten?
- Mein Ziel ist es ...


Liebe Kundin, Lieber Kunde,


Im November Newsletter hatte ich Ihnen die neue EC-LIB von Eclipseina vorgestellt. Die EC-LIB ist eine überaus nützliche Ressource für Ihre tägliche Arbeit. Die modular aufgebaute Bibliothek besteht aus  optimierten Embedded C Softwarefunktionen. Die EC-LIB beinhaltet regelmäßig benötigte Funktionen und stellt diese als mathematisch und Code-mäßig optimierte Softwarebausteine zur Verfügung.

Der Wert der EC-LIB erschließt sich nicht auf den ersten Blick. Erst wenn der Entwickler realisiert, wie stark seine Arbeit durch triviale, aber einfach notwendige Funktionen abgelenkt und fehlgeleitet werden kann, wird klar, welche Zeit- und Ressourceneinsparung in der EC-LIB steckt.

Von mathematischen Grundfunktionen bis zu komplexen Algorithmen stellt die EC-LIB dem Entwickler eine Vielzahl von wichtigen Funktionen zur Verfügung, und hilft ihm so, sich besser auf die eigentliche Projekt- und Entwicklungsarbeit zu konzentrieren.




No-Brainer für die Projektarbeit: EC-LIB
Im Vergleich zum Nutzen, den die EC-LIB bietet, sind die Anschaffungskosten praktisch „ein No-Brainer“ – sie amortisieren sich in kürzester Zeit.

Um sich selbst ein umfassendes Bild von der EC-LIB zu machen, stand bisher nur eine eingeschränkte Test-Version zu Verfügung.

Ab sofort gibt es für Interessenten zwei Möglichkeiten, die Funktionenbibliothek EC-LIB vor dem Kauf zu testen.
 
Die DEMO-Version erreicht einen ersten Überblick über die EC-LIB. Sie bietet einen Einblick in die Funktionsweise und das Konzept der EC-LIB.  Die DEMO-Version steht ab sofort zum direkten Download unter ec-lib.com zur Verfügung (kostenfrei, ohne vorherige Registrierung).

Die Software beinhaltet eine Auswahl an Funktionalitäten (Multiplikation, Quadrat, Vergleiche), ist für den PC kompiliert und bietet insbesondere in Verbindung mit den verfügbaren Quick Guide Videos einen guten Einblick in die Nutzungsmöglichkeiten der EC-LIB.

Wer es genauer wissen möchte, der kann jetzt mit der neuen FREE-TRIAL Version den vollem Funktionsumfang der EC-LIB auf dem PC testen.

Die FREE TRIAL Version beinhaltet das uneingeschränkte Basic Package der EC-LIB. Es beinhaltet einen umfangreichen Satz an kombinierten Funktionen, mit denen Sie die Basis für eine schnelle Entwicklung Ihrer Software schaffen.

Mit den implementierten Filtern und Reglern, sowie Interpolationsroutinen lassen sich auch komplexere Funktionen schnell und einfach umsetzen.

Der Download erfolgt mit Registrierung (ebenfalls kostenfrei), zudem steht ein umfangreiches Handbuch zur Verfügung.

Mein Hinweis versteht sich von selbst, dass mit dieser Software an keinem kommerziellen Projekt gearbeitet werden darf – es dient ausschließlich dazu, Ihnen ein umfassendes Bild der EC-LIB zu verschaffen. Denn niemand kauft gerne die Katze im Sack.

Es sind die kleinen „Helferlein“, die einem in Summe den großen Sprung vorwärts ermöglichen. Die EC-LIB gehört ganz bestimmt dazu.




Es gibt keine fehlerfreie Software
Der Informatiker Edsger Dijkstra sagte einmal: "Software-Tests können nur das Vorhandensein von Fehlern beweisen, aber niemals deren Abwesenheit." Obwohl Entwickler ihre Software so gut wie möglich testen, können sie nicht nachweisen, dass im System keine Fehler mehr vorhanden sind.

Übersehene Fehler sind häufig - Jack Ganssle schreibt, dass etwa 95% aller während der Embedded Software-Entwicklung „eingebauten“ Fehler durch Tests auch gefunden werden. Das bedeutet aber, dass 5% aller Fehler nicht gefunden werden – diese schlummern dann immer noch in der Produktionsfirmware! Da selbst Top-Programmierer (Top 1%) immer noch etwa 11 Fehler pro KLOC (1000 Codezeilen) hinterlassen, sind 5% verbleibende Fehler von erheblicher Bedeutung.

Angenommen, eine 100 KLOC-Anwendung mit 20 Defekten pro KLOC und 5% der nicht gefundenen Fehler ergeben am Ende 100 Fehler in Ihrem ausgelieferten Produkt. Einige sind vielleicht harmlos oder es ist unwahrscheinlich, dass sie jemals Probleme verursachen, aber Sie wissen es einfach nicht

Ihr System scheint gut zu funktionieren, da die Fehler, die Sie nicht sehen, wahrscheinlich auf völlig unerwartete Szenarien und Grenzfälle zurückzuführen sind. 

Sobald das System jedoch großen Mengen realer Anwendungsfälle ausgesetzt ist, können diese Fehler alle möglichen Probleme verursachen

Ein bekanntes Beispiel ist die Mars PathFinder-Mission der NASA, die aufgrund eines Softwareproblems beinahe gescheitert wäre. In diesem Fall konnte das Problem mithilfe der Ferndiagnose- und Aktualisierungsfunktion tatsächlich analysiert und behoben werden.

Software ist omnipräsent. Welche Konsequenzen Software-Probleme haben können, wurde uns gerade dieser Tage erst an Hand der Boeing 737 Max 8 vor Augen geführt.



 



Vertrauen ist gut - Tracealyzer ist besser
Zu einem weiteren „großen Helferlein“ hat sich seit einigen Jahren der Tracealyzer von Percepio gemausert.

Auf den Punkt gebracht ist der Tracealyzer das führende Trace-Visualisierungstool für Entwickler von Embedded-Softwaresystemen auf RTOS- oder Linux-Basis. Übrigens, er unterstützt jetzt auch OpenVX-Embedded-Vision-Anwendungen.

Tracealyzer bietet einen beispiellosen Einblick in die Laufzeitwelt Ihres Embedded-Softwaresystems. Damit ist nun Schluss mit Vermutungen, blindem Vertrauen und dem Gottglauben, dass es schon gutgehen wird!

Mit dem Tracealyzer können Sie komplexe Softwareprobleme in einem Bruchteil der Zeit lösen, die Sie sonst benötigen würden. Der Tracealyzer ermöglicht ein robusteres Design und hilft zukünftige Probleme zu vermeiden. Er hilft Ihnen neue Wege zu finden um die Leistung Ihrer Software zu verbessern.

Bei der Entwicklung fortschrittlicher Multithread-Softwaresysteme reicht ein herkömmlicher Debugger oft nicht aus, um das Verhalten des integrierten Systems zu verstehen. Tracealyzer visualisiert das Laufzeitverhalten durch mehr als 30 innovative Ansichten, die die Debugger-Perspektive ergänzen. Die Ansichten sind auf intuitive Weise miteinander verbunden, wodurch sie sehr leistungsfähig und leicht zu navigieren sind.

Tracealyzer läuft auf Windows- und Linux-Hosts und ist für Zielsysteme verfügbar auf denen Linux, Amazon FreeRTOS, Arm Keil RTX5, Micrium µC / OS-III, Wittenstein OpenRTOS und SafeRTOS, ThreadX, Wind River VxWorks, On Time RTOS-32 und Quadros RTXC und Synopsys OpenVX-Vision-Anwendungen ausgeführt werden.










Warum auf diese Vorteile verzichten?
Tracealyzer kann sowohl im Streaming- als auch im Snapshot-Modus arbeiten. 

Der Streaming-Modus ermöglicht das Aufzeichnen langer Sessions, indem die Daten kontinuierlich an das Host-System übertragen werden, z.B. beim Verwenden einer unterstützten Debug-Probe oder einer Netzwerkverbindung. Streaming-Traces können Stunden, Tage oder sogar Wochen umfassen – es gibt keine zeitliche Grenze.

Im Snapshot-Modus werden Trace-Daten in einem RAM-Puffer im Zielsystem gespeichert, aus dem jederzeit ein Trace-Snapshot hochgeladen und angezeigt werden kann. Snapshot-Traces sind durch die für den Trace-Puffer verfügbare RAM-Kapazität begrenzt, können jedoch auf praktisch allen Systemen verwendet werden. Im Snapshot-Modus benötigt Tracealyzer keine spezielle Debug-Hardware und kann daher im bereitgestellten Betrieb verwendet werden. Einige Kunden halten Tracing sogar in ihren Release-Builds aktiv, wodurch sie eine wertvolle Post-Mortem-Diagnose erhalten können.

Schnellere Fehlerbehebung: Mit Tracealyzer kann der Entwickler seltene, sporadische Fehler erfassen, deren Wiedergabe und Analyse sehr schwierig sein kann. Viele Probleme können in einem Bruchteil der sonst erforderlichen Zeit gelöst werden.

Höhere Software Qualität: Tracealyzer ist nicht nur ein „Feuerlöscher“, der bei bestimmten Problemen zum Einsatz kommt. Erkennen und vermeiden Sie mögliche zukünftige Probleme, z. B. ineffizientes Design oder Blockieren von Systemaufrufen, die kurz vor einem Timeout liegen. Beim Entwerfen neuer Funktionen können Sie ungeeignete Konstruktionen vermeiden, die Probleme in Bezug auf Timing, CPU-Auslastung, Speicherzuordnung, Zeitplanung oder andere Aufgabeninteraktionen verursachen können.

Bessere System Leistung: Finden Sie neue Wege zur Verbesserung der Softwareleistung. Es kann Hotspots im Verhalten Ihrer Software geben, an denen kleine Änderungen zu erheblichen Leistungsverbesserungen führen.

Control System Optimierung: Control System Entwickler profitieren vom Plotten benutzerdefinierter Anwendungsdaten. Zeichnen Sie Ihre Inputs, Outputs und Intervalldaten entsprechend dem Task-Scheduling auf, um besser zu verstehen, wie sich Ihr Software-Timing auf die Steuerungsleistung auswirkt.

Noch mehr Vorteile: Tracealyzer kann dazu beitragen, neue Entwickler schneller produktiv zu machen und die Leistung von Software von Drittanbietern wie Treiber oder Kommunikations-Stacks zu bewerten. Da Percepio eine Reihe gängiger Betriebssysteme für Embedded Software unterstützt, ist die Wahrscheinlichkeit groß, dass Sie Tracealyzer auch dann verwenden können, wenn Sie das Betriebssystem wechseln sollten.

Tracealyzer bietet mehr als 30 grafische Ansichten des Laufzeitverhaltens Ihrer Anwendung, ein Arsenal von Perspektiven, mit dem Sie relevante Teile des Trace schnell finden können. Ansichten können bezüglich Bildlauf, Zoomen und Filtern synchronisiert werden. Dies kann auf viele Arten vom Entwickler angepasst werden.



Mein Ziel ist es ...
Mein Ziel ist es, Ihnen Werkzeuge an die Hand zu geben, die Ihre Arbeit leichter und die Ergebnisse besser machen. Nur unter diesem Aspekt suchen wir Produkte aus, die es wert sind, in unser Portfolio aufgenommen zu werden. 

Heute konnte ich Ihnen zwei sehr nutzenbringende Werkzeuge vorstellen, die EC-LIB von Eclipseina und den Tracealyzer von Percepio. Beide Tools können Sie jederzeit unverbindlich auf Eignung für Ihre Projektumgebung testen. Ich kann allerdings nicht mehr tun, als Ihnen diese Möglichkeit aufzuzeigen. Der Ball ist nun bei Ihnen.


Herzlichst,  Ihr
Marian A. Wosnitza



„Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug zu wollen. Man muss es auch tun.
(Unbekannt)