Zwischenbilanz, Ausblick Ada
Zwischenbilanz, Ausblick Ada
- Bisher haben wir betrachtet: Prozesse interagieren mit Hilfe gemeinsamer Variablen
Protokolle und Schutzmaßnahmen nötig! - Technischer/historischer Ausgangspunkt dafür: Rechner mit 1 Prozessor (meist, oder mehrere) und 1 Speicher.
Aber: Technische Alternative ist ein verteiltes System mit Nachrichtenaustausch (message passing).
plausibel, konkurrente Programmierung an diesem technischen Paradigma zu orientieren.
Technische Basis nicht zwingend, man kann
- eine Struktur durch eine anderen simulieren,
- eine aus Gründen der Programmierung bevorzugen!
Analogie
| shared variables | ![]() | global variables |
| & processes | & procedures | |
![]() | ![]() |
|
| ? message passing ? | ![]() | explizite Schnittstelle |
| Typ der Nachricht, | Parameterübergabe | |
| wer an wen, | ||
| wenn ... |
Message passing
-
- asynchron (nicht blockierend)
- Sender wartet nicht auf Empfang, sondern macht weiter.
- Vorteil
- Kein Zeitverlust
- Nachteil
- Rückfluß von Informationen nicht im selben Akt möglich; Info aktuell.
- Beispiel
- Briefpost
-
- synchron
- Gemeinsamer Akt von Sender und Empfänger, jeder muß auf anderen warten.
- Vorteil/Nachteil
- siehe oben
- Beispiel
- Telephon
- Fest vorgegebene (uni-, bidirektionale) Kanäle.
- Sender kennt Empfänger,,anschrift``, nicht umgekehrt.
- Broadcast (,,Rundfunk``, Info öffentlich)
Beispiele
| 2 + 3 | : | occam |
| 1 + 5 | : | Linda |
| 2 + 4 | : | Ada Rendezvous |
Die Techniken in Ada
- Rendezvous
- Synchrone Kommunikation mit Möglichkeit zur Antwort und Hilfsberechnung; z.B. Telephonauskunft.

- Protected objects
- Gekapselte passive Struktur, ähnlich Monitor.
Die verschiedenen für konkurrente Programmierung vorgeschlagenen / benutzten Konstrukte (Semaphore, Monitore, asynchrone/synchrone Nachrichten, ...) sind gleichwertig in dem Sinn, daß sie sich wechselseitig simulieren können; also nur Unterschiede in
- Effizienz (je nach Kontext und Problemstellung)
- Sicherheit, Klarheit im Gebrauch
- Modellierungsqualität
Ada hatte ursprünglich nur rendezvous; protected objects in Ada95 weil manchmal
- Klarer und einfacher im Gebrauch.
- Effizienter zu implementieren.
Hausaufgabe
- Monitor simuliert Semaphore.
- Asynchrone Nachrichtenkommunikation simuliert synchrone.







Nächste Seite:Ada Tasking IIAufwärts:Vorlesungsskriptum zu Spezielle AnwendersprachenVorherige Seite:Semaphore und MonitoreInhaltsverzeichnis Ronald Blaschke 2001-06-02



