1 / 20

Entwicklung verteilter eingebetteter Systeme - Einführung

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

omar
Télécharger la présentation

Entwicklung verteilter eingebetteter Systeme - Einführung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Übersicht (1) • Klassifizierung von Anwendungen • nebenläufige Anwendungen • Echtzeitanwendungen • verteilte Anwendungen • Umgebungen nebenläufiger Anwendungen • Multitasking • symmetrische Multiprozessorumgebung • verteilte Prozessorumgebung Entwicklung 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 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 Tasksnicht getrennt werden • Aber Probleme bei der Synchronisation • z.B. Deadlocks Entwicklung verteilter eingebetteter Systeme - Einführung

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

  6. Echtzeitsysteme • Oft eingebettet • Interaktion mit der Umgebung • Zeitschranken • Echtzeitkontrolle • „reaktive Systeme“ 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) 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 Entwicklung verteilter eingebetteter Systeme - Einführung

  9. Umgebungen nebenläufiger Anwendungen (1) • Multitasking • Ein Rechner, ein Prozessor CPU Systembus I/O Speicher Display 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 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 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 Objektenaufgerufen werden • meist Datenobjekte Entwicklung verteilter eingebetteter Systeme - Einführung

  13. Prozesse, Threads, Tasks • Prozess • Vom Betriebssystem verwaltete Ausführungseinheitbei 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 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 Entwicklung 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 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) 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) Entwicklung verteilter eingebetteter Systeme - Einführung

  18. Weitere Aspektebei 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 Entwicklung verteilter eingebetteter Systeme - Einführung

  19. Softwareentwicklungsmodelle (1) • Wasserfallmodell Requirements,Analysis andSpecification ArchitecturalDesign DetailedDesign Coding UnitTesting IntegrationTesting SystemTesting 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 Entwicklung verteilter eingebetteter Systeme - Einführung

More Related