Verschwindet die Grenze zwischen Hardware- und Softwareentwicklung?

Der Fachausschuss Q3.4 Softwareengineering der DGLR veranstalten am 11. Oktober 2017 einen eintägigen Workshop zum Thema

"Verschwindet die Grenze zwischen Hardware- und Softwareentwicklung? - Konsequenzen, Probleme und Chancen"

Ort: Institut für Luft- und Raumfahrt, TU München, Garching bei München

Programm

Beginn: 9:00

 

Obleute des Fachausschusses Q3.4 der DGLR

Begrüßung der Teilnehmer

Dr.-Ing. Jürgen Rauscher   
HENSOLDT

Using HLS in Digital Radar Frontend FPGA-SoCs

Stephan Blokzyl
Technische Universität Chemnitz

Hardwarebeschleunigung für Echtzeitbildauswertung hochauflösender elektrooptischer Sensoren

Dr. Werner Bachhuber
Dr.-Ing. Marc Segelken   
MathWorks

Entwurf und Verifikation von System-on-Chips – Effizient mit Model-based Design

Dr.-Ing. Timo Stripf
emmtrix Technologies GmbH

Plattformübergreifende Softwareentwicklung für heterogene Multicore-Systeme

Dr. Stefan Queins
SOPHIST GmbH

Unterstützung des HW/SW-Codesign durch Modellierung

Dr. Joachim Falk
Friedrich-Alexander Universität Erlangen-Nürnberg

Hardware/Software Co-Design with SystemCoDesigner

Prof. Dr.-Ing Walter Stechele
Technische Universität München

Challenges of Heterogeneous MPSoC for Image Processing

Gerald Thonigs
CUONICS GmbH

Konvergieren statt verwischen: Nahtlose Integration von domänenübergreifenden Projekt- und Prozessmodellen für durchgängige Zertifizierungsbetrachtungen in der Avionik-Entwicklung

  

Richard Seitz
DGLR Q3.4

Schlusswort

Bei Bedarf können die Dokumente zu den jeweiligen Vorträgen bei den Obleuten des Fachausschuss angefordert werden.

Bericht

Am 11. Oktober 2017 fand der jährliche Workshop des Fachausschusses Q3.4 Softwareengineering am Institut für Luft- und Raumfahrt der Technischen Universität München in Garching statt. In diesem Jahr ging es um das Thema „Verschwindet die Grenze zwischen Hardware- und Softwareentwicklung?“. Zu Beginn begrüßten die Leiter des Fachausschusses Q3.4, Richard Seitz und Frank Dordowsky, die mehr als 40 Workshopteilnehmer aus Forschung, Industrie und von der Bundeswehr.

Das Vortragsprogramm begann mit Dr. Jürgen Rauscher von der Firma HENSOLDT, der den Einsatz von High Level Synthesis (HLS) in einem Projekt zur Entwicklung eines digitalen Frontends für ein hochauflösendes Radar schilderte. HLS ist ein Verfahren, bei dem ein in einer Hochsprache wie C, C++ oder Matlab spezifizierter Algorithmus direkt in programmierbare Hardware übersetzt wird. Rauscher hob die verkürzte Entwicklungszeit für komplexe Hardware-Algorithmen hervor und stellte Kriterien für den Einsatz von HLS gegenüber traditioneller Programmierung in der Hardwarebeschreibungssprache VHDL auf.

Im zweiten Vortrag berichtete Stephan Blokzyl von der Technischen Universität Chemnitz über Hardwarebeschleunigung für Echtzeitbildauswertung hochauflösender elektrooptischer Sensoren. Diese wird unter anderem in einem Gemeinschaftsprojekt mit Airbus für ein Remotely Piloted Aircraft System (RPAS) eingesetzt. Wie die Radardatenverarbeitung erfordert auch die Bildverarbeitung einen sehr hohen Datendurchsatz, der durch konventionelle reine Softwarelösungen nicht mehr erreicht werden kann. Blokzyl stellte Ansätze zur Daten- und Funktionsparallelisierung vor, mit denen ein Durchsatz von mehr als 600 Bildern pro Sekunde erreicht wurde.

Dr. Werner Bachhuber und Dr. Marc Segelken von MathWorks stellten in ihrem Vortrag einen hardware- und softwareübergreifenden Modellierungsansatz vor, der eine flexible Zuordnung von Funktionen zu Hardware oder Software ermöglicht. Dies erreichen sie über eine technologieunabhängige Modellierung in Simulink mit anschließender Code-Generierung in C und VHDL. Auch die Verifikation erfolgt modellbasiert, wobei Hardware spezifische Simulationswerkzeuge integriert werden können.

Dr. Timo Stripf von der emmtrix Technologies GmbH schilderte in seinem Vortrag die Schwierigkeiten effizienter Programmierung von Multicore- und Manycore-Systemen und stellte Werkzeuge zur Automatisierung der Parallelisierung von Algorithmen vor. Diese Werkzeuge wurden unter anderem bei der Entwicklung eines Enhanced Ground Proximity Warning Systems (EGPWS, System zur Warnung vor einer Flugtrajektorie, die zu einer Bodenkollision führt) eingesetzt.

Dr. Stefan Queins von der SOPHIST GmbH trat in seinem Vortrag einen Schritt zurück und beschrieb die Phasen, die am Beginn eines Entwicklungsgangs, also vor der eigentlichen Software- oder Hardware-Entwicklung stattfinden. Er behandelte die strukturierte Erhebung und Dokumentation von Anforderungen und die Modellierung der Systemarchitektur mit den Modellierungssprachen SysML und UML, bei durchgehender Nachverfolgung von den Anforderungen über die Architektur bis hin zu den Hardware- und Softwarekomponenten.

Dr. Joachim Falk von der Friedrich-Alexander-Universität Erlangen-Nürnberg stellte das Werkzeug SystemCoDesigner zur Unterstützung des Hardware/Software-Co-Designs vor. Der SystemCoDesigner wird bei der Design-Exploration eingesetzt und verwendet graphentheoretische Ansätze zur Bewertung und Optimierung von Entwurfsalternativen.

Prof. Dr. Walter Stechele von der Technischen Universität München kam noch einmal auf die Bildverarbeitung zurück und beschrieb in seinem Vortrag spezialisierte Hard- und Softwarearchitekturen für die Bildverarbeitung im Automotivebereich und in der Robotik. Einen Schwerpunkt bildete die dynamische Rekonfigurierbarkeit von programmierbarer Logik und Algorithmen in Abhängigkeit von verfügbaren Rechnerressourcen zur Laufzeit. Anhand eines Beispiels erläuterte Stechele, dass die Verschiebung einer Funktion von der Software zur Hardware eine komplette Änderung des Algorithmus nach sich ziehen kann.

Gerald Thonigs von der CUONICS GmbH stellte in seinem Vortrag ein integriertes Prozessmodell vor, dass sowohl den Systementwicklungsprozess als auch Hardware- und Softwareentwicklung abbildet und die Zulassungsanforderungen aus den Richtlinien SAE ARP 4754A, RTCA DO-254 und RTCA DO-178C abdeckt. Die Prozesse wurden in SysML modelliert, die Prozessschritte mit den Forderungen aus den Richtlinien zwecks Nachweises der Erfüllung verlinkt.

Die Teilnehmer des Workshops kamen zu dem Schluss, dass die Grenze zwischen Hard- und Software teilweise bereits stark aufgeweicht ist. Nur durch die Annäherung und Verschmelzung beider Bereiche können noch die aktuellen Anforderungen an hohen Datendurchsatz und algorithmische Komplexität bei gleichzeitiger Verringerung von Leistungsaufnahme, Abmessung, Gewicht und Kosten erfüllt werden.

Die Vorträge wurden von umfangreichen Fragen und engagierten Diskussionen begleitet, die in den beiden Kaffeepausen und während des Mittagessens fortgesetzt wurden. Die Teilnehmer nutzten auch intensiv die Gelegenheit zu einem allgemeinen Informations- und Gedankenaustausch.

Ein herzliches Dankeschön geht an die Vortragenden für ihre hervorragenden Präsentationen. Ein ganz besonderer Dank geht an die Mitarbeiter des Lehrstuhls für Flugsystemdynamik von Prof. Dr. Holzapfel, Markus Hochstrasser und Kajetan Nürnberger, für ihre tatkräftige und sehr engagierte Unterstützung bei der Vorbereitung und Durchführung des Workshops. Wir möchten uns auch bei den Firmen Airbus Defence and Space und ESG Elektroniksystem- und Logistik-GmbH für die Übernahme der Kosten für die Verpflegung in den Pausen bedanken sowie bei der Technischen Universität München für die Überlassung des Hörsaals. Schließlich möchten wir uns bei allen Teilnehmern des Workshops bedanken, die durch ihre rege Beteiligung die Veranstaltung erst zu einem Workshop gemacht haben.

Termine

Vortragsanmeldung: 28. Juli 2017

Programm und Benachrichtigung der Vortragenden: 18. August 2017

Anmeldung: 6. Oktober 2017

Workshop: 11. Oktober 2017

Allgemeine Informationen

Termin:

11. Oktober 2017

Ort:

TU München
Boltzmannstr. 15
85748 Garching
Institut für Luft- und Raumfahrt
Raum MW0250 (Maschinenwesen, Erdgeschoss)

Anfahrt:

Beschreibung

Teilnahmegebühr:

entfällt

Übernachtung:

Zimmerreservierungen können über das Fremdenverkehrsamt München vorgenommen werden (Tel. 089-2330-300).

  

Anmeldung:

Bis 6. Oktober 2017

Kurzfassung der Vorträge

Dr.-Ing. Jürgen Rauscher: Using HLS in Digital Radar Frontend FPGA-SoCs

For avionic sensor equipment there is a strong persistent trend to smaller Size, Weight And more Power/cost efficient systems (SWAP-c). Additionally there is a desire for multifunctional sensors where software-defined radio concepts have to be applied. Further digitalization of radar frontends means, beside increasing the sampling rate of ADCs, for example using digital beamforming which further increases the amount of data to be handled at the frontend. The samples have to processed continuously in real time and this is where FPGAs come into play.

With the advent of High-Level Synthesis (HLS) it became possible to implement very complex algorithms in FPGAs in an efficient way. Because of the high dynamic range of radar signals, the numerical accuracy is more demanding than in mobile communication systems. Thus, for radar applications, a floating-point implementation can be reasonable which is also supported by HLS. This presentation will give an overview how FPGA-SoCs can be efficiently used for digital radar frontends. It will focus on the consideration which parts of the design are suitable to be designed with HLS and where the traditional HDL way makes more sense. The acceleration of design productivity using HLS and its limitations will be discussed. The partitioning of functions in programmable logic and software functions will be touched as well.

Stephan Blokzyl: Hardwarebeschleunigung für Echtzeitbildauswertung hochauflösender elektrooptischer Sensoren

Im Bereich flexibel einsetzbarer Sensorik bieten elektrooptische Sensoren ein breites Anwendungsspektrum. Ob in Verkehrs-, Luft- und Raumfahrtanwendungen, oder in der industriellen Produktion: Kamerasysteme unterstützen Navigations-, Explorations- sowie Überwachungsaufgaben und dienen der Hindernis-, Objekt- und Mustererkennung. Elektrooptische Sensoren sind kostengünstig und stellen hochauflösende, qualitativ hochwertige Messdaten zur Verfügung. Mithilfe stereoskopischer bzw. multikamerabasierter Techniken ist trotz ebener Abbildungsgeometrie die Bestimmung von Tiefeninformationen möglich.

Im Kontext von Luftfahrt- und sicherheitskritischen Anwendungen bestehen sehr hohe Anforderungen bezüglich der Systemrobustheit, Zuverlässigkeit und Integrität des Bildverarbeitungssystems. Bei der Informationsextraktion unter Verwendung hochauflösender Bildsensoren müssen sehr große Datenmengen unter Echtzeitaspekten verarbeitet werden. Darüber hinaus spielen Eigenschaften wie Leistungsaufnahme, Verlustleistung (Energieeffizienz), Baugröße und Gewicht eine entscheidende Rolle. Hier stoßen generische Systeme mit General bzw. Multi-Purpose Prozessoren an ihre Grenzen.

Aufbauend auf diesen Herausforderungen führt der Vortrag in Konzepte zur Daten- und Funktionenparallelisierung für Echtzeitbildauswertung und Multisensordatenfusion ein. Ziel ist die Integration einer vollständigen, hochleistungsfähigen Bildverarbeitungskette für komplexe Anwendungsszenarien in einem eingebetteten, energieeffizienten System. Es werden Ansätze der Hardwarebeschleunigung mit rekonfigurierbarer, integrierter Schaltungstechnologie sowie Synchronisations- und Aggregationsmechanismen vorgestellt, die zur Steigerung von Verarbeitungsleistung und Ergebnisgüte des Gesamtdetektionssystems beitragen. Im Mittelpunkt stehen Flexibilität, Skalierbarkeit und Elastizität, die dem Bildverarbeitungssystems ermöglichen auf unterschiedliche, sich ändernde Arbeitsbedingungen zu reagieren und dessen Zuverlässigkeit maximieren. Eine garantierte Ergebnistreue und die sichere Bestimmbarkeit der maximalen Ausführungszeit sollen die Zertifizierbarkeit des Bildverarbeitungssystems für sicherheitskritische Aufgaben erlauben.

Werner Bachhuber, Dr.-Ing. Marc Segelken: Entwurf und Verifikation von System-on-Chips – Effizient mit Model-based Design

Die Herausforderung bei der Entwicklung komplexer Systeme für Mehrkernprozessoren auf System-on-Chip FPGAs und ASICs ist ein integrierter Workflow, der sowohl die Implementierung von Software auf Prozessoren und GPUs als auch die Hardwareimplementierung auf FPGAs oder ASICs unterstützt. Dies wird möglich in einem modellbasierten Ansatz, in dem das System mit seinen SW- und HW-Anteilen in einer einheitlichen Sprache dargestellt ist. Die parallele Entwicklung von SW- und HW-Komponenten beschleunigt den Entwicklungsprozess und erlaubt gleichzeitig eine Optimierung der Partitionierung im Laufe der Verfeinerung des anfänglichen Modells. Zugleich kann frühzeitig mit der Verifikation begonnen werden und mögliche Fehler werden beseitigt, bevor sie zu einem teuren Re-Design führen.

Die Verifikation von komplexen Systemen gestaltet sich im Model-based Design deutlich einfacher, da hier alle Komponenten und deren Integration in einer gemeinsamen Darstellungsform vorliegen und simuliert werden können. So kann das Testen über Komponenten hinaus sehr einfach auf die Systemebene erweitert werden, oder umgekehrt von Systemtests ausgehend noch fehlende Testsituationen für einzelne Komponenten ergänzt werden, so dass vollständige Testabdeckungen erreicht werden.

Darüber hinaus besteht bei Vorliegen des Systems in einer Darstellungsform die Möglichkeit, HW/SW-übergreifende Analysemethoden zu verwenden, wie z.B. Untersuchungen zur Erreichbarkeit von Systemszenarien, automatische Testfallgenerierung, Beweis der Abwesenheit von Laufzeitfehlern wie Überläufe, bis hin zur Formalen Verifikation von Anforderungen durch Model Checking.

Wichtig ist bei dieser Vorgehensweise die Absicherung der SW/HW-Codegenerierung, Compiler bzw. Synthese, damit die Verifikationsergebnisse auf die Endprodukte übertragbar sind. Neben Methoden der strukturellen Überprüfung der Ergebnisse dient hier vornehmlich der Vergleichstest zwischen dem Modell und dem generierten Code, bzw. der Netzliste bei sehr hohem Grad an struktureller Testabdeckung der Absicherung.  Hierbei können bereits die Zielhardware bzw. der Zielprozessor für die Ausführung verwendet werden. 

In diesem Beitrag erfahren Sie, wie Sie einen effizienten Entwicklungsprozess sowohl in traditioneller als auch agiler Vorgehensweise mit optimaler Partitionierung der SW- und HW-Komponenten erreichen. Hierbei können Sie die Vorteile der integrierten Validierung und Verifikation auf dem Rechner nutzen, um frühzeitig Fehler zu vermeiden und gleichzeitig die Laborkosten zu reduzieren – insbesondere im Kontext von DO-178C / DO-254.

Dr.-Ing. Timo Stripf: Plattformübergreifende Softwareentwicklung für heterogene Multicore-Systeme

Neuste eingebettete Systeme werden zunehmend mit leistungsfähigen Multicore-Prozessoren sowie FPGA- und GPU-Beschleunigern ausgestattet. Dies ist notwendig, um die immer höheren Performanz- oder Energieanforderungen von Anwendungen zu erfüllen. Die Programmierung solcher heterogener Multicore-Systeme in Unternehmen wird derzeit überwiegend manuell realisiert. Dies ist sehr komplex, teuer und zeitaufwändig und stellt Software-Entwickler vor eine große Herausforderung.  Viele Unternehmen scheuen aus diesem Grund den Einsatz von Multicore sogar gänzlich. Im Markt für eingebettete Systeme wird händeringend nach Programmierlösungen für Multicore-Systeme gesucht. In diesem Vortrag werden Werkzeuge für die automatisierte C-Code Generierung und Parallelisierung aus MATLAB®, Simulink und Scilab für heterogene eingebettete Multicore-Systeme vorgestellt.

Dr. Joachim Falk: Hardware/Software Co-Design with SystemCoDesigner

This talk presents the SystemCoDesigner design flow tackling the challenging problem of ESL design for embedded systems to program multiple connected and heterogeneous resources. Some embedded systems like automotive controller networks are naturally heterogeneous distributed systems, while heterogeneous distributed architectures have been chosen for other embedded systems in portable devices. This choice is due to the dichotomy between the power requirements induced by the rising hardware capabilities and the comparatively slow improvements in battery technology. Here, the power-efficient implementations of functionality enabled by heterogeneous implementations using power-efficient dedicated accelerators and multicore processors are exploited to resolve this dichotomy. However, this leads to huge design spaces and the corresponding complexity of finding good trade-offs for the desired system functionality.

To exploit the concurrency that is inherently present in distributed systems, a dataflow-based specification of the system functionality is assumed. We will discuss how specification models can be derived for system functionalities targeting architectures in different domains like the automotive domain with networked ECUs or the MPSoC domain. Moreover, a brief overview will be given how to efficiently search for good trade-offs in the design space. Finally, we will show how the SystemCoDesigner design flow has been applied to various industry relevant case studies.

Prof. Dr.-Ing Walter Stechele: Challenges of Heterogeneous MPSoC for Image Processing

Multiprocessor System-on-Chip (MPSoC) promises appealing performance/power ratio for embedded applications. The computing power of MPSoCs can be further augmented by adding heterogeneous accelerators and specialized hardware with instruction-set extensions. However, the presence of multiple processing elements (PEs) with different characteristics raises issues related to programming, application mapping, and hardware-software migration, which often requires deep re-engineering of application code. Challenges and approaches are illustrated on case studies from image processing applications.

Gerald Thonigs: Konvergieren statt verwischen: Nahtlose Integration von domänenübergreifenden Projekt- und Prozessmodellen ...

Zertifizierungsbetrachtungen für sicherheitskritische Embedded-Systeme erfordern Argumentationsketten, die sich, den technischen Wechselbeziehungen folgend, durchgängig über die Hardware- und Software-Domäne erstrecken. Traditionell sind diese Domänen jedoch als separate Disziplinen jeweils eigenständig normativ reguliert, während die größten Herausforderungen bisweilen auf der Grenzlinie liegen. Eine einheitliche Modellierung aller relevanten Entwicklungsprozesse einerseits, aller technischer Domänen andererseits und schließlich die Verschmelzung dieser Modelle in SysML/UML hilft, traditionelle Grenzen zu überwinden und heutige Entwicklungsrealitäten präzise abzubilden.

Dr. Stefan Queins: Unterstützung des HW/SW-Codesign durch Modellierung

Dass die Realisierung von komplexen Systemen mit dem Requirements Engineering beginnen sollte, ist ein alter Hut. Und dass die Anforderungen in einem Architekturschritt auf die Komponenten des Systems verteilt werden sollen, ist der allgemein übliche, nächste Schritt. In der Ausgestaltung dieser Entwicklungsschritte bieten die bestehenden Standards jedoch noch viele Freiheitsgrade, die dann von einem Projekt entsprechend festgelegt werden müssen. Dabei ergeben sich u. A. die folgenden Fragen:

  • Wie detailliert sollen die Anforderungen erhoben werden?
  • Wie sollen die Anforderungen und die Architektur dokumentiert werden?
  • Auf welcher Ebene soll eine Traceabilty von den Anforderungen über die Architektur zu den einzelnen Komponenten erzeugt und gepflegt werden?
  • Wie kann eine solche Traceability die Änderbarkeit und Wartbarkeit unterstützen?

Der Vortrag zeigt den konsequenten Einsatz der Modellierung zur Dokumentation der Anforderungen, ihrer detaillierten Analyse und der Architektur. Dabei werden durch die Vorgabe von Methoden und Regeln sowohl die Ermittlung der Anforderungen als auch die nachvollziehbare Abbildung in der Architektur unterstützt.

Durch diese Traceability auf einer geeigneten Detaillierungsebene können Änderungen an der Architektur (gerade Verschiebung von Funktionalität zwischen HW und SW) konsistent und vollumfänglich betrachtet und deren Auswirkungen analysiert werden.

Zusätzlich wird die Anwendung der im Vortrag getroffenen Aussagen an Hand von Projektbeispielen plausibilisiert.

Call for Paper

Seit Einführung programmierbarer Hardware werden zunehmend Funktionen und Algorithmen von der Software in die Hardware verlagert. Verfahren wie High Level Synthesis ermöglichen sogar die direkte Übersetzung von Algorithmen aus C, C++, SystemC oder Matlab in programmierbare Hardware. Die Verarbeitung rechenintensiver Algorithmen wird vermehrt auf Graphikprozessoren ausgelagert und moderne Hardware-Architekturen wie Mehrkernprozessoren und System-on-Chip prägen die Softwareentwicklung. Die Grenze zwischen Hardware- und Softwareentwicklung wird damit aufgeweicht, mit enormen Konsequenzen hinsichtlich Komplexität, Testbarkeit und Zulassbarkeit.

Der geplante Workshop soll u.a. folgende Fragen behandeln:

  • Erfahrungsberichte zum Einsatz von programmierbarer Logik und massiv parallelen Hardware-Architekturen (Multi-Core, GPUs).
  • Verfahren und Heuristiken zur Allokation von Funktionen auf Hard- oder Software – speziell der Zeitpunkt im Entwicklungsprozess.
  • Kriterien zur Auswahl geeigneter Hardware – FPGA oder GPU?
  • Test- und Nachweisverfahren für hoch-integrierte Hardware- und Software-Komponenten.
  • Sicherheits- und Zuverlässigkeitsanalysen hoch-integrierter Komponenten.
  • Zulassung von komplexer Hardware wie programmierbarer Logik, Mehrkern- und Graphikprozessoren sowie System-on-Chips.

Im Workshop ist ein reger Erfahrungsaustausch auf Fachebene geplant. Dazu suchen wir Vorträge und Erfahrungsberichte aus der industriellen Praxis oder der industrienahen Forschung, die sich mit den dargestellten Themen befassen. Aufgrund der übergreifenden Bedeutung des Themas sind auch Vorträge aus anderen Fachrichtungen außerhalb der Luft- und Raumfahrt willkommen.

Jeder Vortrag sollte ca. 30 Minuten dauern, anschließend sind 15 Minuten Diskussion vorgesehen. Zwecks Vorbereitung des Workshops wird um die Zusendung einer Kurzfassung des Vortrags bis spätestens 28. Juli 2017 gebeten. Der Workshop findet am 11. Oktober 2017 an der Technischen Universität München in Garching statt. Die Teilnahme ist kostenlos. Eine Mitgliedschaft in der DGLR ist nicht Voraussetzung für die Teilnahme.

Für weitere Informationen und zur Vortragsanmeldung steht Ihnen die Leitung des Fachausschusses Q3.4 zur Verfügung.