Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Embedded Software Engineering Fachwissen: ESE 2016 (Teil 1)

MicroConsult bietet das ganze Jahr zu den auf dem Kongress besprochenen Themen Weiterbildungen, Kurse und Seminare sowie Coaching an.

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

Zum Kontaktformular


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


 

Vortragsreihe: Agil & Scrum

Agile Entwicklungsprozesse im normativ regulierten Umfeld

Die Rolle der Qualitätssicherung auf dem Weg zur Zertifizierung

Rosalinde Schuster, Christoph Legat, Berner & Mattner Systemtechnik (ESE Kongress 2016)

Um in einem dynamischen, internationalen Markt wettbewerbsfähig zu bleiben, streben Unternehmen nach stets kürzeren und flexibleren Entwicklungszyklen. Im Zuge dieser Entwicklung gewinnen agile Entwicklungsmethoden zunehmend an Bedeutung. Entsprechend dem sogenannten Agilen Manifest wird dabei Individuen und deren Interaktionen, ein funktionierender Produktstand, die Zusammenarbeit mit dem Kunden und die Reaktion auf Veränderungen mehr Gewicht beigemessen als Prozessen und Werkzeugen, einer umfassenden Dokumentation und der Stabilität eines einmal erstellten Plans. Demgegenüber steht jedoch die Anforderung, spezifischen Normen für den Entwicklungsprozess und/oder Produkten zu entsprechen.

DevOps, Agile Entwicklung und Security

Passt das zusammen?

Dr. Ralf Huuck, Synopsys (ESE Kongress 2016)

Moderne Softwareprozesse sind stark von kurzen Produktzyklen, Modularität und schnellem Markteintritt angetrieben. Dieses spiegelt sich in den sogenannten DevOps Prozessen wider als auch in dem Trend zu zunehmend agileren Ansätzen, die eine flexible Antwort auf sich ändernde Anforderungen geben. Auf der anderen Seite sind die Sicherheitsanforderungen insbesondere im Embedded Software Bereich stark gestiegen. Sicherheit erfordert aber gründliches Planen, eine saubere Sicherheitsarchitektur und Spezialkenntnisse, die einem ad hoc Ansatz entgegenstehen. Dieser Vortrag beleuchtet diese scheinbaren Gegensätze und die sich daraus ergebenden Konsequenzen.


 

Vortragsreihe: Architektur

Adaptive Software-Architekturen für automatisierte Systeme

Fail-Operational: Wie hochautomatisierte Funktionen trotz Fehler funktionieren

Gereon Weiß, Philipp Schleiß, Fraunhofer ESK (ESE Kongress 2016)

Die zunehmende Automatisierung von Systemen erfordert neue Ansätze zur Steigerung deren Verlässlichkeit und Flexibilität. In zukünftig hochautomatisierten Fahrzeugen kann der Fahrer die Kontrolle über das Fahrzeug vollständig abgeben und muss erst nach 10 Sekunden wieder übernehmen können. Hierfür müssen die hochautomatisierten Fahrfunktionen auch im Fehlerfall weiter funktionieren, d.h. fail-operational sein. Der Beitrag stellt ein neues Konzept und Lösung für zukünftige adaptive Fahrzeugsoftware-Architekturen vor.

Wie treibt man die Herde wieder sicher zusammen?

Architekturanalyse für Software-Varianten

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

Wenn man sehr variantenintensive Software-Produkte zu betreuen hat, bietet sich eine Entwicklung in einer sogenannten Software-Produktlinie (SPL) an. Eine Produktlinie ist eine Familie von Programmen, die eine große Anzahl gleicher Anforderungen erfüllt, von denen aber jedes einzelne Programm nicht genau das Gleiche tut wie die anderen – sei es weil es etwas andere funktionale Anforderungen hat oder weil es etwas andere nicht-funktionale Eigenschaften aufweist (z.B. andere Algorithmen mit unterschiedlichem Ressourcenbedarf implementiert). Manche Autoren bezeichnen SPL deshalb auch als Software-Produktfamilien.

Was macht Ihr Prozessor jetzt gerade?

Techniken zur Messung von Software-Aktivitäten in Echtzeit

Ulrich Dreher, iss innovative software services GmbH (ESE Kongress 2016)

Obwohl Debugger, Emulatoren und andere Entwicklungshilfsmittel in den ver­gangenen Jahrzehnten gewaltige Fortschritte gemacht haben, fehlt ihnen eine Funktion, die die Entwicklung, Fehlersuche und Validierung von Echtzeitsyste­men erheblich erleichtern würde: die Möglichkeit, Software-Events und Ereig­nisse der "realen Welt" in "harter Echtzeit" miteinander zu verknüpfen. Dieser Beitrag beschäftigt sich damit, diese Schwachstellen zu überwinden.


 

Vortragsreihe: Echtzeit

Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns

Erhöhung der Systemsicherheit durch die Wahl ECC-geeigneter Prozessoren und Speicher

Kei Thomsen, MicroSys Electronics GmbH (ESE Kongress 2016)

Mit hochintegrierten und leistungsfähigen System on Chip Lösungen wandert zunehmend Intelligenz bis auf die Sensorebene von komplexen embedded Anwendungen. Wie Zuverlässigkeit im Design auch bei kleinen Systemstrukturen zu erreichen ist, gepaart mit hoher Performance und geringer Leistungsaufnahme, ist nach wie vor eine wichtige Kompetenz modernen Systemengineerings.

Mixed-Criticality Systeme durch Echtzeitfähigkeitsklassen

Echtzeitanwendungen im Kontext paralleler Programmiermodelle

Tobias Langer, Lukas Osinski, Jürgen Mottok, OTH Regensburg,
Tobias Schüle, Siemens AG, Ralph Mader, Continental AG (ESE Kongress 2016)

Moderne eingebettete Systeme erfordern die parallele Ausführung von Anwendungen mit variierenden Kritikalitäten hinsichtlich funktionaler Sicherheit und Echtzeitverhalten. Echtzeitfähigkeitsklassen bilden eine Basis, mit der solche Systeme entworfen werden können. Wir präsentieren eine erste Beschreibung des Echtzeitfähigkeitsklassenmodells sowie seine Referenzimplementierung auf Basis der Embedded Multicore Building Blocks (EMB²), einer Bibliothek für die parallele Programmierung eingebetteter Systeme.


 

Vortragsreihe: Implementierung

Anpassbare Software geschickt umgesetzt?!

Implementierungsmechanismen anpassbarer Software im Vergleich

Martin Becker, Bo Zhang, Fraunhofer IESE (ESE Kongress 2016)

Bei der erfolgreichen Realisierung von wiederverwendbaren und konfigurierbaren Softwaremodulen ist einer der wichtigsten Schritte die Auswahl von geeigneten Variabilitätsmechanismen. Prominente Vertreter sind hier die bedingte Kompilierung mit dem Präprozessor, die Modulauswahl oder die Parametrierung in Verbindung mit bedingter Ausführung. Der Blick in den Entwicklungsalltag zeigt, dass die Mechanismen oftmals leichtfertig ausgewählt und willkürlich eingesetzt werden. Die Konsequenz sind dann oftmals schlecht verständliche und wartbare Software-Ungetüme. Der Beitrag gibt einen Überblick über gängige Variabilitätsmechanismen, zeigt Stolperfallen und Best-Practices anhand von Praxisbeispielen auf.

Nutzen Sie die Macht der Sprache

Programmieren einmal anders

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

Programmieren ist heute ein Leichtes. Es gibt dutzende Programmiersprachen und viele Möglichkeiten, sie zu erlernen. Ein wichtiger Teil des Wortes Programmiersprache: die Sprache. Meist konzentrieren wir uns darauf, den Teil "Programmieren" zu erledigen. Im Embedded-Umfeld haben Programme eine Lebensdauer von vielen Jahren. Das fehlerfreie Programmieren ist deshalb eine wichtige Aufgabe. Oft vernachlässigt wird, dass es beim Programmieren noch ein weiteres wichtiges Ziel gibt, und zwar die Kommunikation mit den anderen Entwicklern. Mithilfe der Sprache können wir unsere Intention über Jahre hinweg kommunizieren. Durch Sprache wird die Fehlersuche unterstützt, und das bestehende Programm lässt sich leichter erweitern. Mit der Weiterentwicklung des C++ Standards zu C++11 und 14 ergeben sich neue Möglichkeiten, unsere Ausdrucksweise weiter zu verbessern.

Virtualisierung im industriellen Umfeld

Grundlagen, Lösungen, Erfahrungen

Frank Erdrich, Jan von Wiarda, emtrion (ESE Kongress 2016)

Virtualisierung bietet eine Lösung, um mehrere Softwareinstanzen, etwa Betriebssysteme, auf einem System zu betreiben. Dabei laufen die einzelnen Systeme getrennt voneinander ab, ohne zu wissen, dass andere Instanzen auf demselben physikalischen System ausgeführt werden. Durch diese Trennung kann eine gewisse Sicherheit erreicht werden, da beispielsweise eine komprommitierte Instanz nicht auf die Ressourcen, etwa den Hauptspeicher, anderer Instanzen zugreifen kann.

Bildverarbeitung mit dem Smartphone

Möglichkeiten und Grenzen

Prof. Dr. Marianne von Schwerin, Daniel Klitzke, Hochschule Ulm (ESE Kongress 2016)

In vielen industriellen Bereichen kommen Techniken der Bildverarbeitung zum Einsatz. Häufig werden hierbei speziell auf die entsprechenden Bedürfnisse zugeschnittene Hardware und eigens dafür entwickelte Software eingesetzt. Mit der steigenden Leistungsfähigkeit von Smartphones können aber auch diese für Bildverarbeitungsaufgaben genutzt werden. Das Beispiel der Verkehrszeichenerkennung in einem autonom fahrenden Modellauto zeigt, dass Bildverarbeitung sehr gut mit einem gängigen Smartphone gelöst werden kann. Allerdings ist das auf einem Smartphone basierende System nicht echtzeitfähig und die Hardware nicht auf Dauerbetrieb ausgelegt, so dass hier Zugeständnisse gemacht werden müssen.


 

Vortragsreihe: Industrie 4.0

Wir bauen eine Maschine - und bauen das IoT gleich mit ein!

Scherz beiseite - wie kann man IoT-Methoden im Maschinenbau sinnvoll nutzen?

Robert Schachner, RST Industrie Automation GmbH bzw. Embedded4You e.V. (ESE Kongress 2016)

IoT - das "Internet of Things" und "Industrie 4.0": Diese zwei Gespenster geistern derzeit überall durch Veranstaltungen und Messen. Das Gesagte klingt dann oft verheißungsvoll; das Ziel der Träume, der große Erfolg werden angekündigt. Meistens bleibt es jedoch bei diversen Schlagworten, deren tieferer Sinn sich aber nicht so recht erschließen will. Dieser Vortrag klärt auf, was sich dahinter verbirgt, und zeigt am Beispiel einer Maschine, wie man diese Technologien wirklich sinnvoll umsetzen kann.

Szenarien für Industrie 4.0

Visionen, Anwendungsbeispiele und Entwicklungsziele

Dr. Irmhild Rogalla, Institut für praktische Interdisziplinarität (ESE Kongress 2016)

Szenarien spielen in der Arbeit der Plattform Industrie 4.0 der Bundesregierung eine große Rolle. Sie werden zur Sammlung von Anforderungen an das "RAMI – Referenzarchitekturmodell Industrie 4.0", als Anwendungsbeispiele wie als Visionen genutzt.


 

Vortragsreihe: Modellierung

Modellgetriebene Entwicklung von Sensorschnittstellen

Werkzeugunterstützung durch SensIDL

Dr. Christoph Rathfelder, Nathalie Hipp, Hahn-Schickard, Emre Taspolatoglu, Jörg Henß, FZI Forschungszentrum Informatik (ESE Kongress 2016)

SensIDL (http://www.sensidl.de) ist ein Open-Source-Werkzeug für die vereinfachte Implementierung von Kommunikationsschnittstellen intelligenter und ressourcen-eingeschränkter Sensorsysteme, welche als zentraler Baustein des "Internets der Dinge" angesehen werden können. SensIDL (Sensor Interface Definition Language) unterstützt den Sensorentwickler mit einer dedizierten Schnittstellenbeschreibungssprache sowie zugehörigen Editoren und ermöglicht so die effiziente Definition und Dokumentation der Sensorschnittstellen. Ausgehend von dieser Beschreibung erzeugen Code-Generatoren automatisiert den auf Sensor- und Empfängerseite notwenigen Code. Diese semantisch angereicherte API ermöglicht, die Daten zu instanziieren und danach zu übertragen. Hierdurch werden die Entwickler entlastet und die Effizienz der Entwicklung und Implementierung sowie deren Qualität können gesteigert werden

The Simulation Game - alles Auslegungssache

Embedded-Systeme modellbasiert spezifizieren und simulieren

Dr. Klaus Birken, itemis AG (ESE Kongress 2016)

Die Gretchenfrage des Embedded-Ingenieurs: Läuft die Software auf der Hardware, ohne diese zu sprengen? Die Software muss alle erforderlichen Funktionen umsetzen und dabei die Hardware optimal ausnutzen. Die Wirtschaftlichkeit des Produkts wird hauptsächlich von den Hardware-Kosten bestimmt; dies gilt besonders für Produkte, die in hohen Stückzahlen hergestellt und verkauft werden. In diesem Beitrag werden eine Methode und ein zugehöriges Tool vorgestellt, mit denen diese Interaktion von Hardware und Software modelliert und simuliert werden kann. Dies kann im Entwicklungsprozess bereits dann geschehen, wenn es noch keine Prototypen gibt und die Software-Implementierung ebenfalls noch in der Zukunft liegt. Egal, welche Änderungen der Systemingenieur am Modell seiner Software oder Hardware vornimmt - das Tool zeigt deren Auswirkungen direkt und live. Somit wird eine interaktive, spielerische Art des Systementwurfs möglich.

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

Wie Sie modellbasiert fundierte Designentscheidungen treffen

Stefan David, MathWorks (ESE Kongress 2016)

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 Zugruff auf 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 mithilfe von Model-Based-Design, -Verifikation und statischer Code-Analyse Sicherheitslücken identifiziert, Applikationen abgesichert, Standard-konform entwickelt und trotzdem performant und schnell implementiert werden können.

Der richtige Einstieg in modellbasiertes Software Engineering?

Worauf es ankommt und was es bringt: ein Praxisbeispiel

Georg Rößler, peiker acustic GmbH & Co. KG, Valeo peiker Telematics (ESE Kongress 2016)

Die Vorteile von modellbasierter Softwareentwicklung (MBSE – Model Based Software Engineering) sind vielfach beschrieben worden. Dennoch ist die Methode weniger verbreitet, als dies zu erwarten wäre, weil beim Einstieg einige Hürden zu überwinden sind. Oft entstehen neue Produkte auf der Basis eines vorhandenen Systems mit konventionell entwickelter Software. Außerdem erwartet der Auftraggeber häufig, dass frühzeitig einige Funktionen demonstriert und im Zuge der Entwicklung erweitert werden.

Wie Modelle das Testen effizienter machen

Modellbasiertes Testen mit dem UML Testing Profile V2 der OMG

Markus Schacher, KnowGravity Inc. (ESE Kongress 2016)

Die Aufwände für das Testen machen heute immer noch einen substantiellen Teil der Entwicklungskosten komplexer Systeme aus. Modellbasiertes Testen (MBT) verspricht eine deutliche Reduktion dieser Aufwände, vor allem beim Entwurf und der Pflege von Testspezifikationen. Einerseits vereinfacht die umfassende Wiederverwendung testrelevanter Konzepte deren Pflege und Weiterentwicklung. Andererseits ermöglichst der erhöhte Formalisierungsgrad von MBT, sowohl den Testentwurf als auch die Testausführung weitgehend zu automatisieren, was insbesondere bei Regressionstests zu großen Kosteneinsparungen führt. Das UML Testing Profile V2 (UTP 2) ist eine neue Spezifikation der Object Management Group (OMG), welche ganz auf das modellbasierte Testen ausgerichtet ist.


Beiträge ESE 2016, Teil 2