Architecture Modeling - SPES 2020
Architecture Modeling - SPES 2020
Architecture Modeling - SPES 2020
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