Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Embedded Software Engineering Fachwissen: ESE 2018 (Teil 2)

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 2018 Beiträge, Teil 2 - Themenbereiche:


 

Vortragsreihe: Multicore

Software-Entwicklung für Multicore-Systeme

Was gibt es Neues, und wo geht die Reise hin?

André Schmitz, Green Hills Software (ESE Kongress 2018)

Viele Embedded Systeme verwenden bereits heute Multicore-Prozessoren, und dieser Anteil steigt stetig. Die Entwicklung und Software-Migration auf diese Architekturen wird immer leichter, und es gibt bereits sehr ausgereifte Technolo­gien zur Entwicklung von Software für Multicore-Systeme. Dieser Beitrag wirft einen Blick auf die Technologien im Bereich Code-Generierung, Echtzeit­betriebssysteme und Debugging, die die Entwicklung von Multicore-Software erleichtern. Außerdem wird ein Blick in die Zukunft gewagt und gefragt, wie diese Technologien mit der zu erwartenden steigenden Anzahl von Cores skalieren.

Intercore-Kommunikation für Multicore-Mikrocontroller

Die Folgen durch effizientes Speichermanagement minimieren

Philipp Jungklaß, Ingenieurgesellschaft Auto und Verkehr GmbH, Prof. Dr.-Ing. Mladen Berekovic, Universität zu Lübeck, Institut für Technische Informatik (ESE Kongress 2018)

Der Einsatz von embedded Multicore-Mikrocontrollern in modernen Steuergeräten mit harter Echtzeitanforderung stellt Entwickler immer wieder vor größere Herausforderungen, da die Separierung der Software häufig nicht in dem Maße möglich ist, wie es die Anzahl der Prozessorkerne vorgibt. Dadurch ist es notwendig, dass zwischen den Prozessorkernen ein Datenaustausch stattfindet. Diese Intercore-Kommunikation erfolgt derzeit über geteilte Speicher, auf welche die Prozessorkerne konkurrierend zugreifen. Bedingt durch diese parallelen Zugriffe entstehen Wartezyklen, welche für ein System mit harter Echtzeitanforderung aufwendig zu kalkulieren sind. Aus diesem Grund wird in diesem Artikel ein prioritätsbasiertes Verfahren zur Intercore-Kommunikation vorgestellt, dass die Wartezyklen durch eine effektive Nutzung der vorhandenen Speicherhierarchie minimieren. Als Nachweis der Funktionsfähigkeit wird das Verfahren auf zwei embedded Multicore-Mikrocontroller der AURIX-Familie portiert und mit dem bisherigen Ansatz verglichen.

Streng gekapselt zu mehr Sicherheit

Vom Umgang mit Hypervisoren in Embedded-Systemen

Jens Braunes, PLS Programmierbare Logik & Systeme GmbH (ESE Kongress 2018)

Für die Realisierung sicherheitskritischer Anwendungen ist eine strikte Trennung von Applikationen oder Betriebssystemen, die sich eine gemeinsame Rechnerplattform teilen, unabdingbar. Deshalb rückt das Thema Virtualisierung und "Hypervisor" auch im Embedded-Bereich immer mehr in den Vordergrund. Eine große Herausforderung vor allem für Entwickler, die sich in einem sehr hardwarenahen Umfeld bewegen.

Das FORMUS³IC Forschungsvorhaben im Verbund

Vom Stand der Technik zu neuen Entwicklungen

Lukas Osinski, Jürgen Mottok,  Laboratory for Safe and Secure Systems (LaS³), Zentrum Digitalisierung.Bayern (ZD.B) (ESE Kongress 2018)

Im Forschungsvorhaben Multi-Core Safe and Software-intensive Systems Improvement Community wurden durch einen ganzheitlichen Ansatz die durch heterogene Multi-/Many-Core Architekturen entstehenden Herausforderungen für Automotive und Avionics gelöst. Das zu entwickelnde ganzheitliche Lösungskonzept spiegelt sich in der Berücksichtigung der verschiedenen Ebenen des Hardware-Software Co-Designs wider. Damit wurden neben Lösungen für aktuelle Probleme in erster Linie Beiträge für die effiziente Nutzung heterogener Multi- und Many-Core-Systeme geleistet.


 

Vortragsreihe: Open Source

Automatisches Firmware-Update für Embedded-Linux

Schritt für Schritt zu einer fertigen Lösung

Willi Flühmann, Noser Engineering AG (ESE Kongress 2018)

Bei Embedded-Systemen wird Vernetzung zunehmend wichtiger, um deren Nutzen weiter zu steigern und neue Anwendungsgebiete zu erschließen. Oft bedeutet dies eine Anbindung an die Cloud und damit neben höherer Komplexität eine zwingende Unterstützung gängiger Kommunikationsprotokolle. Der einfachste Weg dazu ist die Verwendung einer Plattform wie Linux mit einem reichhaltigen Ökosystem von fertigen, standardisierten Software-Komponenten.

Leveraging Open Source in Embedded Software Projects

Google's "Protocol Buffers" on a Medical Device

Morgan Kita, Zühlke Engineering (ESE Kongress 2018)

As engineering tools and approaches continue to mature, customers require more and more facets to their product development projects. They need custom software and/or hardware delivered to their specifications on time and within budget, while also expecting appropriate measures regarding safety, security, testability, continuous integration, delivery, and any other number of domain specific aspects. It has rapidly become apparent that the integration of third-party specifications and solutions for any number of these aspects are key in achieving project success; regardless of whether they be middleware proprietary solutions, free/libre, or open source in nature. Device firmware has remained one element of systems that is often treated as tied to customer IP and therefore mainly bespoke or relegated to established middleware solutions. In this case study, the successful integration in a medical device project of the open source communication protocol “Protocol Buffers” from Google as well as “NanoPB”, a complementary third-party C-library implementation thereof, is presented. Along with a discussion of the technology space and the integration details, an analysis of the cost and benefits of such an approach will be examined.

Open Source Sicherheit: Zeitbomben in meiner Software

Wie ich Open Source (und andere) Software richtig manage

Dr. Ralf Huuck, Synopsys (ESE Kongress 2018)

Aktuelle Untersuchungen haben gezeigt, dass in weit über 90% aller neuen Softwareprojekte Open-Source verwendet wird [6]. Dies ist nur natürlich, wenn man bedenkt, wie weitverbreitet Open-Source Standardpakete und Werkzeuge sind. Die Frage, die sich dabei stellt, ist: Wie kann man sicherstellen, dass diese Open-Source Komponenten den eigenen Qualitäts-, Lizenz- und Sicherheitsansprüchen gerecht werden? Dieser Artikel beleuchtet einige der Risiken beim Einbetten von Drittanbieter-Komponenten und stellt die Ergebnisses einer weltweiten Untersuchung zu Sicherheitslücken in Open-Source Komponenten vor. Daraus abgeleitet wird erläutert, wie automatische Software-Scanning-Lösungen verwendet werden können, um diese Sicherheitslücken und Risiken im Entwicklungsprozess automatisch zu erkennen und eine Auslieferung im Produkt zu verhindern.

Quelloffene Lösungen für die Erweiterte Realität

Verfahren und Implementierungen

Lubosz Sarnecki, Collabora Ltd. (ESE Kongress 2018)

Obwohl das Feld der Virtuellen und Augmentierten Realität seit den 90er Jahren besteht, erleben wir in den letzten Jahren eine rasante marktgetriebene Entwicklung in diesem interdisziplinären Bereich. Zwar ist es historisch von proprietärer Software geprägt, genießt aber eine enthusiastische Community von Open Source Hackern und Unternehmen, die freie Treiber und Middleware entwickeln. Offene Standardisierungsbemühungen werden derzeit von der Khronos-Gruppe durchgeführt.


 

Vortragsreihe: Requirements

Managing Complex Requirements in the Real World

Applying the Theories of Requirements Management

Istvan Demes, Emenda (ESE Kongress 2018)

What is Requirements Management? Requirements management, requirements analysis, or even plain old requirements by themselves, should be simple. In theory. However, we know that in the real life it is anything but simple. This talk tried to explore why this is, how common practices are diverging from the theory that tries to keep Requirements under control, and how modern methods and tools can assist in making our life easier and making requirements management possible.

Den Anforderungsstall ausmisten

Prinzipien der Einfachheit beim Requirements Engineering

Matthias Moll, Helbling Technik GmbH (ESE Kongress 2018)

Viele bedeutende Geister haben Einfachheit als Erfolgsprinzip erkannt, und auch heute liegt das Thema im Trend. Gerade im komplexen Gebiet der Anforderungsentwicklung mit ihren vielen Akteuren, Einflussfaktoren und komplexen Systemeigenschaften bietet Einfachheit großes Potential für Effizienzgewinne in der Systementwicklung. Einfachheit ist jedoch nicht einfach zu erreichen. Im Kontext der Anforderungsentwicklung lassen sich jedoch Grundprinzipien identifizieren, mit deren Hilfe qualifizierte Anforderungen entwickelt beziehungsweise gegebene Anforderungssammlungen vereinfacht werden können.

Qualitätsanforderungen an Embedded-Software

Die Kunst der hieb- und stichfesten Qualitätsanforderungen

Thomas Batt, MicroConsult GmbH (ESE Kongress 2018)

Anforderungen zu erfassen und zu verwalten ist ein wesentlicher Schlüssel zum Projekterfolg. Die Embedded-Software-Funktionalität in Anforderungen zu beschreiben ist einfacher als die Qualitätsmerkmale. Dennoch sind die Qualitätsmerkmale zu erfassen, da sie sich am Ende NICHT hineintesten lassen. Je abstrakter die Qualitätsmerkmale sind, desto aufwendiger ist deren Erfassung. Mit genau dieser Herausforderung beschäftigt sich dieser Beitrag.

Anforderungen + KI = kognitives Requirements Engineering

Kann der Computer die Anforderungen nicht selbst schreiben?

Peter Schedl, IBM Deutschland GmbH (ESE Kongress 2018)

Daten treiben die Welt heute voran. Dazu sind Algorithmen, Künstliche Intelligenz (KI) und Maschinelles Lernen wichtige Themen beim Wandel zur digitalen Gesellschaft. Bei der System- oder Softwareentwicklung kommen ebenfalls eine Vielzahl von Daten ins Spiel. Produkte können aus Tausenden oder sogar Millionen von Anforderungen bestehen. Wie können größere Datenmengen besser verwertet werden, um die Kernelemente einer erfolgreichen Entwicklung mit der Einhaltung hoher Qualitätsstandards und dem raschen Reagieren auf Marktentwicklungen zu verbinden?


 

Vortragsreihe: Safety und Security

Funktionale Sicherheit in agilen Software-Projekten

Wie STPA und BDD helfen können

Prof. Dr. Stefan Wagner, Institut für Softwaretechnologie, Universität Stuttgart (ESE Kongress 2018)

Während agiles Software Engineering stark verändert hat, wie in der Praxis Software entwickelt wird, spielt es bei sicherheitskritischen Systemen noch eine untergeordnete Rolle. Die Integration von Sicherheitsanalysen in ein Vorgehen nach Scrum ist aber möglich ohne an Agilität zu verlieren. Im Folgenden betrachten wir ein Beispiel dafür und verknüpfen die Sicherheitsanalysen mit Behaviour-Driven Development zur verbesserten Qualitätssicherung.

Security-und Safety-Feldbusse

Das Wie und Warum von Security-Maßnahmen

Max Perner, infoteam Software AG (ESE Kongress 2018)

Security auf Feldbussen ist notwendig, möglich und sinnvoll. Der theoretische Ansatz von "Security by Design" und das Konzept "Defense in Depth" wird in der Praxis häufig vernachlässigt, obwohl vor allem bei eingebetteten Systemen im Bereich von Industriesteuerungen die Angriffssicherheit derzeit stark in den Fokus gerückt ist. Grund dafür sind sowohl neue "Security Standards" als auch seit langem etablierte Normen der Funktionalen Sicherheit.

Software Safety Concept – so könnte es klappen

Welche Analysen sind sinnvoll? Eine Fallstudie

Dr. Thomas Liedtke, Kugler Maag CIE GmbH, Christian Bayer, Elektrobit Automotive GmbH (ESE Kongress 2018)

In unserem Paper zeigen wir die bei der Definition und der Erstellung eines Software Safety Concepts gemachten Erfahrungen auf. Safety-Analysen in der Softwareentwicklung sind (bis auf Ausnahmen) primär auf Software-Architekturebene vorgesehen. Verbleibende Restrisiken können durch Anwendung empfohlener Maßnahmen der ISO 26262 [1] Band 6: Product development at software level im weiteren Entwicklungsverlauf als ausreichend klein eingestuft werden. Unser Software Safety Concept fokussiert sich auf die Ebene der Software Requirements Specification sowie die des Architectural Designs. Wir stellen die im realen Kundenprojekt durchgeführten vier verschiedenen Safety-Analysen vor. Dabei beschreiben wir den Zweck, gemachte Erfahrungen und typische Befunde.

Die Verbesserung des Sicherheitsnachweises durch Induktion

Kann ein Denkbegriff aus dem 16. Jahrhundert nützlich sein?

Chris Hobbs, QNX Software Systems (ESE Kongress 2018)

Die verschiedenen Sicherheitsnormen (ISO 26262, IEC 61508 usw.) verlangen die Erstellung eines Sicherheitsnachweises. Diverse Untersuchungen haben belegt, dass eine solche Aufgabe oft zu Bestätigungsfehlern führt. Diese Abhandlung beschreibt eine praktische Anwendung der eliminativen Induktion, um das Phänomen des Confirmation Bias positiv zu nutzen. Im Verlauf einer kürzlich erfolgten ISO 26262/IEC 61508 Zertifizierung hat dieses Vorgehen mehrere Sicherheitslücken aufgedeckt, die bis dahin unbemerkt geblieben waren.

Schluss mit langen Freigabeprozessen

Effizienzpotentiale bei Safety und Security

Dr. Dominik Holling, ITK Engineering GmbH (ESE Kongress 2018)

Fahrzeugcomputer ermöglichen eine zeitnahe und flexible Aktualisierung der Software. So können neue vernetzte Funktionen in kürzerer Zeit als bisher auf den Markt kommen. Um dies zu erreichen, müssen nicht nur Entwicklungs-, sondern auch Unterstützungsprozesse beschleunigt werden. Besonders bei Safety- und Security-Freigabeprozessen ergeben sich Potentiale, da diese meist mit manuellem Aufwand in langen Zyklen verbunden sind. Durch eine frühzeitige Berücksichtigung von Freigabeaspekten während der Entwicklung und einer Automatisierung der Werkzeugkette in der Absicherung kann dieser Aufwand erheblich reduziert werden. Zudem weist die Absicherung von Safety und Security Potential für Synergien auf (z.B. in der Qualitätssicherung, bei Review- und Testergebnissen), die durch geschickte Prozessgestaltung zur Beherrschung der Komplexität genutzt werden können.

Deep Learning and Functional Safety

Architekturoptimierung unterstützt Funktionale Sicherheit

Dr. Ulrich Bodenhausen, Ulrich Bodenhausen AI Coaching; Vector Consulting Services GmbH (ESE Kongress 2018)

This paper describes the challenges in arguing safety of systems using Deep Learning Neural Networks. The market potential of safety critical products using AI is very attractive and Deep Learning Neural networks have proven strengths to provide important functionality. Challenges remain in the understanding and further optimization of generalization capability and in the improvement of verification/validation methodology. Algorithmic optimization of the architecture of Deep Learning Neural Network can be used beneficially to reduce residual risk of functional insufficiencies. Additionally, it can also be used to improve analyzability by construction of architectures with required observation points.

Du kommst hier net rein! (Oder doch?)

Messung der Code-Abdeckung im Rahmen von Penetrationstests

Dr. Sabine Poehler, Verifysoft Technology GmbH (ESE Kongress 2018)

Im Bereich der sicherheitskritischen Softwareentwicklung (Safety) ist die Messung der Codeabdeckung im Rahmen des Testens schon lange ein Standardinstrument. Sie wird in den gängigen Sicherheitsnormen gefordert. Ein neueres Einsatzgebiet für die Abdeckungsanalyse ist der Einsatz während der Durchführung von Penetrationstests. Im Rahmen einer Bachelorarbeit untersuchen wir, wie sich die Auswertung von Penetrationstests durch die Messung der Code Coverage vereinfachen lässt. Gleichzeitig wird mit dieser parallelen Analyse die Qualität des Penetrationstests selbst kontrolliert.

TPM 2.0 Policies in der Praxis

Einfach zum sicheren Rechtemanagement für Embedded Systems

Markus Wamser, Mixed Mode GmbH (ESE Kongress 2018)

Trusted Platform Modules (TPMs) sind seit vielen Jahren fest am Markt etabliert. Mittlerweile haben Module nach der aktuellen Version 2.0 des Standards ältere Module weitgehend abgelöst. Dennoch bleiben viele der Neuerungen und Funktionen dieser Module ungenutzt. Ein prominentes Beispiel ist das Konzept der Extended Authorization Policies. Damit sind nicht nur sichere und vertrauenswürdige Boot- und Update-Konzepte möglich. Mit wenig Aufwand lässt sich auch ein Konzept zum Rechte- bzw. Lizenzmanagement umsetzen, zum Beispiel in einem Fahrzeug.

Immunization Techniques against the Side Channel Attack

Separation and Virtualization for Secure System Software

Arun Subbarao, Lynx Software Technologies, Inc (ESE Kongress 2018)

Meltdown and Spectre, two recent side channel attacks have demonstrated all too clearly how some multi-core processor-based software can be exploited, resulting in loss of confidentiality.  Although it was a largely hardware design issue that forced software suppliers to provide workarounds, we contend that secure systems can be designed using separation and virtualization to isolate security components and minimize or even immunize the system from severe side channel attacks such as Meltdown and Spectre. Modern multicore processor architecture has evolved to the point where analyzing complexities and emergent behavior is a significant problem for system architects. This paper will define technical approaches to addressing these challenges.


 

Vortragsreihe Software Engineering Management

Beiträge werden in Kürze bereitgestellt.  


 

Vortragsreihe Test und Qualität

Automatisierung von anforderungsbasiertem Testen

Von der testbaren Anforderung zum Orakel

Ralf Gerlich, Rainer Gerlich, Dr. Rainer Gerlich BSSE System and Software Engineering (ESE Kongress 2018)

Manuelle Anforderungstests sind aufwändig: Die Eingabedaten müssen die Anforderungen abdecken, und beobachtete Ausgabedaten müssen auf ihre Kompatibilität mit den Anforderungen geprüft werden. Testfälle können auch automatisch aus Testmodellen erzeugt werden, die aber zunächst manuell erstellt werden müssen. Im Kontrast dazu nutzt der hier vorgestellte Ansatz einfachere Formen der Anforderungs­formalisierung, um die Testdaten, die bei automatischen Robustheitstests mit massiver Stimulation erzeugt werden, auf Anforderungen abzubilden und die Ergebnisse auf Korrektheit zu prüfen.

Behaviour Driven Testing und automatische Unit-Test-Generierung

Mehr Effizienz im Testen

Johannes Bergsmann, Software Quality Lab (ESE Kongress 2018)

In vielen Entwicklungsorganisationen existiert eine Lücke zwischen der Fachabteilung und der Testautomatisierung. Der Fachbereich spezifiziert Tests oft funktional. Es fehlen hier oft Details zum Verhalten. Umgekehrt wird die Implementierung der automatischen Tests durch den Fachtester oft mangels Entwickler-Knowhow nicht verstanden. Sehr oft werden auch zu wenige Tests spezifiziert und automatisiert und die erreichte Testabdeckung ist in manchen Fällen sogar fahrlässig gering. BDT (Behavior Driven Testing) ist eine Technik aus dem agilen Entwicklungsumfeld, die genau diese Lücke zwischen Fachtester und Automatisierer schließt. Als Ergänzung zu einem strukturierten Testautomatisierungsansatz (wie z.B. BDT) ist es oft zusätzlich noch sinnvoll, die Testlücken automatisch durch generierte Unit-Tests abzudecken.

Kombinatorische State-Transition Tests für Embedded Systems

Hohe Testabdeckungen schnell erreicht

Thomas Schütz, PROTOS Software GmbH (ESE Kongress 2018)

State-Transition Tests werden in vielen Standards für sicherheitskritische Systeme empfohlen. Sie sind aber für alle Embedded Systems eine hervorragende Methode, um schnell und strukturiert hohe Testabdeckungen zu erreichen.

Test-Driven Development Methodology for Complex Algorithms

Efficient development of computation intensive algorithms

Anto Michael, Llarina Lobo Palacios, Sebastian Zuther; Valeo Switches and Sensors GmbH (ESE Kongress 2018)

Traditionally, embedded software written for the automotive industry typically used to get information from sensors and control the actuators in the vehicle.  Since the beginning of this century, the focus has slowly switched towards various levels of assistance to the person at the steering of the vehicle. It started with the introduction of obstacle warning systems at low speeds. Then vehicles came that could detect and park automatically into parking spots under the observation of the driver. Lane change assist and automatic cruise control systems are becoming more and more common in vehicles. The world is now advancing towards automated driving platforms. The most important part of the autonomous driving is to perceive the environment around the vehicle. The perception layer uses information from sensors like ultrasonic, camera, laser, radar etc. The information from these sensors has to be processed to make the vehicle aware of the environment around. The processing involves complex mathematical algorithms that have to be implemented in the embedded software. The embedded software runs on small micro-controllers that are constrained in terms of the resources available - memory and runtime.

Systemtest von eHealth Service-Robotern im häuslichen Umfeld

Komplexität systematisch in den Griff bekommen

Prof. Dr. Martine Herpers, Hochschule Fulda, Robin Kirschner (BSc), TU Chemnitz (ESE Kongress 2018)

In der Forschung wird seit einiger Zeit an Robotern gearbeitet, die Aufgaben im Haushalt übernehmen und Unterstützung in der Pflege anbieten. In diesem Beitrag wird ein universeller Vorschlag für das systematische Testen, der wichtigsten funktionalen Fähigkeiten von eHealth Service Robotern vorgestellt, der auf praktischen Erfahrungen im Wohnlabor der Hochschule Fulda und einer Modellierung der Pflegeroboter und des Wohnumfelds besteht.

42 Jahre Komplexitätsmetriken - Was stoppt uns?

Software-Komplexitätsmetriken effektiv einsetzen

Thomas Grundler, Hendrik Post, Jochen Quante, Sadi Yigit, Robert Bosch GmbH (ESE Kongress 2018)

Die wohl bekannteste Software-Komplexitätsmetrik wurde bereits 1976 von Thomas J. McCabe eingeführt und führt seit Generationen von Software-Entwicklern zu Diskussionen über die Aussagekraft von Metriken. Im folgenden Beitrag wird der Umgang mit Software-Komplexitätsmetriken im Automotive-Bereich der Robert Bosch GmbH geschildert.


Beiträge ESE 2018, Teil 1