12-05-2014, 12:15 AM
Bon j'ai refait des tests plus exhaustifs. Je decris le resultat ici pour que tout le monde en profite.
Je dois dire que Calaos-Server semble maintenant fonctionner comme attendu dans tous les cas.
En ce qui concerne le mode degrade, on peut remarquer que :
1. Les regles avec les conditions mutuellement exclusives "input==true AND input==false" sont converties d'une certaine facon. En observant le setup 1, on pourrait coire que seule la premiere regle est prise en compte. Mais en observant le setup 2, c'est comme si la condition 1 devenait liee a l'action 1 et la condition 2 a l'action2.
2. L'ordre des conditions n'influence pas le resultat comme le montre le setup 2 bis.
3. L'ordre des actions influence le resultat comme le montre le setup 2 ter.
4. L'ordre des regles influence le resultat comme le montre les setups 3 et 3 bis.
5. Pour devenir independant de l'ordre des actions et regles, on peut utiliser le setup 4 qui utilise les regles 1 et 2 pour Calaos-Server et la regle 3 pour le mode degrade.
Setup 1
Rule 1
Condition 1: input==true
Condition 2: input==false
Action 1: output=toggle
Expected operation: no action
Calaos-Server mode: no action
Failsafe mode: toggle
Setup 2
Rule 1
Condition 1: input==true
Condition 2: input==false
Action 1: output=true
Action 2: output=false
Expected operation: no action
Calaos-Server mode: no action
Failsafe mode: output=true as long as input=true
Setup 2 bis
Rule 1
Condition 1: input==false
Condition 2: input==true
Action 1: output=true
Action 2: output=false
Expected operation: no action
Calaos-Server mode: no action
Failsafe mode: output=true as long as input=true
Setup 2 ter
Rule 1
Condition 1: input==true
Condition 2: input==false
Action 1: output=false
Action 2: output=true
Expected operation: no action
Calaos-Server mode: no action
Failsafe mode: no action
Setup 3
Rule 1
Condition 1: input==true
Action 1: output=true
Rule 2
Condition 1: input==false
Action 1: output=false
Expected operation: output=true as long as input=true
Calaos-Server mode: output=true as long as input=true
Failsafe mode: no action
Setup 3 bis
Rule 1
Condition 1: input==false
Action 1: output=false
Rule 2
Condition 1: input==true
Action 1: output=true
Expected operation: output=true as long as input=true
Calaos-Server mode: output=true as long as input=true
Failsafe mode: output=true as long as input=true
Setup 4
Combine setups 3 and 2
Rule 1
Condition 1: input==true
Action 1: output=true
Rule 2
Condition 1: input==false
Action 1: output=false
Rule 3
Condition 1: input==true
Condition 2: input==false
Action 1: output=true
Action 2: output=false
Expected operation: output=true as long as input=true
Calaos-Server mode: output=true as long as input=true
Failsafe mode: output=true as long as input=true
Je dois dire que Calaos-Server semble maintenant fonctionner comme attendu dans tous les cas.
En ce qui concerne le mode degrade, on peut remarquer que :
1. Les regles avec les conditions mutuellement exclusives "input==true AND input==false" sont converties d'une certaine facon. En observant le setup 1, on pourrait coire que seule la premiere regle est prise en compte. Mais en observant le setup 2, c'est comme si la condition 1 devenait liee a l'action 1 et la condition 2 a l'action2.
2. L'ordre des conditions n'influence pas le resultat comme le montre le setup 2 bis.
3. L'ordre des actions influence le resultat comme le montre le setup 2 ter.
4. L'ordre des regles influence le resultat comme le montre les setups 3 et 3 bis.
5. Pour devenir independant de l'ordre des actions et regles, on peut utiliser le setup 4 qui utilise les regles 1 et 2 pour Calaos-Server et la regle 3 pour le mode degrade.
Setup 1
Rule 1
Condition 1: input==true
Condition 2: input==false
Action 1: output=toggle
Expected operation: no action
Calaos-Server mode: no action
Failsafe mode: toggle
Setup 2
Rule 1
Condition 1: input==true
Condition 2: input==false
Action 1: output=true
Action 2: output=false
Expected operation: no action
Calaos-Server mode: no action
Failsafe mode: output=true as long as input=true
Setup 2 bis
Rule 1
Condition 1: input==false
Condition 2: input==true
Action 1: output=true
Action 2: output=false
Expected operation: no action
Calaos-Server mode: no action
Failsafe mode: output=true as long as input=true
Setup 2 ter
Rule 1
Condition 1: input==true
Condition 2: input==false
Action 1: output=false
Action 2: output=true
Expected operation: no action
Calaos-Server mode: no action
Failsafe mode: no action
Setup 3
Rule 1
Condition 1: input==true
Action 1: output=true
Rule 2
Condition 1: input==false
Action 1: output=false
Expected operation: output=true as long as input=true
Calaos-Server mode: output=true as long as input=true
Failsafe mode: no action
Setup 3 bis
Rule 1
Condition 1: input==false
Action 1: output=false
Rule 2
Condition 1: input==true
Action 1: output=true
Expected operation: output=true as long as input=true
Calaos-Server mode: output=true as long as input=true
Failsafe mode: output=true as long as input=true
Setup 4
Combine setups 3 and 2
Rule 1
Condition 1: input==true
Action 1: output=true
Rule 2
Condition 1: input==false
Action 1: output=false
Rule 3
Condition 1: input==true
Condition 2: input==false
Action 1: output=true
Action 2: output=false
Expected operation: output=true as long as input=true
Calaos-Server mode: output=true as long as input=true
Failsafe mode: output=true as long as input=true