09.08.2013 Views

Architecture Modeling - SPES 2020

Architecture Modeling - SPES 2020

Architecture Modeling - SPES 2020

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.

MultiplicityElement<br />

+part 0..*<br />

RichComponentProperty<br />

+component<br />

1<br />

+type 1<br />

<strong>Architecture</strong> <strong>Modeling</strong><br />

«isOfType»<br />

RichComponent<br />

+component<br />

1<br />

+component<br />

0..1<br />

Port<br />

+ isConjugated: Boolean<br />

+attribute<br />

+port<br />

Figure 3.29: Meta-model integration of hierarchy concepts<br />

0..*<br />

0..*<br />

Variable<br />

In the meta-model there is no distinction between the two kinds because it can be deduced<br />

from the context the kind of the connection. Both kinds of connections between Ports is captured<br />

by the concept Connector (cf. Figure 3.31). In most other languages (also UML) the<br />

interconnection of components in compositions is done by binding of ports. Since the architecture<br />

meta-model allows to declare multiple InteractionPoints per Port the concept<br />

FlowBinding, resp. ServiceBinding, allows to only bind a subset of the flows or services<br />

defining a port. Thus, linking Ports by means of Connectors is semantically just a<br />

short-cut to bind all interaction points of the Ports. Note that a PortSpecification may<br />

either contain multiple Flows or multiple Services, but not both.<br />

Directions are defined by the InteractionPoints themselves. in, out or<br />

bidirectional are possible directions of Flows and provided or required are possible<br />

directions of Services. Ports typed by a PortSpecification carry an attribute<br />

isConjugated. If this attribute is set to true the directions of all InteractionPoints<br />

in the corresponding PortSpecification are treated as if reversed. By default the value<br />

of the attribute is false. This facility allows to specify peer ports, i. e. with the same flows or<br />

services, but complementary directions.<br />

CompC<br />

part1:CompA pA pB part2:CompB<br />

(a) assembly connection<br />

pC<br />

CompC<br />

pA<br />

part1:CompA<br />

(b) delegation connection<br />

Figure 3.30: Example for assembly- and delegation connections<br />

FlowBinding and compatibility of Flows There are two case distinctions for binding<br />

Flows by means of FlowBinding. If flows of different ports shall be bound establishing an<br />

assembly connection like illustrated in Figure 3.30a, then the directions of both flows need to be<br />

complementary (in for out, out for in, bidirectional for bidirectional). In the<br />

case of delegation connections like depicted in Figure 3.30b, the directions must be the same.<br />

Further the flows must be compatible. Two flows are compatible if they associate the same<br />

DataType and their kind is the same.<br />

41/ 156

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

Saved successfully!

Ooh no, something went wrong!