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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

(c’) Choice 1<br />

(d’) Choice 2<br />

<br />

<br />

S § p<br />

1 Cp ¡ ¡ ¡£ Er¢ ¥ E1£<br />

¡<br />

ps¥ ¥ Sys ¥ ¡ p <br />

Sys ¥<br />

£<br />

¥ Sys ¡ p Sys ¥<br />

§ Sp£ <br />

e<br />

Cp ¡£ Er¢ ¥ ¡ ¡<br />

¡ ¥ ps¡ ¥<br />

E1£ ¡ ¡<br />

<br />

§ S p<br />

1 or S p<br />

2 Cp <br />

¡£ Er¢ ¥ ¡ ¡<br />

¥ ps¥ ¥ E1£ ¡ ¡ Sysp <br />

<br />

Sys ¥<br />

<br />

<br />

§ S p£ e C p E1£ ¡ ¡ ¡£ Er¢ ¥<br />

S § p<br />

2 Cp ¡ ¡ ¡£ Er¢ ¥ E1£<br />

¡ ¡ ¥ ps¡ ¥<br />

¡<br />

¡ ¥ Sys p ¥ Sys<br />

¡<br />

ps¥ ¥ Sys ¥ ¡ p <br />

Sys ¥<br />

£<br />

¥ Sys ¡ p Sys ¥<br />

§ Sp£ <br />

e<br />

Cp ¡£ Er¢ ¥ ¡ ¡<br />

¡ ¥ ps¡ ¥<br />

E1£ ¡ ¡<br />

<br />

§ S p<br />

1 or S p<br />

2 Cp <br />

¡£ Er¢ ¥ ¡ ¡<br />

¥ ps¥ ¥ E1£ ¡ ¡ Sysp <br />

<br />

Sys ¥<br />

§ S p£ e C p E1£ ¡ ¡ ¡£ Er¢ ¥<br />

¡ ¡ ¥ ps¡ ¥<br />

¡<br />

¡ ¥ Sys p ¥ Sys<br />

Rules (c’) and (d’) formalise the meaning <strong>of</strong> the choice statement S p<br />

1 or S p<br />

a<br />

a<br />

£<br />

£<br />

a<br />

a<br />

2. This statement<br />

2. Rule<br />

indicates that process C p (E1 ¥¡ ¡ ¡ ¥ Er) can choose between two alternatives S p<br />

1 and S p<br />

(c’) states that if process C p (E1 ¥¡ ¡ ¡ ¥ Er) can execute an atomic step <strong>of</strong> S p<br />

1 and perform<br />

action a, then it can also execute an atomic step <strong>of</strong> S p<br />

1<br />

or Sp2<br />

and perform the same action.<br />

is thereby completely discarded. Rule (d’) deals with the symmetric case.<br />

Notice that extended behaviour § specification S p<br />

1 or S p<br />

2 Cp ¡ ¡ ¡£ Er¢ may never choose a priori<br />

E1£<br />

Statement S p<br />

2<br />

which one <strong>of</strong> the statements S p<br />

1 and S p<br />

2 it will execute. It must always leave both<br />

alternatives open until an execution step <strong>of</strong> one <strong>of</strong> them can actually be performed.<br />

(8’) Process initialisation<br />

<br />

p<br />

¥¡ ¡ ¡ ¥ Er)¥ ¥ C (E1 Sysp <br />

Sys ¥<br />

§ m(E¡1 ¥¡ ¡ ¡ ¥ E¡q )() C p E1£ ¡ ¡ ¡ £ Er¢ ¥<br />

if Sys p<br />

CD p<br />

1 ¡ ¡ CDp ¡ ¡ CD p s ,<br />

£<br />

¡<br />

¥ psr ¥ r ¥ Sys ¡ ¡ p Sys ¥<br />

CDp process class Cp yr ¥¡ ¡ ¡ ¥<br />

¡ ¡ ¡ ¡<br />

y1<br />

instance variable names x1 xn initial method call m(E¡1 ¥¡ ¡ ¡ ¥ E¡q)() ¡ ¡ ,<br />

<br />

¥ ¡ ¡<br />

1 ¥ 1 ¥ ps1 ¥ Sys ¡<br />

<br />

1 ¤<br />

2 ¡ ¡<br />

2 ¥ ps2 ¥ 2 ¥ Sys ¡<br />

¥ ¤ <br />

¤ r ¥ ¡ ¡<br />

r ¥ psr ¥ Sys ¡<br />

¥ r<br />

Dom(¡ where )<br />

) Dom(£<br />

(9’) Cluster initialisation<br />

C c (E1 ¥¡ ¡ ¡ ¥ Er)¥<br />

if Sys p<br />

£<br />

£<br />

( ¡ ¡<br />

¥ ps¥ ¥ Sys E1 ) ,<br />

¥<br />

( ¡ ¡<br />

1¥ E2 ¥ 1¥ Sys ps1 ) ¡ ¡ , , and<br />

¥<br />

( ¡ ¡<br />

Er r ¥ 1 psr ¥ 1 r ¥ Sys 1 ¥ )<br />

proc¦ , ¡ (proc) ¤ , ps <br />

,<br />

£<br />

¡ ¡ ¡ ¡ , ¤ r<br />

x1 ¥¡ ¡ ¡ ¥ xn ¦ , £ (yi) ¤ i and £ (xj) nil if yi ¡<br />

<br />

¥ Sys p Sys £ ¥<br />

p<br />

CD1 ¡ ¡ CDp ¡ CD ¡ p r and<br />

<br />

§ BSpec p § § g C c E1£ ¡ ¡ ¡£ Er¢ ¥<br />

<br />

¥ Sys p ¥ Sys<br />

CD p cluster class C c P1 ¥¡ ¡ ¡ ¥ Pr ¡ ¡ behaviour specification BSpec p<br />

where g E1 © P1 ¥¡ ¡ ¡ ¥ Er © Pr<br />

xj for all yi<br />

£ © proc¦ ,

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

Saved successfully!

Ooh no, something went wrong!