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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6.3 Communication 181<br />

whether the system actually ever executes them, because this can depend on events from<br />

the environment <strong>of</strong> the system. Therefore we choose for a syntactically based definition,<br />

where we can check the existence <strong>of</strong> a link statically (at compile-time).<br />

A static link between two process objects exists when the specifications <strong>of</strong> the message<br />

interface <strong>of</strong> these two objects contain matching information. This means that the objects<br />

are connected to a common channel and both have at least one message in common for<br />

that channel.<br />

Processes with a static link have a so-called corresponding message interface. They can at<br />

least communicate one message. Notice that if there are more messages in common for a<br />

channel, then there is still only one link. If there are more channels between two objects,<br />

any <strong>of</strong> these channels can <strong>of</strong>fer an additional link.<br />

The communication between process objects is possible without the use <strong>of</strong> object names<br />

(identifiers). A sender can simply send a message to a channel without knowing the<br />

identifier <strong>of</strong> the receiving object. We define an object to be autistic 4 when this object<br />

communicates solely without the use <strong>of</strong> identifiers (names) <strong>of</strong> its communication partners.<br />

Autistic communication is message passing without the use <strong>of</strong> identifiers for the<br />

determination <strong>of</strong> sender or receiver (see also Subsection 6.4.4).<br />

Actual communication means the actual usage <strong>of</strong> a static link. Communicating process<br />

objects execute matching message-send statements and message-receive statements.<br />

These statements can be constructed in various ways. The communication can be<br />

defined to happen conditionally depending on the name <strong>of</strong> sender or receiver. There<br />

are differences between the communication <strong>of</strong> data objects and <strong>of</strong> process objects. The<br />

next paragraphs describes some aspects.<br />

6.3.9.2 Dynamic Links with Process Objects<br />

The use <strong>of</strong> identifiers <strong>of</strong> objects in the description <strong>of</strong> communication gives the ability<br />

to send a message to one specific object from a collection <strong>of</strong> objects connected to a<br />

common channel. When an object A has the identifier <strong>of</strong> another object B, then B is an<br />

acquaintance <strong>of</strong> A. Having an identifier <strong>of</strong> another object can be a necessary condition<br />

for communication with that object. Identifiers can be passed between objects. So an<br />

object may become an acquaintance. This opens a way to dynamic linking <strong>of</strong> objects.<br />

Local changes <strong>of</strong> information can influence the communication behaviour in time.<br />

Direct communication between process objects is not possible without a channel. The<br />

first intuition about a dynamic link is that it can be created dynamically, starting from<br />

the absence <strong>of</strong> a link. However, channels are defined statically. So a dynamic link<br />

between process objects needs a static link to exist. A dynamic link between a pair <strong>of</strong><br />

process objects is a directed relation that is determined by the fact that one object has<br />

the other object’s identifier for the purpose <strong>of</strong> communication. Process objects have user<br />

4 Source <strong>of</strong> term autistic: anonymously communicating (autistic) processes [Weg90].

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

Saved successfully!

Ooh no, something went wrong!