Re: [poe] On 2.6.8 Rule Active State Processing

Having a look at the draft Truth Tables of an ODRL Evaluator - https://www.w3.org/2016/poe/wiki/Evaluator - and on the IM of 9 September I see a need to write down some conclusions for getting the results shown in the the Truth Tables - I reference the current numbering of IM sections:
* how the states "satisfied" and "not satisfied" are generated for a Constraint instance is defined by 2.5.1 - ok
* the "constraint" property with a Rule is defined in 2.5.4.  - I suggest to move it up one notch and make it 2.5.3 as the current 2.5.3 is about refinements and the following sections 2.5.5 and 2.5.6. too.
This section on "constraint" is missing the impact of not/satisfied Constraints on a Rule - e.g.: If all Constraints referenced by constraint return "satisified" the Rule can be used further, if at least one of the referenced Constraints returns a "not satisfied" the Rule should be considered as not existing for further processing.
Note: this section could be felt as "applies to any Rule" and there is no need to mention this again in sections about a specific sub-class of Rule. But as constraints are so essential I suggest to mention it in the section about Permission, Prohibition and Duty.
* Permission Class is defined in 2.6.1 but it does not mention the impact of constraint and duty - this may be added, e.g.: by appending to the first sentence "... an Asset if all constraints are "satisfied" and if all duties are "fulfilled". "
* Prohibition Class is defined in 2.6.2 but it does not mention the impact of constraint and remedy - this may be added by inserting into the first sentence, e.g.: A Prohibition disallows an Action to be exercised on an Asset **if all constraints are "satisfied"** and defines optional remedies if it has been exercised.
(I'm aware of the questions regarding the semantics of a Prohibition ...)
* the "refinement" property of an action is defined in 2.5.3 and this section is missing the impact of not/satisfied Constraints - e.g.: If all Constraints referenced by refinement return "satisfied" then exercising the action will be effective on the Rule, if if at least one of the referenced Constraints returns a "not satisfied" the Action cannot be considered as exercised.
* the "refinement" property of *Collection is defined in 2.5.5 and 2.5.6. Both are vague about the impact of not/satisfied refinement Constraints: by applying refinement Constraints to the members of a *Collection the number of members may be reduced - right?
Note: this is quite high impact, e.g.: a Permission MUST have a target; a referenced AssetCollection may have 100 members without refinements. Then 3 refinements are applied - and the Collection has no member anymore. Is the Permission still valid?
* Duty Class is defined in 2.6.3. but this section does not define how the state "fulfilled" is achieved.
E.g.: A Duty is fulfilled if all constraints are "satisfied" and if its action has been exercised.
* the "consequence" property is defined in 2.6.3. and in 2.6.6. The heading of the 2.6.6 section insinuates "consequence" properties  may be used only with Duties of a Permission - but also a Duty referenced by "obligation" may use it! I suggest to rename the heading to "Consequence property with a Permission or an Obligation Duty" and to include both options in the 1st paragraph. (It is ok to have an example covering only a Permission Duty.)
The definition of the conclusions from not-fulfilled Duties and that consequences becoming active is currently misleading as it is selfreferential: if the parenting Duty has not been fulfilled it does not make sense to require that **both** the parental Duty and the consequence is fulfilled.
Alternative wording: If either of these fails to be fulfilled, then all Duties referenced by the consequence property must be fulfilled to change the state of the obligation Duty or the duty Duty to fulfilled, if at least one of the consequences is not fulfilled the obligation Duty or the duty Duty stay as not fulfilled. If either of these fails to be fulfilled and no consequence exists the state of the obligation Duty or the duty Duty cannot be changed.
* the "remedy" property is defined in 2.6.7. Only a minor wording issue in the existing language and the result of fulfilling the remedies is missing: 
If the Prohibition **action** is exercised, then all remedy **Duties** MUST be fulfilled _to let the Prohibition be considered as not violated. If at least one remedy Duty is not fulfilled the Prohibition is to be considered as violated._
(I'm aware of the questions regarding the semantics of a Prohibition ...)




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

Received on Monday, 11 September 2017 17:05:29 UTC