Ein Angebot von

Wie nutzt man programmierbare Logik bei der Entwicklung von Applikations-Software?

Wie nutzt man programmierbare Logik bei der Entwicklung von Applikations-Software?

Der Einsatz von FPGAs und programmierbarer SoCs bietet großes Potential, um die Leistung darauf basierender Anwendungs-Software signifikant zu beschleunigen. Es kommt nur auf den Einsatz der richtigen Toolchains und Bibliotheken an. lesen

Software-Design für gute Codequalität

Software-Design für gute Codequalität

Guter Code ist Code, der offensichtlich korrekt ist. Offensichtlich korrekter Code ist einfach lesbar, einfach zu warten und einfach überprüfbar. Wie erstellt man also guten Code? lesen

Lesbarkeit von Quellcode erhöhen

Lesbarkeit von Quellcode erhöhen

Nach der strukturierten Analyse eines Software-Auftrags geht es an die strukturierte Programmierung. Dabei handelt es sich nicht um das gleichnamige Programmier-Paradigma, sondern um die Struktur des Quelltextes an sich. Das kann in jeder Programmiersprache umgesetzt werden und bietet einige Vorteile. lesen

RISC-V für den Industriemarkt

RISC-V für den Industriemarkt

Der Industriemarkt bringt viele Anforderungen mit sich, die es in anderen vertikalen Märkten nicht gibt. Wenn es um Prozessoren für das Industriesegment geht, schlägt Microsemi für ein entsprechendes System nicht einen speziellen Prozessor vor. Statt dessen bietet die neue, feste Befehlssatzarchitektur (ISA) in diesem Segment einige Vorzüge. lesen

Queuing – Warteschlangentheorie für Embedded-Software

Queuing – Warteschlangentheorie für Embedded-Software

Entwickler von Embedded-Systemen müssen beim Systementwurf oft die maximale Anzahl an Messages ermitteln, die in einer Message Queue auflaufen können. Viele RTOS benötigen diese Information, um eine Queue zu erzeugen. Besonders wenn es um „harte“ Echtzeitsysteme geht, gilt es, sich auch mit Queuing-Verzögerungen auseinanderzusetzen, lesen

Systemarchitekturen für sicherheitskritische Systeme

Systemarchitekturen für sicherheitskritische Systeme

Vernünftige Systemarchitekturen für sicherheitskritische Systeme (Safety Critical Systems) sind unbezahlbar - dienen sie doch dazu, Menschenleben zu schützen. Eine Risikoeinschätzung und ein vernünftiges Grunddesign sind hier essentiell, denn auch alltägliche Systeme können sicherheitskritisch sein. lesen

Modellbasiertes Vorgehen bei Echtzeitanforderungen

Modellbasiertes Vorgehen bei Echtzeitanforderungen

Beim Embedded Software Engineering gehören Zeitanforderungen zu den wichtigsten nicht-funktionalen Anforderungen. Deshalb gibt es spezialisierte Werkzeuge, die das Zeitverhalten eines realisierten Embedded Software Systems analysieren und validieren können. lesen

Mit dem Flugzeug zum Nachbarn, mit dem Fahrrad nach New York

Mit dem Flugzeug zum Nachbarn, mit dem Fahrrad nach New York

Ja, das hört sich idiotisch an. Aber, weil wir beide Vorgehen sehr gut kennen und Aufwand und Nutzen genau abschätzen können. Anders sähe es aus, wenn wir uns für den Einsatz einer Fortbewegungsmethode entscheiden sollten, die einem Paradigmenwechsel entspricht, mit dem wir keinerlei Erfahrung haben. Und damit sind wir beim eigentlichen Dilemma angelangt. lesen

Dynamische Softwarearchitektur für eingebettete Systeme

Systembeschreibung

Dynamische Softwarearchitektur für eingebettete Systeme

Mit der UML und den Erweiterungen SysML und MARTE lässt sich die statische Architektur einer Software grundsätzlich gut beschreiben. Ein Problem stellt aber die Dynamik des Systems dar. Insbesondere das Zusammenspiel zwischen der Hardware, dem Speichermodell, dem Betriebssystem und der Anwendungssoftware kann nur unzureichend strukturiert und beschrieben werden. lesen

Architekturprüfung für UML-Modelle

Modellbasiertes Software Engineering

Architekturprüfung für UML-Modelle

Die Versprechungen der UML-Modellierung mit anschließender Codegenerierung sind signifikant höhere Wartbarkeit, Fehlerfreiheit und Flexibilität im Vergleich zur manuellen Codierung. Damit muss man das UML-Modell so behandeln, als ob es die Stelle von Code einnähme, und es vor Software-Erosion und Implementierungsfehlern schützen. lesen