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

Another important issue when dealing with mappings is locality. Since there are no constraints<br />

in the number of mappings to link certain models, it should be best practice to keep the<br />

number of linked ports for a mapping as low as possible. The benefit it twofold: on one hand,<br />

locality maintains traceability on the relation between contracts of different models. On the<br />

other hand, it supports also locality of the respective proof obligations. However, each mapping<br />

must be verified.<br />

4.4.2 Allocation<br />

While mappings provide the common concept to establish traceability in a design, the <strong>SPES</strong>MM<br />

provides two instantiations of this concept. An allocate link associates two components within<br />

different perspectives. The intuition of an allocate link is that the source component is “executed”<br />

by the target component of the link. A function is executed by a logical component, and<br />

a logical component is executed by a technical component. The intuition also holds if we say<br />

that a technical component is “executed” by a box in the geometrical perspective.<br />

The allocate link is a high-level construct in that for each link an underlying mapping is<br />

created. Each allocate link thus requires further specification with respect the underlying mapping.<br />

In many cases however, simple mapping functions are sufficient to define allocations.<br />

<strong>SPES</strong>MM allows to refine allocate links by additional links specifying simple one-to-one relations<br />

between ports, and by textual specification of such one-to-one relations within the mapping<br />

object.<br />

Figure 4.13 depicts an example for using the allocate link. The link shown allocates logical<br />

component Capture to task CaptureTask in the technical perspective. The link is associated<br />

to a mapping object that has been further refined (not shown in the figure) to specify that<br />

the respective ports are directly linked.<br />

Logical Perspective<br />

temp tempData<br />

Capture<br />

4.4.3 Realization<br />

<br />

AirTempControl<br />

control<br />

Technical Perspective<br />

tempVal<br />

temp<br />

temp<br />

Data<br />

control<br />

Var1<br />

ECU<br />

Capture<br />

Task<br />

Figure 4.13: Allocate-Link Example<br />

Scheduler<br />

airTemp<br />

CtrlTask<br />

The second high-level construct are realize links that associate components between different<br />

abstraction levels. Since the realize link is the twin of the allocate link, the same holds as said<br />

before.<br />

Note however, that the direction of both allocate and realize links are converse. For realize<br />

links, the source component by convention associates the observed components with respect to<br />

Var2<br />

tempSel<br />

65/ 156

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

Saved successfully!

Ooh no, something went wrong!