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.

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

can usually only be realized by making assumptions about the frequency at which data arrives<br />

at the input port p1. Thus for the real-time aspect of the HRC a contract might be:<br />

C1<br />

strong assumption p1.e1 occurs each 10ms with jitter 1ms<br />

weak assumption true<br />

guarantee delay between p1.e1 and p2.f1 within [0ms,10ms]<br />

The different patterns, which can be instantiated in order to specify the assumptions and guarantees<br />

of a contract, are defined in Section 6.1.1. Each pattern belongs to a category (functional<br />

patterns, real-time patterns), which is reflected by its name. For example all patterns with names<br />

prefixed by the letter F are functional patterns and the prefix R denotes a real-time pattern. The<br />

category of a pattern gives a first hint for the specification of which aspect it may be suited best.<br />

With regard to the example contract C1 an instance of the pattern R2 has been used for the<br />

strong assumption and an instance of the pattern R3 for the guarantee. The concrete number of<br />

the pattern does not need to be specified, as it can be automatically derived from the syntax of<br />

the expression.<br />

2.3.2 Hierarchy and Composition<br />

When a component is used as part(↑) in the context of another component, its ports(↑) can<br />

be linked to other parts forming a composition of components. That composition is again a<br />

component, whose behavior is given by the behavior of its constituting parts. Thus components<br />

can support both top-down as well as bottom-up design approaches and mixed forms thereof.<br />

2.3.2.1 Hierarchy<br />

ComponentC<br />

part2:ComponentB<br />

component<br />

instance<br />

role<br />

Ports<br />

part1:ComponentA<br />

ComponentA<br />

C1<br />

aspect<br />

specification<br />

aspect<br />

realization<br />

Figure 2.9: Hierarchy of components<br />

component<br />

specification<br />

The component model of HRC supports the type/part concept found in many other modeling<br />

languages, e. g. the UML [41]. Figure 2.9 shows an illustration of that concept. An HRC<br />

ComponentA is modelled with its ports and contracts that specify the behavior of that HRC<br />

under the different aspects. That HRC can be used in the context of other HRCs playing the role<br />

of a part in that context. A part denotes component instances that the surrounding HRC owns<br />

by composition. In the example, the HRC ComponentA is used as part with the role name<br />

part1 in the context of the HRC ComponentC. The aspect specifications characterized by<br />

contracts that are linked to ComponentA and corresponding realizations are valid for part1<br />

as well. This holds for any context, in which ComponentA is used as a part.<br />

The type/part concept results in a possibly deeply nested hierarchy of components ultimately<br />

leading to some top-level component specification. Such a hierarchy of HRCs can be con-<br />

13/ 156

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

Saved successfully!

Ooh no, something went wrong!