Re: [poe] Modelling duty/obligation

@riannella 
> I assume there is no change you are now proposing for the IM or Vocab?

well, she agreed to [your proposal:](https://github.com/w3c/poe/issues/191#issuecomment-313291889)
> 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.

and I actually like the idea of having "Obligation" as new type of rule, i.e. differentiating between policy/permission-level duties, as it would help addressing a lot of issues/inconsistencies of the current IM, such as:
1. Constraints on permissions/prohibitions behave differently than constraints on duties
    + Constraints on Perm/Proh: 
        >  For a Rule, if the Constraint is satisfied then the action becomes effective for the enclosing Rule.
    + Constraints on Duties:
        >  Such business rules MAY be expressed through additional Constraints. For example, a Policy may state that you can play a music file for a payment of $5.00. 
2. @riannella: "_Policies need to have consistent Rules processing._" (https://github.com/w3c/poe/issues/162#issuecomment-310278825)
3. @riannella: "_My concern is that I don't want the semantics of Duty to change depending on **where** it is in the Policy_." (https://github.com/w3c/poe/issues/162#issuecomment-311258097)

------------
**Proposal:**
1. Add **Obligation** as new subclass of Rule (alongside Perm/Proh/Duty)
2. Allow only Perm/Proh/Obligation on policy-level
3. Allow only Duties on permission-level
4. Constraints on Obligations have the same semantics as the ones on Perm/Proh.

tbd: how to handle constraints that specify **how** an action must be performed.

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

Received on Friday, 14 July 2017 06:37:54 UTC