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 />
strong assumption true since it holds for any environment. The weak assumption states that<br />
the contract holds under the condition that the underlying hardware (BSCU) does not fail. In<br />
this case, the braking system fails only if both redundant sub-systems hydraulic system A and<br />
hydraulic system B fail.<br />
true<br />
BrakingSystem<br />
BSCUFails does not fail<br />
BrakingSystemFails shall only fail if HydraulicSystemAFails &&<br />
HydraulicSystemBFails<br />
BSCUFails BrakingSystemFails HydraulicSystemAFails HydraulicSystemBFails<br />
Figure 4.3: Safety Contracts Example<br />
Since failure conditions are usually complex, abbreviations can be defined for them:<br />
failureCondition TooMuchEnergyConsumption is defined by:<br />
(consumption > 2) holds longer than 2s<br />
Later, these abbreviations may by used to simplify the definitions of safety-related patterns.<br />
4.2 Virtual Integration Testing<br />
Technically, a component may be a (composed) system, which is constructed from a set of<br />
(sub-) components. In more detail, a system is given by a set of components, an interface and<br />
a set of named (inter-) connections. An interface is a set of directed ports, denoted inports<br />
and outports, respectively. Each port specifies a set of typed (data) flows or services 1 . In the<br />
following, we assume for simplicity that ports specify single flows. Hence, we identify ports<br />
and their corresponding flow. Furthermore, we abstract in the following discussion from the<br />
fact, that we have to distinguish between components and instances of components. This fact is<br />
important in the sense, that contracts are defined on components and not on instances (which are<br />
referred as RichComponentProperty in the <strong>SPES</strong>MM). Thus, if we have two instances<br />
of the same component, we have to uniquely identify the respective ports of these instances.<br />
Otherwise, from a formal point of view, contracts cannot distinguish behavior of different ports.<br />
If, for example, L and R in Figure 4.4 would be instances of the same component, the ports<br />
would have the same name, and could not be distinguished from a semantical viewpoint without<br />
unique identification.<br />
A connection links two ports. It either links two sub-component ports, one outport and one<br />
inport (e.g. port l2r), or one port of the system interface and one sub-component port with<br />
the same direction (e.g. port r2e), or two system interface ports of opposite direction. Each<br />
sub-component inport and each system outport must be linked to exactly one other port. Linked<br />
1 We omit a discussion of services here, which can be seen as a derived concept.<br />
52/ 156