Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Embedded Software Engineering - Fachwissen

Der Embedded Software Engineering Kongress - kurz ESE Kongress - wurde 2008 ins Leben gerufen und ist die einzige deutschsprachige Veranstaltung, die sich tiefgehend den Themen und Herausforderungen bei der Entwicklung von Geräte- und Systemsoftware für Industrieanwendungen, Kfz-Elektronik, Telekom sowie Consumer- und Medizintechnik widmet. MicroConsult ist Mitbegründer und Veranstalter dieses Events.

Der Kongress zeichnet sich besonders durch ein hochkaratiges Vortragsprogramm aus. An dieser Stelle veröffentlichen wir für Sie fortlaufend Abstracts diverser Fachbeiträge.

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 in der Industrie und nehmen Sie mit uns Kontakt auf. Wir beraten Sie gerne.

MicroConsult Training & Coaching: Themen

Zum Kontaktformular


 

Vortragsreihe: Agil & Scrum

Agile Entwicklungsprozesse im normativ regulierten Umfeld

Die Rolle der Qualitätssicherung auf dem Weg zur Zertifizierung

Rosalinde Schuster, Christoph Lagat, 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.

Wie wird aus Anforderungen eine Software-Architektur?

Effizient eine verifizierte Produktarchitektur entwickeln

Peter Schedl, IBM Deutschland GmbH (ESE Kongress 2015)

Es wird die industrieerprobte Harmony Methode zur Erstellung von Architekturen für embedded Produkte vorgestellt. Im Vortrag wird das Zusammenspiel von Anforderungen, funktionalen Architekturen und dem Design beschrieben. Besonderes Augenmerk liegt auf der Bedeutung permanent begleitender Verfifikation der Entwicklungsschritte.

Designing and Maintaining a High-Performance Embedded Software Architecture

Erik Hons, National Instruments (ESE Kongress 2015)

Well-designed software architectures enable better reuse of software components and more rapid development of system variants than monolithic designs. Software architectures are necessarily abstractions, and therefore have to be carefully designed to perform well. This case study follows the design of such an architecture for large distributed embedded control systems with lessons on delivering and maintaining system performance as architectures are ported to new platforms.


 

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.

How to Measure RTOS Performance

Colin Walls, Mentor Graphics, Newbury UK (ESE Kongress 2015)

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.


 

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.


 

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.

Model Driven Software Engineering 2.0

Manifest zur erfolgfreichen Anwendung der MDSE

Andreas Foltinek, IMACS GmbH (ESE Kongress 2015)

Immer komplexere Strukturen, Funktionen und das Zusammenspiel technischer Systeme bestimmen unseren Alltag. Die einhergehende fortwährende Aufgabenverlagerung von Mechanik- und Elektronikkomponenten auf die Software rücken diese immer stärker in den Fokus der Innovationen und erhöhen damit deren Bedeutung und Aufwendungen. Leider wird dieser Entwicklung nicht immer Rechnung getragen und der Software lastet - auch auf Leitungs- und Führungsebene - immer noch oft der Aspekt eines notwendigen Beiwerks an. Hinzu kommt, dass ein allgemeines Bewusstsein eines immer möglichen und vermeintlich kostenlosen Software-Updates in den Köpfen besteht und dieses Verständnis durch Nutzer und Konsumenten, die dies mittlerweile als selbstverständlich akzeptieren, noch gefördert wird.

Beschleunigt oder bremst MBSE die Entwicklung von 500 kW Bremsleistung?

MBSE in knapp kalkulierten Projekten

Thomas Rogalski, enders Ingenieure (ESE Kongress 2015)

Kern des Beitrags ist ein Erfahrungsbericht über den Einsatz von model-based Systems Engineering (MBSE) in einem durchgeführten Kundenprojekt. Ziel des Projekts war die Entwicklung und Bereitstellung eines Bremsfahrzeugs mit einer Bremsleistung von 500 Kilowatt. Bereits zum Projektstart wurde kontrovers diskutiert, ob MBSE eingesetzt werden soll, welche Erwartungen an das Modell gestellt werden und welche Ausprägung der Einsatz der Methode haben soll und darf. Diese Fragen wurden besonders durch das straffe Projekt-Budget geprägt. Somit war klar, dass ein Einsatz der Methodik möglichst pragmatisch und effektiv ablaufen muss. Der Beitrag geht auf die frühe Projektphase, die Umsetzung von MBSE sowie auf ein Resümee des Ganzen ein.

Codegenerierung - was man damit (nicht) machen kann

Varianten, Möglichkeiten und Einschränkungen

Horatiu O. Pilsan, Robert Amann, FH Vorarlberg (ESE Kongress 2015)

Die Codegenerierung ist ein wesentlicher Teil eines modellbasierten Entwicklungsprozesses. Der Vortrag vermittelt die wichtigsten Informationen darüber, was man sich von der Codegenerierung in Embedded Systems erwarten soll und was nicht. Ausgehend von der Grundlage, dem (Struktur-, Ablauf-, oder Regler-) Modell, werden die Varianten (signalfluss- und kontrollfluss-, zeit- und ereignisbasiert) in ihren Unterschieden durchleuchtet. Die dafür notwendigen Laufzeitsysteme werden analysiert und deren mögliches Zusammenspiel in einem Gesamtsystem betrachtet.

Architekturprüfung für Modelle

Modell-Erosion effektiv verhindern

Ingo Battis, Sennheiser electronic GmbH & Co. KG, Thomas Eisenbarth, Axivion GmbH (ESE Kongress 2015)

Die Versprechungen der UML-Modellierung mit anschließender Codegenerierung sind signifikant höhere Wartbarkeit, Fehlerfreiheit und Flexibilität im Vergleich zur manuellen Codierung. In diesem Szenario übernimmt das UML-Modell als Implementierungsmodell Aufgaben aus der Codierung. Damit muss man das UML-Modell so behandeln, als ob es die Stelle von Code einnähme und es entsprechend vor Software-Erosion und Implementierungsfehlern schützen. Eine Implementierung muss immer einer Architektur folgen, die folglich nicht im Implementierungsmodell selbst enthalten sein kann. Erst dadurch kann das Modell auf verschiedene Arten von Korrektheit geprüft werden.

Versionierung: Die Herausforderung bei der Modellierung

Praktische Lösungen für den Vergleich und die Zusammenführung von Modellen

Dr. Konrad Wieland, LieberLieber Software (ESE Kongress 2015)

Sowohl die zunehmende Komplexität als auch immer kürzere Release-Zyklen moderner eingebetteter Softwaresysteme machen es notwendig, verschiedene Versionen parallel zu entwickeln. Dazu addiert sich die Herausforderung, dass diese Systeme in immer größeren und verteilten Teams entwickelt werden. Bei Verwendung eines modellgetriebenen Ansatzes müssen solche Teams die Möglichkeit erhalten, an paralleln Versionen eines Modells effizient zu arbeiten. Bei der Generierung von Source Code werden die Vorteile von Versionierungssystemen seit Jahren erfolgreich genutzt. Die wichtigste Funktion ist hier der Vergleich und die Zusammenführung von verschiedenen Versionen. Herkömmliche Ansätze verwenden dafür zeilen- und textbasierte Anwendungen, die jedoch bei grafischen Modellen nicht ausreichend sind. In diesem Betrag wird aufgezeigt, wie Modelle praxistauglich verglichen und zusammengeführt werden können, um so eine effiziente Versionierung zu ermöglichen.

OO und modellbasierte Werkzeuge

Ein Werkstattbericht

Dr. Andreas Wagener, Dr. Fritz Faulhaber GmbH & Co. KG, Robert Stemplinger, Markus Pauls, b1 Engineering Solutions GmbH (ESE Kongress 2015)

Über Tools wie Rhapsody kann aus der Modellierung direkt Code auch für Embedded Systeme generiert werden. Im betrachteten Projekt wird das gesamte System derart in Rhapsody entworfen und implementiert. Stacks und signalverarbeitender Code wird mit eingebunden. Dazu sind einige Vorarbeiten nötig, das Abstraktionsniveau steigt für alle Beteiligten. Verbunden mit der Chance, bis zum Produkt eine klar erkennbare Architektur umzusetzen und damit ein gut wartbares Produkt zu erhalten.


 

Vortragsreihe: Multicore

Software Design Automation für effiziente Multicore-Nutzung

Software-Verteilung under Leistungs- und Energieeinschränkungen

Maximilian Odendahl, CEO, Silexica GmbH (ESE Kongress 2016)

Die Entwicklung von Software für neuartige Multicore-Systeme stellt zahlreiche Industrien im Embedded High-Performance Bereich vor neuartige Herausforderungen. Im Vergleich zu bestehenden Singlecore-Systemen erfordert der Einsatz moderner Multicore-Systeme neben der funktionalen Verifikation und Singlecore-Optimierung eine optimale Verteilung der Software auf die verschiedenen Prozessorkerne der Zielplattform. Dabei gilt es nicht nur, zeitliche und funktionale Vorgaben zu berücksichtigen, sondern idealerweise auch den Leistungs- und Energieverbrauch zu minimieren. Selbst für kleine Anwendungen und Zielsysteme ergibt sich daher eine Vielzahl von möglichen Lösungen, deren Entwicklung und Bewertung bisherige, hauptsächlich manuelle, Entwicklungsansätze an ihre Grenzen bringen. Abhilfe können neuartige Algorithmen und Tools aus dem Bereich der Software Design Automation schaffen. Im Beitrag werden hierzu ein neuartiger Tool-basierter Lösungsansatz näher vorgestellt und die Vorteile anhand eines Anwendungsbeispiels aus der drahtlosen Telekommunikation demonstriert.

Plattformübergreifende Software für Multicore & FPGAs

Portable MATLAB®, Simulink und Scilab-Softwareentwicklung

Timo Stripf, Michael Rückauer, Oliver Oey, emmtrix Technologies GmbH (ESE Kongress 2016)

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

Multicore-Hardware-Tracing in der Praxis

Eine industrielle Fallstudie

Felix Martin, Maximilian Hempe, Michael Deubzer, Timing-Architects Embedded Systems GmbH (ESE Kongress 2016)

In der Automobilbranche ist ein stetig wachsender Bedarf an immer komplexeren eingebetteten Systemen getrieben von innovativen Funktionen gegeben. Auch in Zukunft wird die Anzahl neuer Funktionen, die vollständig durch Software umgesetzt werden steigen, insbesondere für die Themen ADAS, Connected Cars, automatisches Fahren und Mobility Services. Dieser Bedarf wird durch performantere eingebettete Systeme gedeckt, welche Multi- und Many-Core-Controller enthalten und zunehmend auch in den klassischen Fahrzeugdomänen eingesetzt werden. Diese Fallstudie ist in der klassischen Domäne Lenkung angesiedelt, jedoch lässt sie sich auch auf andere klassische Domänen übertragen.

Immer schön der Reihe nach!

Konstruktive und analytische Verfahren zum Verhindern von Race Conditions

Gunther Vogel, Robert Bosch GmbH, Dr. Daniel Simon, Axivion GmbH (ESE Kongress 2016)

Zur Steuerung eingebetteter Systemen werden häufig Interrupts eingesetzt, die ab einer gewissen Komplexität gründlich geplant und überwacht werden müssen. Gleichzeitig finden auch Multicore-Prozessoren immer weitere Verbreitung in sonst "ressourcenarmen Umgebungen", so dass auch durch die technische Entwicklung das Thema nebenläufiges Programmieren als ein neues Paradigma für viele (Embedded) Programmierer immer wichtiger wird. Mit der Nebenläufigkeit von Software steigt die Gefahr von Race Conditions und folglich von obskurem, schwer nachvollziehbarem Laufzeitfehlverhalten der Systeme. Dieser Beitrag stellt einen methodischen Rahmen vor, um Race Conditions mit konstruktiven Maßnahmen im Design und bei der Codierung zu bekämpfen. Um sicherzustellen, dass das Produkt bei seiner Auslieferung keine Race Conditions enthält, sind ergänzend auf analytische Werkzeuge gestützte Maßnahmen zu verwenden. Die konstruktiven und analytischen Maßnahmen werden erläutert und es wird gezeigt, wie die Ergebnisse über den Verlauf eines Entwicklungsprojekts effizient verwaltet werden können.

Successful Multicore Certification with Software Partitioning

Efficient Implementation for DO-178C, EN 50128, ISO 26262

Sven Nordhoff, SYSGO AG (ESE Kongress 2016)

The usage of multi-core processors (MCPs) in modern systems is state-of-the art and will also come to reality in safety-critical domains like railway, automotive and avionic industry in near future. This fact is driven by different aspects. More and more functions traditionally implemented as separated electronic hardware units will be hosted on platforms where different functionality will be combined into one hardware. The industry wants to reach with the future family of high performance platforms larger scale integration on function level. Additionally new safety and security functions, information services and comfort features will increase the demand for more processing performance. Furthermore the industry has to deal with the fact that most of the manufacturers of CPUs will reduce the number of mono-core CPUs because the mass market does not demand this piece of hardware anymore. The possible technology improvements on mono-core CPUs has reached its limit to provide even more processing bandwidth with higher CPU clock frequencies, increase pseudo-parallel processing on instruction level through instruction pipelines and speculative program executions and by increasing the cache size and number of cache levels. Therefore the chip industry has switched to a multi-core design to accelerate the performance of processors. The question is: "Can a multi-core based platform reach the same level of determinism as a single core platform and can this be demonstrated?" 


 

Vortragsreihe: Requirements

Wenn Ideen Sex haben

Wie kann ich wilde Kundenanforderungen einfangen?

Maik Pfingsten, Der Troubleshooter (ESE Kongress 2016)

In meiner aktiven Zeit als Troubleshooter habe ich über 10 Jahre lang internationale Entwicklungsprojekte gerettet. Das Ziel war stets, ein Projekt in den nächsten sechs Monaten wieder auf die Gleise zu stellen und zum Erfolg zu führen. Dafür habe ich zunächst das Team wieder aufgebaut und die Lasten an das zu entwickelnde System geprüft. Schließlich brauchte ich für eine sinnvolle Strategie, die in den folgenden, harten Verhandlungen mit den Stakeholdern notwendig war, Klarheit über die Anforderungen.

Debugging Embedded Systems Requirements before the Design Begins

Fabien Gaucher, Yves Génevaux, ARGOSIM SA (ESE Kongress 2016)

This paper describes the major innovation offered by the STIMULUS tool in the field of requirements engineering. It will present its operating principles which will be illustrated with a specification item relating to the automobile domain, starting with the definition and the development of the requirements through their simulation up to the embedded code validation tests against those requirements.

Effizienzsteigerung des Anforderungsmanagements durch agile Methoden

Welcher Ihrer Werte stehen im Vordergrund?

Colin Hood, Colin Hood Systems Engineering (ESE Kongress 2015)

Betrachtet man das Agile Manifest von 2001, erkennt man folgende Kernelemente der agilen Methoden:

  • Der respektvolle Umgang miteinander; Menschen sind das wichtigste Element bei Veränderungen
  • Die flexible Reaktion auf Änderungen wie z.B. bei geänderten Kundenwünschen sowie neuen Arbeitsmethoden

Oftmals stehen diese Werte bei Veränderungen und Prozessverbesserungen nicht im Vordergrund. Unternehmen, denen wir helfen konnten, bei Veränderungen ihren Fokus mehr auf diese wichtigen Werte wie Respekt und Flexibilität zu legen, konnten dadurch ihren Zeit- und Kostenaufwand um 40% bis 80% reduzieren. Die gesteigerte Motivation und das verbesserte seelische Wohlbefinden der Mitarbeiter sind deutlich spürbar.

Das Lastenheft zum Anfassen

Ausführbare Softwarefunktionen bereits vor Serienentwicklungen

Andreas Lachenschmidt, Andreas Biberger, iNTENCE automotive electronics GmbH (ESE Kongress 2015)

iNTENCE zeigt mit der "Ausführbaren Spezifikation" eine Methode auf, mit der Funktionsverantwortliche Umfänge und Ausprägungen von kundensichtbaren Funktionen früh im Projekt beherrschen können. Erreicht wird dies durch die frühzeitige Erlebbarkeit der Funktion durch Modellbildung. In iterativen und inkrementellen Schritten werden die "Ausführbare Spezifikation" und die klassische Prosa Spezifikation zusammen erstellt und somit die Qualität der Spezifikation unter anderem in den Punkten Funktionsgestaltung, Vollständigkeit, Umsetzbarkeit und Testbarkeit erhöht. Im Beitrag wird die Methodik der "Ausführbaren Spezifikation" näher erklärt sowie der erfolgreiche Einsatz der erstellten Modelle im Test erläutert. Die gewonnenen Erkenntnisse, nötigen Voraussetzungen, Chancen und Grenzen der Methodik werden abschließend zusammengefasst.

 


 

Vortragsreihe: Safety und Security

Technik trifft Recht

Produktqualität und Wettbewerbsvorteil durch Kenntnis der rechtlichen Haftungssystematik

Susanne Meiners, NewTec GmbH (ESE Kongress 2016)

Technische Innovationen prägen unseren Alltag. Diese müssen mit dem bestehenden Recht in Einklang gebracht werden, um die Rechte der Betroffenen zu schützen. Aktuell sind viele Fragen offen, vor allem, wenn es um autonome oder sich selbst entwickelnde Systeme geht. Ebenso, wenn Datenschutz und Datensicherheit betroffen sind. "Industrie 4.0" ist geprägt von Unsicherheit und Hoffnung: Medien berichten von Hackerangriffen und Unfällen mit autonomen Fahrzeugen, aber auch von technischen Erfindungen, die unseren Alltag erleichtern und unseren Wirtschaftsstandort stärken. Ziel ist es, mit Einblick in das rechtliche Haftungssystem weiter mit Innovationskraft voran zu schreiten und sichere technische Systeme zu entwickeln.

Safety ist anders, Security auch

Wie begegnet man emergenten Systemeigenschaften?

Dr. Thomas Liedtke, ICS AG (ESE Kongress 2016)

Der steigende Anteil an Software-realisierter Anforderungen führt zu einer immer größer werdenden Anzahl von Verwundbarkeiten und möglichen Angriffsvektoren, um Schwachstellen auszunutzen.


 

Vortragsreihe: Software Engineering Management

The V-Model is Dead. Long Live the V-Model!

Dr. Royce Recommends an Iterative and Incremental Approach

Colin Hood, Colin Hood Systems Engineering (ESE Kongress 2016)

Aims of the Paper: To explain that a V-model documents relationships between information and does not restrict the sequence of creation of information. To explain that a V-model shows that larger systems can be considered to be a number of sub-systems to aid specification, and that sub-systems can be further considered to consist of a number of components to aid specification.  A V-model also shows that components can be integrated to create sub-systems, and that sub-systems can be integrated to create systems.

Software-Analytics in komplexen Software-Projekten

Verwertbares Wissen aus Daten über Software und Entwicklung

Prof. Dr. Rainer Koschke, Universität Bremen (ESE Kongress 2016)

Dieser Artikel beschreibt Techniken, Methoden und Werkzeuge der Software-Analytics. Software-Analytics ist die Wissenschaft zur Gewinnung und Auswertung von Daten über ein Software-Produkt oder dessen Entwicklung. Folgende Fragen werden geklärt: Welche verwertbaren Daten fallen im Entwicklungsprozess an? Wie identifziert man die relevanten Daten für eine gegeben Fragestellung? Wie können die Daten erhoben werden? Mit Hilfe welcher Data-Mining-Techniken lassen sich die Daten auswerten? Welche Werkzeuge gibt es für das Data-Mining? Wie können Daten sinnvoll visualisiert werden? Was sind ihre Chancen und Gefahren?


 

Vortragsreihe: Test & Qualität

Effizient zum Unit-Test unter C++ und C

Praxiserprobte Wege, Embedded-Code zu isolieren und testen

Franco Chiappori, Schindler Aufzüge AG (ESE Kongress 2016)

Continuous Integration und automatisierte Tests sind erprobte Mittel, um die Qualität von Software zu fördern. Gerade den automatisierten Unit-Tests kommt große Bedeutung zu, garantieren sie doch als Basis der Testpyramide auch die Basis der Qualität. Als Entwickler schätzt man zudem die schnellen Feddbackzyklen von Unit-Tests. In der Praxis fangen die Probleme aber oftmals schon beim Isolieren des zu testenden Codes an. Wie löse ich meine C++ Klasse oder meine C Funktion aus ihren Abhängigkeiten?

Konsistente Metriken zur Ermittlung der Testaktivitäten

Jederzeit wissen, wie weit die Entwicklung wirklich ist

Ingo Nickles, Vector Software (ESE Kongress 2016)

In der modernen Softwareentwicklung gilt es, neue Funktionalitäten in immer kürzeren Zeitabständen zu implementieren. Der Quellcode wird immer umfangreicher und komplexer, dennoch wird erwartet, dass die Software Qualität gleich bleibt oder sich sogar noch verbessert. Die größte Herausforderung ist sicherlich, Release-Zyklen zuverlässig vorherzusagen und einzuhalten. Oft werden Aufwände falsch eingeschätzt und Ressourcen ungünstig verteilt, denn die Projektleiter wissen häufig nicht genau, welche Codeänderungen welche Ressourcen benötigen.

Einsatz von Debuggern im Hardware-in-the-Loop-Test

Test vom Modultest bis zum Systemtest

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

Dieser Beitrag erläutert den Einsatz von Debuggern für den Hardware-in-the-Loop (HIL)-Test. Es werden dabei zwei Einsatzbereiche vorgestellt: zum einen der Zugriff auf die Variablen der Software des zu testenden Steuergerätes während der Laufzeit. Damit ist die Realisierung von White Box- und Grey Box-Tests im HIL-Test möglich. Und zum anderen die Messung der Codecoverage der Testfälle ohne Eingriff in die Software des Steuergerätes. Durch die realisierte abstrakte Schnittstelle ist der Einsatz verschiedener Debugger ohne Änderung an den Testfällen realisierbar. Es steht dabei einerseits eine generische Schnittstelle für den Zugriff auf die Variablen der Software zur Verfügung. Auf der anderen Seite ist auch die Ausführung der Codecoverage von den eigentlichen Testfällen getrennt.

Evaluierung von Software-Verifikationswerkzeugen

Was können und leisten sie?

Ralf Gerlich, Dr. Rainer Gerlich, BSSE System and Software Engineering (BSSE), Christian R. Prause,
Deutsches Zentrum für Luft- und Raumfahrt e. V. (DLR) (ESE Kongress 2016)

Mit Softwareverifikationswerkzeugen sollen Fehler in Software gefunden werden. Doch gibt es nur spärliche Information über das, was die Werkzeuge wirklich leisten. Meistens liegt nur die Beschreibung des Herstellers vor, an der sich ein Anwender (grob) orientieren kann. So werden Werkzeuge eher nach Bedienerfreundlichkeit oder Verbreitung in der Software-Community ausgewählt als nach ihren tatsächlichen Fähigkeiten, Fehler zu finden – die von den Herstellerangaben abweichen können.

Merkzettel


Sie haben derzeit keine Trainings auf dem Merkzettel.