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.

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

c<br />

a<br />

Multiple X<br />

Figure 6.14: Common Channels on Multiples<br />

The first is non-deterministic acceptance <strong>of</strong> a message to a multiple by one <strong>of</strong> the objects<br />

in the multiple. An object can send a message without a destination-identifier via a<br />

channel to a multiple. A channel to a multiple is always connected to all objects <strong>of</strong><br />

the multiple (see Figure 6.14). However, only one <strong>of</strong> the objects in the multiple can<br />

really do a rendezvous with the sender and thus receive this message. A receiver can<br />

possibly reply its identifier to the sender. After that the sender knows which particular<br />

object from the multiple has received its message. This object becomes a (temporary)<br />

acquaintance <strong>of</strong> the sender this way.<br />

The second way to communicate with multiples is that all free objects from a multiple<br />

can take initiative themselves to advertise their availability, and thereby send their<br />

identifiers to an object that may want to use them. Sender and receiver both can know<br />

each other’s identifiers now. This is what will appear to be a fully weakly distributed<br />

description approach in Subsection 6.4.4.<br />

6.3.9 Communication Links<br />

6.3.9.1 Static Links<br />

The communication between process objects is set up via channels. However the existence<br />

<strong>of</strong> a channel between two process objects does not mean that they will ever<br />

communicate. An additional condition is that the object interfaces contain corresponding<br />

messages. To describe whether both conditions are fulfilled for communication we<br />

define the concept <strong>of</strong> link. A link defines a conceptual connection between two objects,<br />

which means that the conditions for communication are fulfilled. However, it is not<br />

required that communication actually happens.<br />

For a more precise definition we considered to require that the objects must have the<br />

adequate behaviour description besides enough matching information in their message<br />

interface to actually communicate. A message interface specifies which messages can<br />

be sent or received on which channel. We can base the definition <strong>of</strong> a link purely on<br />

the message interface. This <strong>of</strong>fers the possibility to verify quite easily whether a link<br />

exists or not. If we define a link based on behaviour it is difficult to verify that a link is<br />

available. Even if there are statements to perform the behaviour we still do not know<br />

b

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

Saved successfully!

Ooh no, something went wrong!