Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee
Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee
Reactive Systems: Modelling, Specification and Verification - Cs.ioc.ee
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.3. STRONG BISIMILARITY 43<br />
trace equivalent processes CTM <strong>and</strong> CTM ′ exhibited different deadlock behaviour<br />
when made to interact with a third parallel process, namely CA. In hindsight, this<br />
is not overly surprising. In fact, when looking purely at the (completed) traces of a<br />
process, we focus only on the sequences of actions that the process may perform,<br />
but do not take into account the communication capabilities of the intermediate<br />
states that the process traverses as it computes. As the above example shows,<br />
the communication potential of the intermediate states does matter when we may<br />
interact with the process at all times. In particular, there is a crucial difference in<br />
the capabilities of the states reached by CTM <strong>and</strong> CTM ′ after these processes have<br />
received a coin as input. Ind<strong>ee</strong>d, after accepting a coin the machine CTM always<br />
enters a state in which it is willing to output both coff<strong>ee</strong> <strong>and</strong> tea, depending on<br />
what its user wants, whereas the machine CTM ′ can only enter a state in which it<br />
is willing to deliver either coff<strong>ee</strong> or tea, but not both.<br />
The lesson that we may learn from the above discussion is that a suitable notion<br />
of behavioural relation betw<strong>ee</strong>n reactive systems should allow us to distinguish<br />
processes that may have different deadlock potential when made to interact with<br />
other processes. Such a notion of behavioural relation must take into account the<br />
communication capabilities of the intermediate states that processes may reach as<br />
they compute. One way to ensure that this holds is to require that in order for two<br />
processes to be equivalent, not only should they afford the same traces, but, in some<br />
formal sense, the states that they reach should still be equivalent. You can easily<br />
convince yourselves that trace equivalence does not m<strong>ee</strong>t this latter requirement,<br />
as the states that CTM <strong>and</strong> CTM ′ may reach after receiving a coin as input are not<br />
trace equivalent.<br />
The classic notion of strong bisimulation equivalence, introduced by David<br />
Park in (Park, 1981) <strong>and</strong> widely popularized by Robin Milner in (Milner, 1989),<br />
formalizes the informal requirements introduced above in a very elegant way.<br />
Definition 3.2 [Strong bisimulation] A binary relation R over the set of states of<br />
an LTS is a bisimulation iff whenever s1 R s2 <strong>and</strong> α is an action:<br />
- if s1 α → s ′ 1 , then there is a transition s2 α → s ′ 2 such that s′ 1 R s′ 2 ;<br />
- if s2 α → s ′ 2 , then there is a transition s1 α → s ′ 1 such that s′ 1 R s′ 2 .<br />
Two states s <strong>and</strong> s ′ are bisimilar, written s ∼ s ′ , iff there is a bisimulation that<br />
relates them. Henceforth the relation ∼ will be referred to as strong bisimulation<br />
equivalence or strong bisimilarity. <br />
Since the operational semantics of CCS is given in terms of an LTS whose states<br />
are CCS process expressions, the above definition applies equally well to CCS