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

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

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

Saved successfully!

Ooh no, something went wrong!