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.

218 Modelling <strong>of</strong> Concurrent <strong>Reactive</strong> Behaviour<br />

a cluster contains the parallel composition <strong>of</strong> objects and clusters which is denoted by<br />

BSpec p<br />

1<br />

¢ BSpecp<br />

2 .<br />

One <strong>of</strong> the purposes <strong>of</strong> a cluster can be the explicit hiding <strong>of</strong> internal communication<br />

(see Section 4.9). In general, not all channels are hidden. Some channels must cross the<br />

cluster boundary for communication with the environment <strong>of</strong> the cluster. BSpecp L<br />

denotes that the channels in L cannot be used for communication with the cluster’s<br />

environment and are made unobservable for this environment. This is illustrated with<br />

Figure 6.21. Cluster X can be used to hide Object A, Cluster B and Cluster C. The internal<br />

communication channels d, e and f cannot be used by the environment <strong>of</strong> the cluster.<br />

They are used for internal communication only. In contrast channels a, b and c cannot be<br />

hidden because they are used for communication with the environment <strong>of</strong> the cluster.<br />

If BspecX is the behaviour specification <strong>of</strong> cluster X then BspecX £<br />

e¥ f ¦ denotes the<br />

d¥<br />

hiding <strong>of</strong> the internal channels d, e and f. At a lower level the same approach can be<br />

used for clusters B and C. They have internal channels k, l, m and n that can be hidden.<br />

a<br />

a<br />

Object A<br />

e<br />

i<br />

d<br />

i<br />

l j<br />

m n<br />

Cluster C<br />

Cluster X<br />

l j<br />

m n<br />

Cluster B<br />

Figure 6.21: Channel Renaming<br />

k<br />

k<br />

b<br />

f<br />

b<br />

c c<br />

A behaviour specification <strong>of</strong> the form Bspec p § f denotes a channel renaming. A complex<br />

system is usually constructed as a topology <strong>of</strong> channels that connect various clusters and<br />

process objects. Processes and clusters are specified in classes. All instances <strong>of</strong> the same<br />

class have in principle the same channel names determined by the message interface<br />

<strong>of</strong> their class. If all instances are connected to a common channel there is probably no<br />

need to rename this channel. Figure 6.22 shows an example. One <strong>of</strong> the clusters <strong>of</strong> the<br />

multiple <strong>of</strong> clusters in Figure 6.22 can for example be as illustrated in Figure 6.21. The<br />

inner names and the outer names <strong>of</strong> channels a, b and c are the same.<br />

The necessity <strong>of</strong> renaming becomes clear when we look at clusters B and C in Figure<br />

6.21. Both are instances <strong>of</strong> the same class. However both are hooked up in a different<br />

way. Inner channel j <strong>of</strong> Cluster C is connected to Cluster B, while the channel j <strong>of</strong> Cluster

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

Saved successfully!

Ooh no, something went wrong!