Skip to content

Equivalence Criterion

Leon Starr edited this page Sep 5, 2023 · 7 revisions

Consider the following Selection Actions:

shaft aslevs( Stop requested == true )
traffic signal( status != _red )

In both of the above cases the comparison value is a literal Scalar value. In the first statement, we have a boolean true value and in the second an enumerated value. So rather than comparing against a variable Scalar Flow value, we are comparing against a supplied constant value.

We call this an equivalence criterion since the only legal comparisons against a constant value are EQUAL and NOT EQUAL.

No input Scalar Flow is defined as is the case with a Comparison Criterion. Instead we set the Equivalence Criterion.Value attribute to the compared value and note the associated Scalar type.

Note that constants other than boolean or enumeration values are forbidden in our metamodel, so the associated Scalar type must be either Boolean or some enumeration Scalar.

Identifiers

  1. ID + Action + Activity + Domain

Attributes

Value

The compared boolean (true or false) or some enumeration Scalar value.

Type: Value Representation, based on String

Operation

Either EQUAL (eq) or NOT EQUAL (ne)

Type: [ eq | ne ] as enumeration

Clone this wiki locally