[Odrl-version2] Constraints on duties - I think I've got it now...

Renato Iannella renato at odrl.net
Fri Jun 23 21:51:13 EST 2006


On 21 Jun 2006, at 04:28, Vicky Weissman wrote:

> Party=Alice
> Perm=Download
> Asset=F
> Duty=d
> Duty.Constraint=c
> Duty.Relax = false
>
> means that Alice may download F if she has (1) fulfilled duty d at  
> time t and
> (2) at time t, constraint c holds.  So, if d = "pay 5 Euros" and c  
> is "time
> is before June 30, 2006", then Alice may download F if she has  
> already paid 5
> euros and that payment was made before June 30, 2006.
>
> Assuming this correct,

Yes...

> I wonder if duties should have (optional) consequences.  For  
> example, maybe
> the agreement owner would like to say "Alice may lock f.src; she  
> should
> return the lock within 24 hours, and, if she doesn't return the  
> lock, then
> she'll be charged one Euro a day".  More generally, relaxed duties  
> allow
> obligations to hold after the right has been granted/exercised, so  
> I think
> it'd make sense (and is often the case in practice) for there to be
> consequences to unmet obligations.  What do you think?

I like this idea. We should introduce the "unmet" entity for Duties  
(that can take any Action)

So your example might now look like:

Party=Alice
Perm= lock
Asset= f.src
Duty= unLock
Duty.Constraint= within 24 hours
Duty.Unmet = EU1/day

When can then use the null case, that is "Duty.Unmet=null" to be the  
same as Duty.Relax=true.
Ie you can not meet the duty, but nothing will happen

> Party=Alice, Bob
> Perm= download
> Asset= F
> Duty= pays 1 euro
> Duty.Constraint= user is over 21
> Duty.Relax = false
>
> This means (1) if Alice is over 21, then she may pay 1 euro and, if  
> she pays
> the euro, then she may download F.  The same is true for Bob.  So the
> agreement is equivalent to one that says "Alice/Bob may download F  
> if she/he
> is over 21 and pays a euro".  That is, the agreement is equivalent to
>
> Party=Alice, Bob
> Perm= download
> Asset= F
> Duty= pays 1 euro
> Perm.Constraint= user is over 21
> Duty.Relax = false

Your first example means that the person paying needs to be over 21,  
whereas the second example
means you need to be over 21 to download the file (both are valid  
examples)

Now, we need to be clear on the multiple parties you have listed. We  
have the concept of "assignee"
and "assignees" in our model. The former is for a single party, and  
the latter for multiple parties
(although you identify that latter group with a single identifier)  
and each of the members of that group
receives the same set of Permissions and Prohibitions. (We should  
extend that to Duties as it is not in the
model yet).

So if we use Party.assignees=alice-n-bob-group-id, then each member  
of that group would get the permission
and be liable for the Duty, unless we use Duty.assignee=alice-n-bob- 
group-id.


> ----
> (This one's really about parties v. individuals.)
>
> Party=Alice
> Perm= download
> Asset= F
> Duty= pays 1 euro
> Duty.Assignee = {Alice, Bob}
> Duty.Beneficiary = {Charlie, Dan}
> Duty.Relax = false
>
> The agreement says that Alice may download F if {Alice, Bob} has  
> paid 1 euro
> to {Charlie, Dan}.  Suppose Bob gives a euro to Charlie.  Then does it
> necessarily follow that {Alice, Bob} has given a euro to {Charlie,  
> Dan} and,
> thus, Alice may download F?

Since you used "assignee" then yes.

Does that make sense?


Cheers...  Renato Iannella
National ICT Australia (NICTA)




Cheers

Renato Iannella
ODRL Initiative
http://odrl.net




More information about the Odrl-version2 mailing list