Skip to content
nullsub edited this page Feb 22, 2017 · 28 revisions

A summary of all rules used in FRaMED for EditPolicies

Configuration based rules

Unused Configuration options:

      RML_FEATURE_MODEL, ROLE_TYPES, ROLE_STRUCTURE,
      DEPENDENT, ON_COMPARTMENTS, ON_RELATIONSHIPS,
      PARTHOOD_CONSTRAINTS,
      COMPARTMENT_TYPES, COMPARTMENT_PROPERTIES, COMPARTMENT_BEHAVIOR,
      PARTICIPANTS, DATA_TYPES

Options used for pallete-configuration:

      ROLE_CONSTRAINTS, ROLE_IMPLICATION, ROLE_PROHIBITION, ROLE_EQUIVALENCE, GROUP_CONSTRAINTS,
      RELATIONSHIP_CONSTRAINTS,

Todo - müssen ausgeblendet werden:

      OCCURRENCE_CONSTRAINTS, RELATIONSHIP_CARDINALITY, INTRA_RELATIONSHIP_CONSTRAINTS
Configuration Description EditPolicy Comment
PLAYABLE_BY_DEFINING_COMPARTMENT compartment darf zu sich selbst ein fulfillment machen p1 if(!PLAYABLE_BY_DEFINING_COMPARTMENT) {!(Fulfillment && Target==Source==Compartment)}
CONTAINS_COMPARTMENTS wenn man im step in view ist, dann dürfen compartments hinzugefügt werden p2 if(!CONTAINS_COMPARTMENTS) {!(StepIn && type==COMPARTMENT)}
COMPARTMENT_PROPERTIES, COMPARTMENT_BEHAVIOR wenn aktiviert, dann dürfen properties /operations darein gezogen werden p3_{props, behavior} if(!COMPARTMENT_{PROPERTIES, BEHAVIOR}) {!(type==Compartment && is_{prop, behavior})}
ROLE_PROPERTIES, ROLE_BEHAVIOR wenn deaktiviert, dann darf man keine Properties/behaviours auf ROLE_TYPES ziehen p4_{props, behavior} if(!ROLE_{PROPERTIES, BEHAVIOR}) {!(type==ROLE && is_{prop, behavior})}
RELATIONSHIPS nur wenn aktiviert dürfen RELATIONSHIPS erzeugt werden p5 if(!RELATIONSHIPS) {!(type==RELATIONSHIP)}
PLAYERS (NATURALS, ROLES, COMPARTMENTS, DATES) wenn nicht aktiviert, darf {N,R,C,D}-TYPE nicht source der Fulfillment sein p6 if(!(PLAYERS && NATURALS)) {!(type=Fulfillment && source == Naturals)}
INTER_RELATIONSHIP_CONSTRAINTS wenn nicht aktiviert, darf relationship-{implication, exclusion} nicht gezogen werden p7 if(!INTER_RELATIONSHIP_CONSTRAINTS) {!(type==implication type==exclusion)}
ROLE_INHERITANCE, DATA_TYPE_INHERITANCE, COMPARTMENT_INHERITANCE dürfen zum selben Typ inheritance anwenden (erst source prüfen, dass nicht unnötig ein pfeil erzeugt werden kann) p8_{DATA, COMPARTMENT} if(!{DATA_TYPE, COMPARTMENT, ROLE}_INHERITANCE) {!(Inheritance && Source == {DATA_TYPE, COMPARTMENT, ROLE})}

general rules

Description EditPolicy checked
Group may not be Target or Source of Fulfillment Relation r1 yes
Targettype of Fulfillment is Compartment r2 -
No Rules can be added in StepOut r3 -
If COMPARTMENT not set, then only one Role can be added. r4 -
Inheritance is acyclic r5 -
Inheritance is irreflexiv r6 -
Source and Target have same type in Inheritance-Relation r7 -
For Relationship-Relation Source and Target must be Role-Type r8 -

Clone this wiki locally