Difference between revisions of "Modeler:8/RepositoryRules"
m (→Custom Rules) |
|||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Model Well-formednes = | = Model Well-formednes = | ||
This window shows the well-formednes rules for the active model. | This window shows the well-formednes rules for the active model. This window shows the basic rules to which your model should comply. It shows both errors and warnings. Errors need to be solved before any model generation can be started. Warnings are optional and are indicators to the modeler where to potentially improve the model. | ||
It is advised to perform these rule checks regularly to keep the model in order. | |||
[[File:ModelWellFormednes.png]] | [[File:ModelWellFormednes.png]] | ||
Line 19: | Line 21: | ||
= The alias of an object/fact type must be unique = | = The alias of an object/fact type must be unique = | ||
Object / fact types names 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 = | = All object type expressions must be used = | ||
Line 34: | Line 36: | ||
= Fact types may not contain redundant role combinations= | = Fact types may not contain redundant role combinations= | ||
A fact type which | 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 match the value constraints = | ||
Line 47: | Line 49: | ||
= Label types must contain a datatype definition = | = 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 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 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 = | = 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 = | = 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 = | |||
For more information on adding your own rules, please continue [[Custom SQL Rules|here]]. |
Latest revision as of 16:03, 23 January 2018
Model Well-formednes
This window shows the well-formednes rules for the active model. This window shows the basic rules to which your model should comply. It shows both errors and warnings. Errors need to be solved before any model generation can be started. Warnings are optional and are indicators to the modeler where to potentially improve the model.
It is advised to perform these rule checks regularly to keep the model in order.
Every fact type must have an intra UC
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
For more information on adding your own rules, please continue here.