constraint

XML Definition

Attribute Typ Beschreibung
title string (required)
bildet die Grundlage für die Identifikation via FQN.
desc string some description
Child Node Short Beschreibung
implies -> binary bool expression
ifonlyif <=> binary bool expression
not ! unary bool expression
and && n-ary bool expression
or || n-ary bool expression
equals == binary arithmetic expression
uneqal != binary arithmetic expression
greater_than > binary arithmetic expression
greater_or_equal >= binary arithmetic expression
less_than < binary arithmetic expression
less_or_equal <= binary arithmetic expression
feature_state := feature state expression
const = boolean value, true or false

Die Short Notation dient der vereinfachten Darstellung in der Dokumentation

Der Constraint Solver fordert, dass alle definierten Constraints (siehe Typen von Constraints) gleichzeitig erfüllt sind.

Die Booleschen und Arithmetischen Ausdrücke können ineinander verschachtelt werden. zB. ist folgendes möglich, wobei die Sinnhaftigkeit natürlich vom Einzelfall abhängt ;)

((!A && B) || (C >= D)) -> E:='selected'

implies

A -> B    entspricht   (!A || B)
A B A -> B
true true true
true false false (not allowed)
false true true
false false true
  • Ist A wahr, so muss auch B wahr sein.
  • Ist A falsch, so hat das Constraint A->B keinen Einfluss auf den Zustand von B (B kann wahr oder falsch sein).
  • Ist B wahr, kann hat das Constraint A->B keinen Einfluss auf den Zustand von A, A kann wahr oder falsch sein
  • Ist B falsch (aus anderen Gründen/Constraints), dann muss auch A falsch sein, sonst kann das Constraint A->B nicht erfüllt werden.

ifonlyif

A <=> B   entspricht  (A -> B) && (B -> A)  bzw.  (!A || B) && (!B || A)
A B A <=> B
true true true
true false false (not allowed)
false true false (not allowed)
false false true

Die beiden Ausdrücke A und B müssen jeweils gleichzeitig wahr oder gleichzeitig falsch sein.