Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Entwicklung verteilter eingebetteter Systeme - Einführung Damian Bolik 25.02.2002.

Ähnliche Präsentationen


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

1 Entwicklung verteilter eingebetteter Systeme - Einführung Damian Bolik

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

3 Damian BolikEntwicklung verteilter eingebetteter Systeme - Einführung 3 Ü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

4 Damian BolikEntwicklung 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

5 Damian BolikEntwicklung 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

6 Damian BolikEntwicklung verteilter eingebetteter Systeme - Einführung 6 Echtzeitsysteme Oft eingebettet Interaktion mit der Umgebung Zeitschranken Echtzeitkontrolle reaktive Systeme

7 Damian BolikEntwicklung 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)

8 Damian BolikEntwicklung 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

9 Damian BolikEntwicklung verteilter eingebetteter Systeme - Einführung 9 Umgebungen nebenläufiger Anwendungen (1) Multitasking –Ein Rechner, ein Prozessor Systembus I/OSpeicherDisplay CPU

10 Damian BolikEntwicklung verteilter eingebetteter Systeme - Einführung 10 Umgebungen nebenläufiger Anwendungen (2) symmetrische Multiprozessorumgebung –Ein Rechner, mehrere Prozessoren Systembus I/OSpeicherDisplay CPU

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

12 Damian BolikEntwicklung 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

13 Damian BolikEntwicklung verteilter eingebetteter Systeme - Einführung 13 Prozesse, Threads, Tasks Prozess –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

14 Damian BolikEntwicklung 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

15 Damian BolikEntwicklung verteilter eingebetteter Systeme - Einführung 15 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

16 Damian BolikEntwicklung 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)

17 Damian BolikEntwicklung 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)

18 Damian BolikEntwicklung 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

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

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


Herunterladen ppt "Entwicklung verteilter eingebetteter Systeme - Einführung Damian Bolik 25.02.2002."

Ähnliche Präsentationen


Google-Anzeigen