Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/w3c/odrl
Browse files Browse the repository at this point in the history
  • Loading branch information
vroddon committed Nov 3, 2024
2 parents cbaaf86 + c47d91c commit 98d4075
Showing 1 changed file with 51 additions and 21 deletions.
72 changes: 51 additions & 21 deletions formal-semantics/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -163,12 +163,19 @@ <h2>Semantics of Permissions, Prohibitions, and Obligations</h2>
Constraint, State of the World, and attempted action.
Here follows a list of properties (with their possible values) needed by the ODRL Evaluator:</p>
<ul> <!-- attributes of the main objects -->
<li>Permission, Prohibition, and Obligation, <!-- and Condition --> have a property called
<li>Permission, Prohibition, Obligation, and Condition (Duty) have a property called
<b>activation state</b>, which can take the values of <b>active</b> or <b>inactive</b>.</li>

<li>Prohibition and Obligation <!-- and Condition --> have a property called <b>deontic state</b>,
<li>Prohibition, Obligation, and Condition (Duty) have a property called <b>deontic state</b>,
which can take the values of <b>not-set</b>, or <b>violated</b>, or <b>fulfilled</b>.
They can become violated or fulfilled only when they are active.</li>
They can become violated or fulfilled only when they are active. <br>
An active prohibition can be violated many times by different actions,
therefore when a prohibition is violated it is required
to register the action that brings to the violation. <br>
</li>

<li>Permission has a property called <b>control state</b>, which can take the values of <b>permit</b> or
<b>deny</b> of a specific attempted or executed action.</li>

<li>Constraint (connected to the Rule using the odrl:constraint property) has a property called
<b>satisfaction state</b> which can take the values of <b>satisfied</b> or <b>not-satisfied</b>.
Expand All @@ -180,13 +187,14 @@ <h2>Semantics of Permissions, Prohibitions, and Obligations</h2>
odrl:refinement property) has a property called <b>satisfaction state</b>
which can take the values of <b>satisfied</b> or <b>not-satisfied</b>.

<li>Action (connected to the Rule with the odrl:action property) has a property called <b>performance state</b>
<!-- <li>Action (connected to the Rule with the odrl:action property) has a property called <b>performance state</b>
which initially takes the values <b>not-performed</b> and
can become <b>performed</b> when an action with all the properties values (i.e. <code>type</code>,
<code>performer</code>, <code>object</code>,...) that matches with the values
described in the Rule (i.e. <code>action</code>, <code>assignee</code>, <code>target</code>)
is actually performed at a given instant of time and its performance is represented
in the state of the world.</li>
in the state of the world.</li> -->

</ul>

<p> <!-- out of scope -->
Expand Down Expand Up @@ -340,8 +348,9 @@ <h4>Example of a constrained permission</h4>
<th style="color:darkblue">Policy</th>
<th style="color:darkblue">World</th>
<th style="color:darkblue">Attempted Action</th>
<th style="color:darkred">satisfaction of <br><code>constraint:1</code></th>
<th style="color:darkred"><kbd>access control</kbd><br/>activation of <br><code>permission</code></th>
<th style="color:darkred">satisfaction state of <br><code>constraint:1</code></th>
<th style="color:darkred"><kbd>access control</kbd><br/>activation state of <br><code>permission</code></th>
<th style="color:darkred"><kbd>access control</kbd><br/>control state</code></th>
</tr>
<tr>
<td>E13-1</td>
Expand All @@ -350,7 +359,8 @@ <h4>Example of a constrained permission</h4>
<td><code>distribute</code><br>
<code>document:1234</code></td>
<td>satisfied</td>
<td>active</td>
<td>active</td>
<td>permit the attempted action</td>
</tr>
<tr>
<td>E13-2</td>
Expand All @@ -359,7 +369,8 @@ <h4>Example of a constrained permission</h4>
<td><code>distribute</code><br>
<code>document:1234</code></td>
<td>not-satisfied</td>
<td>inactive</td>
<td>inactive</td>
<td>deny the attempted action</td>
</tr>
</table>

Expand All @@ -375,8 +386,9 @@ <h4>Example of a constrained permission</h4>
<th>Example</th>
<th style="color:darkblue">Policy</th>
<th style="color:darkblue">World</th>
<th style="color:darkred">satisfaction of <br><code>constraint:1</code></th>
<th style="color:darkred"><kbd>monitoring</kbd><br/>activation of <br><code>permission</code></th>
<th style="color:darkred">satisfaction state of <br><code>constraint:1</code></th>
<th style="color:darkred"><kbd>monitoring</kbd><br/>activation state of <br><code>permission</code></th>
<th style="color:darkred"><kbd>monitoring</kbd><br/>control state</code></th>
</tr>
<tr>
<td>E13-3</td>
Expand All @@ -385,6 +397,7 @@ <h4>Example of a constrained permission</h4>
the action <code>distribute</code> of <code>document:1234</code> was perfomed</td>
<td>satisfied</td>
<td>active</td>
<td>permit the attempted action</td>
</tr>
<tr>
<td>E13-4</td>
Expand All @@ -393,6 +406,7 @@ <h4>Example of a constrained permission</h4>
the action <code>distribute</code> of <code>document:1234</code> was perfomed</td>
<td>not-satisfied</td>
<td>inactive</td>
<td>deny the attempted action</td>
</tr>
</table>
<hr/>
Expand Down Expand Up @@ -454,23 +468,23 @@ <h4>Example of a permission whose permitted action is refined</h4>
<th style="color:darkblue">Attempted Action</th>
<th style="color:darkred">satisfaction of <br><code>refinement:14</code></th>
<th style="color:darkred"><kbd>access control</kbd><br/>activation of <br><code>permission</code></th>
<th style="color:darkred"><kbd>access control</kbd><br/>second result</code></th>
<th style="color:darkred"><kbd>access control</kbd><br/>control state</code></th>
</tr>
<tr>
<td>E14-1</td>
<td>policy:14</td>
<td><code>print</code> of <code>document:1234</code> with <code>resolution</code> less than 1200 dpi</td>
<td>satisfied</td>
<td>active </td>
<td>the performed action is permitted</td>
<td>active </td>
<td>permit the attempted action</td>
</tr>
<tr>
<td>E14-1</td>
<td>policy:14</td>
<td><code>print</code> of <code>document:1234</code> with <code>resolution</code> more than 1200 dpi</td>
<td>not-satisfied</td>
<td>inactive </td>
<td>the performed action is not permitted by policy:14</td>
<td>deny the attempted action</td>
</tr>
</table>

Expand All @@ -495,20 +509,23 @@ <h4>Example of a permission whose permitted action is refined</h4>
<th style="color:darkblue">World</th>
<th style="color:darkred">satisfaction of <br><code>refinement:14</code></th>
<th style="color:darkred"><kbd>monitoring</kbd><br/>activation of <br><code>permission</code></th>
<th style="color:darkred"><kbd>monitoring</kbd><br/>control state</code></th>
</tr>
<tr>
<td>E14-3</td>
<td>policy:14</td>
<td><code>print</code> of <code>document:1234</code> with <code>resolution</code> less than 1200 dpi was performed</td>
<td>satisfied</td>
<td>active </td>
<td>permit the performed action</td>
</tr>
<tr>
<td>E14-4</td>
<td>policy:14</td>
<td><code>print</code> of <code>document:1234</code> with <code>resolution</code> more than 1200 dpi was performed</td>
<td>not-satisfied</td>
<td>active </td>
<td>deny the performed action</td>
</tr>
</table>

Expand Down Expand Up @@ -615,9 +632,10 @@ <h4>Example of a conditioned permission</h4>
<th style="color:darkblue">Policy</th>
<th style="color:darkblue">World</th>
<th style="color:darkblue"> Attempted Action </th>
<th style="color:darkred">activation of <br><code>condition:1</code></th>
<th style="color:darkred">activation state of <br><code>condition:1</code></th>
<th style="color:darkred">deontic state of <br><code>condition:1</code></th>
<th style="color:darkred"><kbd>access control</kbd><br>activation <br><code>permission</code></th>
<th style="color:darkred"><kbd>access control</kbd><br>activation state <br><code> of permission</code></th>
<th style="color:darkred"><kbd>access control</kbd><br/>control state</code></th>
</tr>
<tr>
<td>E22-1</td>
Expand All @@ -629,6 +647,7 @@ <h4>Example of a conditioned permission</h4>
<td>active</td>
<td>not set</td>
<td>inactive</td>
<td>deny the attempted action</td>
</tr>
<tr>
<td>E22-2</td>
Expand All @@ -640,6 +659,7 @@ <h4>Example of a conditioned permission</h4>
<td>active</td>
<td>fulfilled</td>
<td>active</td>
<td>permit the attempted action</td>
</tr>
</table>
<p><i>Monitoring scenario:</i></p>
Expand All @@ -654,6 +674,7 @@ <h4>Example of a conditioned permission</h4>
<th style="color:darkred">activation of <br><code>condition:1</code></th>
<th style="color:darkred">deontic state of <br><code>condition:1</code></th>
<th style="color:darkred"><kbd>monitoring</kbd><br>activation <br><code>permission</code></th>
<th style="color:darkred"><kbd>monitoring</kbd><br/>control state</code></th>
</tr>
<tr>
<td>E22-3</td>
Expand All @@ -665,6 +686,7 @@ <h4>Example of a conditioned permission</h4>
<td>active</td>
<td>not set</td>
<td>inactive</td>
<td>deny the performed action</td>
</tr>
<tr>
<td>E22-4</td>
Expand All @@ -676,6 +698,7 @@ <h4>Example of a conditioned permission</h4>
<td>active</td>
<td>fulfilled</td>
<td>active</td>
<td>permit the performed action</td>
</tr>
</table>

Expand Down Expand Up @@ -737,9 +760,12 @@ <h4>Example of a permission whose condition has constraints</h4>
If the Condition is active but it is not fullfilled, the Permission is inactive. <br>
If the Condition is fulfilled the Permission is active.
</p>
<p><i>Access control scenario:</i></p>
<p><i>Access control and monitoring scenario:</i></p>
<p>The monitoring scenario and the access control scenario have the same evaluation when there is no refinement
of the permitted action.</p>
to be evaluated on the attempted or executed action that belongs to the class of actionss regulated by this Permission
(its type is equal to <code>play</code>, its object is equal to the <code>target</code> of the permission,
i.e. <code>music:1999.mp3</code>,and its <code>performer</code> is equal to the assignee of the permission,
i.e. <code>party:billie</code>).</p>

<table border="1" style="font-size:small;">
<tr>
Expand All @@ -751,6 +777,7 @@ <h4>Example of a permission whose condition has constraints</h4>
<th style="color:darkred">activation of <br><code>condition:1</code></th>
<th style="color:darkred">deontic state of <br><code>condition:1</code></th>
<th style="color:darkred"><br>activation of <br><code>permission</code></th>
<th style="color:darkred"><br>control state</th>
</tr>
<tr>
<td>E88-1</td>
Expand All @@ -761,6 +788,7 @@ <h4>Example of a permission whose condition has constraints</h4>
<td>inactive</td>
<td>not set</td>
<td>active</td>
<td>permit the action</td>
</tr>
<tr>
<td>E88-2</td>
Expand All @@ -774,6 +802,7 @@ <h4>Example of a permission whose condition has constraints</h4>
<td>active</td>
<td>not set</td>
<td>inactive</td>
<td>deny the action</td>
</tr>
<tr>
<td>E88-3</td>
Expand All @@ -787,6 +816,7 @@ <h4>Example of a permission whose condition has constraints</h4>
<td>active</td>
<td>fulfilled</td>
<td>active</td>
<td>permit the action</td>
</tr>
</table>
</section>
Expand Down Expand Up @@ -866,7 +896,7 @@ <h4>Evaluation of a prohibition with constraints</h4>
by <code>assignee:55</code> is performed</td>
<td>satisfied</td>
<td>active</td>
<td>violated</td>
<td>violated by the performed action</td>
</tr>
<tr>
<td>E55-2</td>
Expand Down Expand Up @@ -960,7 +990,7 @@ <h4>Evaluation of an obligation without constraints</h4>
<td><code>compensate</code> of <code>500 euro</code> by <br>
<code>party:44</code> to <code>party:43</code> is performed</td>
<td>active</td>
<td>fulfilled</td>
<td>fulfilled by the performed action</td>
</tr>
<tr>
<td>E42-2</td>
Expand Down

0 comments on commit 98d4075

Please sign in to comment.