Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

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


Vortragsreihe Open Source

Reactive Extensions - Alles ist ein Event!

Einführung in die Programmierung mit Eventstreams

Marko Beelman, Philips Medizinsysteme Böblingen (ESE Kongress 2015)

Die zunehmende Vernetzung von Geräten oder auch die Nutzung von Cloud-Services stellt auch an die Software-Entwicklung neue Herausforderungen. Messwerte von Sensoren oder Push-Benachrichtigungen aus der Cloud - immer mehr Events müssen verarbeitet werden. Mithilfe der Reactive Extensions können Events in Streams umgewandelt und leicht koordiniert werden. Mittels Schedulern wird auch die asynchrone Verarbeitung deutlich erleichtert.

Embedded Software Engineering Reloaded: mbeddr

Praxisbericht aus der Entwicklung eines Smart Meters

Dr. Stephan Eberle, itemis France SAS; Bernd Kolb, itemis, Dr. Markus Völter (ESE Kongress 2015)

Über die letzten drei Jahre wurde von itemis Frankreich ein Smart Meter entwickelt, dessen eingebettete Software sich belegbar durch die folgenden Eigenschaften auszeichnet: eine wartbare, modulare Architektur, hardwareunabhängige Testbarkeit, einen geringen Integrationaufwand sowie eine hohe Wiederverwendbarkeit durch einen plattformbasierten Entwicklungsansatz. Die Smart Meter Software wurde vollständig mit mbeddr umgesetzt, einer Open Source IDE zur Entwicklung von eingebetteter Software, die auf einer erweiterbaren Version von C basiert. Unter anderem unterstützt mbeddr C Erweiterungen für Zustandsmaschinen, physikalische Einheiten und Komponenten. mbeddr ist außerdem sehr weitgehend anpassbar, insbesondere durch benutzerdefinierte C-Spracherweiterungen. Dabei erzeugt die mbeddr-basierte Implementierung nur einen sehr geringen Overhead im Vergleich zu klassisch implementiertem C Code.

Zustandsautomaten-Origami

Effiziente Embedded-Software durch interaktive Statecharts

Dr. Klaus Birken, Axel Terfloth, itemis AG (ESE Kongress 2015)

Zustandsautomaten haben sich in vielen Projekten zur Implementierung von Embedded-Software bewährt. Damit lässt sich das Verhalten von Komponenten grafisch beschreiben und effizienter Code in C oder C++ generieren. Die Interaktion der Statecharts mit ihrer Umgebung wird über Konzepte wie Events und formale Schnittstellen beschrieben. Das Open-Source-Projekt Franca erlaubt die Modellierung solcher Schnittstellen, speziell ihrer Semantik (d.h. erlaubte Abfolgen von Events). In den meisten Projekten wird diese Information nur informell dokumentiert – mit Franca sind die erlaubten Abläufe maschinenlesbar und damit automatisiert prüfbar. Tools zur Erstellung von Zustandsautomaten können sich diese Semantik-Information zunutze machen und den Entwickler interaktiv unterstützen, z.B. durch Hinweise auf zu erwartende oder zu sendende Events sowie auf nicht erreichbare Zustände. Dies stellt die Einhaltung aller Schnittstellen-Contracts sicher und sichert letztlich die Qualität des Codes.

Yocto: Das geht auch automatisch!

Baukasten für maßgeschneiderte Embedded-Distributionen

Simon Egli, bbv Software Services (ESE Kongress 2015)

Das Yocto-Buildsystem ist ein großes und mächtiges Werkzeug. Für den Einsteiger ist es oftmals schwierig, die Zusammenhänge des Buildsystems zu sehen, und der Start eines eigenen Projektes gestaltet sich entsprechend schwierig. Dieser Beitrag zeigt Schritt für Schritt den Bau einer einfachen Distribution mit eigenen Rezepten. Der Leser dieses Artikels ist dafür gerüstet, weiterführende Themen auf eigene Faust zu meistern.

Android Firmware Over-the-Air Updates

Die Frage nach einem modernen Update-Mechanismus und Androids Antwort

Matthias Schaff, Dominik Helleberg, inovex GmbH (ESE Kongress 2015)

Im Embedded-Bereich gibt es kaum ein Lastenheft ohne die Anforderung, die Firmware eines linuxoiden, eingebetteten Systems im Feld aktualisieren zu können. Die Umsetzung hierfür ist vielfältig: Vom Vor-Ort-Termin eines Technikers über das Versenden von CF-Cards bis hin zur Selbst-Flash-Anleitung für den Kunden ist alles dabei. Im Zeitalter des IoT, von Industrie 4.0 und der damit Einzug haltenden allgemeinen Vernetzung der Komponenten erscheinen diese Vorgehensweisen geradezu antiquiert. Ein moderner Update-Mechanismus arbeitet vollautomatisch, während weder Sicherheit noch Stabilität des Prozesses darunter leiden. Im Folgenden wollen wir neben den Anforderungen an solch einen Prozess kurz verschiedene Update-Architekturen besprechen, um abschließen den Android FOTA-Prozess im Detail zu beleuchten.

Realistischere Applikationstests mit Linux-Containern

Klar definierte Testumgebung für reproduzierbare Resultate

Michael Burkard, bbv Software Services AG (ESE Kongress 2015)

Wenn Sie Ihre Applikationstest auf dem Entwicklungsrechner ausführen, können Sie den Einfluss bestimmter Effekte auf Ihre Testresultate schlecht abschätzen. Nach einem Softwareupdate können Bibliotheken fehlen oder ersetzt worden sein, wodurch die Testresultate nicht mehr reproduzierbar sind. Und inwieweit stimmen die Ressourcen ihres Entwicklungsrechners mit denen des Zielsystems überein? Bei Embedded-Systemen sind die Unterschiede oft so groß, dass es nötig ist, die Tests auf dem Zielsystem laufen zu lassen. Mithilfe von Linux-Containern lässt sich eine Testumgebung erzeugen, welche isoliert vom Hostsystem läuft, den Rahmenbedingungen des Zielsystems entspricht und dennoch performant ist.

Linux und Echtzeit

< 10 usec auch auf der Arm-Architektur?

Jan Altenberg, Heinz Egger, Linutronix GmbH (ESE Kongress 2015)

Linux ist aufgrund der hohen Anzahl unterstützter CPU-Architekturen, der nahezu unendlichen Anzahl von Treibern und nicht zuletzt der guten Portierbarkeit und Skalierbarkeit eines der leistungsfähigsten Embedded-Betriebssysteme unserer Zeit. Auch Systeme mit harten Echtzeitanforderungen können mit Linux einfach umgesetzt werden. Hierfür gibt es unterschiedliche Varianten und Ansätze. Doch welcher Ansatz ist der richtige? Und welche Latenzzeiten können damit erreicht werden? Dieser Artikel stellt unterschiedliche Technologien vor, mit denen harte Echtzeitfähigkeit unter Linux erreicht werden kann. Weiterhin wird aufgezeigt, welcher Jitter und welche Latenzzeiten mit diesen Technologien erreicht werden können.

Embedded-Multicore mit AMALTHEA

Aktueller Stand zur offenen Tool-Plattform

Harald Mackamul, Robert Bosch GmbH (ESE Kongress 2015)

AMALTHEA ist eine Open Source Plattform für die Entwicklung von eingebetteten Multi- und Many-Core Softwaresystemen. Die Plattform ermöglicht den Aufbau einer Werkzeugkette, z.B. für Timing Simulation und Validierung, die auf einer gemeinsamen Systembeschreibung aufsetzt. Als eine offene und freie Plattform, die  bei Bosch und verschiedenen Partnern im Automobilbereich bereits erfolgreich eingesetzt wird, verbessert sie die Interoperabilität und erlaubt den einfacheren Datenaustausch zwischen verschiedenen Organisationen. Mit AMALTHEA wird es für Hersteller von Entwicklungswerkzeugen, Zulieferer und Dienstleister einfacher, ihre Produkte in den Entwicklungsablauf zu integrieren und spezifische Lösungen zu erstellen.

 


Vortragsreihe: 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: 1) Respektvoller Umgang miteinander; Menschen sind das wichtigste Element bei Veränderungen. 2) 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.

Änderungsbasiertes Anforderungsmanagement

Möglichkeiten und Ansätze zur Integration in den Entwicklungsprozess

Antonio Jesus de Loureiro, agosense GmbH (ESE Kongress 2015)

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 noch vorstellbar. Application Lifecycle Management (ALM) Tools und Plattformen helfen dabei, verschiedene Praktiken oder Methoden zu unterstützen, indem Abhängigkeiten zwischen Entwicklungsartefakten bzw. -aktivitäten visuell dargestellt werden können. Aber reicht das aus?

Wer auf Sand baut, muss sich über Knirschen nicht wundern!

Anforderungen auf Qualität prüfen und Metriken ableiten

Dr. Hans-Werner Wiesbrock, ITPower Solutions (ESE Kongress 2015)

  • Wenn wir den Prozess verbessern wollen, müssen wir wissen, wo wir stehen!
  • Wenn wir wissen wollen, ob wir besser werden, müssen wir Vorher und Nachher vergleichen!
  • Wir müssen uns vermessen!

Vortragsreihe: Safety und Security

Funktionale Sicherheit: Zertifizierte Mikrokontroller-Selbsttest-Software

Was Sie für eine IEC 61508 Zertifizierung beachten sollten

Dr. Jörg Koch, Renesas Electronics Europe (ESE Kongress 2015)

Eine Selbsttest-Software ist ein grundlegender Baustein bei der Entwicklung von Anwendungen im Bereich der funktionalen Sicherheit. In komplexen Komponenten wie der CPU eines Mikrokontrollers ist es schwierig, die geforderte Diagnoseabdeckung nachweislich zu erfüllen. Hierzu sind detaillierte Kenntnisse der zugrundeliegenden Hardware erforderlich. Die Validierung der geforderten Testabdeckung kann mithilfe gezielter Fehlersimulation erreicht werden. Dieser Beitrag beschäftigt sich mit der Entwicklung einer Selbsttest-Software für die CPU der Renesas RX631/63N Mikrokontroller-Familie. Die Entwicklung der hier vorgestellten CPU-Selbsttest-Software wurde nach IEC 61508 durchgeführt und durch einen TÜV Rheinland Zertifizierungsprozess begleitet.

Moderne SDE vs. Zertifizierungserhalt und Obsoleszenz

Spagat in der embedded Avionik-Software-Entwicklung

Dr. Ludger Janauschek, Airbus Defence and Space GmbH (ESE Kongress 2015)

Bei der Software-Entwicklung eingebetteter Systeme in der Luftfahrt sind verschiedenste Standards zu berücksichtigen. Einer der bekanntesten zivilen Standards ist DO-178C. Der vollständige Entwicklungsprozess muss die Vorgabe der Standards erfüllen, dies beinhaltet insbesondere Tools und Methoden aus dem Bereich SDE. Tools, Hardware und Methoden im Bereich SDE befinden sich aktuell und permanent in Weiterentwicklung. Um eine moderne und effiziente SW-Entwicklung zu erreichen, sollte man hier akutell bleiben. Gerade hierdurch ergibt sich ein Konflikt mit dem Erhalt der Zertifizierung, da diese meist auf den Einsatz von bewährten und abgenommenen Tools und Methoden setzt und damit den Zustand der SDE "einfriert". Projektlaufzeiten von mehr als 20 Jahren erschweren diese Situation. Dieser Vortrag wird die Ursachen dieses Spagats zwischen Aktualität und eingefrorenem Zustand sowie auch Methoden - teils Chancen - zur Bewältigung darstellen, aber auch Grenzen aufzeigen.

Towards Safe Robotics

Modellbasierte Entwicklung von High Integrity Robotern

Dipl.-Ing. Maximilian Apfelbeck und Dr.-Ing. Stephan Myschik, The MathWorks GmbH (ESE Kongress 2015)

In Zukunft wird der Anteil an Robotern, die mit dem Menschen interagieren, rapide ansteigen. Sie sind mit einer großen Anzahl von Sensoren zum Erfassen der dynamischen Umgebung ausgestattet. Die Sensordaten werden bewertet und fließen in Algorithmen ein, die für eine sichere Zusammenarbeit und Reaktion des Roboters sorgen. Die verwendeten Algorithmen müssen auch gemäß Sicherheitsstandards wie IEC 61508-3 [1] entwickelt werden. Eine Möglichkeit, diesen Standards gerecht zu werden, ist die modellbasierte Entwicklung. Diese wird unter anderem schon in Automobilindustrie sehr erfolgreich eingesetzt. In diesem Vortrag wird eine Vorgehensweise zur Verifikation und Validierung von IEC 61508-3 konformen Softwarekomponenten kollaborierender Roboter anhand eines Beispiels diskutiert.

Safe Continuous Integration

Continuous Integration in sicherheitsgerichteter Entwicklung

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

Ein manueller Software Integrationsprozess kann nicht immer mit der Geschwindigkeit der Änderungen in der Softwareentwicklung mithalten. Deshalb gehen mehr und mehr Hersteller dazu über, einen Continuous Integration (CI) Prozess durchzuführen. D.h. Software-Buildzyklen zur Software-Integration werden zusammen mit automatisierten Tests früh und häufig durchgeführt.  In diesem Beitrag wird anhand eines beispielhaften CI-Prozesses dargestellt, welche Anforderungen der Standards zur Funktionalen Sicherheit beachtet werden müssen. Dabei wird ein besonderes Augenmerk auf Versionsmanagement, Traceability und Automatisierung von Tests liegen.  Auch bei dieser Vorgehensweise müssen die Nachweise für die sicherheitsrelevanten Tätigkeiten erbracht werden, wie z.B. Auswahl der Testmethoden und Testspezifikationen. Eine Zusammenfassung der wesentlichen Aspekte erfolgt am Ende des Beitrags.

Synergieeffekte von Safety und Security

Thomas Bötner, Prof. Dr. Hartmut Pohl, softScheck GmbH (ESE Kongress 2015)

Roboter enthalten zwar grundsätzlich Safety-relevante (IEC 61508 Funktionale Sicherheit) Schutzmechanismen, um Schäden an Leib und Leben entgegenzuwirken. Allerdings ist gleichermaßen Security (Angriffssicherheit: ISO 27034 und IEC 62443) von (vernetzten) Robotern unverzichtbar, da Security die Safety beeinflussen kann: Ein Angreifer kann durch Ausnutzen von Sicherheitslücken in Software oder Firmware implementierte Schutzmechanismen außer Kraft setzen und angeschlossene Roboter fehlsteuern.

Zertifizierung von Sicherheitsprodukten nach Common Criteria

Besonderheiten für eingebettete Systeme

Jaroslav Svacina, Nadja Menz, Thilo Ernst, Fraunhofer FOKUS (ESE Kongress 2015)

Die Digitalisierung vieler gesellschaftlicher Bereiche schreitet mit enormer Geschwindigkeit voran. Unzählige Branchen setzen immer mehr auf Digitalisierung von Daten, Automatisierung von Prozessen sowie Vernetzung einzelner Komponenten und Systeme. Neben den entsprechenden Vorteilen bietet die aktuelle Entwicklung jedoch vielfältige neue Angriffspotentiale, welche, wenn richtig ausgenutzt, zu enormen finanziellen oder Personenschäden führen können. Um das Vertrauen in die Sicherheit zu steigern, können Software- und Hardwareprodukte nach ISO/IEC 15408 (Common Criteria) zertifiziert werden. Dieser Beitrag gibt einen Überblick über die Zertifizierung von Sicherheitsprodukten nach Common Criteria und geht dabei gezielt auf einige Besonderheiten im Kontext der eingebetteten Systeme ein.

Security im Kontext der Funktionssicherheit

Wie Safety und Security zusammenhängen

Stefan Kriso, Robert Bosch GmbH (ESE Kongress 2015)

Mit der zunehmenden Vernetzung von Fahrzeugen mit ihrer Umgebung gewinnt das Thema Automotive Security derzeit stark an Bedeutung – angefangen von der "einfachen" Anbindung über ein im Fahrzeug befindliches Smartphone mit Internetzugang bis hin zu einer zukünftig möglicherweise dauerhaften Datenanbindung des Fahrzeugs für das automatisierte Fahren. Wo ein Datenzugang nach außen vorhanden ist, werden auch früher oder später Hacker versuchen, sich Zugang zum Fahrzeug zu verschaffen, wie ein aktuelles Beispiel eindrucksvoll zeigt [1]: Unabhängig von der dargestellten Security-Problematik und der tatsächlichen Praxisrelevanz gelingt es hier, Fahrzeug-Funktionen auszulösen, die als Safety-relevant einzustufen sind, z.B. Motor-aus (Liegenbleiber), Selbstlenker oder Bremsenausfall. Prinzipiell besteht also die Gefahr, dass durch einen Security-Angriff auf ein Fahrzeug – sei es unbeabsichtigt oder gewollt – Safety-relevante Fehlfunktionen ausgelöst werden. In diesem Paper wird der Zusammenhang zwischen Automotive Security und Functional Safety näher beleuchtet. Dabei bleiben die übrigen zu schützenden Assets der Security, wie zum Beispiel Datenschutz, bewusst außen vor. 

Herausforderung Security und Safety

Anforderungen an die Security im Kontext der ISO 26262

Dr. Jens Christian Lisner, TÜV NORD Mobilität (ESE Kongress 2015)

Bedingt durch die aktuellen Entwicklungen im Bereich der Automobilindustrie, wie etwa verschiedene Telematik-Anwendungen, entstehen auch für sicherheitskritische Systeme im Sinne von Safety zusätzliche Anforderungen durch die Car-Security. Dabei stellt sich die Frage ob sich die beiden Disziplinen gegenseitig ergänzen oder sogar behindern, und welche Konsequenzen daraus gezogen werden können.

Integrated Model-based Safety Engineering with I-SafE

Pablo Oliveira Antonino, David Santiago, Velasco Moncada, Thomas Kuhn, Daniel Schneider, Mario Trapp, Fraunhofer IESE (ESE Kongress 2015)

Even in the age of computerization, safety engineering is still a matter of textual documents and even pen and paper. One major consequence of this are inconsistent and incomplete specifications of safety-critical systems, which are a core reason of catastrophic failures. To improve the completeness and consistency of safety-critical systems specifications, we present an integrated multi-analysis and multi-viewpoint safety engineering tool called I-SafE, which is a solution that supports general safety analysis as well as the specification and analysis of safety requirements traceability to architecture and failure models.

Modellbasierte Risikoanalyse sicherheitskritischer Systeme

Erfahrungen mit einem UML-Profil im bahntechnischen Umfeld

Markus Schacher, KnowGravity Inc. (ESE Kongress 2015)

Die Europäische Norm für den Nachweis der Zuverlässigkeit, Verfügbarkeit, Instandhaltbarkeit und Sicherheit von Bahnanwendungen definiert Sicherheit als "Freiheit von für Menschen oder die Umwelt nicht akzeptierbaren Risiken" und Risiko als die "Kombination aus der erwarteten Häufigkeit eines Verlustes und der erwarteten Schwere dieses Verlustes". Dieser Artikel zeigt auf, wie sich solche Risikoüberlegungen in Form eines UML-Modells erarbeiten lassen.


Vortragsreihe Software Engineering Management

Das Paradoxon "kundenspezifische Standardsoftware"

Zwei Welten, zwei Lösungen, und was wir voneinander lernen können

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

Individualisierung von Produkten ist ein zentrales Thema, welches bei nahezu jeder Art von Produkten und in jeder Branche zu finden ist. Somit ist es auch eine der Kernfragen in der Software-Entwicklung. Jeder Kunde möchte eine Software, die seine spezifischen Anforderungen erfüllt. Eine Standardsoftware, egal ob im Embedded- oder im Applikationsbereich, kann dies nicht leisten. Dennoch ist der Anteil an Komponenten, die in mehreren Kundenprojekten genutzt werden, in den meisten Fällen sehr hoch. Wie ist es nun also möglich, eine Wiederverwendung und Standardisierung mit der Fertigung von individuellen Produkten in Einklang zu bringen?

Gut strukturiert ist halb gewonnen

Prinzipien und Muster für variantenreiche Systeme

Matthias Essig, WITTENSTEIN electronics GmbH, Benjamin Boost, AIT GmbH & Co.KG (ESE Kongress 2015)

Der Blick in die industrielle Praxis zeigt, dass die meisten Produkte und Dienstleistungen in mehreren Varianten angeboten werden und dass diese Variantenvielfalt steigt. Dies stellt gerade auch Firmen, die eingebettete Systeme herstellen, vor die Herausforderung, wie diese Variantenvielfalt effizient und effektiv beherrscht werden kann. Neben ad-hoc Ansätzen, wie dem Klonen existierender Lösungen, werden dabei häufig auch strategischere Ansätze, wie Plattformen, Baukästen oder Produktlinien, verfolgt. Eine angemessene Produktstrukturierung ist beim Umgang mit variantenreichen System von größter Wichtigkeit und bringt weitreichende Konsequenzen mit sich.  Doch wodurch zeichnen sich gute Produktstrukturen aus? Gibt es Prinzipien und Muster, die sich auf der Architektur-, Design-, und Implementierungsebene bewährt haben? Wie machen es andere? Mit diesen Fragen beschäftigt sich dieser Beitrag.

Nutzung gewerblicher Schutzrechte im Geschäftsbetrieb

Mit gewerblichen Schutzrechten die Unternehmensstrategie unterstützen

Ralph Fernolend, Maiwald Patentanwaltsgesellschaft mbH (ESE Kongress 2015)

Gewerbliche Schutzrechte ermöglichen den Schutz geistigen Eigentums und anderer immaterieller Vermögensgüter. Hierunter fallen also beispielsweise die Ergebnisse innovativen Schaffens (technische Erfindungen) oder Produktkennzeichnungen (Marken). Im Gegensatz zu beispielsweise Geheimhaltung um eigene Innovationen zu schützen ermöglichen die gewerblichen Schutzrechte einen Rückgriff auf die Hoheitsgewalt des Staates bei der Durchsetzung der eigenen Rechtsposition gegenüber Dritten und stellen damit einen wesentlichen Pfeiler für das Handeln von Unternehmen dar.

Das Internet der Dinge - wenn Hardwarehersteller zu Softwareanbietern werden

Alois Schwarz, Flexera Software (ESE Kongress 2015)

Das Internet der Dinge eröffnet Herstellern von Intelligent Devices zahlreiche neue Möglichkeiten. Dafür müssen sie aber ihre Produkte von isolierten Apparaten mit fixiertem Funktionsumfang zu flexiblen Geräten mit durchgängiger Konnektivität weiterentwickeln. Folgen Hersteller der Devise 'Making Products Smarter', erzielen sie mehrere Vorteile.

Vorsprung durch Qualität

Embedded-Softwareentwicklung ist eine Ingenieurdisziplin

Sebastian Rummler, Dr. Daniel Simon, Axivion GmbH (ESE Kongress 2015)

Dieser Beitrag beantwortet die Frage, wie deutsche und europäische Unternehmen langfristig im globalen Wettbewerb mit ihren Produkten bestehen können. Es ist von folgenden Fakten auszugehen:

  1. Die Differenzierung kann nicht über den Preis, sondern muss über Innovation und Qualität erfolgen.
  2. Ohne Software geht heute in der Produktentwicklung nichts mehr.
  3. Die Produktqualität lässt sich symbolisch in eine einfache Formel fassen: Produktqualität = Hardwarequalität mal Softwarequalität. In anderen Worten: Softwarequalität wirkt sich direkt auf die Gesamtqualität des Produkts aus.

Die Konsequenz daraus ist, dass egal ob man Software nur als "notwendiges Übel" oder als Innovationstreiber begreift, man nicht darum herumkommt, die Softwareentwicklung "richtig" anzugehen. Dies gelingt nur, wenn wir die Stärken der bewährten und unübertroffenen Ingenieurdisziplin in Deutschland und Europa nutzen und auf die Entwicklung von Embedded-Software übertragen. Stand heute werden deren bewährte Prinzipien in der (Embedded) Software-Entwicklung noch nicht adäquat eingesetzt. Doch was macht erfolgreiches Software Engineering aus? Im Folgenden zeigt dieser Beitrag einige Wege auf, wie Software Engineering als Ingenieurdisziplin in der Praxis umgesetzt werden kann und damit zum Gesamtprodukterfolg beiträgt.

Herausforderung pilotiertes Fahren

Erfolgsfaktor in der Softwareentwicklung, um diese meistern zu können

Florian Netter, Audi Electronics Venture GmbH (ESE Kongress 2015)

Das pilotierte Fahren – eine technologische und sogleich funktionale Herausforderung. Hieraus lassen sich aktuelle Aufgabenstellungen für die Softwareentwicklung aus den Bereichen Embedded Entwicklung, Mobile Computing und cloudbasierter Dienste ableiten und damit gezielt bearbeiten. Flankiert durch ein virtuelles Entwicklungsframework und adaptiven Prozessen ergibt sich das Potential, Softwareprojekte optimal unterstützen und so die Herausforderungen im pilotierten Fahren bewältigen zu können.


Vortragsreihe Test und Qualität

Tool-Qualifizierung für ein Testautomatisierungswerkzeug

Ein Praxisbericht

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

Die ISO 26262 enthält Vorgaben für die Qualifizierung von Software-Tools, welche für die Entwicklung und den Test sicherheitskritischer Systeme einzusetzen sind. In der Praxis jedoch gehen die Auslegungen der verschiedenen Vorgaben weit auseinander. Dieser Betrag beschreibt die praktischen Erfahrungen mit der Tool-Qualifizierung des Testautomatisierungswerkzeuges iTestStudio bei einem Tier1. Weiterhin wird ein mögliches Vorgehen zur Tool-Qualifizierung dargestellt. Am Ende bleibt aber die Frage, wie der Inhalt der Norm zu interpretieren ist.

Test FAST statt Test FIRST beim Software-Unit-Test

Über die automatische Erzeugung von Modultestfällen

Dr. Stephan Grünfelder, Bernhard Peischl (ESE Kongress 2015)

Seit einigen Jahren sind Werkzeuge zur automatischen Erzeugung von Unit-Testfällen erhältlich. Diese erzeugen ohne jedes Wissen der korrekten Funktion der zu testenden Software Unit-Tests in kurzer Zeit. "Tests" werden alleine auf Basis des existierenden Quellcodes erzeugt. Das Testwerkzeug zielt dabei auf Erzielen einer hohen strukturellen Testabdeckung ab. Eine völlig andere Herangehensweise ist die Test-First-Strategie: Unit-Tests werden ausschließlich auf Basis der (Design-)Spezifikation erstellt, noch bevor der Code existiert. Eine strukturelle Testabdeckung ist dabei nicht entscheidend für den Test, eine hohe funktionale Testabdeckung ist gefragt. Welche Vor- und Nachteile diese beiden Strategien haben und wie man diese scheinbar unvereinbaren Strategien gewinnbringend verheiraten kann, zeigt dieser Artikel.

Vom Anwendungsfall zum Testfall

User Storys und Use-Case-basierende Testfallgenerierung

Alexander Huwaldt, Laser & Co. Solutions (ESE Kongress 2015)

Ausgangspunkt und Anwendungsbereich der hier vorgestellten Methodik bilden anwenderzentrierte funktionale Systemanforderungen und daraus hergeleitete Nutzungsszenarien sogenannter User Storys eingebetteter Systeme. Für die Notation wurden UML-Anwendungsfall- und Aktivitätsdiagramme genutzt. Die so erfassten Systemanforderungen dienen als Basis zur automatischen Generierung von Testfällen für den System- und Abnahmetest.

Automatisierte Assessments und Traceability für den Modelltest

Mehr Effizienz, Traceability und Validität für den frühen funktionalen Test

Dr. Hartmut Pohlheim, Model Engineering Solutions (ESE Kongress 2015)

Es wird eine Methode vorgestellt, die es ermöglicht, Anforderungen auf allen Testsequenzen zu testen und automatisiert auszuwerten. Somit werden der Testaufwand und die Fehleranfälligkeit reduziert. Weiterhin wird eine Methode vorgestellt, die das geforderte Requirement-Tracing in der Praxis unterstützt. Die Kombination beider Methoden in einem effizienten Test-Tool führt zu einer signifikanten Steigerung der Testabdeckung und der Verlässlichkeit der Testergebnisse.

Einführung eines ganzheitlichen Testmanagements

Betrachtungen und Erfahrungen bei Bosch Engineering GmbH

Fred Härtelt, Dr. Klaus Herz, Bosch Engineering (ESE Kongress 2015)

Testen und Testmanagement in der Steuergeräte-Entwicklung werden durch die zunehmende Komplexität und Systemvarianz immer wichtiger, um einerseits eine kostenoptimierte Produktentwicklung ohne technische Schulden durchführen zu können und anderseits Software-Qualitätsrisiken frühzeitig zu erkennen. Beide Ziele werden durch die Einführung eines ganzheitlichen Testmanagements adressiert, das in Einklang mit den gängigen Normen und Standards (z.B. ISO/IEC/IEEE 29119, ISO 26262, ASPICE) steht.

Software-Fehlersuche Reloaded

Die Zukunft der Debug-Technologien

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

Debugging mittels "printf()", Setzen von Haltepunkten und Code-Ausführung via Einzelschritt sind die Debug-Methoden von gestern. Heutige Debug-Tools können bereits viel mehr, wie zum Beispiel automatische Fehlersuche zur Laufzeit, Heap-Analyse und Memory-Leak-Erkennung, Profiling und nicht zuletzt die Auswertung von Hardware-Tracedaten. Doch was wird in Zukunft kommen? Wie wird man komplexe Software auf Multi-Core-Systemen, die massiv auf verschiedene Peripherie-Komponenten zugreift, schnell und einfach debuggen können? Wie wird in einem Team gemeinsame Fehlersuche betrieben werden? Welche Methoden werden uns bei der Arbeit helfen, Zeit zu sparen? Dieses Papier zeigt den aktuellen Stand der Technik und gibt einen Ausblick auf neue Methoden und Technologien, die uns in Zukunft das Debuggen erleichtern werden.

Code Coverage für Fortgeschrittene

Erhellendes und Erschreckendes zur Codeüberdeckungsmessung

Frank Büchner, Hitex GmbH (ESE Kongress 2015)

Im Folgenden steht nicht die Definition der Codeüberdeckungsmaße im Vordergrund. Es geht vielmehr um (vielleicht) überraschende Einsichten, das Ausräumen von (vielleicht) naiven Ansichten, den Hinweis auf unterschiedliche Interpretationsmöglichkeiten und die Vermeidung von möglichen Missverständnissen.

TDD in der Embedded-Praxis

Mehr Vertrauen in den Code mit automatisiertem Feedback

Daniel Penning (ESE Kongress 2015)

Eine testgetriebene Entwicklung kann die Softwarequalität maßgeblich steigern.  Für ein Embedded-System sind automatisierte Tests oft nur mit Einsatz spezieller Testhardware möglich. Durch einen softwaregestützten Dual-Target-Ansatz können Tests ohne zusätzliche Hardware ausgeführt werden. Dieser Artikel argumentiert, dass dabei die ausschließliche Verwendung klassischer Unittests nicht ausreichend ist. Es wird aufgezeigt, wie eine umfassendere Testumgebung aufgebaut werden kann.

Dann kaufen wir mal ein Tool-Qualification Package ...

Tool-Qualifizierung für Safety-Standards

Erol Simsek, iSYSTEM AG (ESE Kongress 2015)

Standards der Funktionalen Sicherheit verlangen bzw. empfehlen die nähere Vorabbetrachtung der im Softwareentstehungsprozess verwendeten Software-Werkzeuge im Hinblick auf deren "Einsatzrisiko" und damit negativen Auswirkung auf die Safety eines Systems.  Als Software-Toolhersteller in diesem Bereich wird man deshalb zunehmend mit Fragen konfrontiert wie z.B. "Ist Ihr Werkzeug zertifiziert?", "Haben Sie einen 'TÜV-Stempel'?" oder "Können Sie uns bei der Qualifizierung Ihrer Tools unterstützen?" Was heißt das konkret, und wie haben wir, Software-Toolhersteller und Kunden, uns bisher mit diesem Thema auseinandergesetzt?


Beiträge ESE 2015, Teil 1