Validate Instance

Note: This function can only be used with the EDMmodelChecker license key fully installed.
Menu path: Data>Validate>Instance
This command invokes the EDMmodelChecker to validate a particular instance. The kind of rules and constraints to be validated, are specified by command options.
A parameter specifies if the actual rules and constraints to be validated are defined in the actual underlying Express schema or in a specified rule schema.
The validation result report will be written to the specified diagnostic file or to the EDMsupervisor output window when no diagnostic file is specified.
The actual instance can be specified by its unique numeric instanceID or by a query.
Optionally the validation process can be supplied with arguments, hence the validation process can be parameterized.
The interactive EDMdebugger and the EDMsupervisor expressions logging facility can be used for debugging and testing the actual rule as well as finding the reason for a rule being violated.
Arguments:

instanceID or query?

Specify one of the following:
instanceID: The instance to validate will be specified by its instanceID number.
query: The instance to validate will be specified by a query.
When activating the Select button, the two legal alternatives instanceID and query are displayed in the related selection list.

InstanceId:

Specify an unsigned integer value denoting the EDMdatabase unique instanceID of the instance to validate. This argument is only effective when the <instanceID or query?> argument is set to instanceID.

Repository:

Specify the name of the open repository that holds the actual instance. Repository names are case sensitive. This argument is only effective when the <instanceID or query?> argument is set to query.
When activating the Select button, the name of all open repositories will be displayed in the related selection list.

Model:

Specify the name of the model that holds the actual instance. Model names are case sensitive. This argument is only effective when the <instanceID or query?> argument is set to query. This model must be open.
When activating the Select button, the name of all open models located in the repository(ies) specified by the <Repository> argument will be displayed in the related selection list.

Entity:

Specify the name of the entity, i.e. the type of the instance to display. Entity names are case insensitive. This argument is only effective when the <instanceID or query?> argument is set to query.
When activating the Select button, the name of all existing instance types in the model(s) specified by the arguments <Repository> and <Model> will be displayed in the related selection list.

First instance index to check:

Specify an integer value denoting the index, i.e., element number in the entity extent aggregate that holds all instances of the same type in a model. The value of the <First instance index to check> argument specifies the index of the first instance to be queried. The instance type is specified by the <Entity> argument. The first instance in the entity extent aggregate has index zero.
This argument is only effective when the <instanceID or query?> argument is set to query.
This argument will be automatically updated to the index of the last instance that matched the query plus one, when the option [update indexes] is set. This feature makes it convenient to query all instances of a particular type in several consecutive queries.

Condition:

Specify the conditions the actual instance should match. All queried instances will match the query when this argument is empty (blank). This argument is effective only when the <instanceID or query?> argument is set to query.

Rule Schema

Specify the name of Rule schema(ta) in the EDMdatabase that defines the applicable rules. Schema names are case insensitive.
When this argument is blank, the actual instance will be validated against the rules defined in the underlying EXPRESS schema.
When activating the Select button, the names of all existing schemata will be displayed in the related selection list.

Diagnostic file:

Specify the name of a file to write the result of the validation into. The result will be in ASCII format. The default file extension is ".dia". When this argument is empty (blank), the diagnostic report will be displayed in the EDMsupervisor output window.
When activating the Select button, a window is opened to allow browsing the directory structure and select/specify the desired file.

User output file

Output produced by the edm extension xpxPrintf function, can be directed to a file.
When activating the Select button, a window is opened to allow browsing the directory structure and select/specify the desired file.

Options:

accumulating command output:

A global option that appends the command output to the EDMsupervisor output window. Otherwise the output window is refreshed and only the last command output is displayed.

clear all options:

Setting this option disable all other Data>Validate>Instance options except [accumulating command output] option.

match selected input:

A global option that specifies that only items that partly or exactly matches the string in the related argument input field when activating a Select button, will be in the selection list. An empty (blank) string will match all items.
This option has no effect on file name arguments.

update indexes

A global option that specifies that the <First instance to check> argument will be updated to the next index after the one currently displayed.

full validation:

Specifies that the actual instance will be validated against all rules and constrains that is applicable for this particular instance.

global rules

Specifies that the actual instance will be validated against all applicable global rules.

local rules

Where rules, i.e., rules that are local to entities and types.

inverse rules:

Specifies that all Inverse constraints defined for the actual instance will be validated.
This option has no effect when a rule schema is specified in the <Rule Schema> parameter.

uniqueness rules:

Specifies that all Uniqueness rules defined for the actual instance will be validated.

required attributes:

Specifies that all mandatory attributes of the instance will be checked for a defined value, i.e., checked that the attribute values are set.
This option has no effect when a rule schema is specified in the <Rule Schema> parameter.

attribute data type:

Specifies that all attribute values of the instance will be checked for legal data type.
This option has no effect when a rule schema is specified in the <Rule Schema> parameter.

aggregate data type:

Specifies that all element values in all aggregates owned by the instance will be checked for legal data type.
This option has no effect when a rule schema is specified in the <Rule Schema> parameter.

aggregate size:

Specifies that the number of elements in all aggregates owned by the instance, are according to the related aggregate declaration.
This option has no effect when a rule schema is specified in the <Rule Schema> parameter.

array required elements:

Specify that all elements in arrays, that are not declared as Optional, owned by the instance, will be checked for a defined value, i.e., checked that no unset elements exists.
This option has no effect when a rule schema is specified in the <Rule Schema> parameter.

aggregate uniqueness:

Specifies that all aggregates owned by the instance will be validated for uniqueness violation. Aggregates that have an uniqueness constraints are all SET aggregates, and ARRAY and LIST that are declared with the optional keyword UNIQUE.
This option has no effect when a rule schema is specified in the <Rule Schema> parameter.

unset derive attributes:

Specifies that warnings will be issued if unset derived attributes are found.
This option has no effect when a rule schema is specified in the <Rule Schema> parameter.

output stepid:

Specifies that the stepID corresponding to the instanceID will be written to the validation report when the actual correspondence exists in a STEP Identifier model.

full output:

Specifies that all possible information about the source of the errors will be recorded in the diagnostic report from this command.

stop on first error:

Specifies that the validation process should terminate when the first error is detected.

activate debugger:

The EDMdebugger will be invoked when the first statement or expression will be executed by the EDMexpressVM.

user parameters

When this option is enabled, a new dialogue will be shown when the OK-button on the actual dialogue is pushed. In the new dialogue the number of arguments have to be specified, and for each argument the argument data type and argument data value have to be specified.
The number of related input field in the new dialogue limits the number of arguments that can be supplied to the validation process.

populate validation result model:

If this option is checked, data about the validation is stored in a separate model named EDM_ValidationResults in the SystemRepository in the EDMdatabase.