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.

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

conf p<br />

1<br />

conf p<br />

2<br />

conf p<br />

3<br />

τ<br />

τ τ<br />

τ<br />

τ<br />

τ<br />

conf p<br />

4<br />

conf p<br />

5<br />

conf p<br />

6<br />

conf p<br />

conf p<br />

8<br />

conf p<br />

9<br />

conf p<br />

10<br />

a? 7 τ τ<br />

(γ)<br />

(γ)<br />

τ<br />

τ τ<br />

τ<br />

τ<br />

a? a?<br />

conf p<br />

11<br />

τ τ<br />

conf p<br />

17<br />

(γ)<br />

τ<br />

conf p<br />

12<br />

(γ)<br />

τ<br />

conf p<br />

18<br />

(γ S ,γ R )<br />

a? [γ/γ S ,λ/γ R ]<br />

conf p<br />

16<br />

(λ) conf p<br />

14<br />

(γ)<br />

τ [γ/λ]<br />

τ<br />

conf p<br />

15<br />

(γ)<br />

Figure 9.2: A Transition Graph <strong>of</strong> the Handshake Protocol<br />

τ<br />

conf p<br />

13<br />

(γ)<br />

conf p<br />

1 = (Sender Receiver) ¢ £ <br />

¥ ¥ Sys x¥ y¦ p ¥ Sys<br />

conf p<br />

2 = Sender ¢ Receiver) (§ start £ <br />

¥ envS ¥ Sys x¥ y¦ p ¥ Sys<br />

conf p<br />

3 = § start (Sender Receiver) ¢ £ <br />

¥ envR ¥ Sys x¥ y¦ p ¥ Sys<br />

conf p<br />

4 = (§ start (in?receive(dS); start) x!transfer(dS); ¢ y?ack; £ Sender Receiver)<br />

Sys envS(nil) ¥ p Sys ¥<br />

y¦ x¥ ¥<br />

conf p<br />

5 = Sender ¢ § start Receiver) (§ start £ <br />

¥ envS ¥ envR ¥ Sys x¥ y¦ p ¥ Sys<br />

conf p<br />

6 = § (Sender ¢ start (x?transfer(dR); start) out!deliver(dR);<br />

<br />

y!ack; Receiver)<br />

Sys envR(nil) ¥ p Sys ¥<br />

conf p<br />

conf p<br />

8<br />

£<br />

y¦ x¥ ¥<br />

<br />

(§ ¢<br />

<br />

start) £<br />

<br />

) ¥ Sys<br />

¥<br />

7 ( ) start = (x!transfer(dS); y?ack; Sender Receiver)<br />

p envS( Sys<br />

y¦ ¥ x¥<br />

= (§ start (in?receive(dS); x!transfer(dS); start) y?ack; ¢ Sender<br />

start § Receiver)<br />

£ <br />

¥ envS(nil)¥ envR ¥ Sys x¥ y¦ p ¥ Sys<br />

conf p<br />

9 = § (Sender ¢ start (x?transfer(dR); start) out!deliver(dR);<br />

<br />

y!ack; Receiver)<br />

envR(nil) ¥ envS Sys ¥ p Sys ¥<br />

conf p<br />

conf p<br />

11<br />

£<br />

y¦ x¥ ¥<br />

<br />

start) § start <br />

£<br />

¢<br />

<br />

(§<br />

)¥ ¥<br />

10( ) start = (x!transfer(dS); y?ack; Sender Receiver)<br />

envS( envR Sysp Sys ¥<br />

y¦ ¥ x¥<br />

= (§ start (in?receive(dS); x!transfer(dS); start) y?ack; ¢ Sender)<br />

§ start (x?transfer(dR); out!deliver(dR); start) y!ack; Receiver)<br />

£<br />

¥ x¥ y¦<br />

conf p<br />

12 ( <br />

(§ <br />

start ) = start) (x!transfer(dS); ¢<br />

y?ack; Sender<br />

envS(nil)¥ envR(nil) ¥ Sys p ¥ Sys<br />

§ start (x?transfer(dR); out!deliver(dR); y!ack; start) Receiver)<br />

£ <br />

¥ envS( )¥ envR(nil) ¥ Sys x¥ y¦ p ¥ Sys<br />

conf p <br />

13( (§ <br />

start ) start) = ¢ § (y?ack; Sender start (out!deliver(dR); y!ack;<br />

a!

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

Saved successfully!

Ooh no, something went wrong!