inf-mcs-notes/05-csp.tex
Zhengyi Chen c5232bc821 ...
2024-04-20 22:38:16 +01:00

91 lines
No EOL
2.9 KiB
TeX

\documentclass[99-notes-packed.tex]{subfiles}
\begin{document}
\paragraph*{CSP}
Introduce the following operations:
\begin{enumerate}
\item {
$0$ or $\mathsf{STOP}$ (inaction).
Likewise CCS, a graph with 1 (initial) state, 0 transitions.
}
\item {
$a.P$ or $a \rightarrow P$ (action prefix) for $\forall a \in A$.
Likewise CCS.
}
\item {
$P \square Q$ (external choice).
Semantically it is similar to parallel composition without synchronization, where:
\begin{itemize}
\item {
Prior to ``choice'', one of the two actions might happen between the processes.
}
\item {
After one of the action happens, only the choiced process may occur at runtime.
}
\end{itemize}
}
\item {
$P \sqcap Q$ (internal choice):
\begin{equation*}
\mathrm{CSP}[P \sqcap Q] \equiv \mathrm{CCS}[\tau.P + \tau.Q]
\end{equation*}
}
\item {
$P {||}_{S} Q$ (parallel composition) with enforced synchronization over $S \subseteq A$. Semantically speaking:
\begin{itemize}
\item $
\mathsf{States}(P {||}_{S} Q) \coloneqq
\mathsf{States}(P) \times \mathsf{States}(Q)
$
\item {
$(s, t) \xrightarrow{a} (s^{'}, t)$ if
$(a \notin S) \wedge (s \xrightarrow{a} s^{'} \in P)$
}
\item {
$(s, t) \xrightarrow{a} (s, t^{'})$ if
$(a \notin S) \wedge (t \xrightarrow{a} t^{'} \in Q)$
}
\item {
$(s, t) \xrightarrow{a} (s^{'}, t^{'})$ if
$(a \in S) \wedge (s \xrightarrow{a} s^{'} \in P) \wedge (t \xrightarrow{a} t^{'} \in Q)$
}
\end{itemize}
}
\item {
$P/a$ (concealment).
Like CCS, rename $a$ into $\tau$.
}
\item {
$P[f]$ (renaming) for $f \in (A \rightarrow A)$
Likewise CCS.
}
\end{enumerate}
Weak and branching bisimulation are congurences for CSP.
\paragraph*{GSOS}
As a general form over languages, GSOS describes a transition rule of the following form: define
\begin{itemize}
\item {
$\Sigma$ be the collection of function symbols wrt. a language.
}
\item {
$\mathsf{arity}: \Sigma \rightarrow \mathbb{N}$ a function exposing the arity of the function symbol in question.
}
\end{itemize}
then, under GSOS semantics, the language could be expressed as follows:
\begin{equation*}
\begin{prooftree}
\hypo{x_i \xrightarrow{a} y_i, \dots\ (f \in \Sigma, i \in [1, \mathsf{arity}(f)], y_i \notin \mathsf{args}(f))}
\infer1{f(x_1, \dots, x_{\mathsf{arity}(f)}) \xrightarrow{a} \mathsf{Expr}(x_1, \dots, x_{\mathsf{arity}(f)}, y_i, \dots)}
\end{prooftree}
\end{equation*}
It is the generalization of SOS rules we have covered earlier.
\end{document}