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.

138 Concepts for the Integration <strong>of</strong> <strong>Specification</strong> and Design<br />

x<br />

x Object A y z<br />

u u a b<br />

Design<br />

decision<br />

u<br />

Object C<br />

c<br />

Cluster<br />

Object B<br />

Cluster used as concurrency boundary<br />

(prescribes that the inside behaviour<br />

must be sequential)<br />

x<br />

SEQ<br />

Figure 5.12: Concurrency Boundary Notation<br />

be a problem. Behaviour preserving transformations support structure changes at any<br />

time. Behaviour modelling will become more clear in Chapter 6 where the concepts for<br />

modelling dynamic behaviour are described. Further research should reveal heuristics<br />

for the mapping <strong>of</strong> POOSL on various implementation description techniques, such as<br />

VHDL, C, C++ and ABEL. Guidelines for using the power <strong>of</strong> POOSL in a restricted way<br />

may improve efficiency <strong>of</strong> a mapping. Possible automation will also require in depth<br />

knowledge <strong>of</strong> mapping processes.<br />

5.8.3.2 Intersecting and Coinciding Boundaries<br />

Boundaries are represented as objects or clusters. Therefore they cannot intersect. Boundaries<br />

that do not intersect lead to simple models. Prohibiting intersection is a good<br />

heuristic to diminish complexity <strong>of</strong> models. Abstraction boundaries map on clusters<br />

so they cannot intersect each other. In general they encompass other boundaries, because<br />

they are used for hierarchical structuring <strong>of</strong> the system model. Implementation<br />

boundaries seem to represent an orthogonal concept. By mapping them onto clusters,<br />

however, they cannot intersect each other. If boundary mapping requires new clusters<br />

that appear to intersect, the model must be redesigned. Clusters must be decomposed<br />

until they do not intersect anymore.<br />

A process object is implicitly the smallest concurrency boundary. Its internal behaviour<br />

is by definition sequential. Explicitly specified concurrency boundaries are always<br />

mapped on clusters. The same holds for distribution boundaries. Both concurrency<br />

boundaries and distribution boundaries cannot intersect because they are deliberately<br />

defined on clusters.<br />

z

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

Saved successfully!

Ooh no, something went wrong!