Constraint Template Translations
The following table shows examples of the constraint templates translated into Rule Assembly Language.
Template | RAL Equivalent | Explanation |
---|---|---|
Constrain |
con(>(Item A),1)) |
Constrain (quantity of Item A> 1) to be true. |
Constrain Conditionally |
if(>(Item A), 1), >= (Item B), 2), excl(Item C, Item D)) |
When (quantity of Item A> 1)(quantity of Item B >= 2), otherwise Selection of Item C excludes selection of Item D. |
Constrain Product Quantity |
==(Item A, 2) |
The quantity of Item A = 2. |
Consume |
inc(*(Item A), -(1)), Resource B) |
Each Item A consumes 1 from Resource B. |
Exclude |
excl(Item A, Item B) |
Selection of Item A excludes selection of Item B. |
Exclude List |
excl(Item A, Item B, Item C)) |
Item A excludes (selection of Item B, selection of Item C). |
Message |
msg(>(Item A, 1)) |
When (Item A > 1), display this constraint's description. |
Preference |
prefer(Item A, 1) |
When possible, constrain Item A is selected to be true with a priority of 1. |
Provide |
inc(*(Item A), 1), Resource B) |
Each Item A provides 1 to Resource B. |
Recommends |
chk(req(Item A, Item B), "Item B is recommended") |
Selection of Item A recommends selection of at least one Item B by displaying "Item B is recommended". |
Requires |
req(Item A, Item B) |
Item A requires Item B. |
Requires (Mutual) |
eqv(Item A, Item B) |
Item A requires Item B AND Item B requires Item A. |
Constrain Attribute Value |
==(@.[Class A] ([Item B]).[Day], "Monday") |
The attribute Class A "Item B" Attribute C = Monday. |