Interaktionen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld Wie arbeiten VS mit...
-
Upload
salida-bloedow -
Category
Documents
-
view
107 -
download
2
Transcript of Interaktionen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld Wie arbeiten VS mit...
Interaktionen
Verteilte Anwendungen
Wintersemester 06/07
© Wolfgang Schönfeld
Wie arbeiten VS mit ihrem Material (im einfachsten Fall)?
Interaktion
bezeichnet das wechselseitige Aufeinander-Wirken von Akteuren oder Systemen.
Der Begriff ist eng verknüpft mit dem der Kommunikation.
Manchmal werden diese beiden Begriffe sogar synonym verwendet.
(Wikipedia)
Wir verwenden den Begriff für• (Mengen von) Aktionen• und die Beziehungen zwischen ihnen
Interaktionen
kennt man auch in• Physik• Jura: Zusammenwirken aller Prozessbeteiligten• Soziologie• Biologie• Informatik
Weil es direkte Wirkungen zwischen Rechnern nicht gibt, ist der Austausch von Nachrichten (über Kanäle / Speicher) die einzige Möglichkeit zur Interaktion zwischen Rechnern.
Kausalität
Aktionen und gegenseitige Wirkungen (Ursachen)
stellt man übersichtlich dar:• Aktionen durch Knoten• Wirkungen(Ursachen) durch Pfeile
Solche Schaubilder werden auch als Begründung, Erklärung, ... benutzt.
Beispiel: Krankheiten
Kausalordnung
ist eine Halbordnung (partielle Ordnung) auf einer Menge von Aktionen.
Eine Aktion A ist eine Ursache von Aktion B (A<B)
oder, gleichbedeutend, B ist eine Wirkung von A (A>B).
Gilt weder A<B noch B<A, so schreibt man A || B.
Zeit und Kausalordnung
Liegt eine Aktion A in der Kausalordnung vor einer Aktion B, so muss A vor B stattfinden.
Liegt A in der Kausalordnung nicht vor B, so können sie trotzdem gleichzeitig stattfinden ("zufällig").
Die Zeit ist linear geordnet, Aktionen durch die Kausalität dagegen nicht.
nicht A < B bedeutet nicht A || B
Aktionen
können sich gegenseitig• aufheben• verstärken• überlagern• ausschließen
sich selbst verstärkende Wirkungen
entstehen dadurch, dass eine Aktion auf das die Wirkung hervorrufende Objekt wirkt
treten - über Nachrichtenaustausch - auch bei Informationen auf (z.B. bei Gerüchten)
sind letztlich die Voraussetzung von Selbstorganisation
Ausschluß
Eine Aktion schließt eine andere aus: Es sollen nicht beide gleichzeitig stattfinden (symmetrisch!) .
Wenn es doch geschieht, ist das Ergebnis unvorhersehbar.Man kann dann nicht mehr auf das Vorhandensein einer
bestimmten Ursache schließen. Es gibt dafür kein Programmierkonstrukt, kann
also nicht einfach explizit "angewiesen“ werden.
(einfache) Nachrichten
Nachrichten über Nachrichten– Stimmt Nachricht?– Für welche x stimmt Nachricht(x)?– Nachricht stimmt nicht. (Widerrede)
Fragen und Antworten (zwischen zwei Akteuren)
Abstimmungen (zwischen mehreren Akteuren)
Man spricht auch bei System und Benutzer von Interaktionen.
Interaktionen (Beispiele)
Nachrichten
Wenn Informationen auf Medien aufgebracht werden, nennt man sie Nachrichten.
Dies kann geschehenkurzfristig: Kanälelangfristig: Speicher
durch denselben Akteur oder einen anderen:Ein Sender schreibt die Information auf das Medium, ein (eventuell mehrere) Empfänger liest sie dort ab.
Selbstverständlich gilt Schreiben < Lesen.
Mehrere Sender können nur dann gleichzeitig schreiben, wenn sie sich koordinieren.
Medium
schreiben lesen
Übertragung von Nachrichten (zwei Aktionen)
Üblicherweise sieht man bei einer Übertragung die beiden Aktionen Senden und Empfangen getrennt.
Das gibt die Wirklichkeit genauer wieder.
Denn Nachrichten können verloren gehen (two-army problem).
Fasst man das Übertragen als eine einzige Aktion auf, so ist das Systemverhalten übersichtlicher (weil weniger Zuständer).
Wir werden in der Vorlesung beide Sichten verwenden• pessimistische Sicht (Was kann alles bei der
Übertragung passieren?)• optimistische Sicht (Es wird schon alles gut gehen.)
je nachdem, welche praktikabler ist.
Übertragung von Nachrichten (eine Aktion)
Ausbreitung
Ob und wie sich Nachrichten ausbreiten, hängt vom Medium ab
• Melder• Papier• Luft• Draht• leerer Raum
und davon, wie die Nachrichten auf dem Medium aufgebracht sind.
komplexere Interaktionen
Bestätigung ist eine einfache nicht-triviale Interaktion:Hat B eine bestimmte Information (Nachricht) von A
erhalten? Wenn A nichts empfängt, kann seine Nachricht an B oder
die Bestätigung von B verlorengegangen sein. eigentlich: Meta-Information (Information über
Informationen) Meta-Informationen sind erforderlich, weil Informationen unvollständig sein können.
Weitere Beispiele sind Fragen und Antworten, Aufgaben und Lösungen, …
A
B
sendet
empfängt und bestätigt
empfängt Bestätigung
komplexere Übertragungen (Netze)
werden gebildet von den mehreren Akteuren, die (in irgendeiner Weise) kooperieren.
Standardisierung: Protokolle
meist Text, mit festem Format
Das Medium eines Netzes kann auch virtuell sein (durch Vermittlung gebildet).
Vermitteln (Weiterleiten)
Ein Rechner (Router) liest von einem Medium und schreibt auf ein anderes.
auch unterschiedliche physikalische Medien Gesamtheit dieser Rechner: Netz. Beispiel: Internet (Topologie aus einem Atlas des Internet).
komplexere Objekte
Ein Transaktion ist die Zusammenfassung der Änderungen bestimmter Teile eines komplexen Objektes.
• Man merkt sich den ursprünglichen Zustand.• Dann führt man die "kleinen" Zustandsänderungen
nacheinander aus.• Wenn eine fehlschlägt, setzt man auf den
ursprünglichen Zustand zurück („rollback“).