Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Entwicklung verteilter eingebetteter Systeme - Einführung

Ähnliche Präsentationen


Präsentation zum Thema: "Entwicklung verteilter eingebetteter Systeme - Einführung"—  Präsentation transkript:

1 Entwicklung verteilter eingebetteter Systeme - Einführung
Damian Bolik

2 Entwicklung verteilter eingebetteter Systeme - Einführung
Damian Bolik Übersicht (1) Klassifizierung von Anwendungen nebenläufige Anwendungen Echtzeitanwendungen verteilte Anwendungen Umgebungen nebenläufiger Anwendungen Multitasking symmetrische Multiprozessorumgebung verteilte Prozessorumgebung Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung Entwicklung verteilter eingebetteter Systeme - Einführung

3 Entwicklung verteilter eingebetteter Systeme - Einführung
Übersicht (2) EES-Konzepte aktive und passive Objekte Prozesse, Threads, Tasks Synchronisation von Tasks Monitore Softwareentwicklungsmethode vs. -notation Weitere Aspekte bei der Entw. von EES Task Scheduling Middleware Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

4 Nebenläufige Anwendungen
Parallele Ausführung von Tasks Ereignisse zufällig und überlappend Viele Probleme sind von Natur aus nebenläufig (Dijkstra 1968) komplexes Design, wenn die Tasks nicht getrennt werden Aber Probleme bei der Synchronisation z.B. Deadlocks Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

5 Echtzeitanwendungen/-systeme
(Nebenläufige) Anwendungen mit Zeitschranken weiche Echtzeit-Anforderungen harte Echtzeit-Anforderungen Begriff „Echtzeitsystem“ beinhaltet Echtzeitanwendung(en), Echtzeit-OS und Echtzeit-I/O Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

6 Entwicklung verteilter eingebetteter Systeme - Einführung
Echtzeitsysteme Oft eingebettet Interaktion mit der Umgebung Zeitschranken Echtzeitkontrolle „reaktive Systeme“ Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

7 Verteilte Anwendungen (1)
Anwendung ist auf „Knoten“ an geographisch verschiedenen Orten verteilt Jeder Knoten ist eine eigenständige Ausführungseinheit (Computersystem) Knoten sind verbunden über Netzwerk (LAN/WAN) Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

8 Verteilte Anwendungen (2)
Vorteile: bessere Verfügbarkeit bessere Reaktionszeit „Load Balancing“ flexiblere Konfiguration lokale Pflege einfache Erweiterbarkeit eventuell günstiger Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

9 Umgebungen nebenläufiger Anwendungen (1)
Multitasking Ein Rechner, ein Prozessor CPU Systembus I/O Speicher Display Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

10 Umgebungen nebenläufiger Anwendungen (2)
symmetrische Multiprozessorumgebung Ein Rechner, mehrere Prozessoren CPU CPU Systembus I/O Speicher Display Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

11 Umgebungen nebenläufiger Anwendungen (3)
Verteilte Prozessorumgebung Mehrere Rechner (Knoten) über Netzwerk Knoten 1 Knoten 2 CAN/LAN/WAN Knoten 3 Knoten 4 Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

12 Aktive und Passive Objekte
Aktive Objekte repräsentieren einen Task haben ihr eigenes „Leben“ Passive Objekte haben Methoden, die von aktiven Objekten aufgerufen werden meist Datenobjekte Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

13 Prozesse, Threads, Tasks
Vom Betriebssystem verwaltete Ausführungseinheit bei Multitasking „heavyweight process“, da beim Taskwechsel viel Zeit benötigt wird oder einziger Prozess auf einer CPU evtl. intern mehrere nebenläufige Threads „lightweight process“ Task ist ein Prozess ohne Threads oder ein Thread Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

14 Synchronisation von Tasks
Semaphore bei Ressourcen, auf die exklusiv zugegriffen werden muss Fehleranfällig Signale (Events) meist ohne Datenaustausch Signale sind asynchron Nachrichten mit Datenaustausch synchron: auf Antwort wird gewartet asynchron: auf Antwort wird nicht gewartet Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

15 Entwicklung verteilter eingebetteter Systeme - Einführung
Monitore Monitor ist ein Objekt Kapselt eine kritische Ressource (Daten, Peripherie, etc.) Semaphore ist integriert Auf die Ressource wird über die Methoden des Objektes zugegriffen Dabei wird automatisch die Semaphore gesetzt, wodurch Zugriff exklusiv ist Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

16 Softwareentwicklungsmethode vs. -notation (1)
Wir unterscheiden Softwareentwicklungs- konzepte (z.B. „Information Hiding“) strategien (z.B. Objekt-orientiert) notationen (z.B. UML, Statecharts) Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

17 Softwareentwicklungsmethode vs. -notation (2)
Softwareentwicklungsmethoden (z.B. CODARTS, ROOM, COMET) beinhalten: mehrere Softwareentwicklungskonzepte eine oder mehrere Softwareentwicklungsstrategien eine oder mehrere Softwareentwicklungsnotationen „Schritt für Schritt“-Anleitung zur Softwareentwicklung (Prozess) Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

18 Weitere Aspekte bei der Entwicklung von EES
Task Scheduling Im Multitasking muss Betriebssystem zwischen nebenläufigen Tasks wechseln Verschiedene Algorithmen (z.B. round robin, priority preemption) Besonders kritisch bei Echtzeit-Anwendungen Middleware Software, um heterogene Plattformen über einheitliche Schnittstellen zu verbinden Beispiele: RPC, Java RMI, COM, CORBA Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

19 Softwareentwicklungsmodelle (1)
Wasserfallmodell Requirements, Analysis and Specification Architectural Design Detailed Design Coding Unit Testing Integration Testing System Testing Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung

20 Softwareentwicklungsmodelle (2)
Spiralmodell 1. Define objektives, alternatives and constraints 2. Analyze risks 4. Plan next cycle 3. Develop product Damian Bolik Entwicklung verteilter eingebetteter Systeme - Einführung


Herunterladen ppt "Entwicklung verteilter eingebetteter Systeme - Einführung"

Ähnliche Präsentationen


Google-Anzeigen