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.

82 Abstraction <strong>of</strong> a Problem Domain<br />

4.6.3 Aggregate Object<br />

Object objB<br />

(Part)<br />

Aggregate<br />

object<br />

(Whole)<br />

Object objC<br />

(Part)<br />

Figure 4.19: An Aggregate<br />

An aggregate object (an instance <strong>of</strong> a whole class), is the ’point <strong>of</strong> address’ <strong>of</strong> the aggregate.<br />

Figure 4.19 shows this. The flows to collaborating objects outside the aggregate are<br />

connected to the aggregate object. The parts communicate only with the aggregate<br />

object. The aggregate object only represents the aggregate, it is not the aggregate itself.<br />

The aggregate is the entire composite. Unfortunately this distinction is <strong>of</strong>ten neglected in<br />

the world <strong>of</strong> object-orientation. According to the definition <strong>of</strong> an aggregate, an aggregate<br />

x<br />

Aggregate<br />

object A<br />

(Whole)<br />

y<br />

Object C<br />

(Part)<br />

a b<br />

c<br />

Object B<br />

(Part)<br />

Figure 4.20: Channel Structure <strong>of</strong> an Aggregate<br />

object hides part objects. The hiding <strong>of</strong> parts is achieved by connecting the channels that<br />

connect the aggregate to the objects outside the aggregate solely to the aggregate object,<br />

and not to the part objects. In Figure 4.20 the channels x and y form such connections to<br />

the objects outside the aggregate. The parts C and B do not have a channel to any object<br />

outside the aggregate.

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

Saved successfully!

Ooh no, something went wrong!