Communicating Sequential Processes - LinkFang.de





Communicating Sequential Processes


Communicating Sequential Processes (CSP) ist eine von Tony Hoare an der Universität Oxford entwickelte Prozessalgebra zur Beschreibung von Interaktion zwischen kommunizierenden Prozessen. Die Idee wurde als imperative Sprache 1978 von Tony Hoare erstmals vorgestellt, dann von ihm zu einer formalen Algebra ausgebaut und 1985 mit der Veröffentlichung des Buchs mit dem gleichnamigen Titel Communicating Sequential Processes berühmt. Dieses Buch war 2003 laut CiteSeer bereits das dritthäufigst zitierte Werk der Informatik.[1]

Als Abgrenzung zur ursprünglichen imperativen Sprache CSP wird die Prozessalgebra auch teilweise als Theoretical Communicating Sequential Processes (TCSP) bezeichnet.

Anwendungen

Die Programmiersprache Occam ist eine praktische Implementierung der CSP. JCSP (Communicating Sequential Processes for Java) ist die Verbindung von CSP und Occam-Konzepten in einer Java-API. Mit C++CSP2 ist eine entsprechende Implementierung für C++ verfügbar. Weitere Anwendungen sind das Message Passing Interface sowie die Parallel Virtual Machine.

Auszug aus der Syntax und Semantik

  • CSP verwendet Großbuchstaben für Zustände des Automaten sowie Kleinbuchstaben für Ereignisse. Die durch Ereignisse ausgelösten Zustandsübergänge werden durch einen Pfeil (→) gekennzeichnet.
    • (x → B)   Auf das Ereignis x folgt der Zustand B
    • (x → y → B)   Auf die Ereignisfolge x und dann y folgt Zustand B
  • In CSP werden bedingte Ereignisse durch Angabe des Auswahloperators | definiert.
    • (x → A | y → B)   Wenn Ereignis x, dann Zustand A. Wenn Ereignis y, dann Zustand B
  • Die Menge der Zustände und Ereignisse, die ein über CSP definierter Automat akzeptiert, wird durch das Alphabet αP angegeben. Jeder Automat enthält einen zusätzlichen Zustand STOP in αP, aus dem ein weiterer Zustandsübergang per Definition nicht mehr erlaubt ist.
  • Sequentielle Komposition wird durch das Einführen von Zwischenzuständen ermöglicht.
    • P = (x → A), A = (y → B)   ist äquivalent zu
    • P = (x → y → B)
  • Die Parallelschaltung von Prozessen, die dieser Prozessalgebra den Namen gab, wird durch die Angabe des Symbols || erreicht.
    • P = (a → (b → P | x → b → P))   mit   αP = {a, b, x}
    • Q = (a → b → Q | y → b → Q)   mit   αQ = {a, b, y}
    • P || Q   akzeptiert alle Zeichenfolgen {ab, axb, yb} sowie beliebige sequentielle Kombinationen
  • Rekursionen sind möglich.
    • P = (x → y → P)   generiert die unendliche Abfolge der Ereignisse xyxyxy…

Weblinks

Einzelnachweise

  1. CiteSeer Statistik

Kategorien: Theoretische Informatik | Parallelverarbeitung

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Communicating Sequential Processes (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.