Difference between revisions of "Modeler:8/RepositoryRules"

From CaseTalk Wiki
Jump to: navigation, search
Line 47: Line 47:


= 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 =

Revision as of 03:54, 6 November 2017

Model Well-formednes

This window shows the well-formednes rules for the active model.

ModelWellFormednes.png


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

Binary fact types must have grouping preference

All generated expressions require validated semantics

Label types must be used