|
|
Line 8: |
Line 8: |
| ---- | | ---- |
|
| |
|
| = Every fact type must have an intra UC =
| | Click here for a full list of validation rules and their description: [[Modeler:Tutorial/Integrity_Checks|Integrity Checks]]. |
| There must exist at least one Uniqueness Constraint on the roles within the object of fact type.
| |
| | |
| = The N rule must be valid for every nominalized fact type =
| |
| All roles within a nominalized fact type must be covered under a single uniqueness constraint. Generalizations are an exception to this rule. As long as all roles inside an Object Type are covered by UC's the model should be correct.
| |
| | |
| = The N-1 rule must be valid for every fact type =
| |
| Facts are required to have one or more uniqueness constraint over N-1 roles. The uniqueness constraint should cover all roles, or all roles minus one.
| |
| | |
| = The subtype rule must be valid for every subtype =
| |
| In a fact type that is a subtype, all roles have a single role uniqueness constraint. For nominalized subtypes, all object type expressions concern exactly one role.
| |
| | |
| = The alias of an object/fact type must be unique =
| |
| Object / fact types names must be unique throughout the model. This list of names includes the alias set at the fact property dialog.
| |
| | |
| = All object type expressions must be used =
| |
| Object types expressions generally are created during qualification of fact expressions. This rule states that the object type expressions should be verbalized as part of another object types of fact type expression.
| |
| | |
| = Non-lexical object types without totality constraints must have a fact type expression =
| |
| Object types which have no fact type expression, must be used in another fact type through a totality constraint.
| |
| | |
| = The actual population of every fact type must be verbalizable =
| |
| Every population tuple must be referenced in a fact type expression.
| |
| | |
| = A strict equality constraint must apply on each subtype tupel =
| |
| Subtypes must have a corresponding population in regard to their supertype.
| |
| | |
| = Fact types may not contain redundant role combinations=
| |
| A fact type which contains a combination of roles with the same 'played by' as a in another fact type, may contain redundant information. This could indicate a potential object type to be created.
| |
| | |
| = The population should match the value constraints =
| |
| The population should obey the value constraints of the corresponding label type.
| |
| | |
| = Facts must have at least one sample population =
| |
| Facts should have at least one tuple in the example population. This may occur when the population is cleared, or the facts are added to CaseTalk through reverse engineering. For proper verbalization and validation at least a single example population is required for every expression.
| |
| | |
| = Roles must have distinct semantic meanings =
| |
| Multiple roles within the same fact, which are playing the same object or label type, should have distinct names. You may solve this may adding role fixes, or by inserting additional object types which are named differently for each role.
| |
| Note that newer versions of CaseTalk also consider the result of any rolefix as a regular otft name. Therefor the result of a rolefix must be unique among all OTFT's.
| |
| | |
| = Label types must contain a datatype definition =
| |
| All label types contain value types. For system generation the datatypes can be derived by CaseTalk, but should really be set by the modeler. All label types which have the 'default' as datatype will show up under this rule.
| |
| | |
| = Fact types may not contain object types =
| |
| Fact types with a single uniqueness constraint, containing more than 2 roles, and also having 1 role not under this constraint, may contain a structure where the roles under this uc may be split into an object type.
| |
| | |
| = Binary fact types must have grouping preference =
| |
| Binary fact types, with 2 uniqueness constraints, should specify the grouping preferences on the roles. If both are set to 'automatic', the binary fact type remain ungrouped.
| |
| | |
| = All generated expressions require validated semantics =
| |
| The generated fact types due to reverse engineering, or the new refactoring functions in CaseTalk, the manual process of entering fact expressions is skipped. Therefor these are all marked as unverified. The modeler should confirm, replace or update these so-called generated expressions.
| |
| | |
| = Label types must be used =
| |
| The new refactoring functions also allow to create Label Types ahead of time. This allows generic Label Types to be used later in the modeling process. If these Label Types are created, but not used, they'll show up under this rule.
| |
|
| |
|
| = Custom Rules = | | = Custom Rules = |
| For more information on adding your own rules, please continue [[Custom SQL Rules|here]]. | | For more information on adding your own rules, please continue [[Custom SQL Rules|here]]. |