09.08.2013 Views

Architecture Modeling - SPES 2020

Architecture Modeling - SPES 2020

Architecture Modeling - SPES 2020

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Architecture</strong> <strong>Modeling</strong><br />

Traces according to Definition 6.2.5 can adequately represent the evolutions of HRC state<br />

machines as used e. g. in Sec. 6.1: Discrete transitions happen at certain points in time in the<br />

second time dimension, while between discrete transitions all changes are continuous (and discrete<br />

ports do not change their values).<br />

The parallel composition of components is defined by (essentially) the intersection of the<br />

parts composed in parallel.<br />

Definition 6.2.6 (Semantics of Composition) Let a hierarchically defined component M with<br />

port set P and parts Mi, i = 1,...,n be given.<br />

1. There are substitutions ρi, i = 1,...,n which map the port names of the Mi to the names<br />

of assembly and delegation connectors they are connected to, and there is a substitution<br />

ρ which similarly maps the delegation connectors to the names of the ports of M. We call<br />

these substitutions the connecting substitutions of M.<br />

2. The semantics of the composition is defined formally by:<br />

<br />

n<br />

[[M]] =<br />

[[Mi]]ρi<br />

i=1<br />

6.3 Syntax and Semantics of Contracts<br />

6.3.1 Contract Basics<br />

For the formalization of specifications, we assume a logic whose formulas A, G, . . . serve<br />

to define sets of traces. Thus, the semantics of the logics assigns sets of traces to formulas,<br />

denoted by [[G]], [[A]], etc. A suitable logic in the design context could be a first-order extension<br />

of linear-time temporal logic, or, more general, a second-order logic with primitve sorts Value<br />

and Time and the second-order sort Port for ports as functions from Time to Value.<br />

Contracts are constructed from formulas as triples (As,Aw,G) with strong (As) and weak (Aw)<br />

assumptions and guarantee G. We usually assume the interface of a component be given, i. e.,<br />

a set of ports with types and directions, and require that the three constituing formulas of the<br />

contract refer to this port set. If necessary, the port sets of the constituing formulas are extended<br />

to the set of component ports. In a contract, the assumptions may be viewed as antecedents and<br />

the guarantee as conclusion. Formally, there is no semantical distinction between strong and<br />

weak assumptions — they are to be conjuncted. Their different roles are just methodological in<br />

nature.<br />

Definition 6.3.1 (Contract Semantics) The semantics of a contract C = (As,Aw,G) is given<br />

by the following equation.<br />

where (.) cmpl denotes complementation.<br />

ρ ↓P<br />

[[C]] =def ([[As]] ∩ [[Aw]]) cmpl ∪ [[G]] ,<br />

Remark 6.3.2 (Contracts as Formulas) If negation or implication is available in the assertion<br />

logic, a contract can be translated into a formula:<br />

form((As,Aw,G)) =def ¬As ∨ ¬Aw ∨ G , or<br />

form((As,Aw,G)) =def As ∧ Aw ⇒ G .<br />

145/ 156

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

Saved successfully!

Ooh no, something went wrong!