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 281<br />

Axioms (8’) and (9’) concern the initialisation <strong>of</strong> an instance <strong>of</strong> a process class respectively<br />

<strong>of</strong> an instance <strong>of</strong> a cluster class. The initialisation <strong>of</strong> process object C p (E1 ¥¡ ¡ ¡ ¥ Er) starts<br />

with the evaluation <strong>of</strong> data expressions E1 ¡ ¡ Er from left to right, starting from an empty<br />

state ¡ (it has proc as its only domain element), an empty stack ps and an empty type ¡ .<br />

The results <strong>of</strong> these evaluations are data objects ¤ 1 ¡ ¡ ¤ r , state ¡ r, stack psr and type ¡ r.<br />

Then domain element proc <strong>of</strong> the resulting state ¡ r is bound to a newly created (instance<br />

variable) environment £ to obtain state ¡ ¡ . In £ each <strong>of</strong> the instance variables yi is bound<br />

to its corresponding ¤ i. Each instance variable xj that is different from every yi, is bound<br />

to nil. The initialisation <strong>of</strong> a process object is not observable by the environment. Upon<br />

initialisation, behaviour specification C p (E1 ¥¡ ¡ ¡ ¥ Er) therefore performs a ¡ action. The<br />

statement that remains to be executed by process object Cp ¥¡ ¡ ¡ ¥ (E1 Er) after the ¡ action<br />

is performed is the initial method call statement ¥¡ ¡ ¡ ¥ m(E¡1 E¡q )().<br />

Upon the initialisation <strong>of</strong> a cluster C c (E1 ¥¡ ¡ ¡ ¥ Er) <strong>of</strong> some cluster class C c P1 ¥¡ ¡ ¡ ¥ Pr<br />

each expression parameter Pi in BSpec p is syntactically substituted by data expression Ei.<br />

BSpec p is the parameterised behaviour specification <strong>of</strong> the cluster class. The initialisation<br />

results in § BSpec p § § g C c E1£ ¡ ¡ ¡£ Er¢ indicating that behaviour specification BSpec p § § g remains<br />

to be executed by cluster C c (E1 ¥¡ ¡ ¡ ¥ Er). g is a syntactic substitution function that maps<br />

each Pi onto the corresponding Ei. Cluster initialisation is not externally observable.<br />

Finally we will take a closer look at the rules for parallel composition and for channel<br />

hiding.<br />

(s’) Parallel composition 1<br />

BSpec e 1 ¥ envs1 ¥ Sys p ¥ Sys<br />

<br />

e BSpec ¢ 1 BSpece 2 ¥ envs1 ¥ envs2 Sysp Sys<br />

<br />

¥<br />

e BSpec ¡ ¢ 1 BSpece 2 ¥ envs¡1 envs2 Sys ¥ p Sys ¥<br />

(t’) Parallel composition 2<br />

BSpec e 2 ¥ envs2 ¥ Sys p ¥ Sys<br />

<br />

e BSpec ¢ 1 BSpece 2 ¥ envs1 ¥ envs2 Sysp Sys<br />

<br />

¥<br />

e BSpec ¢ 1 BSpece 2 ¡ ¥ envs1 envs¡2 ¥ Sysp Sys ¥<br />

(u’) Parallel composition 3<br />

(v’) Channel hiding<br />

BSpec e 1 ¥ envs1 ¥ Sys p ¥ Sys<br />

BSpec e 2 ¥ envs2 ¥ Sys p ¥ Sys<br />

£<br />

£<br />

£<br />

£<br />

a<br />

a<br />

l<br />

l<br />

BSpec e 1 ¡ ¥ envs¡1 ¥ Sysp ¥ Sys<br />

BSpec e 2 ¡ ¥ envs¡2 ¥ Sysp ¥ Sys<br />

BSpec e 1 ¡ ¥ envs¡1 ¥ Sysp ¥ Sys<br />

BSpec e 2 ¡ ¥ envs¡2 ¥ Sysp ¥ Sys<br />

<br />

e BSpec ¢ 1 BSpece 2 ¥ envs1 ¥ envs2 Sysp Sys £<br />

<br />

¥<br />

e BSpec ¡ ¢ 1 BSpece 2 ¡ ¥ envs¡1 envs¡2 ¥ Sysp Sys ¥<br />

<br />

¥ envs¥ e p<br />

¥ Sys<br />

BSpec Sys<br />

e<br />

<br />

BSpec<br />

¡<br />

if a ¡ ¡ or Chan(a) L<br />

L¥ envs¥ Sys p ¥ Sys<br />

£<br />

a<br />

BSpec e ¡ ¥ envs¡ ¥ Sys p ¥ Sys<br />

£<br />

a<br />

BSpec e ¡<br />

£<br />

£<br />

a<br />

a<br />

L¥ envs¡ ¥ Sys p ¥ Sys

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

Saved successfully!

Ooh no, something went wrong!