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.

9.6 Example: A Simple Handshake Protocol 285<br />

slightly too weak for our purposes. Suppose some system is specified in POOSL, and<br />

assume an interactive simulation <strong>of</strong> this system is being performed. It could happen<br />

that in order to compare different system architectures, the system needs to be transformed<br />

during simulation. Although the structures <strong>of</strong> the systems before and after the<br />

transformation differ, their functional behaviour is indistinguishable. Now a problem<br />

may arise if the simulation is reset. It would be convenient if the functional behaviour<br />

<strong>of</strong> the reset system after simulation was still equivalent to the behaviour <strong>of</strong> the reset<br />

system before the transformation. Unfortunately, this cannot be guaranteed, at least<br />

not if observation equivalence is applied as behaviour equivalence. The reason is that<br />

observation equivalence only refers to future behaviour <strong>of</strong> systems, and does not state<br />

anything about their past.<br />

The solution to the problem is to define a slightly stronger relation which takes the past<br />

behaviour <strong>of</strong> systems into account. Our new relation is called transformation equivalence .<br />

Configurations conf p<br />

1 and conf p<br />

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

1<br />

if and only if<br />

(i) conf p<br />

1<br />

¢<br />

conf p<br />

2<br />

(ii) Reset(conf p<br />

1 ) ¢ Reset(conf p<br />

2 )<br />

¢<br />

¡ conf p<br />

2 ,<br />

So, two configurations are transformation equivalent if they are observation equivalent<br />

and if they are still observation equivalent after they both have been reset. The Reset<br />

<strong>of</strong> a configuration is the corresponding initial behaviour specification, i.e., the system<br />

specification from which it is (probably) derived (see also Subsection 9.5.2).<br />

Now that we have defined relation ¢<br />

£¢¥¤ ¡<br />

¡ we will define a semantic function that assigns<br />

a meaning to each configuration (and thus implicitly to each system specification).<br />

Since ¢<br />

¡ is an equivalence relation (this is proved in Chapter 10), we can consider the<br />

meaning <strong>of</strong> a configuration to be the class <strong>of</strong> all transformation equivalent configurations.<br />

Let conf p ¡ Conf p . Then<br />

£¢¥¤ (conf p ) § conf p <br />

£¢¥¤<br />

§ where conf p p £¢¥¤<br />

denotes the set <strong>of</strong> all configuration from Conf that are <br />

transformation<br />

equivalent to conf p .<br />

Evidently, £¢¥¤ (conf p £¢¥¤ p<br />

1 ) (conf2 ) if and only if conf p<br />

1<br />

¡ conf p<br />

2 , so, two config-<br />

¢<br />

urations are transformation equivalent, precisely if they have the same semantics.<br />

9.6 Example: A Simple Handshake Protocol<br />

In this section we will show how to calculate the behaviour <strong>of</strong> a simple handshake<br />

protocol, using the labeled-transition system defined in Subsection 9.5.3. Further, we

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

Saved successfully!

Ooh no, something went wrong!