Suche Home Einstellungen Anmelden Hilfe  

 Nachrichtenaustausch in CSP
 
C ommunication  S equential   P rocesses
CSP  ist eine rudimentäre Sprache, die keine praktische Anwendung findet,  sie dient der Beschreibung  von Prozessen.

Ausgabeanweisung eines Sender

Eingabeanweisung beim Empfänger Variablen in Ausgabe und Eingabeanweisungen
  1. die Variable kann einen Wert annehmen
    1. P5 ! r;         r:= 42          oder     r:=‘ Heute ... ‘
  2. die Variable kann als Verbundanweisung deklariert werden.
    1. P3 ? u;        u:= auftrag( datum, nummer, artikel)
  3. die Variable kann komponentenlos sein und wird als Signal bezeichnet, das zur Synchronisation dient und nicht zum Datenaustausch.
  4. Alternativ-Anweisungen werden prozeßabhängig ausgeführt   [] WÄCHTER

  5. Beispiel:  Eingabeanweisung beim Empfänger
      [     P1 ? variable ? anweisung1
       []  P2 ? variable ? anweisung2
       []  P3 ? variable ? anweisung3
       ]
  6. Ein Wächter kann neben oder statt der Kommunikationsanweisung Bedingungen enthalten.
    1. [      zähler > 0 ; P1 ? variable                   ? anweisung1
      []  zähler > 0; zähler < N ;P2 ? variable ? anweisung2
      []  zähler < 0;                                          ? anweisung3
      ]
    Bestehen mehrere Kommunikationsmöglichkeiten wird eine dieser Alternativen nichtdeterministisch ausgeführt.

    Wird als Wächter  true  angegeben, so wird diese Anweisung immer ausgeführt.
    Soll keine Anweisung unter bestimmten Bedingungen ausgeführt werden, so lautet die Anweisung  skip .

      Ein Prozeß darf in CSP nicht mit sich selbst kommunizieren. Rekursive Algorithmen
      müssen in Prozeßfeldern implementiert werden.

Prozesse in CSP werden als nebenläufige Blöcke beschrieben.
Jeder Block erhält einen Namen, der  in Ein- und Ausgabeanweisungen zur Angabe des Kommunikationspartners benutzt wird.  Werden mehrere Prozesse mit gleichem Rumpf vereinbart, so wird ein durch Angabe eines Indexbereiches ein Prozeßfeld definiert.

Beispiel : Eine Nachricht wird zwischen zwei Prozessen hin und hergeschickt.  

                                                                                                                    
zurück zur Gliederung

Benutzer: gast • Besitzer: didaktik • Zuletzt geändert am: