Wodel applied to finite security policies. [Security Policy Ecore] [OrBAC Model] [RBAC Model]

Selects two rule types with the same parameter types. Then modifies the type of a rule whose type is the first selected rule type with the second rule type [rtt]:

     t1 = select one RuleType
     t2 = select one RuleType where {self <> t1 and parameters = t1->parameters}
     modify one Rule where {type = t1} with {type = t2}

Replaces a parameter of a rule with a different parameter of the same type [ppr]:

     p1 = select one Parameter
     p2 = select one Parameter where {type = p1->type and self <> p1}
     r = select one Rule where {parameters = p1}
     modify r with {parameters -= p1, parameters += p2}

Creates a new rule using a selected rule type [anr]:

     t = select one RuleType
     setp = select all Parameter where {type in t->parameters}
     p = select sample from setp with distinct {type}
     create Rule with {type = t, parameters = p}

Removes a rule [rer]:

     remove one Rule

Replaces a parameter on a rule with one of its descending parameters (using the children reference) [ppd]:

     r = select one Rule where {parameters->children <> null}
     p = select one Parameter in r->parameters where {children <> null}
     c = select one Parameter in closure(p->children)
     modify r with {parameters -= p, parameters += c}

Here you can download all these examples of Wodel applied to Security Policies.
Security Policies samples .zip
Security Policies samples tar.gz

Acknowledgements

This work has been funded by the Spanish Ministry of Science (RTI2018-095255-B-I00, project "MASSIVE") and the R&D programme of Madrid (P2018/TCS-4314, project "FORTE").