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