Skip to content
nullsub edited this page Feb 23, 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 CODE
PLAYABLE_BY_DEFINING_COMPARTMENT compartment darf zu sich selbst ein fulfillment machen p1 if(!PLAYABLE_BY_DEFINING_COMPARTMENT) {!(Fulfillment && Target==Source==Compartment)} checked
CONTAINS_COMPARTMENTS wenn man im step in view ist, dann dürfen compartments hinzugefügt werden p2 if(!CONTAINS_COMPARTMENTS) {!(StepIn && type==COMPARTMENT)} bereits über pallete abgedeckt
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})} check
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})} bereits über palette abgedeckt
RELATIONSHIPS nur wenn aktiviert dürfen RELATIONSHIPS erzeugt werden p5 if(!RELATIONSHIPS) {!(type==RELATIONSHIP)} ?? relationships ist immer aktiv
PLAYERS (NATURALS, ROLES, COMPARTMENTS, DATES) wenn nicht aktiviert, darf {N,R,C,D}-TYPE nicht source der Fulfillment sein p6_{n,r,c,d} if(!(PLAYERS && NATURALS)) {!(type=Fulfillment && source == Naturals)} checked
INTER_RELATIONSHIP_CONSTRAINTS wenn nicht aktiviert, darf relationship-{implication, exclusion} nicht gezogen werden p7 if(!INTER_RELATIONSHIP_CONSTRAINTS) {!(type==implication OR type==exclusion)} bereits über palette abgedeckt
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})} checked

general rules

Description EditPolicy checked
Group may not be Target or Source of Fulfillment Relation r1 hardcoded in editor2 (no command called)
Targettype of Fulfillment is Compartment r2 check
No Roles can be added in StepOut r3 not testable with pallette entries
If COMPARTMENT not set, then only one Role can be added. r4 check
Inheritance is acyclic r5 check
Inheritance is irreflexiv r6 same as r5
Source and Target have same type in Inheritance-Relation r7 check
For Relationship-Relation Source and Target must be Role-Type r8 check

Clone this wiki locally