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.

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

6.4.3 Physical and Logical Distribution<br />

Physical distribution is a geographical or spatial distribution <strong>of</strong> system resources over<br />

interconnected subsystems. Collaborating processors on a network form such spatial<br />

distributed structures.<br />

Logical distribution is the non-physical counterpart <strong>of</strong> physical distribution. Wegner<br />

defines logical distribution, as a concept in programming languages, based on notion <strong>of</strong><br />

name space: ’a system <strong>of</strong> modules is logically distributed if each module has its own separate<br />

name space’ [Weg90]. In an object based approach this logical distribution is <strong>of</strong>fered in<br />

a natural way by the concept <strong>of</strong> object itself. The objects are the modules. In this case<br />

objects are the grain <strong>of</strong> distribution. Each object has its own name space <strong>of</strong> acquaintances<br />

(identifiers). This name space contains the identifiers <strong>of</strong> the objects that are visible from<br />

within the object and therefore reachable for direct communication. This space is not<br />

necessarily static. Identifiers <strong>of</strong> objects can be communicated, so the name space <strong>of</strong> an<br />

object may be changed dynamically. Objects can also communicate indirectly via other<br />

objects.<br />

The definition <strong>of</strong> logical distribution based on name space appears to be too restricted,<br />

because objects with channels can communicate without knowing each others identifiers.<br />

Therefore we define logical distribution based on the ability to communicate directly<br />

with each other. A system is logically distributed if each module (subsystem) has its own<br />

limited group <strong>of</strong> modules with which it can communicate directly. Objects can be such<br />

modules. An object can only communicate with other objects if it knows the identifier<br />

<strong>of</strong> these objects or if it has channels to these objects.<br />

Logical distribution facilitates the autonomy <strong>of</strong> subsystems, concurrent execution and<br />

reusability. Autonomously interfacing modules allow the designer to think in terms <strong>of</strong><br />

multiple autonomous (conceptually concurrent) activities. Real physical concurrency is<br />

not always required and <strong>of</strong>ten unnecessary. Physical distribution usually implies logical<br />

distribution. It is natural to model physical separation using logical separation [Weg90].<br />

In the past logically distributed systems were <strong>of</strong>ten implemented by shared-memory<br />

architectures for greater efficiency. Object-based systems are logically distributed but<br />

were usually implemented on non-distributed computers [Weg90]. Problems arise when<br />

object-oriented solutions must be implemented on distributed computers. The communication<br />

between objects on different computers cannot simply be achieved with the<br />

same simple mechanism as the communication between objects in one application on<br />

one computer. We need a stronger notion than logical distribution to describe e.g.<br />

physical asynchronous concurrency <strong>of</strong> subsystems implemented on different computers.<br />

A method must be able to visualise communication channels between the physically<br />

distributed subsystems and the according communication protocols on those channels.<br />

Physical distribution appears to be an orthogonal concept. Logical distribution may<br />

coincide or not with physical distribution. We will use clusters marked as distribution<br />

boundaries to specify physical distribution. So the meaning <strong>of</strong> a distribution boundary

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

Saved successfully!

Ooh no, something went wrong!