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.5 A Computational Interleaving Semantics 275<br />

be performed in future by that configuration. The ChSort calculates the collection <strong>of</strong><br />

channels that can possibly ever be used for communication. The definitions <strong>of</strong> AASort<br />

and ChSort are given by<br />

AASort( BSpec e ¥ envs¥ Sys p ¥ Sys ) AASort(BSpec e ¥ Sys p )<br />

AASort(S) ¤<br />

¥¡ ¡ ¡ ¥ AASort(ch!m(E1 En))<br />

¥¡ ¡ ¡ ¥ AASort(ch?m(p1 ¡ pn E)<br />

£<br />

n ¦<br />

£ ch!m§<br />

n ¦ ch?m§<br />

¥¡ ¡ ¥¡ ¡ ¡ ¡ ¥ ¤<br />

¥ AASort(m(E1 Em)(p1 pn))<br />

AASort(compound(S p£ e<br />

1 ¥¡ ¡ ¡ ¥ Sp£ p£ e<br />

i ))<br />

e<br />

AASort(S1 ) ¦ ¡ ¡ ¦ AASort(Sp£ ¤<br />

AASort( )<br />

e<br />

i )<br />

AASort(C pc (EP1 ¥¡ ¡ ¡ ¥ EPr)¥ Sys p ) AASort(C pc ¥ Sys p )<br />

AASort(§ S p£ e C p E1£ ¡ ¡ ¡£ Er¢ ¥ Sys p ) AASort(C p ¥ Sys p )<br />

AASort(§ BSpec e C c E1£ ¡ ¡ ¡£ Er¢ ¥ Sys p ) AASort(C c ¥ Sys p )<br />

AASort(BSpec pe<br />

1 ¢ BSpec pe<br />

2 ¥ Sysp ) AASort(BSpec pe<br />

AASort(BSpec pe<br />

AASort(BSpec pe § f ¥ Sys p )<br />

AASort(C pc ¥ Sys p )<br />

L¥ Sys p )<br />

£<br />

£<br />

¡ ¡ ¡<br />

¡<br />

¢<br />

¡<br />

£ ¡<br />

1 ¥ Sysp ¦ ) AASort(BSpec pe<br />

2 ¥ Sysp )<br />

la ¡ AASort(BSpecpe ¥ Sysp ¡ ) Chan(la ¡ L¦ ¡ )<br />

f (la ¡ ) la ¡ AASort(BSpecpe ¥ Sysp )¦<br />

£<br />

la 1 ¥¡ ¡ ¡ ¥ la <br />

¦ m if Sysp<br />

p<br />

CD1 ¡ ¡ CDp ¡ ¡ CD p s<br />

otherwise<br />

¤<br />

ChSort( BSpece Sys ¥ envs¥ p ) ChSort(BSpec ¥ Sys e )<br />

ChSort(Sp£ £<br />

e )<br />

ChSort(BSpecpe Sys ¥ p )<br />

ChSort(Cpc Sys ¥ p )<br />

CDp ¡ class C ¡ pc<br />

¡ ¡<br />

¡ message interface l ¡ a 1 ¡ ¡ la ¡ ¡ m<br />

Chan(la ¡ ) la ¡ AASort(Sp£ )¦<br />

£<br />

e<br />

Chan(la ¡ ) la ¡ AASort(BSpecpe ¥ Sysp £<br />

)¦<br />

Chan(la ¡ ) la ¡ AASort(Cpc ¥ Sysp )¦<br />

Here compound(S p£ e<br />

1 ¥¡ ¡ ¡ ¥ Sp£ e<br />

i ) denotes any one <strong>of</strong> the compound statements <strong>of</strong> Stat p£ e .<br />

BSpec pe , BSpec pe<br />

1 and BSpec pe<br />

2 denote elements <strong>of</strong> B<strong>Specification</strong>s p ¦ B<strong>Specification</strong>s e . Chan(l a )<br />

retrieves the channel from abstract communication action l a . f (l a ) renames the channel<br />

<strong>of</strong> l a as dictated by f :<br />

data ) ch<br />

Chan(ch!m§<br />

data ) ch<br />

Chan(ch?m§<br />

i ) ch<br />

Chan(ch!m§<br />

i ) ch<br />

Chan(ch?m§<br />

(ch!m§ (ch)!m§ data<br />

data<br />

(ch)?m§ data<br />

(ch?m§ data<br />

(ch)!m§ i i<br />

(ch!m§<br />

i (ch?m§ (ch)?m§ i<br />

f ) f<br />

f ) f<br />

f ) f<br />

f ) f<br />

Two other convenient operators are Abs and . This Abs takes a communication action<br />

from and calculates the corresponding abstraction. Complement operator maps an<br />

(abstract) send action to the corresponding receive action and vice versa. The definitions<br />

are<br />

Abs(ch!m§ data ) ch!m§ ¡ data ¡ <br />

Abs(ch?m§ data ) ch?m§ ¡ data ¡ <br />

ch!m§ data ch?m§ data<br />

data ch!m§ data<br />

ch?m§<br />

i ch?m§ i<br />

ch!m§<br />

ch?m§ i ch!m§ i

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

Saved successfully!

Ooh no, something went wrong!