To my knowledge, there are three major process algebras that have inspired a vast range of research into formal models of concurrency. These are:
CCS and $\pi$-calculus both by Robin Milner
CSP by Tony Hoare and
ACP by Jan Bergstra and Jan Willem…
Given a labelled transition system $(S,\Lambda,\to)$, where $S$ is a set of states, $\Lambda$ is a set of labels, and $\to\subseteq S\times\Lambda\times S$ is a ternary relation. As usual, write $p \stackrel\alpha\rightarrow q$ for…
A drink dispenser requires the user to insert a coin ($\bar c$), then press one of three buttons: $\bar d_{\text{tea}}$ requests a cup of tea $e_{\text{tea}}$, ditto for coffee, and $\bar r$ requests a refund (i.e. the machine gives back the coin:…
This is a follow up to my earlier questions on coinduction and bisimulation.
A relation $R \subseteq S \times S$ on the states of an LTS is a bisimulation iff $\forall (p,q)\in R,$
$$
\begin{array}{l}
\text{ if } p \stackrel\alpha\rightarrow…
I've started to read about process calculi (such as CSP and π-calculus). It seems to me that they are extremely general and can represent pretty much any concurrent system, many of which will be unable to "make progress".
I wondered if there were…
In my model checking class we have defined a bisimulation like this:
Let $K=(S,S_0,Act,R,L)$ and $K'=(S',S'_0,Act,R',L')$ be two kripke structures. A relation $B \subseteq S \times S'$ is called bisimulation if $\,\forall (s, s') \in B$ following…
I'm interested in knowing things about the computability of concurrent programs. If you had a Turing complete language that also let you branch off new programs but had no means of communication between them there would be programs that you couldn't…
So when programming with locks as a synchronization primitives you can ensure no deadlock by ensuring that an ordering exists on the locks and that all acquires of the locks happen in that order (which really just needs to be a well founded…
In the literature, the terms of "process calculus" and "process algebra" are often interchangeable. Meanwhile, it confused me.
My questions are:
Are there formal, standard, and widely-accepted definitions of "calculus" and "algebra"?
What are the…
Does any one know how to implement the simulation relation on two labelled transition systems (LTS)?
I know how to do it for branching bi-simulation. The signature refinement theorem is used for that purpose which has the time complexity of…
At 15:30 in this talk (p13 of this presentation here) Rich Hickey mentions the formalisms available for reasoning about Communicating Sequential Processes. He then goes on to mention that these haven't yet been applied to Clojure's core.async.
The…
I am reading on concurrent processes and algorithms which find infinite processes by searching the process graph recursively.
Most of the material I have found is not for beginners. I am looking for references / algorithms that can help me…
In learning about Timed Automata, Coloured Petri Nets, and Process Calculi, I am wondering what the benefit is of having the Petri Net transition be a separate type of node in Petri Nets.
It seems that you can model the same stuff (eventually) using…
Given this definition of weak bisimilarity:
A configuration relation $\mathcal{R}$ is a weak bisimulation
provided that whenever $P\ \mathcal{R}\ Q$ and $\alpha$ is $\mu$ or $\tau$ action then:
$P \to^\alpha P'$ then $Q…
We are given a labelled directed graph, where both vertices (or states) and edges (or transitions) have labels. Informally, two states are bisimilar when they have the same label and they can simulate each other's transitions. On the states the two…