Based on discussion from last week's meeting, I took an action item to
suggest text changes to represent what was agreed to be the meaning of
qualified/unqualified and default. I am suggesting that the following
two text changes should capture that meaning (Note: the proposed change
is fairly subtle in that it defines something that does not ever have
to be explicitly used, but the fact that it is defined and can be used
appears to remove the asserted ambiguities):
1.After line 241 in section 3.1 of version CD2, PubRev 01, 7-Apr-09,
insert the following 2 paragraphs:
All intents are inherently “qualifiable”, but can only
become qualified intents if one or more qualifiers are defined to be
related to that intent. All intents may be considered to have an
implicit qualifier defined, named “any”, which means any qualifier
defined for the intent (including "any") may be used to satisfy the
intent. An unqualified intent is implicitly qualified by the qualifier
"any" and therefore implicitly becomes a qualified intent.
In general there may be many “known ways” to satisfy an intent. The
implicit qualifier, “any” can be taken to mean that “any of those known
ways” may be used to satisfy the intent. A defined qualifier other than
"any" may be taken to mean a specific subset of those “known ways” to
satisfy an intent.
2. Change the definition of default to be:
@default
(0..1) - a boolean value with a default value of "false". If
@default="true" the particular qualifier is the default qualifier for
the intent. If an intent has more than one qualifier defined, then either
the
implicit qualifier "any" or one and only one of the defined
qualifiers must be defined as the default qualifier.
The intended net effect of these changes is allow "any" to be assumed
to be an implicit qualifier that applies whenever the intent appears in
its unqualified form. It also says that "any" represents an implicit
set of all "known ways" to satisfy the intent. And finally, and most
important to resolving the issue, it says that "any" may be explicitly
defined as the default qualifier.
The only thing I am uncertain about is how to introduce "any" to the
schema. The idea is that "any" is always implicitly specified for the
unqualified version of any intent, but only needs to be ever explicitly
specified if it is intended to be the qualifier for which the default
property is intended to be set to "true" for a particular intent.
This also enables the definition to be made independently of qualifying
whether defaults apply only to intentMaps or otherwise, which may or
may not be a desired clarification to make in the spec.
If this overall approach is agreed to then we can decide how to apply
it to the schema and whether or not to say more about the default vis a
vis intentMaps.
Thanks,
Rich
David Booz wrote:
OF4B453B7E.CC112F58-ON852575EE.0047EBC0-852575EE.0048CF68@us.ibm.com"
type="cite">
Rich,
I think the resolution of ISSUE-95 addresses your concern. With this
resolution, the only thing a default qualifier does is choose a path
through an intent map when the policySet provides the unqualified form
of the intent.
http://www.osoa.org/jira/browse/POLICY-95
Dave Booz
STSM, BPM and SCA Architecture
Co-Chair OASIS SCA-Policy TC and SCA-J TC
"Distributed objects first, then world hunger"
Poughkeepsie, NY (845)-435-6093 or 8-295-6093
e-mail:booz@us.ibm.com
David
Booz---07/09/2009 08:49:28
AM---http://www.osoa.org/jira/browse/POLICY-97 Dave Booz
From: |
David Booz/Poughkeepsie/IBM@IBMUS |
To: |
sca-policy@lists.oasis-open.org |
Date: |
07/09/2009 08:49 AM |
Subject: |
[sca-policy] ISSUE-97: Suggestion to address
suspected default/unqualified intent ambiguity |
http://www.osoa.org/jira/browse/POLICY-97
Dave Booz
STSM, BPM and SCA Architecture
Co-Chair OASIS SCA-Policy TC and SCA-J TC
"Distributed objects first, then world hunger"
Poughkeepsie, NY (845)-435-6093 or 8-295-6093
e-mail:booz@us.ibm.com
"Rich.Levinson"
---07/08/2009 05:41:41 PM---Note: this can either be a new issue or it
can be considered part of either or both of issues 90 an
Note: this can either be a new issue or it can be considered part of
either or both of issues 90 and 95. Discussion so far of issues 90 and
95 has pretty much convinced me that something is insufficiently
specified about unqualified vs qualified intents in conjunction with
specifications for defaults.
TARGET:
SCA Policy FW cd02 rev1 (doc)
http://www.oasis-open.org/committees/document.php?document_id=31980&wg_abbrev=sca-policy
SUMMARY:
Specifically, it appears to be unclear whether specifying an
unqualified version of an intent that has qualifiers defined for it
means that one should use the unqualified intent to mean that ANY of
the qualifiers is acceptable, or whether it means that the default
qualifier should be applied to the unqualified version.
DETAILS:
The definition of default says (305-308):
@default (0..1) - a boolean
value with a default value of "false". If @default="true" the
particular qualifier is the default qualifier for the intent. If an
intent has more than one qualifier, one and only one MUST be declared
as the default qualifier.
First, let me point out what appears to me to be a
minor ambiguity in this defn: The highlighted text applies when there
is MORE THAN ONE qualifier defined, and it says that ONE MUST be
declared as the default. The "minor" ambiguity is that if there is ONLY
ONE qualifier DEFINED, then is this by defn the default? or not? i.e.
can an intent have only a single qualifier defined and at the same time
have its "default" attribute have its default value of false? In my
proposal below, this issue goes away, but I thought it worth mentioning.
What I consider to be the "major" ambiguity is what is described in the
SUMMARY above, namely that if we go by the definition of "default" and
have more than one qualifier defined, then one of those qualifiers must
be defined as the default value. Therefore, one MUST assume (I would
think) that if an unqualified intent was specified then when this
intent was processed, that one MUST apply the default qualifier to it.
Why? Because, otherwise the definition of "default" is rendered
meaningless, because the default only is used when the intent is
unqualified, and if we apply the default then the intent is now
qualified. However, on the other hand, if we were say that the intent
should remain unqualified, then this means there is no point to
defining a default, since there are no circumstances when it would be
used!
Based on the discussion of issue 95, and based on my original
understanding of what was intended, and based on the proposed
resolution to issue 95, which I believe is to allow the following lines
about SOAP to remain accurate (2306-2310, esp. last sentence):
SOAP – The SOAP intent specifies that the SOAP
messaging model is used for delivering messages. It does not require
the use of any specific transport technology for delivering the
messages, so for example, this intent can be supported by a binding
that sends SOAP messages over HTTP, bare TCP or even JMS. If the intent
is attached in an unqualified form then any version of SOAP is
acceptable.
i.e. based on all the above I am suggesting the
following proposal:
PROPOSAL:
In words, the proposal is:
1. Allow unqualified
intents that have qualifiers defined, to indicate that ANY of the
qualifiers is an acceptable means of satisfying the intent.
2. Change the meaning of "default" as follows:
1. Leave
specification of the default to be optional (0:1) for each qualifier.
2. Do NOT require any qualifier to be the
default. i.e. REMOVE the sentence that says "...one MUST be declared as the default qualifier"
3. But do say: "If one qualifier IS DEFINED with
default="true", then if the intent is specified as unqualified, then
the default value applies."
4. However, also say: "If one or more qualifiers
is defined for the intent, and NONE of the qualifiers has a
default="true" attribute THEN if the intent is specified as
unqualified, then ANY one of the qualifiers may be used to satisfy the
intent.
As indicated in the "minor" problem above, that
problem goes away because we no longer require any qualifier to have
the default attribute true and so there is no need to force the
unqualified intent to assume a default qualifier.
|