Embedded Software Manager Pattern – Teil 2: Die Manager und ihre Funktionalitäten

Jede Embedded-Software muss in der Praxis eine Vielzahl von verteilten und zentral koordinierten Aufgaben ausführen. Software Patterns stellen dabei nicht nur die konzeptionelle Integrität sicher, sondern ermöglichen auch die Skalierbarkeit über verschiedene Projekte hinweg. Im zweiten Teil unserer Beitragsreihe rücken wir die Manager mit ihren vielfältigen Funktionen in den Fokus.

Embedded Software Manager Pattern – Teil 2: Die Manager und ihre Funktionalitäten weiterlesen

Embedded Software Manager Pattern – Teil 1: Zentrale Aufgaben skalierbar in der Software etablieren

(Embedded-) Software muss verschiedene zentrale Aufgaben softwareweit koordinieren. Das klassische Beispiel dafür ist die Initialisierung, die auf allen Ebenen der Software stattfinden muss. Bei genauerer Betrachtung lassen sich produktabhängig viele weitere dieser softwareweiten Aktionen identifizieren. Im Teil 1 dieses Beitrags stellen wir das Manager Pattern für die Koordination dieser Aufgaben in der Software vor. Embedded Software Manager Pattern – Teil 1: Zentrale Aufgaben skalierbar in der Software etablieren weiterlesen

Embedded Software Manager Pattern: Zentrale Aufgaben skalierbar in der Software etablieren

MicroConsult-Trainer Thomas Batt widmet seinen Vortrag auf dem ESE Kongress 2023 der Anwendung des Embedded Software Manager Patterns. Jetzt anmelden und Early-Bird-Ticket sichern!

Embedded Software Manager Pattern: Zentrale Aufgaben skalierbar in der Software etablieren weiterlesen

C++ Programmierung: Dynamische oder statische Polymorphie?

Mit steigender Komplexität von Embedded-Software erlangt die Erfüllung von Qualitätsmerkmalen, wie Änderbarkeit, Erweiterbarkeit, Anpassbarkeit und Wiederverwendbarkeit, eine immer größere Bedeutung. Ein wichtiges Mittel, um diese Software-Qualitätsanforderungen zu erfüllen, ist die Anwendung von polymorphen Strukturen in der Architektur, im Design und in der Implementierung. Die Softwareentwicklung unterscheidet dynamische und statische Polymorphie. 

C++ Programmierung: Dynamische oder statische Polymorphie? weiterlesen

Dynamische versus statische Polymorphie mit C++

In seinem Vortrag auf dem ESE Kongress 2022 stellt MicroConsult-Trainer Thomas Batt Implementierungsansätze für Polymorphie mit C++ vor und vergleicht sie in Bezug auf Performance und Speicherverbrauch auf einem Embedded-Target. Jetzt anmelden!

Dynamische versus statische Polymorphie mit C++ weiterlesen

Port-Designs und ihre Implementierung

In seinem Vortrag auf dem ESE Kongress digital 2021 stellt MicroConsult-Trainer Thomas Batt Interface-Konzepte vor und zeigt Implementierungsansätze in C und C++. Jetzt anmelden und Early-Bird-Ticket sichern!

Port-Designs und ihre Implementierung weiterlesen

Interface-Designs und ihre Implementierungen – Teil 2: Realisierung und Zugriff

Der Einsatz von Software-Interfaces ist ein elementares Mittel zur Entwicklung von langlebigen und tragfähigen Software-Architekturen. Deshalb sollten sie so früh wie möglich in der Architektur etabliert werden, um diese zu stabilisieren. Der Software-Architekt kann so eine schnelle Aufgabenverteilung auf unabhängige Personen, Teams oder Standorte ohne weitere „Reibungsverluste“ sicherstellen.

Welche Varianten der Architekt beim Interface-Design kennen sollte und wie diese in den Programmiersprachen C und C++ implementierbar sind, verrät dieser Beitrag in seinem zweiten Teil – er zeigt Implementierungsansätze durch Assoziation, Komposition, Fassade, virtuelle Interfaces, nicht-virtuelle Interfaces, C++ Templates und CRTP-Pattern auf.

Interface-Designs und ihre Implementierungen – Teil 2: Realisierung und Zugriff weiterlesen

Interface-Designs und ihre Implementierungen – Teil 1: Struktur und Definition

Der Einsatz von Software-Interfaces ist ein elementares Mittel zur Entwicklung von langlebigen und tragfähigen Software-Architekturen. Deshalb sollten sie so früh wie möglich in der Architektur etabliert werden, um diese zu stabilisieren. Der Software-Architekt kann so eine schnelle Aufgabenverteilung auf unabhängige Personen, Teams oder Standorte ohne weitere „Reibungsverluste“ sicherstellen.

Welche Varianten Sie beim Interface-Design kennen sollten und wie diese in den Programmiersprachen C und C++ implementierbar sind, verrät dieser Beitrag. Der erste Teil stellt Interface-Konzepte und unterschiedliche Interface-Typen vor.

Interface-Designs und ihre Implementierungen – Teil 1: Struktur und Definition weiterlesen

Interface-Designs und ihre Implementierung

In seinem Vortrag auf dem in diesem Jahr virtuellem ESE Kongress 2020 stellt MicroConsult-Trainer Thomas Batt Interface-Konzepte vor und zeigt Implementierungsansätze in C und C++. Jetzt anmelden und Early-Bird-Ticket sichern!

Interface-Designs und ihre Implementierung weiterlesen

Objektorientiertes Testen von Embedded-Software

Die Einführung von C++ in ein Embedded-Projekt ist für die meisten Teams eine große Herausforderung. Unterschätzt man den Aufwand, verzögert sich dadurch unter Umständen die ganze Entwicklung. Und jetzt soll die C++ Software mit zusätzlichen komplexen Tests noch auf Sicherheit hin geprüft werden?

Lässt sich denn Qualität überhaupt in eine C++ Software hineintesten?

Objektorientiertes Testen von Embedded-Software weiterlesen