Re: [poe] Modelling duty/obligation

The clear specification of the evolution of the state of permissions, prohibitions, and duties is fundamental for having a clear semantics of the proposed language.

The duty inside a permission is actually a pre-condition for getting the permission. If Alice does not care about the asset, she is not obliged to do something; in our everyday life, we will never say that she has a duty. If she wants to get a VALID permission, she has to do something, i.e. satisfy the duty or better the pre-condition for getting a valid permission.

If the duty/pre-condition is not satisfied, Alice has not a valid permission.

With this semantics, it is hard to express a policy that gives to Alice a valid permission to play a music file and contemporarily obliges Alice to pay 5 euro at the end of the month. This because the payment (that will happen after the creation of a valid permission) cannot be formalized as a pre-condition/duty. In fact, the payment is not a pre-condition; differently, we need to formalize an obligation to pay 5 euro at the end of the month, and this obligation becomes active when Alice get a valid permission to play a music file.

This type of obligation can also be used to formalize the congestion area. It is an obligation to pay with in 24 hour that is activated when I enter with my car in the congestion area. Obviously, the action that activates the obligation (play music file, or enter congestion area, getting a valid permission) should be possible otherwise the obligation will never become active.

I agree with riannella, it is possible to model those use cases (stream music with later payment, congestion area, nurse in the hospital) by introducing a new Rule called obligation with its own lifecycle. In principle, this new Rule can be used in the already existing Policy Types.


-- 
GitHub Notification of comment by fornaran
Please view or discuss this issue at https://github.com/w3c/poe/issues/191#issuecomment-313355871 using your GitHub account

Received on Thursday, 6 July 2017 10:14:11 UTC