14.08.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!