Gastreferent: Roelof Berg (Berg Solutions)
Die Entwicklung von Embedded Software wird von Jahr zu Jahr herausfordernder. Immer mehr Gerätevarianten mit immer größerem Funktionsumfang müssen in immer kürzeren Zyklen produziert werden. Die Anforderungen an Fehlerfreiheit und Konfigurierbarkeit steigen dabei permanent, und immer mehr legacy code muss bei ständigen Anpassungen vor Softwareerosion geschützt werden. Dabei ist die größte Gefahr, dass ein Entwicklerteam in einen Modus des permanenten Reagierens kommt, dass das Team keine Freiräume mehr für proaktive Methodeninnovation hat. Spätestens dann galoppieren die Wettbewerber davon.
Und genau das sind traumhafte Bedingungen für Deutsche Software-Wertarbeit ! Denn im Umkehrschluss bedeutet es, das sich Unternehmen, die Softwareentwicklung auf höchstem Niveau betreiben, leicht an die Spitze setzen können. In einer Zeit, in der USPs vor allem durch Embedded Software generiert werden, in der das Internet der Dinge ein nie dagewesenes Innovationspotenzial eröffnet, wird Investition in modernste Embedded Software zum zentralen Schlüssel für den Gesamt-Unternehmenserfolg.
Roelof Berg, im Hauptberuf Softwarearchitekt für Medizingeräte, gibt einen Überblick über die derzeit wichtigsten Trends in der Objektorientierten Embedded Software. Damit verkürzen sich Aufgaben, die früher mehrere Tage Zeit benötigten auf wenige Stunden. Zu folgenden Technologien berichtet Herr Berg aus dem praktischen Einsatz:
Entkopplung von Schichten und Komponenten mit S.O.L.I.D.
- Wie man Gerätevarianten und -optionen mittels Interface-Entkopplung robust und wartbar abbildet.
- Wie man mit S.O.L.I.D. die Arbeit auf den PC verlagert, denn dort kommt man schneller voran, als auf einem Embedded Target.
- Roundtrip-Zeit: Gerätetests mit S.O.L.I.D. so schneiden, dass man hunderte Tests pro Sekunde ausführen kann.
Modellierung von Maschinen mit Domain Driven Design
- Warum die Struktur einer Embedded Software die physische Maschine abbilden sollte.
- DDD und die Zwiebelarchitektur: Unterscheiden Sie nicht zwischen HMI, Sensoren und Aktoren, schützen Sie Ihre Business-Logic!
Automatische Codegenerierung im Embedded-Umfeld
- Was sich nicht bewährt hat: Überfrachtete Klassendiagramme. Schreiben Sie Ihre Klassenheader selbst!
- Was sich bewährt hat: Generieren Sie Ihre Zustandsautomaten!
- Entkopplung in Multicore-Systemen mit Active Objects und Message Passing.
OO im Internet der Dinge
- So integrieren Sie IoT-Funktionalität kostengünstig und wartbar in und durch die Zwiebelarchitektur.
- OO-Strategien für die Testautomatisierung im Internet der Dinge.