Criterion - modelint/shlaer-mellor-metamodel GitHub Wiki

A Restrict Action determines which tuples in an input Table Flow will be output by applying a set of criteria to each tuple. Each criterion is a boolean evaluation of some Table Attribute. A Select Action works the same way with input and output Instance Flows and a Class.

A criterion, then, is a boolean evaluation on some Attribute of a Class or Table Attribute of a Table. By 'boolean' we mean that the result of each applied evaluation is either true or false.

Here is an example Select Action consisting of two criteria:

Aircraft(Speed > max speed; ^+Altitude)

The leftmost Criterion evaluates a comparison between an instance's value for Aircraft.Speed against the Scalar Flow labled as max speed. This constitutes a Comparison Criterion.

The rightmost Criterion is a Ranking Criterion that evaluates to true for any instance where that instance's value of Altitude is greater than or equal to those of all of the other instances in the Class. This may be the case for more than one instance.

The two criteria are AND'ed together (;) to define a predicate expression in the Restrict Action.

Identifiers

  1. ID + Action + Activity + Domain

Attributes

ID

A number unique within the Restrict Action that does not imply any ordering (1, 2, 3...)

Type: Criterion ID, based on Nominal