Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Embedded Software Engineering Fachwissen: ESE 2017 (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 2017 Beiträge, Teil 2 - Themenbereiche:


 

Vortragsreihe: Multicore

PLAT4MC: Multicore Performance Optimization with Open Source

Open source technologies (APP4MC) in productive usage

Syed Aoun Raza, Robert Bosch GmbH (ESE Kongress 2017)

With the advent of multi-core ECUs in the automotive domain, the tooling environment to support multi-core software development has gained significance, especially tools which can provide an early indication about the architectural behavior before the existence of the code. Another important aspect in large scale automotive productive systems is the possibility of module and component-level multi-core software design and development and eventually their integration into the multi-core system. Domain specific multi-core development tool platforms which enable analysis (e.g., data-consistency) and optimizations (memory management, task-to-core mapping, timing simulations and distribution) are not easily available. There are several commercial solutions on the market to support multi-core software scenarios, however they cannot be applied with off the shelf configuration options. The reason behind this limitation is specific customer scenarios in the Bosch solution domain. Another significant hurdle is the existence of huge single-core code bases, which have been successfully certified and tested according to automotive standards. Though, in Bosch we require tailored solutions for our multi-core software systems and tools anyone can benefit from our AMALTHEA (https://www.eclipse.org/app4mc/) based multicore tooling strategy.

Parallele Programmierung ohne Spinlocks

Wie man Deadlocks vermeiden kann

Jens Harnisch, Li Lin, Albrecht Mayer, Gerhard Wirrer, Infineon Technologies AG (ESE Kongress 2017)

Um die Leistungsfähigkeit moderner Mehrkernprozessoren nutzen zu können, sind je nach Anwendung eine gewisse Synchronisation, zum Beispiel durch Barrieren, und ein Schutz von Ressourcen, zum Beispiel durch Spinlocks, notwendig. Dadurch können Deadlocks entstehen, welche natürlich besonders für sicherheitskritische Systeme unerwünscht sind. Ein alternatives Pro­grammier­muster sind lockfreie Algorithmen. Diese müssen für die von mehreren Kernen gemeinsam genutzten Datenstrukturen speziell angepasst werden. Es wird eine unbegrenzte Queue vorgestellt, bewertet und in Bezug zu anderen Herangehensweisen gesetzt.

OpenAMP - endlich!

Ein Open-Source-Framework für asymmetrisches Multiprocessing

Frank Storm, Avnet Silica (ESE Kongress 2017)

Viele und unterschiedliche Prozessor-Cores sind in heutigen SoCs Standard. Wie man diese asynchron, also mit unterschiedlichen Betriebssystemen, betreibt und sie dann auch miteinander kommunizieren lässt, leider nicht. Dies führt dazu, dass viele Anwender eigene Lösungen implementieren, die zeit- und wartungsintensiv sind. Dieser Artikel beschreibt OpenAMP, einen offenen Standard, der es sich zur Aufgabe gesetzt hat, dieses Problem zu lösen.


 

Vortragsreihe: Open Source

Angepasstes Android

Ein Tauchgang in die Untiefen der Android-Anpassungsarchitektur

Martin Becker, Fraunhofer Institut für Experimentelles Software Engineering (IESE) (ESE Kongress 2017)

Das Android--Betriebssystem wird seit Jahren in einer Vielzahl von eingebetteten Systemen eingesetzt. Dabei kann es hochgradig und weitreichend an die spezifischen Einsatzkontexte angepasst werden. Dies gelingt durch ein ausgefeiltes Zusammenspiel von unterschiedlichen Mechanismen auf verschiedenen Systemebenen. Diese Konfigurations- und Anpassungsarchitektur ist ein sehr guter Ideengeber, wie man in der eigenen Systemlandschaft notwendige Anpassungen effizient umsetzen und beherrschen kann. Leider ist es nicht ganz einfach, sich einen entsprechenden Überblick zu verschaffen. Der Beitrag beleuchtet daher, welche Arten von Anpassungen in Android unterstützt werden und wie diese in der Android-Architektur umgesetzt sind.

Making the Most of What’s Available

Using Jenkins and SonarQube in a scalable and certifiable verification process

Michael Baron, Emenda (ESE Kongress 2017)

Three key areas of the software verification process (release management, technical debt and management reporting) often go underutilised and unvalued. With increasing numbers of free and open source tools able to improve productivity, reduce costs and provide an insight into a projects’ development cycle, this article looks at what is required of a modern verification process and how to make the most of what is available.

Linux-Echtzeit - Weckt der Kernel mein Programm zu spät auf?

Tipps und Tricks für Einrichtung und Betrieb des RT-Kernels

Dr. Carsten Emde, Open Source Automation Development Lab (OSADL) eG (ESE Kongress 2017)

Dem Linuxkernel mögliche Echtzeiteigenschaften (RT) zu geben, ist nicht schwer:

• Kernel herunterladen,
• RT-Patch herunterladen,
• RT-Patch einspielen,
• Kernel übersetzen,
• Computer neu starten und
• RT-Kernel auswählen.

Auch die Überprüfung, inwieweit sich das Antwortverhalten des neu hergestellten Kernels tatsächlich tatsächlich verbessert hat, ist recht einfach: Das Programm cyclictest starten und ein paar Stunden warten & Ergebnis beurteilen.

Tux Armored

Hardware Assisted Trust and Security in Linux

Dipl.-Ing. Michael Röder, Avnet Silica Poing, Dipl.-Inf. Martin Hecht, Avnet Silica Berlin (ESE Kongress 2017)

The acronym IoT (Internet of Things) is probably one of the most overstressed buzzwords that have been created in the past years. Many applications and use cases described as IoT innovations have been around for years, so it is safe to say that the innovation in IoT is mostly not in technology, but in the mere number of products implementing technologies such as cloud access or smartphone connectivity. One of the positive outcomes of such immense public interest for connected devices is that lots of people also start thinking about potential side effects, some of the most important ones being security and especially data protection. In the past, for devices such as IP cameras or garage door openers, security was an afterthought. Now that these products enter the market in big quantities and are sold even in discounter supermarkets, both public and government are alerted about potential misuse and the dangers imposed by cracking attempts to these devices. Federal agencies have started to look into criteria to be met for devices transmitting personal data over open communication channels and how to ensure the integrity of such devices.

Linux Secure Boot in der Praxis

Geprüfte Code-Integrität vom Reset bis ins Linux-System

Dipl.-Ing. (FH) Holger Dengler, linutronix GmbH (ESE Kongress 2017)

Heutige Embedded Systems sind zunehmend Angriffen aus unterschiedlichen Quellen ausgesetzt. Daher wird es immer wichtiger, dass der auf diesen Systemen ausgeführte Code aus vertrauenswürdigen Quellen kommt. Der Code-Integritätsprüfung während des Boot-Vorgangs kommt hierbei eine zentrale Bedeutung zu, da nahezu alle weiteren Überprüfungen davon abhängen, welcher Bootloader bzw. welcher Linux-Kernel auf dem System ausgeführt wird.

Industrial-IO unter Linux

Einbindung von Sensoren und Aktoren mit Industrial-IO in Linux

Andreas Klinger, IT-Klinger (ESE Kongress 2017)

Seit 2011 gibt es im Linux-Kernel das Industrial-Input-Output-Subsystem, kurz IIO. Inzwischen wurden von der recht eifrigen Community rund um die Mailingliste linux-iio beinahe 248 IIO-Treiber (stable v4.13, ohne Variationen und Staging) mainline gebracht. Beispiele sind AD- und DA-Wandler, Beschleunigungssensoren, Licht-, Feuchte-, Luftdruck-, Temperaturmessung usw. Was sind die Besonderheiten von IIO-Treibern und wie kann ich diese in meinem Projekt verwenden? Genau davon handelt dieser Beitrag. Damit es nicht zu theoretisch sondern anschaulich wird, wurde als Anschauungsobjekt ein konkretes Projekt in etwas vereinfachter Darstellung gewählt.

Verlustfreie Anforderungen – das Wichtigste zu ReqIF

Effektivere Systementwicklung mit dem offenen Standard

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

Die Produktentwicklung heutzutage steht enorm unter Druck: Steigende Komplexität, steigende Anzahl von Lieferanten, Vorschriften, jahrzehntelange Verfügbarkeit von Artefakten der Entwicklung. Der ReqIF-Standard adressiert diese Herausforderungen zweifach: Zum einen stellt die Standardisierung sicher, das Anforderungen auch nach Jahrzehnten noch lesbar sind; zum anderen ermöglicht der Standard eine Integration zum verlustfreien, nachverfolgbaren Austausch von Anforderungen.

Weitergabe einer kompletten Linux-Distribution: Nicht so einfach wie gedacht

Ein wohl häufiger Fall von Lizenz- und Urheberrechtsverstoß

Dr. Carsten Emde, Open Source Automation Development Lab (OSADL) eG (ESE Kongress 2017)

Eine typische Situation beim Hersteller von Embedded-Systemen: Ein Kunde möchte ohne großen Aufwand den Linux-Kernel und das Rootfilesystem des erworbenen Embedded-Systems an seine Bedürfnisse anpassen sowie die erforderlichen zusätzlichen Programm-Bibliotheken und Programme herstellen. Für diesen Zweck bestellt er beim Hersteller ein komplett installiertes Linux-Entwicklungssystem mit Cross-Toolchain. Der Einfachheit halber installiert der Hersteller eine Standard-Linux-Distribution auf einem PC, spielt eigene  Zusatzsoftware auf und liefert alles zusammen an seinen Kunden aus. Entweder macht er sich keine Gedanken, ob es sich dabei um eine lizenzkonforme Weitergabe der enthaltenen Software handelt, oder er geht stillschweigend davon aus, dass die Lizenzpflichten vom Hersteller der Linux-Distribution zu erfüllen sind. Was muss man tun, damit alles mit rechten Dingen zugeht und kein Software-Autor bzw. Rechteinhaber am Inhalt der Linux-Distribution dem Hersteller einen Verstoß gegen seine Lizenzbedingungen vorwerfen kann?


 

Vortragsreihe: Requirements

Anforderungen – Eine Checkliste zur Reife

Requirements Engineering und Management – Was kann ich tun?

Thomas Batt, MicroConsult GmbH (ESE Kongress 2017)

Anforderungen zu erfassen und zu verwalten ist ein wesentlicher Schlüssel zu erfolgreichen Projekten. Egal ob im klassischen oder agilen Prozessumfeld - professionelles Requirements Engineering und Management für Embedded- und Echtzeitsysteme verkürzt Ihre Projektlaufzeiten und spart Entwicklungs- sowie Wartungskosten ein. Stellen Sie sich dieser Herausforderung!

Specification by Example

Wie man den Kunden an Board hält

Markus Unterauer, Software Quality Lab (ESE Kongress 2017)

Specification by Example bedeutet, Anforderungen durch konkrete Beispiele zu spezifizieren. Dazu wird ein fixes Satzschema verwendet, welches ein einfaches Andocken von Testautomatisierung ermöglicht. So wird aus einem wertlosen Write-Only Dokument eine wertbringende lebende Spezifikation.

Traceability - oft gefordert, selten effizient

Fragen, Möglichkeiten und Best Practice für Cross Domain Traceability

Bernd Röser, agosense GmbH (ESE Kongress 2017)

Die Software- bzw. Systementwicklung ist heutzutage ohne einen methodischen Ansatz – nicht zuletzt aus Gründen der Produktsicherheit bzw. Produktqualität und der damit verbundenen Nachvollziehbarkeit der Aktivitäten und Ergebnisse – kaum mehr vorstellbar. Abhängigkeiten zwischen den jeweiligen Entwicklungsartefakten bzw. –aktivitäten sollten übersichtlich dargestellt sein, damit eine schnelle Analyse bei Veränderungen der Artefakte möglich ist. 


 

Vortragsreihe: Safety und Security

Schneller formal korrekten C-Code durch Benutzung von SPARK erstellen

Endlich ein einfacher Weg, sichere Software zu schreiben

Ingo Houben, Rob Tice, AdaCore (ESE Kongress 2017)

Diese Arbeit zeigt auf, wie formal richtiger Code in der Programmiersprache C erzeugt werden kann, durch einen Ansatz, der die notwendigen Informationen, die man für ein formelles Überprüfen braucht, in der Programmiersprache SPARK selbst unterstützt. Das ist von unserem Standpunkt aus eine neue Sichtweise auf die Software-Entwicklung, bringt viele Vorteile durch die Reduzierung des Entwicklungsaufwandes und spart dadurch Kosten. Das ist speziell auf Kosten bezogen, die bei der Suche nach Fehlern in späten Entwicklungsphasen anfallen. Der Hauptfokus dieser Arbeit besteht in der Beschreibung eines möglichen Arbeitsablaufes, der Kosten durch statische Analyse und formelle Methoden zum Auffinden von potenziellen Laufzeitfehlern in frühen Entwicklungsphasen minimiert. Wir werden uns auf das Schreiben von Programmcode beschränken und Themen wie Safety-Untersuchungen und Anforderungs-Engineering nicht mitberücksichtigen. Wir werden auch keine Beschreibung liefern, wie die formellen Methoden im Einzelnen funktionieren. Das wären zu viele Themen und Details, die auch schon in veröffentlichten Arbeiten zur Verfügung stehen.

Fuzzing von Embedded Software

Grundlagen und Erfahrungen aus der Praxis

Axel Wintsche, Philotech (ESE Kongress 2017)

Die Sicherheit von Software ist ein Kriterium, welches immens an Bedeutung gewonnen hat, sich aber nur unzureichend als Anforderung formulieren und testen lässt. Eine Teststrategie wie Fuzzing bietet allerdings eine Möglichkeit, automatisiert die Robustheit von Software zu testen und damit die Sicherheit zu erhöhen. Hier beschreiben wir, was Fuzzing ausmacht, welche Hürden es beim Testen von Embedded Software gibt sowie mögliche Lösungsansätze.

Embedded Clean Code im A-SIL-Serienentwicklungsumfeld

Praktische Erfahrungen hochwertiger Softwareentwicklung

Thomas Winz, softwareinmotion GmbH (ESE Kongress 2017)

Jurassic Park [R1]: "Sie haben befürchtet, Tiere zu verlieren, und das Programm ist deshalb so ausgelegt, dass es sofort Alarm schlägt, wenn es weniger als die erwartete Anzahl sind. Aber das ist gar nicht das Problem. Das bei weitem größere Problem ist, dass Sie mehr als die erwartete Anzahl haben." Wer kennt nicht unbedachte systementscheidende Anforderungen?

Agilität in Safety-Projekten - geht das?

Ein bewährter agiler Entwciklungsprozess für Safety-Projekte

Frank Poignée, infoteam Software AG (ESE Kongress 2017)

Agile Softwareentwicklung stellt sich als Ziel, den Entwicklungsprozess flexibler und schlanker zu machen, als das bei den klassischen Vorgehensmodellen wie dem V-Modell der Fall ist. Können agilen Methoden auch bei der Entwicklung von sicherheitsgerichteten Systemen vorteilhaft eingesetzt werden und gleichzeitig alle Anforderungen der IEC 61508 an den Entwicklungsprozess erfüllt werden?

Safety-Architektur für Plattformen mit komplexer Hardware

SIL-4 trotz unsicherer Hardware

Mehmet Özer, SYSGO AG (ESE Kongress 2017)

Die Sicherheitsnormen für die Eisenbahn (CENELEC - EN50128, EN50129, EN50126 etc.) haben einheitliche Anforderungen an die Entwicklung sicherheitsrelevanter elektronischer Systeme aus Software und Hardware eingeführt und sind an die Stelle lokaler Standards der einzelnen Länder getreten. Die Standardisierung führt zwar zu einem einheitlichen Verständnis von Sicherheit und Qualität, was definitiv positiv für die Safety ist, es zwingt aber auch die Unternehmen, einen kostspieligeren Entwicklungs- und Zertifizierungsprozess für Sicherheitssysteme umzusetzen.

Semi-automatische Safety-Analyse und -Optimierung

Wie Sicherheit von modellbasierter Entwicklung profitiert

Dr. Peter Munk, Dr. Arne Nordmann, Dr. Eike Thaden, Rakshith Amarnath, Markus Schweizer, Dr. Simon Burton, Robert Bosch GmbH (ESE Kongress 2017)

Bei immer kürzeren Entwicklungszyklen steigt die Komplexität von elektrischen/elektronischen (E/E) Systemen im Automobil stetig an. Funktionale Sicherheitsnormen, z.B. die ISO 26262, schreiben arbeitsintensive Schritte wie die Fehlerbaumanalyse (FTA) und die Failure Mode and Effects Analysis (FMEA) vor. Diese Schritte werden oft manuell und ohne systematische Wiederverwendung von Artefakten durchgeführt. Wir stellen eine semi-automatischen Sicherheitsanalyse- und Optimierungsmethodik vor. Dabei wird basierend auf bekannten Ansätzen wie Component Fault Trees [1] ein funktionales oder technisches Systemmodell um Fehlerpropagationsinformationen erweitert. Daraus werden automatisch die FTA und die FMEA für das Gesamtsystem abgeleitet. Aufgrund dieser Analysen kann das Modell zudem mittels wiederverwendbarer Architekturmuster optimiert werden [2]. Als Teil einer modellbasierten Entwicklung erhöht die vorgestellte Methodik somit den Automatisierungsgrad und senkt die Entwicklungsdauer.

Post-Quantum-Kryptographie auf eingebetteten Systemen

Stand der Technik und Ausblick

Thomas Pöppelmann, Infineon Technologies AG(ESE Kongress 2017)

Quantencomputer besitzen aufgrund ihrer Rechenleistung das Potenzial, verschiedene aktuell verwendete Verschlüsselungsalgorithmen zu brechen oder zu schwächen. Betroffen sind insbesondere asymmetrische Kryptoverfahren wie RSA und Elliptic Curve Cryptography (ECC), welche von zahlreichen Internetstandards wie Transport Layer Security (TLS), S/MIME, PGP und GPG genutzt werden. Abhilfe verspricht hier die Post-Quantum-Kryptographie (Post-Quantum Cryptography, PQC), bei der es sich um Verfahren handelt, die auf klassischen Computern ausgeführt werden können, aber der Leistung von Quantencomputern standhalten. Aktuell existiert eine große Zahl solcher PQC-Verfahren, welche sich bzgl. ihrer Implementierungseigenschaften stark von RSA und ECC unterscheiden.

Security-Zertifizierung im IoT-Kontext

Effiziente Evaluierung durch komponentenbasiertes Software-Design

Sergey Tverdyshev, SYSGO AG (ESE Kongress 2017)

Im Internet der Dinge wird die klassische IT-Sicherheit immer mehr auf eingebettete Komponenten ausgeweitet. Charakteristisch für die Sicherheitsanforderungen vieler IoT-Systeme ist, dass Integrität und Verfügbarkeit in stärkerem Fokus stehen. Dies schlägt sich auch in Zertifizierungsstandards nieder: Die klassischen Common Criteria for Information Technology Security (ISO 14508) werden durch domänenspezifische Sicherheitsstandards ergänzt, wie z.B. IEC 62443 für Industrial Control Systems, EDSA (Embedded Device Security Analysis) oder J3061 im Automobilbereich, die von einem starken Fokus von "Security for Safety" geprägt sind.

Absolute Security in Embedded-Systemen

Ein ganzheitlicher Ansatz, absolut sichere Systeme zu designen

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

Security wird in der heutigen Zeit der vernetzten Systeme immer wichtiger. Es leuchtet jedem sofort ein, wie wichtig der Schutz von persönlichen Daten, Firmendaten oder Werten im Allgemeinen ist. Auch bei vernetzten Embedded Systemen wird mittlerweile viel Wert auf Absicherung und Verschlüsselung der Datenübertragungen und der Speicherung der Daten gelegt. Die Gebäude, in denen die Server stehen, sind sehr stark geschützt, aber bei der Sicherheit der Embedded Systeme werden viel zu oft Lücken übersehen, womit das Gesamt­system verwundbar wird. Daher muss bei der Absicherung von Embedded Geräten ein viel breiterer Ansatz gewählt werden, der alle Aspekte der Entwicklung, der Produktion und der Wartung mit einbezieht. Dieser Beitrag zeigt interessante Beispiele von Angriffen und Verwundbarkeiten von verschiedenen Systemen, insbesondere solche, bei denen bei einem scheinbar nebensächlichen Aspekt ein Fehler gemacht wurde. Anschließend wird ein ganzheitlicher Ansatz vorgestellt, mit dessen Hilfe es möglich ist, absolut sichere Systeme zu produzieren. Es werden ganz unterschied­liche Bereiche beleuchtet, wie z.B. die Software-Entwicklung und Architektur des Systems, das Schlüssel- und Zertifikatsmanagement sowie der Herstellungs­prozess. Nur wenn alle Bereiche in der Verwundbarkeitsanalyse betrachtet werden, kann das System tatsächlich absolut sicher werden.

Security-Tests im Autopilot-Modus

Herausforderungen und Möglichkeiten automatisierbarer Penetration Tests

Michael Eisenbarth, Markus Nebel, comlet Verteilte Systeme GmbH, Prof. Dr. Manuel Duque-Anton, Hochschule Kaiserslautern (ESE Kongress 2017)

Die wachsende Vernetzung von Systemen und die zunehmende Anzahl kommunikationsfähiger Produkte verschärfen das Risiko durch Cyber-Angriffe. Andererseits benötigen verteilte Systeme vermehrt technische Möglichkeiten und Schnittstellen zur Durchführung von Software-Updates und Fernwartungskonzepten. Da Hersteller die Fernwartung ihrer Geräte und Maschinen meist über das Internet und ggfs. auch durch Dritte durchführen, z.B. um Firmware-Updates oder Einstellungen zur Leistungsverbesserung vorzunehmen, benötigt man eine technisch realisierte und etablierte Vertrauensbeziehung zwischen den Unternehmen oder Partnern. Typischerweise werden zum Nachweis der Systemsicherheit und sicheren Kommunikation Penetrationstests verwendet.

WannaCry or WannaAct?

Angriffsrisiken in der Entwicklung effektiv identifizieren und abschätzen

Daniel Angermeier, Alexander Nieding, Jörn Eichler, Fraunhofer-Institut für Angewandte und Integrierte Sicherheit (AISEC) (ESE Kongress 2017)

Dass eingebettete Systeme zunehmend vernetzt sind und oftmals ungehärtet in diese Situation gelangen, ist als "Internet of Shitty Things" wohlbekannt. Ebenso, dass der Entwurf einer Lösung ein angemessenes Problemverständnis voraussetzt. Wer sich jedoch bei der Entwicklung eingebetteter Systeme dieses Problemverständnis mittels einer Analyse der Angriffsrisiken verschaffen möchte, landet schnell in einer scheinbar endlosen Breiten- wie Tiefensuche nach möglichen Angriffsvektoren und unfruchtbaren Diskussion um Angriffswahrscheinlichkeiten und -auswirkungen. Im Folgenden diskutieren wir zentrale Herausforderungen und geben Hilfestellungen für die effektive Identifikation und Abschätzung relevanter Angriffsrisiken.

Sicher, performant oder schnell entwickelt: Was darf's sein?

Mit statischen Analysen zu besseren Design-Entscheidungen

Christian Guss, MathWorks (ESE Kongress 2017)

Im Zeitalter der Vernetzung und der Autonomie von Maschinen (Cyber-Physical Systems) sind einige Anstrengungen nötig um sicherzustellen, dass das Risiko von Cyber-Security-Attacken nicht zu gefährlichen Situationen führt, weil Hacker sich Zugriff auch sicherheitsrelevante Funktionen verschaffen können. Beim System- und Komponenten-Design und der Implementierung müssen dabei oft Kompromisse eingegangen und Entscheidungen getroffen werden, da die Anforderungen in Bezug auf Funktionalität, Performanz sowie Safety und Security teilweise kontradiktorisch zueinander sind, speziell wenn es um die Erfüllung von Standards geht. Wir stellen Beispiele und Methoden vor, wie mit Hilfe von Model-based Design, -Verifikation und statischer Code-Analyse Sicherheitslücken identifiziert, Applikationen abgesichert, standardkonform entwickelt und trotzdem performant und schnell implementiert werden können.

End-to-End-Kommunikationsparadigmen

Einfluss von End-to-End-Kommunikation auf Safey und Security

Karsten Schmidt, AUDI AG (ESE Kongress 2017)

Viele moderne embedded Systeme sind häufig verteilte Systeme, wobei an diese Systeme zusätzliche Anforderungen bezüglich Safety, Security und Echtzeit gestellt werden. Speziell der aktuelle Umstieg auf Ethernet-basierende Kommunikationssysteme bedingt eine kritische Betrachtung der angewandten Kommunikationsparadigmen, um eine effiziente Kommunikation zu ermöglichen. Im Rahmen dieser Veröffentlichung werden Entwurfskriterien unter Berücksichtigung einer sogenannten End-to-End-Betrachtung diskutiert. Es wird gezeigt, warum eine End-to-End-Betrachtung von Kommunikationsbeziehungen unter Berücksichtigung von querschneidenden Aspekten für eine gute System­architektur wichtig ist. Anhand von Beispielen aus dem Automotive-Bereich werden End-to-End-Eigenschaften diskutiert, und es wird untersucht, inwieweit diese Eigenschaften massiven Einfluss auf eine System- und Softwarearchitektur haben. Zusätzlich wird das Thema der dabei notwendigen Softwareabstraktion betrachtet.

Kriminelle Energie: Treibstoff für das Software Engineering

Wie Sie im Wettkampf "Hacker gegen Industrie" erfolgreich bestehen

Jürgen Belz, PROMETO GmbH (ESE Kongress 2017)

Welche Randbedingungen müssen erfüllt sein, um Security sinnvoll in die Entwicklung einfließen lassen zu können? Hacker arbeiten stets team- und lösungsorientiert. Sie benötigen für ihre Arbeit Expertise, Ausrüstung und Zugänge zum System. Security-Entwickler können lediglich den Zugang so beschwerlich wie möglich machen. Das setzt aber voraus, dass Entwickler detailliert und ständig aufs Neue lernen, wie Hacker sich Zugänge verschaffen – und dies bedeutet, selbst zu hacken. Dabei beginnt ein Wettlauf gegen die Zeit, denn Bedrohungen müssen innerhalb weniger Tage ausgeschaltet werden können. Der normale Entwicklungszyklus von 1-3 Jahren greift nicht mehr.

Architekturvarianten sicherheitskritischer Echtzeitsysteme

Sichere und kostengünstige Lösungen systematisch ermitteln

Dr. Ulrich Becker, Method Park, Dr. Isabella Stilkerich, Schaeffler Technologies, Dr. Ralf Münzenberger, INCHRON (ESE Kongress 2017)

Immer mehr eingebettete Systeme sind sicherheitsrelevant, oft gekennzeichnet durch eine Kombination aus hohen Verfügbarkeitsanforderungen und harten Echtzeitanforderungen. Typisches Beispiel für diese Systemkategorie sind Sicherheits- und Assistenzfunktionen im Automobilbereich. Werden die Echtzeitanforderungen erst spät betrachtet, resultieren oft teure Änderungen an der System-, SW- und HW-Architektur. Dieser Artikel zeigt ein durchgängiges Vorgehen von der Sicherheitsanalyse über die funktionale Architektur bis hin zur technischen Architektur auf. Schon in der funktionalen Architektur werden sicherheitsrelevante Wirkketten identifiziert, End-to-End Echtzeitanforderungen zugewiesen und Zeitbudgets abgeleitet. Aus der funktionalen Architektur können verschiedene Varianten technischer Architekturen abgeleitet werden. Die Architekturvarianten können hinsichtlich ihrer Echtzeiteigenschaften simuliert und systematisch bewertet werden, so dass die bezüglich Sicherheit und Kosten optimale Variante ausgewählt werden kann.


 

Vortragsreihe Software Engineering Management

Aufwandsschätzung: Handwerk oder Magie?

Sinnvolle Schätzungen auch bei wenig Informationen

Andreas Stucki, Solcept AG (ESE Kongress 2017)

Aufwandsschätzung ist immer dann einfach, wenn man etwas schon mal getan hat. Was aber wenn alles neu ist? Was, wenn die Information über das Projekt nur dürftig ist? Der Beitrag zeigt verschiedene Schätzmethoden auf, bekannte und weniger bekannte, zusammen mit weichen Faktoren, die man beachten sollte. Dann wird gezeigt, wie man die Methoden für zwei Fälle kombinieren kann; zuerst für neue, aber einigermaßen klar definierte Projekte, dann auch für Projekte, die eher noch Ideen sind.

Metriken-getriebene Prozessentwicklung im Rahmen zukünftiger vernetzter Mobilität

Ein Framework zur Risikobewertung von Fahrzeug-Funktionen

Christopher Kugler, Stefan Kowalewski, Lehrstuhl Informatik 11 – Embedded Software, RWTH Aachen University; German Baca Espinoza, Ralf Maquet, Jiju Vadakkepattath, Dirk Macke, Johannes Richenhagen, FEV Europe GmbH (ESE Kongress 2017)

Mobilität verändert sich disruptiv: Neue Themenkomplexe wie Fahrzeugvernetzung und hochintelligente Assistenzsysteme stellen hohe Qualitätsanforderungen an SW-Produkte bei steigender Komplexität. Folglich müssen bestehende Entwicklungsprozesse kontinuierlich verbessert werden, um dem Zeit- und Kostenrahmen in Projekten gerecht zu werden. In dieser Arbeit werden qualitative, metriken-basierte Meilensteine definiert, die einen reibungslosen Übergang zwischen Entwicklungsphasen sicherstellen sollen. Ein Rahmenwerk zur Risikobewertung von Fahrzeug-Funktionen wird vorgeschlagen, welches im Sinne des risikobasierten Testens zur Steuerung des Testumfangs genutzt werden kann. Es werden Risikofaktoren identifiziert, die eine Anwendung im Kontext vernetzter Mobilität erlauben. Zuvor definierte Metriken aus frühen Entwicklungsphasen fließen in die Bewertung ein und gewährleisten ein Mindestmaß an Objektivität. Das Rahmenwerk wird anhand einer Fallstudie evaluiert und der operative Mehrwert aufgezeigt.

Software-Visualisierung heute und morgen

Wie man sich einen Einblick in Software verschafft

Prof. Dr. Rainer Koschke, Universität Bremen, Axivion GmbH (ESE Kongress 2017)

Während ein Maschinenbauer an sein Werk treten und es sehen, fühlen, riechen und hören kann, entzieht sich Software der Sinneswahrnehmung ihrer Entwickler, weil Software immateriell ist. Nichtsdestotrotz müssen wir ihre oftmals komplexe innere Struktur und das Zusammenwirken ihrer Bestandteile durchschauen. Das Lesen des Quelltexts ist ab einem bestimmten Umfang nicht mehr möglich. Wir brauchen eine abstraktere Aufbereitung der Information. Software-Visualisierung ist die Wissenschaft der graphischen Repräsentation von Informationen über Software. Sie ist weit mehr als nur das Erzeugen von Pixeln. Die Interaktion in Form von Filtern, Suchen und Abfragen der dargestellten Daten ist integraler Bestandteil. Sie ist zudem eng verknüpft mit der Analyse von Software zur Datenextraktion. In der so genannten Visual Analytics hilft sie, die automatische Datenanalyse mit der menschlichen Fähigkeit zu ergänzen, Muster und Trends visuell auf einen Blick zu erfassen.

Software Usability immer im Blick

Eine Einführung in den User Centered Design Process

Jonas Zimmermann, Mixed Mode GmbH (ESE Kongress 2017)

Der UCDP hilft mit einer systematischen Vorgehensweise dabei, sich benötigtes Wissen anzueignen, es auf die essentiellen Punkte zu komprimieren und daraus ein Produkt mit bestmöglichem Kundennutzen zu erzeugen. Im Mittelpunkt des User Centered Design Process (UCDP) stehen der Benutzer und die möglichst enge Zusammenarbeit mit ihm. Die vier Phasen sind durch den UCDP vorgegeben, das Team ist jedoch frei in der Wahl der Mittel.

Wenn die Lieferkette zum Röntgen muss

Qualitätssicherung in der Software Supply Chain

Dr. Ralf Huuck, Synopsys (ESE Kongress 2017)

In den meisten Entwicklungsprojekten wird Software nicht komplett neu geschrieben, sondern baut auf bestehenden Komponenten auf. Diese Komponenten können aus vorherigen Projekten, aus Open-Source-Quellen oder von Zulieferern kommen. Gerade die externen Quellen bergen Herausforderungen: Wie kann man sicherstellen, dass diese Drittanbieterkomponenten den eigenen Qualitäts-, Lizenz- und Sicherheitsansprüchen gerecht werden? Dieser Artikel beleuchtet einige der Risiken beim Einbetten von Drittanbieterkomponenten und stellt die Ergebnisses einer weltweiten Untersuchung zu Sicherheitslücken in Open Source Komponenten vor. Daraus abgeleitet wird erläutert, wie automatische Software Composition Lösungen verwendet werden können, um diese Sicherheitslücken im Entwicklungsprozess zu erkennen und automatisch zu verhindern.

Scrum für Embedded-Software

Gut – aber aus anderen Gründen, als Ihr Manager glaubt

Dr. Joachim Schlosser, Martin Hillbrand, Elektrobit Automotive GmbH (ESE Kongress 2017)

Agil, was ist das eigentlich? Agile Entwicklung, das hat was von Leichtigkeit. Tatsächlich trägt agile Entwicklung dazu bei, schneller bessere Ergebnisse erzielen zu können. Es gilt aber auch: der Prozess ist strikter, als Sie ihn heute wahrscheinlich leben. Scrum ist strikter gegenüber dem Management und erfordert einen funktionierenden Integrations- und Testprozess, vor allem in Embedded Systemen.

Bereit für MBSE?

Ein Reifegradmodell für modellbasiertes Systems-Engineering

Dr. Maximilian Junker, Qualicen GmbH, Prof. Dr. Andreas Vogelsang, Dr. Wolfgang Böhm, Technische Universität Berlin (ESE Kongress 2017)

Viele Unternehmen wollen die zunehmende Komplexität ihrer Produkte sowie die steigenden Anforderungen an Wiederverwendbarkeit und Kosteneffizienz durch den Einsatz von modellbasierten Ansätzen in den Griff bekommen. Die Einführung dieser Ansätze stellt jedoch eine große Herausforderung für die Organisation dar, die nicht auf einen Schlag erfolgen kann und auch nicht sollte. In diesem Beitrag stellen wir ein Reifegradmodell vor, das speziell auf die schrittweise Einführung von modellbasiertem Systems-Engineering (MBSE) zugeschnitten ist. Dabei berücksichtigt das Modell die besonderen Gegebenheiten des Unternehmens.

Erfolgreiche Tradition trifft dynamische Moderne

Einführung von anforderungs- und modellgetriebener Entwicklung

Kai Gloth, Sartorius Lab Instruments (ESE Kongress 2017)

Für jeden Teil der Produkt- bzw. Instrumentenentwicklung und der damit verbundenen Prozesse gibt es unendlich viele Bücher und Ratgeber. Suche ich auf Amazon nach dem Begriff Requirements Engineering, werde ich mit weit über 2000 Ergebnissen konfrontiert. In den Standardwerken, Klassikern und Neuerscheinungen ist jeder Aspekt berücksichtigt. Für jedes noch so kleine Detail gibt es Ausarbeitungen von mehreren Seiten, die alle - vorausgesetzt, sie werden im Detail gelesen - den Leser auf jede Situation vorbereiten sollen. Genau dies habe ich gemacht. Als ich im Jahr 2014 die Aufgabe bekommen habe, die Neuentwicklung eines Geräts zu starten, habe ich nahezu jeden Teilaspekt der Entwicklung in Frage gestellt und mit Hilfe von Büchern versucht zu erarbeiten, wie diese Teilschritte und die gesamte Entwicklung verbessert werden können. Mein Plan war es, insbesondere Requirements Engineering und so weit wie möglich modellgetriebene Entwicklung in allen Bereichen zu etablieren.


 

Vortragsreihe Test und Qualität

Keine Angst vor Software-Varianten

Wiederverwendung und Vererbung von Testfällen

Michael Wittner, Razorcat Development (ESE Kongress 2017)

Die Herausforderung beim Testen von Software-Varianten besteht darin, dass jede Variante vollständig getestet werden muss. Nachfolgend wird eine Methode zur Wiederverwendung und Vererbung von Variantentests vorgestellt. Über die Definition von Basistests, die an Variantentests vererbt werden, kann redundante Arbeit vermieden werden. Bei jeder Änderung der Applikation müssen die Tests nur an einer Stelle gepflegt werden.

Hardware-in-the-Loop- and Software-in-the-Loop-Tests for Everybody

Test First für Embedded-Systeme

Thomas Schütz, PROTOS Software GmbH, Toolchains für Embedded Software (ESE Kongress 2017)

Die meisten Embedded-Systeme werden zu spät oder nur unzureichend getestet. Fakt ist: Je später Fehler entdeckt werden, desto teurer ist die Behebung - die Kosten steigen exponentiell mit Fortschreiten des Projekts an. Im Extremfall einer Rückrufaktion für bereits gelieferte Produkte kann das zu Kosten in Millionenhöhe führen. Es muss also Ziel sein, deutlich früher zu testen – im Idealfall bereits während der Implementierung.

Qualität auf Abruf

Outsourcing in agilen Software-Entwicklungsprozessen

Dr. Hartmut Lackner, Model Engineering Solutions GmbH (ESE Kongress 2017)

Outsourcing von Testdienstleistungen liefert schnellere und bessere Ergebnisse als die Inanspruchnahme firmeninterner Ressourcen - so die Erwartung. In der Realität ist dies möglich, aber keinesfalls immer der Fall. In diesem Vortrag erfahren die Teilnehmer unter welchen Voraussetzungen Outsourcing von Test- und anderen qualitätssichernden Dienstleistungen im agilen Umfeld möglich und erfolgreich ist.

Effective Power Interruption Testing

How to Fail Best

Thom Denholm, Datalight Inc. (ESE Kongress 2017)

From dropped batteries to system failures, embedded designs require solid power interruption testing. Durability demands for embedded products have increased as the expected lifetime of high reliability products has grown. Faced with these conditions, developers must expand their testing toolkit. To achieve the most comprehensive reliability testing in the least amount of time, stress testing must utilize I/O at the point of power interruption.

29119 Methoden, um Software zu testen

Vorstellung der Standardreihe ISO/IEC/IEEE 29119

Gudrun Neumann, SGS-TÜV Saar GmbH (ESE Kongress 2017)

Verifikation durch Testen ist eine wichtige Phase im Software-Lebenszyklus. Die Standard-Reihe ISO/IEC/IEEE 29119 gibt international anerkannte Empfehlungen zum Thema Softwaretesten. Die beschriebenen Prozesse, Methoden und Techniken können von jedem Entwickler oder Verifikationsteam angewendet werden, um Software zu testen. Dieser Beitrag gibt einen Überblick über die Standardreihe. In einem weiteren Schritt wird dargestellt, inwieweit diese Methoden zur Erfüllung von Functional Safety Standards, wie z.B. ISO 26262, IEC 61508 und Cyber Security Standards, verwendet werden können. Eine Zusammenfassung der wesentlichen Aspekte erfolgt am Ende des Beitrags.

ISO 29119 und der agile Ansatz: Geht das zusammen?

Probleme und Lösungsansätze im agilen Umfeld

Dr. Richard Kölbl, Mixed Mode (ESE Kongress 2017)

Bis 2015 wurden fünf Teile der Norm zum Softwaretest ISO/IEC/IEEE 29119 veröffentlicht. Seit Beginn ihrer Erarbeitung gab es besonders aus den Reihen der Befürworter der agilen Entwicklung Widerstand dagegen: Die Norm sei zu schwerfällig, veraltet, behindere die agile Entwicklung und überhaupt brauche der Test keine Normierung. Aber stimmt das wirklich? Sind die ISO 29119 und agile Prinzipien auch beim näheren Hinsehen unverträglich?


Beiträge ESE 2017, Teil 1