All the cases in the constraint-understanding system's case library are included here. Cases are matched to the input EXPRESS model; matching cases suggest HLCs to extract from the model (higher-level knowledge about the constraints on the model).
Each case associates a fragment of EXPRESS code (the `problem' part) with a HLC (the `solution' part). The `problem' part of a case can also contain HLCs (i.e. there are cases for extracting further HLCs from HLCs already extracted).
The cases are written in FIL, my frame instance language.
Case for extracting the conjunction HLC
Cases for extracting the bound HLC
Lower inclusive discrete bound from ?variable >= ?limit
Lower inclusive discrete bound from ?limit <= ?variable
Lower exclusive discrete bound from ?variable > ?limit
Lower exclusive discrete bound from ?limit < ?variable
Upper inclusive discrete bound from ?variable <= ?limit
Upper inclusive discrete bound from ?limit >= ?variable
Upper exclusive discrete bound from ?variable < ?limit
Upper exclusive discrete bound from ?limit > ?variable
Lower inclusive continuous bound from ?variable >= ?limit
Lower inclusive continuous bound from ?limit <= ?variable
Lower exclusive continuous bound from ?variable > ?limit
Lower exclusive continuous bound from ?limit < ?variable
Upper inclusive continuous bound from ?variable <= ?limit
Upper inclusive continuous bound from ?limit >= ?variable
Upper exclusive continuous bound from ?variable < ?limit
Upper exclusive continuous bound from ?limit > ?variable
Case for extracting the range HLC
Cases for extracting the exactly_one HLC
exactly_one from an enumeration type attribute
exactly_one from a select type attribute
exactly_one from a ONEOF supertype expression
Cases for extracting the at_most_one HLC
at_most_one from an enumeration type attribute
at_most_one from a select type attribute
at_most_one from a ONEOF supertype expression
Cases for extracting the non_null HLC
non_null from a mandatory attribute
non_null from the EXISTS predicate
Cases for extracting the zero_or_more HLC
zero_or_more from ?aggregate[0:?]
zero_or_more from OPTIONAL ?aggregate[1:?]
Cases for extracting the equation HLC
equation from a domain rule
equation from a derived attribute
Cases for extracting the adder HLC
adder from z = x + y
adder from x = z - y
Cases for extracting the multiplier HLC
multiplier from z = x * y
multiplier from x = z / y
Email me