Vorlesung Prinzipen und Komponenten Eingebetteter Systeme...
Transcript of Vorlesung Prinzipen und Komponenten Eingebetteter Systeme...
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 [email protected]