-
Notifications
You must be signed in to change notification settings - Fork 2
EditPolicy Rules
nullsub edited this page Feb 22, 2017
·
28 revisions
A summary of all rules used in FRaMED for EditPolicies
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)} |
| 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 OR 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})} |
| 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 | TODO |
| Inheritance is acyclic | r5 | TODO |
| Inheritance is irreflexiv | r6 | TODO |
| Source and Target have same type in Inheritance-Relation | r7 | TODO |
| For Relationship-Relation Source and Target must be Role-Type | r8 | check |