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

if there is no delay greater 0 specified in which toggling output takes place in the components.<br />

This property is well-known, and also important in many formalisms used in control- and also<br />

in real-time scheduling theory. In the context of the FOCUS methodology for example, it is<br />

denoted strict causality. Strict causality ensures (beside other important properties) that proof<br />

obligations of VIT can be performed sequentially.<br />

4.2.1 Compatibility and VIT Condition<br />

As stated before, two (or more) components will “work together” properly, only if they are compatible.<br />

Due to the fact that components are characterized by their specifications, compatibility<br />

is defined for contracts.<br />

Compatibility reflects the distinction of responsibilities in that strong assumptions about the<br />

environment of a component must not be violated by another component that is connected to<br />

this component. Technically, this property is expressed by the following definition: Given<br />

components L and R with contracts C L = (A L s ,A L w,G L ) and C R = (A R s ,A R w,G R ), respectively,<br />

where only output ports of L are connected to input ports of R, it must hold<br />

G L =⇒ A R s<br />

(4.1)<br />

that is, if the guarantee of component L is satisfied, then it will “satisfy” the strong assumptions<br />

of component R.<br />

If also output ports of R are connected to input ports of L, it further must hold<br />

G R =⇒ A L s<br />

To give an example, let GL be that statement that its output port o delivers values within<br />

a range of [25,35] ◦C. It characterizes any possibly “behavior” of such temperature over the<br />

time that is not lower than 25◦C and not higher than 35◦C at any time point. This specification<br />

would satisfy an assumption AR s , stating that the temperature is in the range [20,40] ◦C. A more<br />

detailed definition of “behavior” can be found in Section 6.2. However, Equation 4.1 states that,<br />

if component L satisfies its guaranteed behavior, then this will also satisfy the assumption of R<br />

about its environment.<br />

Such definition of compatibility is in “simple” situations a necessary condition. It however<br />

neglects the fact, that composites typically have an interface to their environment. In Figure 4.4<br />

for example, there are four other ports of the composite component to its environment, namely<br />

e2l, l2e, e2r and r2e. Moreover, it also defines compatibility for single contracts only. Since<br />

the parent component of a composite usually also has assumptions about its environment, compatibility<br />

of the composite must take this assumptions into account. Suppose for example, that<br />

the input port e2l of component L specifies some air flow. Suppose further, L has the (strong)<br />

assumption that this air flow is bounded by, say, 50l/s. If now the parent component S has<br />

the (strong) assumption that this flow is bound by, say, 100l/s, the whole composition may<br />

become contradictory with respect to receptiveness and consistency as discussed before. It is<br />

obvious to see why. The specification for L assumes that the input flow is below 50l/s. Only<br />

if this assumption applies, L is bound to its guarantee. Otherwise, its behavior is unspecified.<br />

Compatibility on the other hand relies on the guarantees given by the respective components.<br />

In other words, compatibility holds only if all guarantees given by the involved components are<br />

adhered to.<br />

Formally, compatibility in the general case is defined as follows. Given a component with<br />

strong assumption As, and sub-components with contracts Ci = (Ai i, j<br />

s,Aw ,Gi, j ), compatibility is<br />

(4.2)<br />

54/ 156

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

Saved successfully!

Ooh no, something went wrong!