Pi-Kalkül

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel oder Abschnitt ist nicht allgemeinverständlich formuliert. Die Mängel sind unter Diskussion:Pi-Kalkül beschrieben. Wenn du diesen Baustein entfernst, begründe dies bitte auf der Artikeldiskussionsseite und ergänze den automatisch erstellten Projektseitenabschnitt Wikipedia:Unverständliche Artikel#Pi-Kalkül um {{Erledigt|1=~~~~}}.

π-Kalkül ist ein Prozesskalkül, der von Robin Milner, Joachim Parrow und David Walker als Nachfolger des Calculus of Communicating Systems (CCS) entwickelt wurde. Ziel war die Entwicklung einer formellen Beschreibung von nebenläufigen Systemen, die sich während der Laufzeit verändern.

Ein Anwendungszweck dieser Art von Verfahren ist die Simulation von Nebenläufigkeiten wie zum Beispiel Threads oder Prozessen auf modernen Mehrkernprozessoren, da bei der Programmierung von Software, welche diese Funktionalität ausnützt, komplexe Randbedingungen ins Spiel kommen, die mittels einer solchen Simulation leichter in den Griff zu bekommen sind.

Konstrukte[Bearbeiten]

Name Syntax
Nebenläufigkeit P \mid Q
Eingabepräfix c\left(x\right).P
Ausgabepräfix \overline{c} \langle y \rangle.P
Replikation !\,P
Neu \left(\nu x\right)P
Null-Prozess 0

Formale Definition[Bearbeiten]

Seien X eine Menge von Namen und x und y Elemente dieser Menge. Die folgende Grammatik in Backus-Naur-Form beschreibt dann die Sprache des π-Kalküls:


\begin{align}

P ::= \, & x(y).P \,\,\, \\
|\,\,\, & \overline{x} \langle y \rangle.P \,\,\, \\
|\,\,\, & P|P \,\,\, \\
|\,\,\, & (\nu x)P  \,\,\, \\
|\,\,\, & !P \,\,\, \\
|\,\,\, & 0 

\end{align}

Beispiel[Bearbeiten]

Drei nebenläufige Prozesse.


\begin{align}

     &  \begin{align}
                (\nu x) \; & ( \; \overline{x} \langle z \rangle . \; 0 \\  
                           & | \; x(y). \; \overline{y}\langle x \rangle . \; x(y). \; 0 \; ) 
        \end{align} \\


| \; & z(v) . \; \overline{v}\langle v \rangle . 0 

\end{align}

Literatur[Bearbeiten]

Weblinks[Bearbeiten]