Prinzipien und Komponenten eingebetteter Systeme

Ähnliche Dokumente
Boundary Scan Days 2009

Entwicklungsbegleitende Verifikation von AUTOSAR Steuergerätefunktionen auf Basis einer Test-RTE und SiL-Simulation

modellzentrierter Test

Mikrocontroller. eine Einführung. Florian Schmitt / 34

Modellbasierte Softwareentwicklung eines Kamera basierten Scheinwerfer-Adaptions-Algorithmus. Gerd Mauthe

Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht

Eclipse. für die kleinen Dinge des (modernen) Lebens

Programmiersprachen für eingebettete Systeme Jiri Spale, Programmierung eingebetteter Systeme 1

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

Atmel AVR für Dummies

Programmieren in C Teil 3: Mikrocontrollerprogrammierung

Skript zum Labor Maschinenkonstruktion. Konzipieren mechatronischer Produkte: Modellbasierte Programmierung eines Mikroroboters

Management & Softskills Management für Projekte & Prozesse Agile Entwicklung von Embedded-Systemen

Absicherung von Automotive Software Funktionen

Methode zur Entwicklung sicherheitskritischer eingebetteter Systeme mittels deterministischer UML-Modelle

Inhalt. 1. Mikrocontroller 2. FPGA 3. Vergleich 4. Hybride Systeme 5. Zusammenfassung 6. Quellenverzeichnis

EasyKit - Innovative Entwicklungs- und Didaktikwerkzeuge für mechatronische Systeme

Vortrag zum Hauptseminar Hardware/Software Co-Design

Modellierungstechniken im Softwaredesign. Praxisprojekt [ai] Control WS 2011/2012 Lara Baschour und Anne Heiting

Rechnerarchitektur Atmega Vortrag Atmega 32. Von Urs Müller und Marion Knoth. Urs Müller Seite 1 von 7

Einführung in die Welt der Microcontroller

Einführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme

Wer möchte, kann sein Programm auch auf echter Hardware testen

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

transportation SYMTES Testen mit System

Marco Sliwa. Regional Sales Manager Deutschland JTAG Technologies B.V.

intence automotive electronics Ausführbare Spezifikation Der Weg zu besseren Anforderungen

Zusicherungen und Laufzeit Überwachungen in der modellbasierten Software Entwicklung

Model Driven Architecture

Softwareprozessmodelle

Mikrocontroller - Schnelleinstieg

IuK-Projekt am Institut für Mikroelektronik und Eingebettete Systeme. Prof. Dr.-Ing. Peter Schulz Sommersemester 2013

Realisierung eines Getriebe- HiL mit VeLoDyn, NI PXI RT- System und NI VeriStand

CU-R-CONTROL. Beschreibung zur Schaltung ATMega16-32+ISP MC-Controller Steuerung auf Basis ATMEL Mega16/32. Autor: Christian Ulrich

FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK

Entwicklungsumgebung

Military Air Systems

EasyLab: Modell-basierte Software-Entwicklung für mechatronische Systeme

Methoden der agilen Softwareentwicklung für eingebettete Systeme

JUILIET- JTAG Unlimited Tester Am Beispiel eines Automotive-Projekts. Ingenieurbüro Winklhofer

Einsatz automatischer Testdatengenerierung im modellbasierten Test

Die Entwicklungsumgebung. Labor Technische Informatik. Prof. Dr.-Ing. F. Kesel Dipl.-Ing. (FH) A. Reber

Grundlagen des Software Engineering für Automotive Systems. Hauptseminar im WS 2012 / 2013

Unit Tests mit Junit 4. Dario Borchers

Grundlegende Anforderungen an die Software von Messgeräten

Seamless Model-based Engineering of a Reactive System

Selbstbau-USB-Programmiergerät für AVR

Automotive Software Engineering

Automatische Boundary Scan Testgenerierung für scanunfähige Schaltungspartitionen durch modellbasierte Werkzeuge

Software ubiquitärer Systeme

Aufgabenstellung Praktikum Mikrorechentechnik Sommersemester 2014

Verknüpfung von virtueller und realer Welt durch Open Core Engineering

Das Softwaresystem BASEMENT

Motivation. Eingebettetes System: Aufgabe:

BLIT2008-Board. Uwe Berger

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

Hex Datei mit Atmel Studio 6 erstellen

Modellbasierte Softwareentwicklung

Rapid Prototyping mit CANape Version

MDRE die nächste Generation des Requirements Engineerings

Inhaltsverzeichnis 1 Einführung und Überblick 2 Grundlagen

Grundlagen des Software Engineering

D i g i t a l l a b o r

Probeklausur. Lenz Belzner. January 26, Lenz Belzner Probeklausur January 26, / 16

Qualitätsmanagement im Projekt

Softwaretechnik 3. Klausurnachbesprechung , Phillip Ghadir

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

Einsatz von Simulationen in der Softwareentwicklung

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Software-Engineering in der Servicerobotik Der Weg zum modellgetriebenen Softwareentwurf

Kompetenz in Bluetooth Low Energy.

Erfolgreicher entwickeln durch systematisches Testen

Projekt 25 ASURO ARX-03

Die Mikroprogrammebene eines Rechners

1. Grundbegriffe des Software-Engineering

Diplomarbeitspräsentation. Optimierte Verifikation des Airbus A380 Slat Flap Control Computers. Diplomand: Timo Hauschildt

AT90USB Plug. Mini-Entwicklungswerkzeug. Nutzerhandbuch

Modellbasierte Entwicklung und Test der Regelung einer hydraulischen Belastungseinheit eines Windkraftprüfstandes mit MATLAB/Simulink und Speedgoat

LINUX Schulung. FrauenComputerZentrum Berlin. Jutta Horstmann, Mai 2006

Python macht Embedded Linux angenehmer

Software-Engineering Grundlagen des Software-Engineering 7 Implementierungsphase (Programming Phase)

Testen Prinzipien und Methoden

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Einführung in die C-Programmierung

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Automotive Software Engineering

SPS 4.0: vernetzt, adaptiv, dezentral, herstellerübergreifend

Up and Down - Projekt mit dem AT90USB162

Software-Entwicklung

Aufgabe 1 Minimieren Sie mit den Gesetzen der Booleschen Algebra 1.1 f a ab ab 1 = + + Aufgabe 2. Aufgabe 3

J.6 Programmierung eingebetteter Systeme

Der Mikrocontroller beinhaltet auf einem Chip einen kompletten Mikrocomputer, wie in Kapitel

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R

LabView. Die erste komplett grafische Programmierumgebung. Jens Kleinwechter

Transkript:

1 Prinzipen und Komponenten Eingebetteter Systeme (PKES) (12) Softwareentwicklung für eingebettete Geräte Sebastian Zug Arbeitsgruppe: Embedded Smart Systems

2 Veranstaltungslandkarte Fehlertoleranz, Softwareentwicklung Mikrocontroller Architekturen Sensoren Scheduling Arithmetik Anwendungen Aktoren Kommunikation Energieversorgung

3 Literaturhinweise Peter Marwedel, Eingebettete Systeme Springer 2008 Karsten Berns, Bernd Schürmann, Mario Trapp Eingebettete Systeme - Systemgrundlagen und Entwicklung eingebetteter Software Vieweg+Teubner (Quelle der Grafiken, sofern nicht anders vermerkt)

4 Fragestellungen an diese Veranstaltung Welche Herausforderungen ergeben sich insbesondere für die Entwicklung von eingebetteten Geräten? Beschreiben Sie den V-Prozess bei der Softwareentwicklung. Welcher Grundidee folgt die modellgetriebene Softwareentwicklung? Welche Herausforderungen ergeben sich aus dem Ansatz? Nennen Sie die Ebenen der modellgetriebenen Softwareentwicklung. Sie haben im Rahmen der Vorlesung Assembler und C programmiert sowie eine Demo zum Einsatz von Simulink gesehen. Welche Vorund Nachteil ergeben sich aus den Ansätzen. Begründen Sie Ihre Aussagen anhand von Beispielen. Welche Parameter bestimmen das effektive Testen? Wie ist das allgemeine Vorgehen beim Testen? Was ist der Unterschied zwischen Verifikation und Validierung? Welches Grundproblem löst der JTAG Standard? Welche Testmechanismen lassen sich damit umsetzen?

5 Motivation - Mautsystem Starttermin, 31. August 2003 scheitert wegen: - Fehlfunktionen der OBU - Fehlenden Messbrücken und Automaten - Software Fehler in den Terminals - Maut-Terminals mit zu geringem Sprachunterstützung - Schwierigkeiten bei der Systemintegration Als neuer Termin wurde der 2. November 2003 festgesetzt Anfang November 2003 sind 86 Fehler im Mautsystem dokumentiert und die Einführung auf unbestimmte Zeit verschoben seit 1. Januar 2006 läuft das System mit der vollen Funktionalität. Die Bundesregierung bezifferte den Ausfall bereits budgetierter Einnahmen auf mindestens 156 Millionen Euro pro Monat.

6 Herausforderung Softwareentwicklung für ES Ausfälle oder Fehlfunktionen sind in sicherheitskritischen Anwendungen nicht tolerabel häufig fehlende Wartbarkeit - Zugang schwierig (PKW Rückrufaktionen vs. geringwertige Güter) - Zugang nicht erwünscht Doppelte Herausforderung für eingebettete Geräte (Software/Hardware) Heterogene Struktur (Reaktive Ebene, Steuerungsebene, Leitebene) Versionen (Featuremanagment) Interdisziplinäre Teams -> Der Software/Hardware-Entwicklungsprozess braucht eine übergreifende Steuerung

7 Ausgangspunkt Eingebettete Systeme - Systemgrundlagen und Entwicklung eingebetteter Software Im Fokus standen die Hardware, die Sensorik und Aktuatorik, sowie die Entwicklung der benötigten Regler, Filter und Berechnungsmodelle. Software wurde letztlich nur als notwendiges Hilfsmittel gesehen den letzten kleinen Schritt Die Entwicklung eingebetteter Software war in der Wahrnehmung also keine Aufgabe des Softwareengineerings, sondern beispielsweise eine Teilaufgabe der Regelungstechnik oder des Maschinenbaus. Forumeintrag Die einzige Wahrheit liegt im Code, alles andere ist nur inkonsistente Dokumentation.

8 Wie machen wir Komplexität handhabbar? Hardwarenähe Abstraktionen Simulink C, C++ Assembler Betriebssysteme HAL-Libraries Register Programmiersprachen Frameworks Aber: Lücke zwischen der Definition der Anforderungen, der Implementierung und der Validierung

9 V-Prozess Funktionsspezifikation Systemspezifikation

10 Modellorientierte Entwicklung Modellbasierte Entwicklung zielt auf die abstrakte Definition des Systems anstatt der Programmierung Modellierungselementen bilden das Verhalten, Eigenschaften usw. abstrahiert nach anstatt mit Variablen, Schleifen und Funktionsaufrufen zu arbeiten in Modellierungssprachen stehen Konstrukte wie Übertragungsfunktionen, Fouriertransformationen oder Zustandsautomaten zur Verfügung. Quellcode wird nicht mehr manuell geschrieben, sondern weitgehend automatisch generiert. Modelle stellen sowohl Implementierung als auch Dokumentation dar.

11 V-Prozess am Beispiel Überwachen unseres Labortisches Differentieller Roboter, 8Bit, Funktionsspezifikation Systemspezifikation UML Modell Komponenten, Interaktion, Zustandsmaschine Funktionale Beschreibung der Komponenten Programmierung

12 Welche Modellierungswerkzeuge kommen wo zum Einsatz? Strukturmodelle Interaktionsmodelle Verhaltensmodelle

13 Verhaltensmodellierung mit Simulink

14 Alternativen zur Modellierung eingebetteter Systeme Labview Source: http://www.ni.com/newsletter/51735/de/

15 Alternativen zur Modellierung eingebetteter Systeme Xcos Source: http://www.scilab.com

16 Herausforderung Codegenerierung Modelle ausführbar = Softwareentwicklung abgeschlossen? Probleme: Integration der Schnittstellen Datentypen und Speicherplatzanforderungen Zeitannahmen Verteilung auf mehrere Steuergeräte Häufig ist eine manuelle Nachbesserung notwendig!

17 Hälfte des Weges geschafft!? Funktionsspezifikation Systemspezifikation

18 Integrationstests Was testen? Chips auf einem Board, chipinterne Komponenten. Wie testen? Generelle Probleme: Komplexe Schaltungen erfordern ausführliche Tests. Große Mengen von Testdaten, Probleme mit sequentiellen Schaltungen, Auswertung schwierig. Probleme auf Board-Ebene: Isolation von Chips vom Rest der elektronischen Schaltungen, Anlegen von Testmustern an die Pins der Testkandidaten. Probleme auf Chip-Ebene: Isolation von Komponenten, Anlegen von Testmustern an die internen Strukturen, eklatant schlechtes Verhältnis von verfügbaren Pins zu Anzahl der internen Komponenten.

19 Grundprinzip A B C D Out Exp 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1/0 0 0 0 A B C D X Out Anlegen eines Musters, das es erlaubt, einen bestimmten Fehler zu aktivieren und auf einem Pfad zum Ausgang zu propagieren. Kontrollierbarkeit: Kann ich einen bestimmten Fehler (Controllability) aktivieren? Beobachtbarkeit: Kann der Fehler am Ausgang erfasst und (Observability) signalisiert werden? Vollständigkeit Wurden alle Zustände erfasst? (Coverage)

20 Coverage Kombinatorische Schaltung 0 Sequentielle Schaltung 2 n Testmuster 0 2 n+m Testmuster n n m Zustände

21 Allgemeines Vorgehen 1. Erzeugung der Testmuster, 2. Anwendung der Testmuster, 3. Beobachtung des Systemverhaltens und 4. Vergleich der Ergebnisse Vorteil der modellgetriebenen Softwareentwicklung ist die vereinfachte Generierung von Vergleichsdaten. Fehlerinjektion Simulation Ausgaben Eingaben Fehlerinjektion Target Ausgaben

22 Praktische Umsetzung Wie bringt man Testmuster an die Eingänge, wie erfasst man die Ausgangsdaten intuitive Antwort Bed of Nails

23 Boundary Scan JTAG Standard (IEEE 1149) int. logic int. logic Testdaten Testergebnisse

24 On-Chip Debugging with Atmel 2560 JTAG (IEEE std. 1149.1 Compliant) Interface with access to: all Internal Peripheral Units Internal and External RAM Internal Register File Program Counter EEPROM and Flash Memories Extensive On-chip Debug Support for Break Conditions, Including AVR Break Instruction Break on Change of Program Memory Flow Single Step Break Program Memory Breakpoints on Single Address or Address Range Data Memory Breakpoints on Single Address or Address Range Programming of Flash, EEPROM, Fuses, and Lock Bits through the JTAG Interface On-chip Debugging Supported by AVR Studio

25

26 Vortragsankündigung

27 Danke für das große Interesse und die hohe Motivation!