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.

A.2 The Process Part <strong>of</strong> POOSL 417<br />

(5’) Conditional, first branch<br />

<br />

if E § then S p<br />

1 else S p<br />

2 fi Cp <br />

¡£ Er¢ ¥ ¡ ¡<br />

¥ ps¥ ¥ Sys E1£ ¡ ¡ p <br />

<br />

Sys ¥<br />

if<br />

S § p<br />

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

¡ ¥ ps¡ ¥ ¡<br />

¥ Sys ¡ ¡<br />

<br />

¡ ¡ ¥ ps¡ ¥ ¥<br />

(6’) Conditional, alternative branch<br />

¡<br />

¡<br />

¥ Sys ¡ p ¥ Sys<br />

( ¡<br />

¥ ps¥ ¥ Sys ) for some ¡<br />

¡ E¥<br />

<br />

if E § then S p<br />

1 else S p<br />

2 fi Cp <br />

¡£ Er¢ ¥ ¡ ¡<br />

¥ ps¥ ¥ Sys E1£ ¡ ¡ p <br />

<br />

Sys ¥<br />

if<br />

S § p<br />

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

<br />

¡ ¡ ¥ ps¡ ¥ ¥<br />

(7’) Do-statement<br />

<br />

<br />

¡<br />

¡ ¥ ps¡ ¥ ¡<br />

¥ Sys ¡ ¡<br />

§ do E then S p od C p E1£ ¡ ¡ ¡ £ Er¢ ¥<br />

¡<br />

¥ Sys ¡ p ¥ Sys<br />

( ¡<br />

¥ ps¥ ¥ Sys ) for some ¡<br />

¡ E¥<br />

¡<br />

ps¥ ¥ Sys ¥ ¡ p Sys ¥<br />

£<br />

£<br />

£<br />

£<br />

true¥ bunk¦<br />

false¥ bunk¦<br />

£<br />

§ if E then (Sp ; do E then Sp fi od ) else nil Cp <br />

¡£ Er¢ ¥ ¡ ¡<br />

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

(8’) Process initialisation<br />

<br />

p<br />

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

<br />

Sys ¥<br />

if Sys p<br />

§ m(E¡1 ¥¡ ¡ ¡ ¥ E¡q)() C p E1£ ¡ ¡ ¡ £ Er¢ ¥<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 />

A.2.2 Rules<br />

(a’) Sequential composition 1<br />

<br />

§ S p£ e<br />

1 Cp <br />

¡£ Er¢ ¥ ¡ ¡<br />

¥ ps¥ ¥ Sys E1£ ¡ ¡ p ¥ Sys<br />

<br />

£<br />

S § p£ e<br />

1 ¡ C p <br />

¡£ Er¢ ¥ ¡ ¡<br />

¡ ¥ ps¡ ¥ ¡ ¥ Sys E1£ ¡ ¡ p Sys ¥<br />

<br />

§ S p£ e<br />

1 ; S p<br />

2 Cp <br />

¡£ Er¢ ¥ ¡ ¡<br />

¥ ps¥ ¥ Sys E1£ ¡ ¡ p ¥ Sys<br />

<br />

£<br />

S § p£ e<br />

1 ¡ ; S p<br />

2 Cp <br />

¡£ Er¢ ¥ ¡ ¡<br />

¡ ¥ ps¡ ¥ ¡ ¥ Sys E1£ ¡ ¡ p Sys ¥<br />

if S p£ e ¡ ¡<br />

a<br />

a<br />

xj for all yi<br />

£ © proc¦ ,

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

Saved successfully!

Ooh no, something went wrong!