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

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

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

Saved successfully!

Ooh no, something went wrong!