[RuleML-all] Re: RE: [Jdrew-all] Questions regarding RuleML status
Bart Orriens
B.Orriens at uvt.nl
Fri Apr 7 19:59:53 ADT 2006
Hello Harold, and everybody,
thanks for your reply concerning nested modalities. I agree with the point you make that a generic syntax is required, as there can potentially exist a wide variety of modalities depending on the specific
needs. For now i will adopt the style you suggest, and try to figure out how to actually enforce such modalities during rule application, consistency
checking, and so on.
On a different matter I have been working on extending RuleML with policy constructs. Before I detail these constructs let me first put
forth the requirements I identified thus far (also based on analysis of related works like ws-policy, wspl, legal xml, initial work from policy
ruleml, and so on):
- first there is a need to group rules into logically related sets, as users tend to think in terms of a collection of rules accomplishing some action (like a sales policy) than in terms of individual rules.
- one option would be to group rules directly into policies. However, I think it would be wise to introduce an intermediate construct called policy alternative (akin to e.g. ws-policy). This allows specification of different course of actions to handle different scenarios; or the same scenario but where one course of action is preferred.
- the latter also implies the need to be able to prioritize alternatives, so it is clear what alternative to apply from a policy. At this moment I feel static definition using some sort of ranking attribute suffices, as the number of alternatives within a policy will be limited; and as such we can enforce that each alternative is uniquely
ranked.
- to ensure that at least one alternative is always applied (unless the policy is empty of course), I'm thinking to use a 'default' attribute; which when set to 'yes' indicates that this alternative is the default one
- alternatives are then grouped into policies, where they are mutually exclusive; that is, only one alternative from a policy can be applied
(i.e. only one course of action can be taken).
Following the above I came up with the following syntax:
<Policy>
<plab><Ind>name here</Ind></plab>
<PolicyAlternative default="" rank="">
<palab><Ind>name here</Ind>
<Implies>
<rlab><Ind></Ind></rlab>
</Implies>
<Implies>...</Implies>
</PolicyAlternative>
<PolicyAlternative>...</PolicyAlternative>
</Policy>
In this notation <plab> and <palab> are labels to identify policies and alternatives. Each <PolicyAlternative> contains one or more <Implies>
statements. These can specify full rules, or perhaps only the name of a rule; thus enabling reuse of rules across alternatives. Similarly, alternatives can be reused across policies via their <palabel>. Interesting in this regard are issues like policy extension, restriction and so on. However, I have not explored these in depth yet.
I'm interested to hear everyone's thoughts on the above. A generic policy language in combination with RuleML will, needless to say almost, provide a powerful tool for policy/rule specification.
Cheers,
Bart
=======================================
Drs. Bart Orriens
B704, Tilburg University
PO Box 90153, 5000 LE Tilburg,
The Netherlands
Phone : +31 13 4662779
Fax : +31 13 4663069
Email : b.orriens at uvt.nl
Web : http://infolab.uvt.nl/~borriens
=======================================
More information about the RuleML-all
mailing list