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 />
Consistency Consistency captures the fact that a set of contracts is not contradictory. An<br />
inconsistent set of contracts is not usable at all, because it does not allow for any useful implementation.<br />
The most easy way to get an inconsistent set of contracts is to define an ”empty”<br />
guarantee for any possible context. For example, we could state the following guarantees: (i)<br />
whenever the component receives an event from its environment, the next event on its output<br />
will be a, and (ii) whenever the component receives an event from its environment, the next<br />
event on its output will be b. If we do not further restrict the behavior of the environment (for<br />
example by saying that this happens under no conditions), the result will be inconsistent.<br />
A detailed discussion about receptiveness and consistency together with formal definitions<br />
can be found in Section 6.2.1.<br />
4.1.1 Functional Specifications<br />
A simple example for contract-based specification of functional requirements is depicted in<br />
Figure 4.1. It shows a possible design of an air conditioning system at the logical perspective.<br />
The interface of the (logical) component has been identified during former design steps. Not all<br />
relevant ports have been shown, but we see a port providing status information about the current<br />
air temperature (airTemp), an input port allowing to select the temperature (tempSelect),<br />
and ports representing the current air flow (airIn, airOut).<br />
The figure shows also some requirements associated to the component, stated in terms of<br />
contracts. The specification is largely simplified and even does not follow correct RSL syntax.<br />
The green part is the (strong) assumption of the component. The figure reflects the fact, that<br />
all contracts of a component share the same strong assumptions. Blue parts are the guarantees.<br />
Weak assumptions are yellow. In our case, they are always true and thus do not further restrict<br />
the environment.<br />
-20°C