The list of available operators is controlled by the template file selected when loading a model and result, and it can
be modified by adding or removing <using /> statements in the template.
Operators are designed such that they must be passed to all of
the necessary tables and arguments in order to function. They are stateless and have no access
to the tables in the model, or result, or the relationship between. This design maximizes
their maintainability and flexibility and enables them to operate on any valid input, with the
only restriction being that the arguments fulfill the requirements of the operator. The side
effect of this design is that argument lists can be lengthy. In order to mitigate this,
Operators and the Expression Builder populate as many arguments with default values as
possible.
When an operator is inserted into the expression, the defaulted argument list is
hidden:
In the example above, a failure theory operator is inserted, however since the
Hide Default Arguments is checked, only the parameters that do not have a default value are
shown. This mode effects how the operator will be inserted into the expression text, and
will not change any existing text. An expression can consist of Operators that have default
values shown, in addition to ones that have default values hidden. Additional arguments can
be added to the inserted Operator, by simply adding a comma-separated list of parameters.
The Operator above will appear as follows with the Hide Default Arguments option
deactivated: