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.

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

we constrained the role <strong>of</strong> object class modelling by not <strong>of</strong>fering inheritance, for the time<br />

being.<br />

We selected two methods, viz. OMT <strong>of</strong> Rumbaugh et al. [R 91], and Fusion <strong>of</strong> Coleman<br />

et al. [C 94]), to provide the concepts and symbols needed for object modelling. We<br />

refer to these books for detailed covering <strong>of</strong> the subject. This section gives only a brief<br />

introduction to object class modelling concepts, and the related fundamental problems.<br />

Only the information that is necessary in the context <strong>of</strong> this thesis, and the differences<br />

between our approach and theirs are covered. Especially OMT <strong>of</strong>fers, besides definitions,<br />

a lot <strong>of</strong> very useful guidelines and heuristics that support the actual modelling<br />

activities. Therefore we do not cover heuristics, and refer to their work to learn about<br />

actual ’object modelling’.<br />

4.13.1 Relationship Concept<br />

Relationships, also called associations or (conceptual) relations, exist when objects have<br />

some form <strong>of</strong> dependency. Relationship is a rather vague concept, that can have various<br />

meanings. For instance objects <strong>of</strong> a class have to do with, refer to, are linked to, are involved<br />

with, are concerned with, deal with, and are correlated with objects <strong>of</strong> another (or the same)<br />

class. A relation in an object model is usually shown as a named connection between two<br />

or more object classes in a graphical diagram (see Figure 4.29). A connection denotes that<br />

there is a relationship between object instances <strong>of</strong> the classes that have the relationship.<br />

A concrete relationship between a pair <strong>of</strong> objects is called a link.<br />

Candidate relationships can be found by looking at all kinds <strong>of</strong> dependencies <strong>of</strong> classes.<br />

Examples are: comparisons, communications, groupings, similarities, containments,<br />

mutual activities and actions. Notice that Object Class Diagrams, in comparison to<br />

Class A Relationship name<br />

Class B<br />

Figure 4.29: Related Classes<br />

Message Flow Diagrams give a rather weak and inadequate view with respect to possible<br />

communications between objects. Message Flow Diagrams show objects that have<br />

concrete relationships, in the sense that they can communicate via concrete message<br />

flows. In contrast, relations in an object model are not concrete. They describe various<br />

diverging concepts that do not necessarily lead to communication between objects.<br />

Relations are very abstract. Relationships between objects may possibly lead to behaviour<br />

when they are broken or created. Object class models are not flow models.<br />

Usually they show various forms <strong>of</strong> hierarchy relations in one model. Misinterpretation

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

Saved successfully!

Ooh no, something went wrong!