Element Values and Normalization

For simulation purposes, all values in EMont elements are considered to be real numbers. To avoid comparing apples to oranges, they are normalized between -1 and +1.

The contributes (with the annotation: --, -, ±, +, ++, ?) relation establishes a relation A contributes: B between two elements that is interpreted as follows:

Contributes: Interpretation: A → contributes → B
-- valueB = -2 * valueA
- valueB = -1 * valueA
±, ? valueB = 0 * valueA = 0
+ valueB = 1 * valueA
++ valueB = 2 * valueA

De contributes relatie kan verder worden uitgebreid als volgt:

  • valueb = fac * valuea (met fac: --, .., ++)
  • valueb = const (met const een constante)
  • valueb += fac * valuea
  • valueb += const

Besides the contributes relation, the depends relation can be given a precise interpretation in the context of the executable model. Nog verder uitwerken:

  • Depends relation: range [min .. max] (with -1 ≤ min ≤ max ≤ +1), een inside/outside range indicator en een contributes indicator. Alleen als aan een depends relatie is voldaan kan een activity worden uitgevoerd.
  • De depends relation is een soort van efficacy relation: binair, er wordt wel of niet aan de voorwaarde voldaan. Eventueel: Als wel aan de vooraarde wordt voldaan, dan acteert de depends relation als een contributes relation (met subject en object verwisseld). Alternatief: depends relation kan ook als een contributes: ± worden opgevat, d.w.z., wel een trigger, maar draagt niets bij. Nog een alternatief: contributes: +, d.w.z., eigenlijk zoals nu de depends relatie wordt opgevat. Als een sterkere of zwakkere relatie gewenst is, dan kan naast de depends nog een contributes relatie worden toegevoegd. Laatste alternatief lijkt de meest natuurlijke interpretatie omdat standaard een eenheids bijdrage wordt geleverd, wat eigenlijk al impliciet in de depends relatie zit.
  • De contributes en depends relatie kunnen worden samengevoegd. Uitgaande van een generieke contributes relatie met de volgende parameters:
    • contribution value (--, -, ±, +, ++, ?)
    • range [min .. max]
    • inside/outside range flag
  • De (huidige) contributes relatie zoals tot nu toe gebruikt als volgt worden geïnterpreteerd:
    • contribution value (--, -, ±, +, ++, ?)
    • range [min .. max] = [-1 .. 1], note: no range restrictions
    • inside/outside range flag = inside
  • de depends relatie (met subject en object verwisseld) als:
    • contribution value (+)
    • range [min .. max], note: only if the value lies inside/outside the range an associated activity can be executed
    • inside/outside range flag
  • Uiteraard zijn in de generieke contributes relatie meer varianten mogelijk.

Because of the contributes’ magnification and the fact that value of an activity’s outcome or a condition can be combined from different sources, the combined value can fall outside the [-1 .. +1] range. For that reason, the following normalization function is applied.

= 1 - e-x (if x ≥ 0)

= -(1 - ex) (if x < 0)

Figure: text.

This is of course an arbitrary normalization function. However, it is justified on grounds that an input value around zero is applied to a linear function (f(x) = x) and that gradually for a larger negative or positive value, a smooth saturation is applied never exceeding -1 or +1. <accesscontrol>Access:We got to move</accesscontrol>