This page presents Wodel examples for security policies. The security-policy metamodel and example OrBAC and RBAC models are also available.

Selects two rule types with identical parameter types and changes a rule of the first type into the second 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 rule parameter with one of its descendant parameters, following 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}

Download all the Wodel examples for security policies here.
Security Policies samples (ZIP)
Security Policies samples (TAR.GZ)

Acknowledgements

This work was funded by the Spanish Ministry of Science through project “MASSIVE” (RTI2018-095255-B-I00), and by the R&D programme of the Madrid Region through project “FORTE” (P2018/TCS-4314).