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 />
the design item. Often reducing the level of abstraction is accompanied by a refined granularity.<br />
That is, the design items under consideration are decomposed into multiple finer grained items<br />
in order to keep them at a manageable size. Refining the granularity is however not a necessary<br />
condition, when introducing a lower level of abstraction. For example one may describe the<br />
same design item on two different levels of abstraction with the same granularity, but precise<br />
the specification of a certain aspect. Despite an increasing level of detail, another motivation for<br />
introducing a dedicated abstraction level can be the handover of an initial system specification<br />
to another organizational unit. Thus the initial specification can remain unchanged and on a new<br />
abstraction level the model can be refined as well as the interface specifications of the components.<br />
Realization(↑) links between component parts allow to trace those refinements. While<br />
models on lower abstraction levels provide more detail, the components still have to respect the<br />
aspects(↑) specified for their higher level counterparts.<br />
For example, consider a logical architecture of an Adaptive Cruise Control (ACC) [32] modeled<br />
by means of components as depicted in the upper half of Figure 2.4. The component Acc<br />
is composed of a ForwardSensor that provides data about objects in front of a vehicle and a<br />
Ctrl component that controls the distance between the ego-vehicle and those in front of it or<br />
maintains a speed set by the driver (not shown in Figure 2.4) in case there are no other vehicles<br />
detected.<br />
Suppose that requirements in terms of aspect specifications formalized as contracts have been<br />
specified for the component Acc and its sub-components. During a refinement step the component<br />
Ctrl may be split up into multiple finer grained components, each realizing a dedicated<br />
part of the Ctrl component and its specification. In the example three new components have<br />
been introduced in the refined version of the Acc composition: A FollowCtrl component<br />
that controls the distance between the ego-vehicle and those in front of it, a SpeedCtrl component<br />
controling the speed set by the driver and an Arbitration component that chooses<br />
between the acceleration outputs of both controlers.<br />
Note that the entire interface of the RefinedAcc composition changed, as an output port<br />
accStatus has been added, which is connected with a corresponding output port of the<br />
FollowCtrl component. Therefore this design step cannot be captured by a simple decomposition.<br />
Instead realization-links can be used to trace such refinement steps. The realization-link<br />
relates component parts and also carries a set of attributes that allow to map ports owned by the<br />
parts, which are involved in the realization relationship. In the example the Realize-link from<br />
FollowCtrl to Ctrl would carry (amongst others) an attribute pointing to both ports named<br />
speed of each component. In Section 4.4 we discuss the primitive design step of switching<br />
abstraction levels by means of Realize-links and its semantic.<br />
In discussions with industrial partners during the <strong>SPES</strong> project it became clear, that design<br />
processes are very diverse for different domains like e. g. automotive and avionics. It depends<br />
on the design process and the role of a company in the supplier chain, how many levels of<br />
abstraction a system under development will undergo. In addition the domain specific terms<br />
used for designs at a given level of abstraction vary. Therefore we cannot define a unique fixed<br />
set of abstraction levels. Instead we consider a generic abstraction level concept, which can<br />
be tailored to the specific needs of a company or an application domain and provide semantics<br />
allowing to reason about realization between different abstraction levels.<br />
2.2 Perspectives<br />
Apart from the distinction of different user-defined abstraction levels, an abstraction level itself<br />
contains a set of model representations, i.e. views(↑) of the system under development(↑).<br />
7/ 156