Wir möchten auf unserer Internetseite Dienste von Drittanbietern nutzen, die uns helfen, unsere Werbeangebote zu verbessern (Marketing), die Nutzungsweise unserer Internetseite auszuwerten (Performance) und die Internetseite an Ihre Vorlieben anzupassen (Funktional). Für den Einsatz dieser Dienste benötigen wir Ihre Einwilligung, welche jederzeit widerrufen werden kann. Informationen zu den Diensten und eine Widerspruchsmöglichkeit finden Sie unter „Benutzerdefiniert“. Weitergehende Informationen finden Sie in unserer Datenschutzerklärung.

1. - 5. März 2021 // DIGITAL

Willkommen im embedded world Newsroom!

Software- und Systems-Engineering als Kernkompetenz für die Entwicklung eingebetteter Systeme

Auf dem Foto sehen Sie Konferenzteilnehmer auf einer Rolltreppe

Jedes moderne elektronische Gerät enthält Software. Auf der embedded world 2020 präsentieren Anbieter sogenannte Entwicklungs-Software, um die Prozessoren intelligenter Geräte zum Leben zu erwecken. Auf der embedded world Conference können sich die Besucher über die Herausforderungen und Fortschritte der Software-Entwicklung informieren.

Im Zuge des ständig zunehmenden Einsatzes eingebetteter Systeme, beispielsweise in der Medizintechnik, in der Automation und im Automobilbereich, steigen die Anforderungen an die systematische, qualitätsgesicherte Entwicklung der Systeme. Eine besondere Herausforderung stellt dabei der zunehmende Einsatz von Software dar. Immer mehr Systemfunktionen werden durch Software realisiert, was nicht nur den Umfang, sondern auch die Komplexität drastisch erhöht. Darüber hinaus werden viele Systemfunktionen nicht mehr nur durch einzelne Komponenten, sondern durch das Zusammenspiel mehrerer Komponenten realisiert. Beispielsweise benötigen einige Fahrerassistenzsysteme in einem Fahrzeug Informationen vom Radar- und vom Kamerasystem, sowie von weiteren Sensoren im eigenen Fahrzeug, um entsprechende Eingriffe in die elektronische Brems- und die Motorsteuerung zu veranlassen. Dabei ist die Sicht auf das gesamte System unabdingbar, die das Zusammenspiel der verschiedenen Steuergeräte im Fokus hat.

Um den hohen Qualitäts- und Sicherheitsanforderungen bei weiter steigender Komplexität der Systeme gerecht zu werden, wurde die Disziplin des Systems-Engineerings entwickelt. Ein grundlegender Aspekt ist dabei die gesamtheitliche Betrachtung der drei klassischen Entwicklungsdisziplinen Mechanik, Elektronik und Software.

Systematisch vorgehen: der Entwicklungsprozess

Ein unverzichtbares Element beim System-Engineering ist die Strukturierung des Entwicklungsprozesses. Im Bereich der Software-Entwicklung sind verschiedene Prozessmodelle definiert worden, die konsequent auf die Systemsicht erweitert wurden. Beispiele sind das V-Modell, das bereits Mitte der achtziger Jahre in Deutschland definiert wurde, und das in den USA entwickelte und auf die Systementwicklung erweiterte Capability Maturity Model CMMI. Beide Ansätze beschreiben die einzelnen Entwicklungsschritte von der Erfassung und Dokumentation der Anforderungen über den Systementwurf und die Realisierung des Systems bis hin zur Verifikation und Validation, inklusive Analyse, Test und Wartung. Als Alternative zu diesen sequenziellen Ansätzen hat mit den Agilen Methoden in den letzten Jahren ein ursprünglich aus der IT stammendes iteratives, inkrementelles Vorgehen Eingang in die Entwicklung eingebetteter Systeme gefunden. Ziel dieses Vorgehens ist es, den Fokus wieder stärker auf das eigentliche Produkt und weniger auf Prozessartefakte zu richten.

Um bei der Entwicklung eingebetteter Systeme auch auf der Ebene der Modellierung die erforderliche vollständige Systemsicht zu erreichen, wurde die auf Software bezogene Unified Modelling Language UML in Richtung SysML erweitert, die das Gesamtsystem in den Mittelpunkt rückt.

In der Phase der Verifikation und Validation von eingebetteten Systemen sind zwei grundsätzlich verschiedene Ansätze zu unterscheiden. Bei der statischen Analyse wird zunächst ohne Ausführung der Software und ohne Berücksichtigung der Hardware der Programmcode untersucht. Hier können in einer frühen Phase der Entwicklung bereits zahlreiche formale Fehler im Code aufgedeckt werden. Bei den dynamischen Tests wird anschließend das Zusammenspiel von Software und Hardware geprüft. Für den in der Praxis häufig auftretenden Fall, dass bei Testbeginn noch nicht alle Hardware-Komponenten zur Verfügung stehen, hat sich ein inkrementelles Vorgehen bewährt, bei dem in sogenannten Hardware-in-the-Loop-Tests die Hardware schrittweise integriert wird, bis die Ebene des Gesamtsystems erreicht ist.

Sicherheit ist oberstes Gebot

Im Bereich der eingebetteten Systeme kann und darf die Software nicht ohne Einbeziehung der Hardware und der übergeordneten Systemaspekte betrachtet und behandelt werden. Insbesondere bei der Entwicklung von Software für Systeme mit hohen Zuverlässigkeits- und Sicherheitsanforderungen ist die möglichst frühe Betrachtung des Gesamtsystems von entscheidender Bedeutung. Wesentliche Herausforderungen sind dabei die Nachverfolgbarkeit der Anforderungen und Design-Entscheidungen von der System- auf die Software-Ebene, wie sie bereits in verschiedenen Standards gefordert wird. Diese sogenannte Traceabilty ermöglicht nicht nur die Kontrolle darüber, ob alle Anforderungen im Entwurf und bei der Realisierung und Validation des Systems berücksichtigt wurden, sondern erleichtert auch, die Auswirkung von nachträglichen Änderungen in der Spezifikation, im Entwurf und in der Software zu erkennen und entsprechend zu berücksichtigen.

Da eingebettete Systeme in zunehmendem Maß auch in Bereichen und Anwendungen zum Einsatz kommen, bei denen die Funktion Leib und Leben von Menschen schützen soll oder ein Fehlverhalten des Systems, beispielsweise bei Assistenzsystemen, entsprechende Risiken birgt, spielt beim Systems-Engineering die funktionale Sicherheit des Systems eine entscheidende Rolle. Das System muss nach den besten heute verfügbaren Methoden und Standards entwickelt und strengstens geprüft werden. Existierende Standards wie die ISO 26262 definieren klare Vorgaben für Entwicklung und Betrieb des Systems. Darüber hinaus gibt es Software-spezifische Standards, deren Ziel es ist, die Qualität der Software zu gewährleisten. Ein wichtiges Beispiel ist der von der englischen Motor Industry Software Reliability Association erarbeitete MISRA-Standard. Eine spannende Frage bleibt, ob und wie die Agilen Methoden im Bereich der Entwicklung eingebetteter Systeme eine effektive und effiziente Alternative darstellen und insbesondere den Anforderungen an die Entwicklung von sicherheitskritischen Systemen gerecht werden können, da für die Zulassung derartiger Systeme neben der Nachweisbarkeit der Funktionalität auch die Nachvollziehbarkeit des Entwicklungsprozesses von entscheidender Bedeutung ist.

Schutz vor Angriffen

Neben der funktionalen Sicherheit kommt einem anderen Sicherheitsaspekt, dem der Security, eine deutlich zunehmende Bedeutung zu. Hier geht es insbesondere auch um den Schutz des Systems und seiner Komponenten vor unzulässigen Eingriffen, die die Daten und damit die Funktionalität des Systems beeinträchtigen und im Extremfall durch Manipulation von Daten, beispielsweise in einem elektronischen Bremssystems, eine Gefahr für Leib und Leben bewirken können. Wirkungsvolle Maßnahmen gegen das „Hacking“ von eingebetteten Systemen sind weiterzuentwickeln und im praktischen Einsatz zu erproben. Ein sehr wichtiger Aspekt in Bezug auf die korrekte Funktion von Software in eingebetteten Systemen ist darüber hinaus das reale Zeitverhalten des Programms. In zahlreichen Anwendungen, beispielsweise bei der Einleitung einer Notbremsung eines Fahrzeugs, kommt es darauf an, dass das System rechtzeitig agiert, also weder zu früh noch zu spät. Auch hier ist die Systemsicht unabdingbar. Eine zusätzliche Herausforderung stellt die immer häufigere Verwendung von Multicore-Prozessoren dar, die durch die echte Nebenläufigkeit von Prozessen neue Anforderungen insbesondere an den Software- und Systementwurf stellt.

Und natürlich hat auch der zunehmende Einsatz Künstlicher Intelligenz einen entscheidenden Einfluss auf die Entwicklung und den Einsatz eingebetteter Systeme, insbesondere was das prognostizierbare Verhalten und die Sicherheit der Systeme angeht. Darüber hinaus sind erste vielversprechende Ansätze zum Einsatz von KI bei der Qualitätssicherung eingebetteter Systeme zu verzeichnen, beispielsweise zur intelligenten Auswertung von Analyse- und Testergebnissen. Dieses Potenzial ist weiter zu untersuchen und bezüglich seiner Stärken und Schwächen zu bewerten. In der embedded world Conference 2020 in Nürnberg sind über alle drei Konferenztage zahlreiche Sessions und Classes im Bereich des Software- und Systems-Engineering eingeplant, mit dem Ziel, all diese Aspekte kompetent und umfänglich zu adressieren. Um zu einem für Alle Gewinn bringenden Erfahrungsaustausch zu kommen, setzen wir auf Ihre aktive Beteiligung.

embedded world Conference

Auch auf der weltgrößten Leitmesse sowie der parallel vom 25. bis 27. Februar 2020 in Nürnberg stattfindenden embedded world Conference stehen diese Themen rund um intelligente und autonome Systeme im Fokus. In insgesamt 26 Vorträgen in vier spezialisierten Sessions geben Fachleute an zwei ganzen Tagen Antworten auf die oben aufgeführten Fragen.

Das Programm der embedded world Conference mit über 250 Vorträgen steht unter www.embedded-world.eu zur Verfügung.

Verfasser: Prof. Dr.-Ing. Dipl.-Ing. Dipl. Wirt.-Ing. Axel Sikora, Chairman der embedded world Conference.

top