Changes
Page history
Shorten and corrected architectural constraints.
authored
Apr 23, 2015
by
René Schöne
Show whitespace changes
Inline
Side-by-side
ILP-Generation.md
View page @
8f4f38d2
...
...
@@ -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
...
...
...
...