Not rule

Rule types – Abstract

The negation of a rule (also Junction) by a Not rule can be initiated via the not function in the context menu for the rule.

images/download/attachments/201665741/image-2025-3-28_13-57-39-version-1-modificationdate-1743166659141-api-v2.png

Each rule configuration can be logically ‘negated’ – regardless of whether it is a single ‘rule’ or a complex combination of several Rule types in a Junction.

This negation of a rule is achieved by executing the not function in the context menu (highlighted in green in the screenshot above) for the rule or Junction to be negated.

If there is not already a ‘negation’ for the selected position in the rule configuration, selecting the not function causes a Not rule to be ‘inserted’ at this position, which contains the previous rule or Junction.


IMPORTANT◄ To remove an existing negation, the not function must also be selected.


The Not rule does not appear on the surface as an independent ‘rule’. However, the ‘negation’ is indeed visualised:

  • If a rule is negated, an exclamation mark appears as a prefix in the header of the rule element (see table).

  • The graphic exclamation mark symbol at the bottom of the ‘negated’ element is much more distinctive (see table).

Negated Variable rule (collapsed)

Negated Variable rule (collapsed)


images/download/attachments/201665741/image-2025-3-28_13-58-51-version-1-modificationdate-1743166731410-api-v2.png

images/download/attachments/201665741/image-2025-3-28_13-59-8-version-1-modificationdate-1743166748701-api-v2.png

  • In the example, a Variable rule is negated within a rule configuration, which checks whether a Variable with the name DEFCON exists and returns the value ‘1’ as a string image.

  • Aufgrund der Verneinung wird gilt diese Regel in allen Fällen als "bestanden", die die Bedingung "DEFCON==1" nicht erfüllen.


ANMERKUNG◄ Die Verneinung der Regel ist dabei nicht gleichzusetzen mit einer Prüfung, ob die Variable DEFCON einen anderen Wert als 1 enthält. Immerhin wird die Regel auch dann bestanden, wenn die Variable überhaupt nicht existiert.


Verneinung einer ODER-Junction innerhalb einer UND-Junction (links: zugeklappt, rechts: aufgeklappt)

Dieses Beispiel zeigt das Erscheinungsbild einer "Verneinung" innerhalb eines etwas komplexeren logischen Aggregats. Mit einer verneinten ODER-Junction innerhalb einer UND-Junction.


images/download/attachments/201665741/image-2025-3-28_14-0-50-version-1-modificationdate-1743166850696-api-v2.png

images/download/attachments/201665741/image-2025-3-28_14-1-18-version-1-modificationdate-1743166878740-api-v2.png

Die Verneinung betrifft hier nur die ODER-Junction und nicht die übergeordnete UND-Junction.

  • Damit die Regel insgesamt bestanden wird muss also auf jeden Fall ein Bezugsobjekt vom Typ Aircraft (s. Check type oben) vorliegen.

  • UND außerdem darf WEDER dessen Kategorie (category) "GA (General Aviation)" sein NOCH die DEFCON-Variable einen Wert beinhalten, dessen String-Abbild "1" lautet.

Auch wenn die Not rule oberflächlich nicht als eigenständiges Element in Erscheinung tritt, erscheint im XML-Abbild (hier für das erste einfache Beispiel) ein Knoten (core:NotRule):

images/download/attachments/201665741/image-2025-3-28_13-59-8-version-1-modificationdate-1743166748701-api-v2.png

Die Funktion Als XML editieren im Kontextmenü einer verneinten Regel bzw. Junction zeigt wie die innere Regel in die Not rule eingebettet ist.

images/download/attachments/201665741/image-2025-3-28_14-4-39-version-1-modificationdate-1743167080012-api-v2.png

XML-Abbild
<?xml version="1.0" encoding="UTF-8"?>
<core:NotRule xmlns:core="CORESYSTEM">
<core:StorageStringRule>
<storageKey>DEFCON</storageKey>
<storageValue>1</storageValue>
</core:StorageStringRule>
</core:NotRule>