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.

6.4 Distribution 189<br />

is that the inside is physically separated from the other system parts. A distribution<br />

boundary has a constraint-oriented character. It notifies the designer that the behaviour<br />

and implementation <strong>of</strong> the system must realise a sort <strong>of</strong> communication that passes<br />

physical distribution boundaries. It depends on the realisation technology what the<br />

consequences are. A complex communication behaviour (a protocol) can be needed<br />

when we pass a distribution boundary.<br />

Logical distribution is not denoted as a distribution boundary. We feel that logical<br />

distribution is a natural intrinsic concept in object-orientation. When we use the term<br />

distribution it will be context dependent what it means. When we use the term distributed<br />

system however we refer to a system that is physically distributed. Logical distribution<br />

is implicitly represented by objects or by clusters <strong>of</strong> objects. However there are sorts<br />

<strong>of</strong> logical distribution that influence the modelling. These are described in the next<br />

subsections.<br />

6.4.4 Weak Distribution and Strong Distribution<br />

6.4.4.1 Weak Distribution<br />

We have presented a redefinition <strong>of</strong> the notion <strong>of</strong> logical distribution based on communication<br />

between modules in the previous subsection. Analogously the concepts <strong>of</strong> weak<br />

distribution and strong distribution can be redefined. [Weg90] defines them as ’A system<br />

is weakly distributed if its modules know the names <strong>of</strong> other modules. It is strongly distributed<br />

if its modules cannot directly name other modules.’ ’Traditional object-oriented languages are<br />

weakly distributed.’ ’Objects can know names <strong>of</strong> other objects and send messages to these known<br />

objects. The weak distribution reflects that implementation is usually in a shared-memory architecture’<br />

[Weg90]. As stated before we try to avoid sharing. We redefine the concepts<br />

with the emphasis on communication instead <strong>of</strong> on knowing each other.<br />

A (sub)system is weakly distributed if its modules can communicate using object identifiers<br />

to determine the receiver <strong>of</strong> every message. We call this form <strong>of</strong> communication weakly<br />

distributed communication. Identifiers form the name space <strong>of</strong> the sending objects. So<br />

communication based on the use <strong>of</strong> dynamic links (see Subsection 6.3.9) is typical for<br />

weakly distributed systems. The idea <strong>of</strong> name space is further clarified with Figure 6.15.<br />

An object B is an acquaintance <strong>of</strong> object A, if A has the identifier <strong>of</strong> object B. In other<br />

words: A knows the name (identifier) <strong>of</strong> object B, or A has a dynamic link with B. We<br />

say that the identifier <strong>of</strong> B belongs to the name space <strong>of</strong> object A. the identifier <strong>of</strong> B must<br />

be unique within this name space. Notice that object A can be constructed such that the<br />

identifier <strong>of</strong> B is passed to another object such as C. This extends the name space <strong>of</strong> C<br />

with the identifier <strong>of</strong> B. This enables a communication provided that the new dynamic<br />

link is supported by a static link. K and L are in a separate name space. These objects<br />

do not have a dynamic link to A, B or C.

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

Saved successfully!

Ooh no, something went wrong!