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 />

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

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

Saved successfully!

Ooh no, something went wrong!