Warning:
This wiki has been archived and is now read-only.

Evaluator

From Permissions and Obligations Expression Working Group
Jump to: navigation, search

The task of an ODRL Evaluator is to determine, given a particular state of the world, which Permissions and Prohibitions are active, and which Obligations have been infringed.

An assignee can only exercise the action of a Permission over the specified asset (or be bound by a Prohibition) if it is active.

The status of a Permission/Prohibition/Obligation is determined by the status of the Duties and Constraints it references.

Duties are either fulfilled or not while Constraints are either satisfied or not. As shown below, the Evaluator makes its determination on the basis of these values: aka the 'state of the world'.

How these values are themselves determined is left to individual implementations. But given these values, all ODRL Evaluators should agree on which Permissions and Prohibitions are active, and on which Obligations have been infringed.

The test cases provided are drawn directly from the examples in the ODRL Information Model. It's hoped that they can help clarify the semantics of the model.


EXAMPLE 12 - An un-constrained Permission P1 is offered:

ID P1
E12-1 Active

The permission is active and the music can be played.


EXAMPLE 13 - Permission P1 is constrained by the Constraint C1:

ID P1.C1 P1
E13-1 Satisfied Active
E13-2 Not Satisfied Not Active

The permission is active only while the constraint is satisfied, i.e. before the 2018 New Year. After that the offer lapses; the constraint is no longer satisfied and the permission is no longer active.


EXAMPLE 14 - The Action of Permission P1 is refined by the Constraint R1:

ID P1.R1 P1
E14-1 Satisfied Active
E14-2 Not Satisfied Not Active

So long as less than half of the asset has been printed - so the constraint is satisfied - the permission remains active, and more can be printed. Once half is printed, and the constraint is no longer satisfied, the permission to print is no longer active. Printing must stop.


EXAMPLE 15 - The Action of Permission P1 is refined by two Constraints R1 and R2 which are linked by the Operand 'xone':

ID P1.R1 P1.R2 P1
E15-1 Satisfied Satisfied Not Active
E15-2 Satisfied Not Satisfied Active
E15-3 Not Satisfied Satisfied Active
E15-4 Not Satisfied Not Satisfied Not Active

Reproducing the asset in just one of the media keeps the permission active; but then reproducing it in the other media too de-activates the permission. Dual publication is not allowed. Equally, the permission is also not active if neither of the media constraints are satisfied. Reproducing the asset in any other media than those specified in the constraints is not supported by this permission.


EXAMPLE 16 - The Asset of Permission P1 is refined by the Constraint R1:

ID P1.R1 P1
E16-1 Satisfied Active
E16-2 Not Satisfied Not Active

Playing media with a running time of less than 60 minutes satisfies the constraint so the permission is active. However, attempting to play media of greater length fails to satisfy the constraint, thus de-activating the permission. Such lengthy media cannot be played.


EXAMPLE 17 - The Assignee of Permission P1 is refined by the Constraint R1:

ID P1.R1 P1
E17-1 Satisfied Active
E17-2 Not Satisfied Not Active

Analogously to the previous example, this permission only supports the display of the pictures by friends who are over the age of 17. The permission is not active for younger friends. Some birthday!


EXAMPLE 18 - The Permission P1 is constrained by the Constraint C1:

ID P1.C1 P1
E18-1 Satisfied Active
E18-2 Not Satisfied Not Active

The permission to play the game only lasts until the end of 2017, after which it is no longer active and the game cannot be played under this permission.


EXAMPLE 19 - A Permission P1 and Prohibition Pr1 are provided:

ID P1
E19-1 Active
ID Pr1
E19-2 Active

Neither the permission nor the prohibition are qualified by any constraints or duties. Both will remain active until the assigner withdraws them.


EXAMPLE 20 - The Action of Obligation O1 is refined by the Constraint R1:

ID O1.R1 O1 Fulfilment O1 Infringement
E20-1 Satisfied Fulfilled Not Infringed
E20-2 Not Satisfied Not Fulfilled Infringed
E20-3 Satisfied Not Fulfilled Infringed

By paying the €500 the assignee fulfils the obligation. It is now a fulfilled obligation. Failure to pay maintains an unfulfilled obligation.

Michael: line E20-3 is new.


EXAMPLE 21 - The Obligation O1 has a Consequence Cq1 whose Action is refined by the Constraint R1:

ID O1 Fulfilment Cq1 Activity Cq1.R1 Cq1 Fulfilment O1 Infringement
E21-1 Fulfilled Not Active Not Infringed
E21-2 Not Fulfilled Active Satisfied Not Fulfilled Infringed
E21-3 Not Fulfilled Active Not Satisfied Not Fulfilled Infringed
E21-4 Fulfilled Active Satisfied Fulfilled Not Infringed
E21-5 Fulfilled Active Not Satisfied Not Fulfilled Infringed
E21-6 Not Fulfilled Active Satisfied Fulfilled Infringed
E21-7 Fulfilled Active Satisfied Not Fulfilled Infringed

Immediately deleting the document fulfils the obligation and does not trigger the consequence (row 1). Failure to do so triggers the consequence. It is now active (row 2 onwards). Now the document must be deleted and €10 must be paid: both the obligation and the consequence must be fulfilled (row 4).

Michael: lines E21-6 and E21-7 are new


EXAMPLE 22 - The Permission P1 has a Duty D1. The Duty D1 has a Constraint C1 and its Action is refined by Constraint R1:

ID D1.C1 D1.R1 P1.D1 P1
E22-1 Satisfied Satisfied Fulfilled Active
E22-2 Satisfied Satisfied Not Fulfilled Not Active
E22-3 Satisfied Not Satisfied Not Fulfilled Not Active
E22-4 Not Satisfied Satisfied Not Fulfilled Not Active
E22-5 Not Satisfied Not Satisfied Not Fulfilled Not Active

Failure to fulfil the duty de-activates the permission. Only when the duty is fulfilled by paying €5 prior to playing the file is it active. No other scenario is supported by this permission.

Michael: line E22-5 is new.


EXAMPLE 23 - The Permission P1 has a Duty D1. The Duty D1 has a Consequence Cq1:

ID P1.D1 D1.Cq1 Activity D1.Cq1 Fulfilment P1
E23-1 Fulfilled Not Active Active
E23-2 Not Fulfilled Active Fulfilled Not Active
E23-3 Not Fulfilled Active Not Fulfilled Not Active
E23-4 Fulfilled Active Fulfilled Active
E23-5 Fulfilled Active Not Fulfilled Not Active

Attributing the Australian Government as the owner of this data on exercising this permission does not activate the consequence (row 1). But failure to do so does (row 2 onwards). Now the only way to proceed with an active permission is to do the attribution and to accept tracking (row 4). Failure to do both de-activates the permission (rows 2, 3, and 5). The assignee cannot distribute the data under this permission until they fulfil both the duty and the consequence.


EXAMPLE 24 - A Prohibition Pr1 has a Remedy Rm1:

ID Pr1.Rm1 Pr1
E24-1 Not Fulfilled Active
E24-2 Fulfilled Not Active

The assignee can 'switch off' the prohibition by taking the remedy and anonymising the data. Doing so de-activates the prohibition (row 2). Indexing the data while failing to properly anonymise it is to violate the prohibition.

Michael: line E24-3 has gone.