Architecture Modeling - SPES 2020
Architecture Modeling - SPES 2020
Architecture Modeling - SPES 2020
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