-
Notifications
You must be signed in to change notification settings - Fork 2
EditPolicy Rules
nullsub edited this page May 17, 2017
·
28 revisions
A summary of all rules used in FRaMED for EditPolicies
EditPolicy-Model https://raw.githubusercontent.com/leondart/FRaMED/develop_branch/ORM/org.framed.orm.editPolicy.model/model/model%20class%20diagram.png
Options used for pallete-configuration:
ROLE_CONSTRAINTS, ROLE_IMPLICATION, ROLE_PROHIBITION, ROLE_EQUIVALENCE, GROUP_CONSTRAINTS,
RELATIONSHIP_CONSTRAINTS,
Todo - needs to be hidden:
OCCURRENCE_CONSTRAINTS, RELATIONSHIP_CARDINALITY, INTRA_RELATIONSHIP_CONSTRAINTS
| Configuration | Description | EditPolicy | CODE | |
| PLAYABLE_BY_DEFINING_COMPARTMENT | compartment may create a fulfillment itself | p1 | if(!PLAYABLE_BY_DEFINING_COMPARTMENT) {!(Fulfillment && Target==Source==Compartment)} | checked |
| CONTAINS_COMPARTMENTS | in step in, compartments may be added | p2 | if(!CONTAINS_COMPARTMENTS) {!(StepIn && type==COMPARTMENT)} | done via pallette |
| COMPARTMENT_PROPERTIES, COMPARTMENT_BEHAVIOR | if not active, no properties/operations can be added | p3_{props, behavior} | if(!COMPARTMENT_{PROPERTIES, BEHAVIOR}) {!(type==Compartment && is_{prop, behavior})} | check |
| ROLE_PROPERTIES, ROLE_BEHAVIOR | if not active, no properties/operations can be added to ROLE_TYPES | p4_{props, behavior} | if(!ROLE_{PROPERTIES, BEHAVIOR}) {!(type==ROLE && is_{prop, behavior})} | done via pallette (and edit Policy) |
| RELATIONSHIPS | if not active, no RELATIONSHIPS can be created | p5 | if(!RELATIONSHIPS) {!(type==RELATIONSHIP)} | check |
| PLAYERS (NATURALS, ROLES, COMPARTMENTS, DATES) | if not active, {N,R,C,D}-TYPE may not be source of Fulfillment | p6_{n,r,c,d} | if(!(PLAYERS && NATURALS)) {!(type=Fulfillment && source == Naturals)} | checked |
| INTER_RELATIONSHIP_CONSTRAINTS | if not active, relationship-{implication, exclusion} may not be created | p7 | if(!INTER_RELATIONSHIP_CONSTRAINTS) {!(type==implication OR type==exclusion)} | done via pallette |
| ROLE_INHERITANCE, DATA_TYPE_INHERITANCE, COMPARTMENT_INHERITANCE | if not active, types may not created inheritance | p8_{DATA, COMPARTMENT} | if(!{DATA_TYPE, COMPARTMENT, ROLE}_INHERITANCE) {!(Inheritance && Source == {DATA_TYPE, COMPARTMENT, ROLE})} | checked |
| 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 |