... | ... | @@ -15,9 +15,10 @@ Eventually VAR and NAME is equal. At least the characters listed in VAR were fou |
|
|
## Generation recipe
|
|
|
|
|
|
- `varname` returns a suitable name for the applied fact
|
|
|
- `objective-value` returns the value of the property for the objective function
|
|
|
- `objective-value` returns the value of the objective function for the applied fact
|
|
|
- Assumption: Names of properties are unique, i.e. if referring both in SW-Comp C1, Resource R2 and Request R to the
|
|
|
property 'energy', then they all refer to the same property
|
|
|
- Currently not clear, how properties of SW-Components modelled in Scheme
|
|
|
|
|
|
### Objective
|
|
|
|
... | ... | @@ -29,37 +30,21 @@ for-all implementations i |
|
|
|
|
|
### Architectural Constraints
|
|
|
|
|
|
```
|
|
|
for all components c
|
|
|
constraint_c = "1 = "
|
|
|
for-all (impls-of c) i
|
|
|
for-all PEs pe
|
|
|
constraint += (varname i-deployed-on-pe) "+"
|
|
|
for-all (req-comp i) rc
|
|
|
constraint_rc = "0 = " (varname i-deployed-on-pe)
|
|
|
for-all (impls rc) rci
|
|
|
for-all PEs rcpe
|
|
|
constraint_rc += "-" (varname rci-deployed-on-rcpe)
|
|
|
constraints += constraint_rc
|
|
|
constraints += constraint
|
|
|
constraints += constraint_c
|
|
|
```
|
|
|
|
|
|
Maybe introduce binary variables for "implementation i" chosen, additionally to the
|
|
|
"implementation i deployed on pe" variables. This would greatly reduce the size of architectural constraints.
|
|
|
Introduce binary variables for "implementation i" chosen, additionally to the
|
|
|
"implementation i deployed on pe" variables, greatly reducing the size of architectural constraints.
|
|
|
|
|
|
```
|
|
|
for all components c
|
|
|
constraint_c = "1 = "
|
|
|
constraint_c = "1" "="
|
|
|
for-all (impls-of c) i
|
|
|
constraint_c += (varname i) "+"
|
|
|
constraint_i = "0 = " "-" (varname i)
|
|
|
constraint_i = "0" "=" "-" (varname i)
|
|
|
for-all PEs pe
|
|
|
constraint_i += (varname i-deployed-on-pe) "+"
|
|
|
constraint_i += "+" (varname i-deployed-on-pe)
|
|
|
for-all (req-comp i) rc
|
|
|
constraint_rc = "0 = " (varname i)
|
|
|
constraint_rc = "0" "=" "-" (varname i)
|
|
|
for-all (impls-of rc) rci
|
|
|
constraint_rc = (varname rci) "+"
|
|
|
constraint_rc = "+" (varname rci)
|
|
|
constraints += constraint_rc
|
|
|
constraints += constraint_i
|
|
|
constraints += constraint_c
|
... | ... | |