23.08.2013 Views

Specification of Reactive Hardware/Software Systems - Electronic ...

Specification of Reactive Hardware/Software Systems - Electronic ...

Specification of Reactive Hardware/Software Systems - Electronic ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

284 Process Part <strong>of</strong> POOSL<br />

relations. Especially in the context <strong>of</strong> behaviour-preserving transformations, this is a<br />

very pleasant property. Another appealing property <strong>of</strong> observation equivalence is that<br />

it benefits from the simple pro<strong>of</strong> technique <strong>of</strong> finding so-called bisimulations.<br />

A bisimulation establishes a kind <strong>of</strong> invariant holding between a pair <strong>of</strong> dynamic systems,<br />

and the technique is to prove two systems equivalent by establishing such an invariant.<br />

Bisimulations are particularly useful if the semantics is given in an operational way (as<br />

in the case <strong>of</strong> POOSL). The notion <strong>of</strong> bisimulation was first introduced by Park in [Par81]<br />

and later developed in the context <strong>of</strong> CCS in [Mil83].<br />

We start defining observation equivalence in terms <strong>of</strong> weak bisimulations. We then slightly<br />

refine observation equivalence to obtain transformation equivalence.<br />

A binary relation over configurations<br />

(conf p<br />

1<br />

¥ conf p<br />

2 ) implies<br />

(i) the Sys parts <strong>of</strong> conf p<br />

1 and conf p<br />

2 are syntactically identical<br />

and for all a ¡ Act<br />

(ii) if conf p<br />

1<br />

(iii) if conf p<br />

2<br />

Here,<br />

£<br />

a<br />

conf p<br />

1 ¡ then, for some conf p<br />

2 ¡ , conf p<br />

2<br />

a<br />

conf £ p<br />

2 ¡ then, for some conf p<br />

1 ¡ , conf p<br />

1<br />

¥ Conf p Conf p is a weak bisimulation if<br />

¡<br />

¤<br />

a<br />

conf p<br />

2 ¡ and (conf p<br />

1 ¡ conf ¥ p<br />

2 ¡ ¡ )<br />

¡<br />

a<br />

conf ¤ p<br />

1 ¡ and (conf p<br />

1 ¡ conf ¥ p<br />

2 ¡ ¡ )<br />

¡<br />

¤<br />

a<br />

is a binary transition relation over configurations (<strong>of</strong>ten called descendant<br />

relation). Let conf p<br />

1 , conf p<br />

2 be configurations and let l be a communication action. Then<br />

conf p<br />

1<br />

conf p<br />

1<br />

¡<br />

¤<br />

l<br />

2<br />

conf p<br />

2 if conf p<br />

¡<br />

conf ¤ p<br />

p<br />

if conf1 ( £ ) conf p<br />

2<br />

1 £ ( )<br />

l<br />

£ (<br />

£ ) conf p<br />

2<br />

Our notion <strong>of</strong> weak bisimulation is very similar to that <strong>of</strong> CCS [Mil80]. The difference is<br />

that CCS does not include (i) in its definition. We, however, need to incorporate (i) to insure<br />

that every data class name referred to by any send or receive action, unambiguously<br />

denotes a single class.<br />

Observation equivalence ( ¢<br />

) on configurations is defined in terms <strong>of</strong> weak bisimulations.<br />

Configurations conf p<br />

1 and conf p<br />

2 are observation equivalent, written conf p<br />

1<br />

conf p<br />

2 ) ¡<br />

for some weak bisimulation<br />

. So<br />

¢<br />

.<br />

conf p<br />

2 , if (conf p<br />

1 ,<br />

£<br />

¡ is a weak bisimulation ¦<br />

¢<br />

¨<br />

Note that since every POOSL specification is also a configuration, weak bisimulations<br />

and observation equivalence are defined on specifications too.<br />

Although observation equivalence reflects a very strong notion <strong>of</strong> equivalence, it is<br />

branching equivalence [vGW96].

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

Saved successfully!

Ooh no, something went wrong!