Vorlesung Prinzipen und Komponenten Eingebetteter Systeme...

Post on 15-Nov-2019

0 views 0 download

transcript

1 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Vorlesung Prinzipen und Komponenten Eingebetteter Systeme (PKES) (12) Softwareentwicklung für eingebettete Geräte

Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme

2 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

„Veranstaltungslandkarte“

Sensoren

Mikrocontroller

Anwendungen

Architekturen

Aktoren

Kommunikation Energieversorgung

Scheduling

Arithmetik

Fehlertoleranz, Softwareentwicklung

3 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

• Peter Marwedel, Eingebettete Systeme Springer 2008 • Karsten Berns, Bernd Schürmann, Mario Trapp Eingebettete Systeme - Systemgrundlagen und Entwicklung eingebetteter Software Vieweg+Teubner

Literaturhinweise

4 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

• 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 Vor- und 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?

Fragestellungen an diese Veranstaltung

5 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

• 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.

Motivation - Mautsystem

6 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

• 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

Herausforderung Softwareentwicklung für ES

7 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

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.“

Ausgangspunkt

8 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Aber: Lücke zwischen der Definition der Anforderungen, der Implementierung und der Validierung

Wie machen wir Komplexität handhabbar?

Assembler

C

C++, Java,

Abstraktionen Hardwarenähe

Register

HAL-Libraries

Betriebssysteme

Programmiersprachen Frameworks

9 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

V-Prozess

Funktionsspezifikation

Systemspezifikation

10 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

• 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 Übertragungs-funktionen, Fouriertransformationen oder Zustandsautomaten zur Verfügung.

• Quellcode wird nicht mehr manuell geschrieben, sondern weitgehend automatisch generiert.

• Modelle stellen sowohl Implementierung als auch Dokumentation dar.

Modellorientierte Entwicklung

11 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

V-Prozess am Beispiel

Differentieller Roboter, 8Bit, …

„Überwachen unseres Labortisches“

UML Modell Komponenten, Interaktion, Zustandsmaschine

Funktionale Beschreibung der Komponenten

Programmierung

Funktionsspezifikation

Systemspezifikation

12 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

• Strukturmodelle • Interaktionsmodelle • Verhaltensmodelle

Welche Modellierungswerkzeuge kommen wo zum Einsatz?

13 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Verhaltensmodellierung mit Simulink

14 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

• Labview Alternativen zur Modellierung eingebetteter Systeme

Source: http://www.ni.com/newsletter/51735/de/

15 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

• Xcos Alternativen zur Modellierung eingebetteter Systeme

Source: http://www.scilab.com

16 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Probleme: • Integration der Schnittstellen • Datentypen und Speicherplatzanforderungen • Zeitannahmen • Verteilung auf mehrere Steuergeräte

Häufig ist eine manuelle Nachbesserung notwendig!

Herausforderung Codegenerierung Modelle ausführbar = Softwareentwicklung abgeschlossen?

17 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Funktionsspezifikation

Systemspezifikation

Hälfte des Weges geschafft!

?

18 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

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.

Integrationstests

19 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

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)

Grundprinzip

X

C

D

A

B

Out

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

… …

20 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Coverage Kombinatorische Schaltung Sequentielle Schaltung

0

n

0

n

m Zustände

2n Testmuster 2n+m Testmuster

21 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

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.

Allgemeines Vorgehen

Target

Fehlerinjektion

Ausgaben

Simulation

Eingaben

Ausgaben

Fehlerinjektion

22 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Praktische Umsetzung

Wie bringt man Testmuster an die Eingänge, wie erfasst man die Ausgangsdaten – intuitive Antwort „Bed of Nails“

23 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

JTAG Standard (IEEE 1149)

Boundary Scan

int. logic

int. logic

Boundary Scan Zelle

V

Testdaten Testergebnisse

24 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

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

On-Chip Debugging with Atmel 2560

25 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Softwareprojekt Teamrobotik Lehrstuhl Echtzeitsysteme und Kommunikation – Prof. Dr. Edgar Nett Intelligent Systems Group – Prof. Dr. Sanaz Mostaghim

28 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Sucht ihr ein Softwareprojekt? -> Softwareprojekt Teamrobotik AG‘s EuK und Intelligent Systems Group Selbst wenn nicht:

Trotzdem aufgepasst! Unsere Arbeitsgruppen bieten auch Themen für: • Bachelor-/Masterarbeiten

• Master-Projekte (Individual-/Teamprojekte)

Prof. Dr. E. Nett

Prof. Dr. S. Mostaghim

M.Sc. Frank Engelhardt (Koordinator und Kontakt)

29 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Themengebiet Robotik - Roboterkooperation

Mehrere Roboter arbeiten an einem gemeinsamen Ziel • Wenn eine Aufgabe nur mit vereinten Kräften zu lösen ist

• Oder wenn Ausfallsicherheit gefragt ist • Ausfall eines Roboters kann kompensiert werden

• Je nach Anwendungsfall sollen beliebig viele Roboter eingesetzt werden

30 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Aufgabe: Spannen eines Rettungsnetzes

31 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Aufgabe: Spannen eines Rettungsnetzes

Gruppe von Robotern spannt ein Rettungsnetz auf Mit dem Netz soll ein ‚Opfer‘ aufgefangen werden Herausforderungen:

• Spannung soll gehalten werden • Mit dem Netz navigieren • Hindernissen ausweichen • Zielpunkt anfahren

Opfer retten!

32 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Studententeams

Hardware Software

Sensorik (1) (2) Schwarmintelligenz

Kinematik (3) (4) GUI + Simulation

(5) Monitoring

33 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Sensorik

S1

S2 S3

Abstandsbestimmung

Hardware Software

Sensorik (1) (2) Schwarmintelligenz

Kinematik (3) (4) GUI + Simulation

(5) Monitoring

34 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Schwarmintelligenz

Gruppe von Robotern soll bestimmtes Verhalten haben • Aber: Jeder Roboter agiert für sich autonom

• Fällt Entscheidungen nach Wahrnehmung seiner unmittelbaren Umgebung • Agiert mittels einfacher Muster • Attraction: nähere mich anderen Robotern an

• Repulsion: entferne mich von anderem Roboter

• Daraus ergibt sich ein Verhalten des gesamten Schwarms • Formationen • Bestimmte Bewegungsrichtung

35 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Schwarmintelligenz: Formation halten

Attraction Repulsion

Repulsion

Verhalten ableiten

Hardware Software

Sensorik (1) (2) Schwarmintelligenz

Kinematik (3) (4) GUI + Simulation

(5) Monitoring

36 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Kinematik + Greifen des Netzes

Hardware Software

Sensorik (1) (2) Schwarmintelligenz

Kinematik (3) (4) GUI + Simulation

(5) Monitoring

37 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

GUI + Simulation

Hardware Software

Sensorik (1) (2) Schwarmintelligenz

Kinematik (3) (4) GUI + Simulation

(5) Monitoring

38 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Monitoring: Wie effektiv ist die Lösung?

Hardware Software

Sensorik (1) (2) Schwarmintelligenz

Kinematik (3) (4) GUI + Simulation

(5) Monitoring

?

39 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

Softwareprojekt anrechenbar im Bachelor (4. Semester) Bearbeitung von Teilaufgaben in Gruppen 1. Sensorik und Objekterkennung 2. Schwarmverhalten 3. Kinematik (Greifen des Netzes) 4. GUI + Simulationsumgebung 5. Monitoring

Bearbeitungszeit über das Sommersemester ‘14

• Zwischenpräsentationen • Meilensteinplanung

Live-Demonstration als Abschluss

in der letzten Vorlesungswoche

40 23.01.2014 Prinzipien und Komponenten eingebetteter Systeme

Arbeitsgruppe EOS Dr. Sebastian Zug

KuKa youBot

Anmeldung: Mail an fengelha@ovgu.de