Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Embedded Software Engineering Fachwissen: ESE 2017 (Teil 1)

MicroConsult bietet das ganze Jahr zu den auf dem Kongress besprochenen Themen Weiterbildungen, Kurse und Seminare sowie Coaching an - im Präsenz- sowie Live-Online-Format!

Profitieren Sie von der Erfahrung unserer Spezialisten für Embedded Software Engineering und nehmen Sie mit uns Kontakt auf. Wir beraten Sie gerne.

MicroConsult Training & Coaching: Themen (Präsenz und Live-Online)

Zum Kontaktformular


 ESE Kongress 2017 Beiträge, Teil 1 - Themenbereiche:


 

Vortragsreihe: Architektur & Design

Controlling Software Complexity with Architectural Design

Keeping code and architecture consistent - approaches and benefits

Moritz Neukirchner, Guillaume Cordon, Elektrobit Automotive GmbH, Andreas Gaiser, Axivion GmbH (ESE Kongress 2017)

Managing the complexity of a software project becomes increasingly difficult as the project grows and evolves over time. Software architectural design shall control this complexity by defining clear cut interfaces between components and permitted interactions among them. Still, ensuring that the code adheres to the architecture specification is hard, even in the presence of reviews and integration testing. This challenge is even aggravated if multiple software variants must be taken into consideration and when portions of the code are being generated.

Funktionsorientierte Entwicklung mit Rapid Control Prototyping

Entwurf einer Entwicklungsumgebung für Antriebssteuerungen

Moritz Olbrich, Dr. Fritz Faulhaber GmbH & Co. KG (ESE Kongress 2017)

Das Implementieren und Testen neu zu entwickelnder Funktionen (z.B. Antriebsregler) für Antriebssteuerungen können fehlerhaft und zeitintensiv sein. Durch den Einsatz einer Rapid Control Prototyping (RCP) Umgebung soll das Entwickeln von neuen Funktionen effizienter werden. Mit dieser Umgebung lassen sich direkt angeschlossene Antriebe auf Modellebene betreiben. Durch bessere Analysemöglichkeiten und dem zuvor direkten Abgleichen mit der Antriebssteuerung lassen sich Aussagen zur Funktionalität der Erweiterung zu einem frühen Zeitpunkt treffen.


 

Vortragsreihe: Automotive

(R)Evolution der Automotive-Software-Architekturen

Wie neue SW-Technologien die Automobilindustrie verändern

Dr.-Ing. Detlef Zerfowski, Niranjan SK, Robert Bosch GmbH Automotive System Integration (ESE Kongress 2017)

Die gesamte Automobilindustrie wird aktuell mit dramatischen technologischen Änderung konfrontiert. Diese Veränderungen ergeben sich durch den Einzug völlig neuer elektrischer und elektronischer Architekturen (E/E-Architekturen) und damit einhergehend völlig neuen SW-Architekturen.

Absicherung von Testsystemen

Das kalibrierte Hardware-in-the-Loop-Testsystem

Kristian Trenkel, iSyst Intelligente Systeme GmbH (ESE Kongress 2017)

Dieser Beitrag behandelt die Anforderungen an Testsysteme aus Sicht der Funktionalen Sicherheit am Beispiel von HIL-Testsystemen. Dabei wird der Standard ISO 26262 betrachtet. Aus den Betrachtungen ergeben sich Anforderungen an die Genauigkeit und Verlässlichkeit der Testsysteme. Hierfür werden beispielhaft analoge Ein- und Ausgänge der Testsysteme betrachtet. Einerseits werden die Untersuchungsergebnisse über die Kalibrierbarkeit verschiedener Testsysteme sowie die Möglichkeiten der automatisierten Kalibrierung und des automatisierten Abgleiches sowie der automatisierte Selbsttest dargestellt. Auf der anderen Seite soll dieser Beitrag zur Diskussion über weitergehende Anforderungen an Testsysteme für den Test sicherheitskritischer Systeme anregen.

Parallel-Design für Echtzeit-Software

Anwendbarkeit im AUTOSAR-Umfeld

Ralph Mader, Continental Automotive GmbH (ESE Kongress 2017)

Pattern für das Design von parallel ausführbaren Algorithmen sind bislang noch nicht systematisch in Embedded Realzeit-Systeme vorgedrungen. Bei Continental wird derzeit die Anwendbarkeit von Pattern in AUTOSAR basierten Anwendungen untersucht. Der Vortrag wird auf die als in diesem Anwendungsbereich anwendbaren Pattern abzielen und die Vorgehensweise bei der Analyse darstellen. Des Weiteren wird die Anwendung eines Patterns an einem konkreten Beispiel aus dem Motorsteuerungsumfeld dargestellt. Es werden mögliche Lösungswege zur Scheduling-Unterstützung, z.B. über Kerngrenzen synchronisierte Zustandswechsel oder die Anwendung von logischer Ausführungszeit, in diesem Kontext aufgezeigt.

Automatische Prüfung der Safety-Kriterien für ASIL D Basissoftware

Gewährleistung von Freedom from Interference in Automotive-Anwendungen

Ulrich Kloidt, Altium Europe GmbH, Rudolf Grave, Elektrobit (EB) (ESE Kongress 2017)

Die Integration sicherheitsrelevanter Anwendungen im AUTOSAR-Umfeld stellt eine Herausforderung dar, da nahezu immer Software mit unterschiedlichen Sicherheitszielen integriert werden muss, kombiniert mit einem Rückwirkungsfreiheitsargument. Zur Unterstützung des Integrators soll hier eine automatisierte Überprüfung vorgestellt werden, die die Entwicklung von Software im Safety-Umfeld wesentlich erleichtert. Diese Vorgehensweise führt zu einer besseren Ausnutzung der Hardware-Ressourcen und reduzierten Entwicklungszeit und damit zu geringeren Kosten.

Bremst die Security unser System aus?

Evaluierung von Zertifikatsbehandlungen und Security im Auto

Florian Pramme, Jan-Phillip Foltz, Prof. Dr.-Ing. Gert Bikker, Ostfalia-Hochschule für angewandte Wissenschaften (ESE Kongress 2017)

Dieser Beitrag stellt den durch das niedersächsische Ministerium für Wissenschaft und Kultur geförderten Forschungsschwerpunkt "SecuRIn - Security Referenzmodell Industrie 4.0" vor. Das Ziel dieses interdisziplinären Forschungsschwerpunkts ist es, Vorgehensmodelle zu entwickeln, die Unternehmen dabei unterstützen, Anwendungen im Bereich Industrie 4.0 in Zukunft einfach sicher zu entwickeln und während des gesamten Lebenszyklus sicher zu betreiben. Der hier im Beitrag verwendete Anwendungsfall orientiert sich an der Digitalisierung von Fahrzeugen und den damit verbundenen Spannungsfeldern. Konkret sind Untersuchungen unternommen worden, aktuelle Automotive-Verschlüsselungschips hinsichtlich ihres Zeitverhaltens im Sicherheitslebenszyklus zu analysieren.

Software-Design für die AUTOSAR Adaptive Platform

Neuartige Optimierungstools für parallele POSIX-Software

Maximilian Odendahl, Silexica GmbH (ESE Kongress 2017)

Die Entwicklung von Software für die neue AUTOSAR Adaptive Platform wird Entwickler vor neuartige Herausforderungen stellen. Im Vergleich zu bestehenden Singlecore-Systemen, aber auch im Vergleich zur existierenden AUTOSAR Classic Platform, wird die Verteilung der Software auf die verschiedenen Prozessorkerne der Zielplattform eine immer grösser werdende Herausforderung. Dabei gilt es nicht nur, zeitliche und funktionale Vorgaben zu berücksichtigen, sondern idealerweise auch den Leistungs- und Energieverbrauch zu minimieren. Selbst für einfachere Algorithmen und Zielsysteme ergibt sich daher eine Vielzahl von möglichen Lösungen, deren Entwicklung und Bewertung bisherige Entwicklungsansätze an ihre Grenzen bringen. Abhilfe können neuartige Algorithmen und Tools aus dem Bereich der Software Design Automation schaffen.

Einsatz von Virtualisierung für sichere Softwarearchitekturen

Zentrale Steuergeräte, Mixed Criticality, Testen, Multicore

Thomas Bock, Dr. Henning Kleinwechter, Volkswagen; Dr. Ralph Sasse, OpenSynergy; Armin Stingl, iSystem; Dr. Ralf Münzenberger, Philip Rehkop, Olaf Schmidt, INCHRON (ESE Kongress 2017)

Die hohe Anzahl von Steuergeräten veranlasst die Automobilindustrie, mehrere Steuergeräte zu zentralen Einheiten zusammenzufassen. Dabei werden viele Funktionen, die zuvor auf einzelnen Steuergeräten realisiert wurden, auf einer CPU gemeinsam ausgeführt. Dieser Beitrag beschreibt Herausforderungen und Lösungen, die sich für die zeitliche Verteilung der CPU-Rechenleistung auf die einzelnen Funktionen ergeben. Der Fokus liegt auf Interferenz-Freiheit für Systeme, die ISO 26262 ASIL-relevante Funktionen mit ASIL QM-Funktionen integrieren. Der Artikel basiert auf den Ergebnissen eines gemeinsamen Vorentwicklungsprojektes von Volkswagen, OpenSynergy und INCHRON. Darin wird ein Hypervisor als Architekturansatz verwendet. Das Echtzeitverhalten und die Wirkketten werden modelliert, simuliert und anhand von Messungen verfeinert und überprüft. Die Ergebnisse ermöglichen es, Handlungsempfehlungen (Best Practices) für den Einsatz eines Hypervisors in Domainsteuergeräten zu formulieren.


 

Vortragsreihe: Echtzeit

Software in Echtzeitsystemen korrekt verteilen

Typische Fehler nebenläufiger Software vermeiden

Dr. Jochen Härdtlein, Kramer Simon, Peter Häfele, Dr. Dirk Ziegenbein, Robert Bosch GmbH (ESE Kongress 2017)

Die Lösung der Fehlerfälle, die durch nebenläufige bzw. parallele SW-Ausführung entstehen, mit traditionellen Mitteln - wie etwa Locks - führt zu großem System-Overhead und schränkt die Verteilbarkeit bzw. die effektive Nutzung der parallelen Rechenleistung massiv ein. Mit dem konstruktiven Ansatz der Logical Execution Time wird die Kommunikation von den Berechnungen entkoppelt und systemweit zeitlich strukturiert. Im vorliegenden Beitrag werden die typischen Fehlerfälle nebenläufiger Echtzeit-SW analysiert und konstruktive Mechanismen zu deren Vermeidung zusammengefasst [6]. Ebenso wird ein Ausblick auf toolgestützte korrekte Softwareverteilung gegeben.

SysWCET: Ende-zu-Ende-Antwortzeiten für OSEK-Systeme

Zeitkritische Pfade durch das gesamte System

Christian Dietrich, Leibniz Universität Hannover, Peter Wägemann, Friedrich-Alexander Universität Erlangen-Nürnberg (ESE Kongress 2017)

Um die Rechtzeitigkeit von Aufgaben in Echtzeitsystemen garantieren zu können, ist die Bestimmung von schlimmstmöglichen Antwortzeiten unerlässlich. Hierbei ist die Herausforderung die präzise Analyse aller Aktivitäten des Gesamtsystems, wie synchrone Systemaufrufe und asynchrone Interrupts, ohne allzu pessimistische Annahmen zu treffen. Zur Lösung dieses Problems haben wir den Analyseansatz SysWCET entwickelt, der die erste integrierte Formulierung des Antwortzeitproblems ermöglicht. Diese Formulierung umfasst dabei das vollständige Rechensystem unter Berücksichtigung aller Aufgaben, aller Interrupts und der Ablaufplanung.

How to Measure RTOS Performance

And how to read data sheets

Colin Walls, Mentor Graphics (ESE Kongress 2017)

Desktop or laptop computers are extremely powerful and amazingly low cost. This means that developers of software for desktop systems assume that there is infinite CPU power, so they worry very little about the speed of their code. They also assume that indefinite amounts of memory are available, so they do not worry about code size either. Embedded systems are different. Typically, there is enough CPU power to do the job, but only just enough – there is no excess. Memory size is limited. It is not normally unreasonably small, but there is unlikely to be any possibility of adding more. Power consumption is usually an issue and the software – its size and efficiency – can have a significant bearing on the number of Watts burned by the embedded device. It is clear that, with an embedded system, it is vital that the RTOS has the smallest possible impact on memory footprint and makes very efficient use of the CPU.

Auswahl und Einsatz eines Betriebssystems für Mikrocontroller

NuttX - ein Erfahrungsbericht auf Arm Cortex-M7

Frank Benkert, FRB Computersysteme GmbH (ESE Kongress 2017)

Entwicklungsprojekte für neue embedded Produkte sehen sich zu Beginn meist mit der immer gleichen, grundlegenden Frage konfrontiert:  Mit oder ohne Betriebssystem? Wenn ohne, wie dann? Wenn mit, welches? Es gibt für diese Frage natürlich keine allgemeingültige Antwort. Betrachtet man jedoch die Anforderungen an das neue Produkt genauer, so ergibt sich die Antwort oft von selbst. Welche Fakten helfen aber wirklich bei der Entscheidung? Wie erarbeitet man diese Informationen? Welche Fragen muss man stellen? Wer kann diese beantworten? Im Folgenden soll anhand eines Projektes aus der Praxis aufgezeigt werden, wie dieser Auswahlprozess und die spätere Integration erfolgreich gelingen kann.


 

Vortragsreihe: Implementierung

C++ Core Guidelines Reloaded

Automatische Code-Reparatur und kritische Betrachtung der Guidelines

Prof. Peter Sommerlad, HSR Rapperswil (ESE Kongress 2017)

The C++ Core Guidelines are an effort led by Bjarne Stroustrup. They intend to show how to use modern C++ effectively. "Following the rules will lead to code that is statically type-safe, has no resource leaks, and catches many more programming logic errors than is common in code today. And it will run fast -- you can afford to do things right." In addition to the freely adaptable core guidelines, there also exists an open source support library providing features for code transition and support that might not be yet in your C++ standard library, or even standardized.

Should I Use C++14 in My Next Embedded Design?

What does C++14 get me in embedded systems?

Bertil Spolander, IAR Systems (ESE Kongress 2017)

EETimes and Embedded.com has an annual market survey which, amongst other things, surveys what programming language the respondents use in their current project and what they are planning to use in their next project. In 2017, C is used by 56% in their current projects and 52% in their next project. The corresponding numbers for C++ is 22% and 24%. No other languages are over 5%.

C++: Schnell und klein

Was kostet ein Sprach-Feature?

Andreas Fertig, Philips Medizin Systeme Böblingen (ESE Kongress 2017)

Mit dem Standard C++ 11 und seinen Nachfolgern können C++-Entwickler von spannenden neuen Eigenschaften der Sprache profitieren. Features sind stets mit Kosten verbunden, entweder Geschwindigkeit oder Code-Größe. Um die Sprache C++ mit dem Motto "you pay only for what you use" effektiv nutzen zu können, ist es für Entwickler wichtig zu wissen, was die jeweiligen Kosten eines Features sind.

Boost Your State Machines

Create state machines that are easy to read and maintain

Pawel Wiśniewski, Pawel Wiśniewski Consulting (ESE Kongress 2017)

State Machines sind ein wichtiger Bestandsteil von Software. Leider sind sie zu oft per Hand implementiert, z.B. unter Verwendung von if-else oder switch-case Konstruktionen. Solche Konstruktionen sind schwer zu verstehen und schwierig zu erweitern. Zusätzlich sehen sie immer ein bisschen anders aus, weil sie stets wieder von vorne geschrieben werden. Der Vortrag zeigt eine Lösung auf Basis der Bibliothek Boost.SML. Die mit der Bibliothek erstellten State Machines sind nicht nur einfacher zu verstehen und zu erweitern, sie sind auch oft effizienter als die handgeschrieben Varianten.

Grafische objektorientierte C-Programme mit Simulink

Simulink-Scripts aus Headerfiles generiert

Dr. Hartmut Schorrig, vishia (ESE Kongress 2017)

Im Beitrag wird die Anwendung der grafischen Programmierung in einer Matlab-Simulink-Umgebung gezeigt. Dabei werden Kern-Module in sogenannten S-Functions genutzt, die in C programmiert sind. Der Vorteil dieser Herangehensweise ist einerseits, dass in C hardwarenahe Schichten oder Betriebssystemanbindungen direkt formuliert werden können. Andererseits finden sich die Aufrufe der Kern-Module in dem aus Simulink generierten Code wieder, was die Navigation im Code auch für eine langzeitliche Pflege erleichtert. Dem bisher weitgehend in der zeilenorientierten Programmierung arbeitetenden Entwickler sollen die Vorteile der grafischen Programmierung und die einfache Einbindung bestehender Codes nahegebracht werden.


 

Vortragsreihe: Industrie 4.0

Lokale Benutzeroberflächen - überall verfügbar

Ein performanter Ansatz, um unabhängig vom Endgerät zu werden

Frank Borchard, XiSys Software GmbH (ESE Kongress 2017)

Die Ansprüche an die Benutzeroberflächen von embedded Systemen steigen mit der Einführung von IoT und Industrie 4.0. Existierende lokale Bedienoberflächen sollen möglichst ohne Probleme und Aufwand auf nahezu jedem denkbaren Endgerät, vom Smartphone bis zum Laptop, dargestellt werden können. Dazu wird üblicherweise die Bedienoberfläche als Webanwendung gestaltet und damit die Visualisierung der Oberflächenlogik auf den Webbrowser verlagert.

Bonjour PLC, parlez-vous IT?

Verschmelzung von Information Technology (IT) und Operational Technology (OT) bei Industrie 4.0 Anlagen

Dr. René Graf, Siemens AG (ESE Kongress 2017)

Dieser Artikel beschreibt die Kombination von IT und OT zur Realisierung dynamisch konfigurierbarer Fertigungsanlagen. Dabei behält die OT-Welt ihren zur Steuerung physikalischer Prozesse notwendigen Determinismus, während überlagerte IT-Mechanismen die Dynamik des Produktionsprozesses realisieren.

Industrie 4.0 und IoT in der Produktion

Wie kann das gelingen? Technologien, Wege und Ziele

Robert Schachner, RST Industrie Automation (ESE Kongress 2017)

Die Umsetzung von Produktionsanlagen, wie sie mit dem Referenzarchitekturmodell Industrie 4.0 (RAMI 4.0) oder der parallelen IoT Entwicklung mit ihrem Industrial Internet Reference Architecture (IIRA) beschrieben werden, ist mittlerweile in der Realität angekommen. Die Firmen beziehungsweise Betreiber sind bereit, ihre Produktionsanlagen zu digitalisieren.


 

Vortragsreihe: Internet of Things

IoT-Anbindung mit schmalen Ressourcen? Kein Problem!

Erfahrungen mit Embedded-Software für kleine IoT-Knoten

Andreas Foltinek, IMACS GmbH (ESE Kongress 2017)

Eine Datenfernkommunikation zwischen technischen Systemen ist so alt wie die Systeme selbst. Durch die immer weitere und schnellere Web-Infrastruktur liegt es nahe, diese für technische Systeme zu nutzen, wofür sich die Begriffe IoT bzw. IIoT etabliert haben. Auf Basis von Linux/Windows o.ä. ist mittlerweile die Realisierung der IoT-Fähigkeit softwareseitig überschaubar. Leider eignen sich jedoch Linux und Co. basierte Systeme aus vielen Gründen (Bauteil-/Herstellungskosten, Bootvorgang, Komplexität, Stabilität, Energiebedarf) für viele Anwendungen nicht, insbesondere wenn höhere Stückzahlen und damit Effektivität erforderlich sind. Die Realisierung auf "kleinen" Embedded-Targets stellt sich hingegen als größere Software-Herausforderung dar. Der folgende Praxisbericht zeigt, dass auch mit den Ressourcen von kleineren 32-Bit Singlechip-Controllern die IoT-typischen Features, wie TCP/IP-Protokolle, Web-Client/-Server, Push-Mechanismen und Firmware-Updates via Cloud, problemlos realisierbar sind – auch unter Erfüllung der aktuellen Security-Standards. Hierzu werden im Folgenden die Erfahrungen aus mehreren derartigen Projekten bezüglich der Hardware, Toolchain, RTOS, Stacks, Treiber und deren Besonderheiten bei der Integration, Inbetriebnahme und täglichen Anwendung erläutert.

Erweiterte Security für LPWAN-Geräte

Security-Grundlagen für Entwickler

Jürgen Messerer, bbv Software Services AG (ESE Kongress 2017)

In unserem digitalen Zeitalter sind wir überall von Vernetzung umgeben. Jeder und alles tauscht sich untereinander aus. Ein sehr wichtiger Bestandteil dieser digitalen Vernetzung ist das IoT mit zahllosen Anwendungsfällen. Jedoch lässt sich nicht jeder Anwendungsfall mit einer einzigen Technologie realisieren. Für IoT-Geräte steht eine Vielfalt von diversen Wireless-Lösungen zur Verfügung. Um die geeignetsten Technologien auszuwählen, müssen verschiedene Kriterien. wie z.B. Reichweite, Datenrate, Security und Lizenzmodell, berücksichtigt werden. Eine Technologie, die diese Kriterien berücksichtigt und dabei unkompliziert und vielseitig einsetzbar ist, ist das Low-Power Wide Area Network, kurz LPWAN. LPWAN verfügt über eine hohe Batterielebensdauer bei großer Abdeckung und niedriger Durchsatzrate. Doch wie sieht es mit Security aus? Erleben wir wieder das Gleiche wie bei anderen IoT-Geräten, wo die Security nur spärlich oder gar nicht umgesetzt wurde? In diesem Artikel wird gezeigt, worauf geachtet werden muss, damit die LPWAN-Geräte von morgen nicht sofort als Bots von nicht autorisierten Personen umkonfiguriert werden.

IoT – A Software Developer‘s Perspective

"Executable Modelling for Distributable Components" in Embedded Software Engineering

Ian Macafee, EVOCEAN GmbH (ESE Kongress 2017)

The term IoT has become widely used in recent years. Google dictionary defines it as: Internet of things: The interconnection via the Internet of computing devices embedded in everyday objects, enabling them to send and receive data. As a software developer, I produce code that arguably receives and sends data. So, what, if anything, do I need to change to satisfy the IoT? Perhaps you don’t see a need to change. The logic of your code is the valuable part. How it receives and sends the data could be regarded as someone else’s problem. At a concept level, this is true. You shouldn’t have to change the logic of your functions but... perhaps there are ways of making your implementation easier to thingify. Perhaps there are techniques and tools that you are yet to discover?

IoT – Your Way

Ein pragmatischer DSL-Ansatz

Christoph Woskowski, Alexander Leupold, Zühlke Engineering GmbH (ESE Kongress 2017)

Die Menge an Produkten und Lösungen im Bereich vernetzter Geräte beziehungsweise "Internet of Things" ist überwältigend. Verschiedenste neue – und auch altbekannte – Übertragungstechnologien, Protokolle, Standards und die dahinterstehenden Konsortien und Interessensgruppen stehen bereit. Innerhalb dieser Bandbreite an Möglichkeiten sollte – so die Annahme – für jede Problemstellung und jeden Use Case eine passende Lösung zu finden sein. Dem gegenüber stehen vielfach sehr spezifische Anforderungen und Gegebenheiten von Unternehmen, die sich unter Umständen erstmals ernsthafter mit dem Thema IoT befassen – oder befassen müssen, weil der Wettbewerb diesen Schritt womöglich bereits gegangen ist. Vor allem dann, wenn Business Case und Use Cases noch unklar sind, sollte eine schwergewichtige Lösung beziehungsweise die frühzeitige Bindung an Technologien und Anbieter vermieden werden. Der hier vorgestellte Ansatz zur Entwicklung eines unternehmensweiten IoT-Datenmodells erfüllt diese Bedingung, indem er auf Leichtgewichtigkeit und maximale Flexibilität ausgelegt ist.


 

Vortragsreihe: Machine Learning

Deep Neural Networks in Embedded Applications

How to develop intelligent systems

Andrés Mlinar, Embedded Trend (ESE Kongress 2017)

In recent years very deep artificial neural networks (DNNs) have been created that successfully solve many difficult problems. This opens up entire new areas of application. DNNs are a solution when there is a large amount of data showing the expected outcome for a given input. DNNs can be trained using this data to be able to give sensible answers when presented with new, never seen before, data. These capabilities are also desirable in the embedded field, for example to develop intelligent sensors. However, the large computation capabilities necessary are a limiting factor. A solution is to acquire the data on the embedded device and send it for processing to a cloud service. This has several limitation like connectivity costs, latency and privacy. The lecture describes a method by which deep neural networks can be deployed to embedded devices, using currently available processors, with limited processing power and limited available memory.

Security für Deep Learning

Management von Safety und Security bei Programmierbaren SoCs

Dr. James Hunt, Aicas, Dr. Giulio Corradi, Xilinx (ESE Kongress 2017)

Maschinelles Lernen und Künstliche Intelligenz sind wichtige Trends, die eine zentrale Bedeutung als Unterstützung autonomer Entscheidungsfindung haben. Gefordert sind dafür ein sicheres, dynamisches Update von Neukonfigurationen und deren Überwachung sowie eine perfekt verwaltete und optimierte Sprachplattform. Diese bietet die notwendige Sicherheit für diese Systeme sowie eine einfache und sichere Verwendung für den Zugriff und die Aktualisierung von GPU- und FPGA-codierten Funktionen.

Perception: The Most Difficult Technical Challenge for Automated Driving

Improving Real-Time Perception with Deep Sensor Fusion

Forrest Iandola, Ben Landen, DeepScale (ESE Kongress 2017)

Today's mass-produced driver-assistance systems are typically implemented with a Late Fusion paradigm, which is described as follows: each camera or radar sensor has an onboard processor that runs perception software to generate an object list. Then, the object lists are sent to an Electronic Control Unit (ECU), which performs probabilistic techniques to merge the object lists. This late-fusion approach has a number of limitations in terms of accuracy, portability, and robustness to sensor failure. We propose an earlier stage of fusion, called Deep Sensor Fusion, where sensors transmit raw data over higher bandwidth in-vehicle networking already used in mass production, and this data is processed by a modern ADAS Domain Controller. We show how Deep Neural Networks (DNNs) can ingest raw data from multiple types of sensors and generate improved perception results. Finally, we implement DNNs in real-time using automotive-grade processors to enable all SAE levels of automated driving.

Neural Networks: Current Trends in the Industry

Megha Daga, Cadence Design Systems (ESE Kongress 2017)

Machine Learning and Neural Networks have experienced an accelerated growth in recent years, making their ways into various commercial products across many industries. The industries are facing a dynamic set of challenges with the continuous evolution of customer needs. Each of these commercial products need to sense their surroundings, think, reason and take appropriate actions. This is where NN technology complements rather than replaces the existing non-NN computer vision based technology. This talk will delve into trends, hardware and software challenges and a few industry solutions.


 

Vortragsreihe: Management

Konflikte als Chance nutzen

Konflikte professionell klären und lösen

Peter Siwon, MicroConsult (ESE Kongress 2017)

Wer mag schon Konflikte? Doch wenn wir realistisch in die Welt blicken oder auch nur auf die Beziehungen zu unseren Mitmenschen, stellen wir fest: Konflikte gehören zum Leben. Sie sind eine natürliche Erscheinung menschlicher Koexistenz und beruhen auf der simplen Tatsache, dass Menschen unterschiedliche - teilweise sogar sehr unterschiedliche - Erfahrungen, Befindlichkeiten und Bedürfnisse haben. Wenn wir genau hinsehen, stellen wir fest, dass nicht die Konfliktursachen das Problem sind, sondern die Art, wie wir mit Konfliktsituationen umgehen. Im Extremfall sind Menschen entweder sehr streitlustig oder sehr konfliktscheu. Beide Haltungen behindern eine Lösung. Im Folgenden habe ich Ihnen ein paar Tipps zusammengestellt, die eine lösungsorientierte Konfliktfähigkeit fördern.

Scaling Agile!

Agile Frameworks auf Unternehmensebene

Urs Böhm, Noser Engineering (ESE Kongress 2017)

Mit der Jahrtausendwende setzten sich das agile Manifest und in dessen Folge agile Methoden wie Scrum und Kanban in der Softwareentwicklung durch. Immer mehr werden traditionelle Methoden wie Wasserfall- und V-Modell in den Hintergrund und in Nischen getrieben. Neue, junge, gut ausgebildete Entwickler und Manager erwarten agile Methoden für Projekte und Linienaufgaben der Entwicklung. Scrum geht explizit auf die 7 plusminus 2 Teamgröße ein. Diese hat sich seit der Zeit der römischen Legionen bewährt. Hier bildeten auch 8 Legionäre eine "contubernium " (Zeltgemeinschaft), welche verschworen miteinander arbeitete und lebte. Bei größeren Software-Vorhaben ist aber ein Team oft zu klein oder kann nicht alle benötigten Fähigkeiten abbilden. Kanban-Entwicklergruppen können etwas größer werden, aber man verliert dann Teameffekte und ist auch hier irgendwie limitiert. Hier kommt die Skalierung ins Spiel. Was tun, wenn man Systeme baut, welche dutzende, hunderte oder mehr Personen benötigen, aber dennoch die Vorteile einzelner Teams nutzen will?

Visualize Unvisible Work

Transparenz für komplexe Problemstellungen und Projekte

Matthias Künzi, visuellklar (ESE Kongress 2017)

Um effiziente und effektive Lösungen für Software und Systeme zu entwickeln oder anspruchsvolle Projekte richtig steuern zu können, ist Transparenz essentiell. Es ist elementar, dass allen Beteiligten die Fragestellungen transparent und verständlich sind, die Risiken, Abhängigkeiten und zu erledigenden Arbeiten klar sind. Der Vortrag zeigt, wie mit visuellen Mitteln diese Transparenz wieder erreicht werden kann. Die Teilnehmer erhalten praxiserprobte Ideen, Methoden und Beispiele um Projekte oder Systementwicklungen besser sichtbar und damit greif- und begreifbar zu machen.

Aus dem Leben eines Embedded-Systems

Der Lebenszyklus von der Wiege bis zum Grab

Alfred Ressenig, RealSkills, Remo Markgraf, MicroConsult (ESE Kongress 2017)

Nehmen wir eine Steuerung für einen Kaffeeautomaten und betrachten für dieses Embedded-System den Lebenszyklus von der Geburtsstunde bis zum Ruhestand. Die Steuerung erzählt eine spannende Geschichte mit vielen Überraschungen. Die eine oder andere Episode aus dem Lebenslauf des Embedded-Systems ESKA01 kommt Ihnen mit Sicherheit sehr bekannt vor. Das systematische Management des Lebenszyklus ist ein wirksames Steuerungsinstrument in so heiklen Phasen wie Entwicklung, Integration und Einführung von Embedded-Systemen in den Markt. Es sorgt für Struktur und Ordnung, spart Ihnen Zeit und Geld und erspart Ihnen verärgerte Kunden. Dieser Beitrag stellt den Lebenszyklus und das Management des Lebenszyklus von Embedded-Systemen und Produkten vor. Er erläutert die Vorteile und gibt Ihnen praktische Tipps und Best-Practice-Empfehlungen für die Umsetzung mit auf den Weg.

Aufwandstreiber und Kostenbewertung im zeitgemäßen Software Engineering

Den "oh shit"-Berg schon frühzeitig vorhersehen können

Florian Schäffer, Andreas Lachenschmidt, iNTENCE automotive electronics (ESE Kongress 2017)

Dieser Vortrag zeigt, welche Fallstricke zeitgemäßes Software Engineering für die Aufwands- und Kostenbewertung bereithält und welche Mühen in virtuellen und verteilten Projekten versteckt sind. In der Vergangenheit konnte man Hardware-Stückkosten addieren und auf einen transparenten Herstellungsprozess zurückgreifen, bei dem die Programmierung eine Nebentätigkeit war. Bei immer umfangreicherer, komplexerer und agil entwickelter Software muss für eine zutreffende Aufwandsabschätzung schon tiefer in die Trickkiste gegriffen werden. 

Risiken von Technical Debt identifizieren und managen

Thomas Aicher, Huan Dong, Birgit Vogel-Heuser, Lehrstuhl für Automatisierung und Informationssysteme, TU München (ESE Kongress 2017)

Oft muss bei der Behebung eines technischen Problems unter Zeitdruck zwischen einer aufwandsarmen "suboptimalen" Lösung und der aufwändigeren "besseren" Lösung entschieden werden. Diese Frage stellen sich Ingenieure, Techniker und Entscheider häufig bei der Entwicklung, dem Betrieb bzw. der Inbetriebnahme eines Embedded Systems (ES). Dabei müssen diese die Projektsituation, die verbleibende Laufzeit und Kosten berücksichtigen. Unter dem Begriff der technischen Schuld, also der Technical Debt (TD), wird die bewusste Entscheidung gegen eine bessere, sinnvollere Lösung verstanden. Obwohl TD im klassischen Software-Engineering ein bekanntes und erforschtes Phänomen ist, wird es bis dato in den Bereichen der Embedded Systems und Mechatronik, wie beispielsweise ein Produktionssystem, noch wenig beachtet und ist in Folge dessen wenig beherrscht. Die daraus resultierenden finanziellen Schäden für Unternehmen sind erheblich. Aus diesem Grund ist die Bereitstellung transparenter Grundlagen für bewusste Entscheidungen zur Inkaufnahme von TD von besonderem Interesse. Anhand einer Erweiterung der TD-Klassifikation aus dem Software Engineering und einer domänenübergreifenden Fallstudie wird TD und ihre Auswirkungen sowie das Potential zur Beherrschung von TD diskutiert. Um die geforderte Transparenz zu erreichen, werden für Embedded Systems sowohl die kurzfristigen als auch die langfristigen Auswirkungen aufgezeigt und gegenübergestellt.

Privacy wird zum gesetzlich vorgeschriebenen Design-Prozess

Was tun für die EU-DSGVO geforderte Technikgestaltung?

Dr. Thomas Liedtke, Kugler Maag CIE GmbH (ESE Kongress 2017)

Am 25. Mai 2018 tritt die neue EU-Datenschutz-Grundverordnung [EU-DSGVO] in Kraft. Datenschutz ist dann europaweit gesetzlich einheitlich geregelt. Präambel 78, Artikel 25 und andere der neuen EU-DSGVO fordern explizit "Datenschutz durch Technikgestaltung" und "datenschutzfreundliche Voreinstellungen". Insbesondere werden Data Protection by Design und Data Protection by Default gefordert. Der Einsatz von Datenschutz-Maßnahmen, wie z.B. Pseudonymisierung und Anonymisierung personenbezogener Daten, werden verpflichtend vorgegeben. Der Stand der Technik bei der Entwicklung und Gestaltung von technischen Produkten ist im gesamten Entwicklungslebenszyklus sicherzustellen. Dieses Paper gibt einen Überblick über verschiedene Prinzipien und Methoden in unterschiedlichen Projekt-Entwicklungsphasen. Privacy by Design (PbD), Privacy Principles und Privacy Enhancing Techniques (PETs) werden erläutert. Zur Berücksichtigung des Datenschutzes sind Privacy-spezifische Schutzziele (Predictability, Manageability, Disassociability) zu erfüllen. Diese Schutzziele leiten sich nicht unbedingt aus den klassischen Schutzzielen der Security ab. Am Ende des Papers werden Standards zur Durchführung von Privacy-Risikoanalysen vorgestellt.

Die unverzichtbare Grundlage für KPIs in der Embedded-Softwareentwicklung

Optimierung von Softwareprojekten

Litha Hari, Thomas Hunter, Jason R. Rolles, BlueOptima (ESE Kongress 2017)

Diese Arbeit untersucht Leistungskennzahlen, die für die Optimierung des Preis-Leistungs-Verhältnisses bei der Softwareentwicklung von entscheidender Bedeutung sind, beispielsweise:

  • genaue Zeitschätzung zur Festlegung realistischer Erwartungen und Budgets
  • Auswahl der geeignetsten Outsourcing-Lieferanten/Personen für jedes Projekt
  • Zusammenarbeit mit Lieferanten/Managern zur Erzielung optimaler Ergebnisse
  • die besten Entscheidungen während jedes Auftrags, auch mit der Fähigkeit, die zugewiesenen Softwareentwickler proaktiv zu ändern, um die besten Ergebnisse zu erzielen.

BlueOptima bietet einen beispiellosen Einblick in diese Aspekte: Die SaaS-Analyse-Plattform bietet ein detailliertes Verständnis des Preis-Leistungs-Verhältnisses, das Softwareentwickler, Teams und Outsourcer auf der Grundlage objektiver, vertretbarer Einheiten intellektueller Anstrengung bieten. Dieser bewährte Ansatz, der auf objektiven und konsistenten Kennzahlen basiert, überwindet die Lücken anderer Ansätze und versetzt Unternehmen in die Lage, die besten Entscheidungen zu treffen sowie erhebliche Kosteneinsparungspotenziale zu nutzen.


 

Vortragsreihe: Modellierung

Oft falsch verstanden: Modellierung von Anforderungen

Egal ob agil oder V-Modell - ein Treiber für Effektivität

Dr. Michael Jastram, Formal Mind (ESE Kongress 2017)

Anforderungsmodellierung ist eine Technik, die in vielen Unternehmen nicht oder nur ansatzweise praktiziert wird, und die vergleichsweise einfach und iterativ eingeführt werden kann. Da der Kosten- und Zeitdruck in vielen Unternehmen enorm ist, befinden sich hier "low hanging fruit", mit denen die Entwicklung effektiver gestaltet werden kann. Da es viele unterschiedliche Ansätze gibt, werden hier sowohl die Konzepte vermittelt, die einem helfen, was in die eigene Arbeit passt, als auch konkrete Taktiken, die mit wenig Aufwand Ergebnisse bringen.

Ein Modell sagt mehr als 1000 Bilder!

Mit Modellen die Zukunft vorwegnehmen

Andreas Willert, Willert Software Tools (ESE Kongress 2017)

Dieser Artikel soll aufzeigen, dass modellgetriebenes Engineering weit mehr ist als eine grafische Repräsentanz. Er soll auch aufzeigen, dass die reine Erstellung einer grafischen Repräsentanz in einer Sackgasse mündet. Sie erhöht die Verstehbarkeit auf Kosten von erhöhter Redundanz und damit erhöhtem Pflegeaufwand.  Damit verbunden sinkt die Arbeitseffizienz. Nur wenn redundante Anteile durch Werkzeuge automatisiert angepasst, Änderungen einer Komponente gegenüber dem Gesamtsystem automatisch korreliert, Tests automatisiert und Code generiert … also wo immer möglich Abläufe und Arbeitsschritte automatisiert werden, kann sich modellgetriebene Entwicklung langfristig erfolgreich durchsetzen.

Modellbasiert zum Seriencode

Zwei Projekte, zwei Tools, viele Erkenntnisse

Joachim Terasa, coming GmbH (ESE Kongress 2017)

Zwei Werkzeuge für MBSE, die sich durch ihre Eigenheiten und einzigartigen Features unterscheiden, haben dabei aber auf den ersten Blick eine Menge Gemeinsamkeiten. In der Praxis entpuppen sich einige als durchaus relevant. Im den hier betrachteten Fällen sind besonders die "polled Statemachines" gegenüber den "eventgetriebenen Statemachines" die hervorstechendsten Unterschiede, die zu einem nicht vergleichbaren Verhalten des generierten embedded Systems führen.

Modellierung mit CIRO

Eine UML-Erweiterung zur Modellierung reaktiver Systeme

Johannes Scheier, Zürcher Hochschule für angewandte Wissenschaften (ESE Kongress 2017)

Modellgetriebene Software-Entwicklung ist ein Ansatz mit enormem, nur teilweise ausgeschöpftem Potential. Je verständlicher und lesbarer die Modelle, desto größer ist ihr Nutzen. UML (Unified Modelling Language) sieht die Möglichkeit vor, die Sprache durch eigene Abstraktionen zu erweitern. Nachfolgend wird CIRO (Communicating Interacting Reactive Objects), eine auf diesem Me­chanismus basierende Erweiterung, vorgestellt.


Beiträge ESE 2017, Teil 2