Hi,
A new issue has been created in the SCA Policy
JIRA. The URL for this issue is: http://www.osoa.org/jira/browse/POLICY-39
Regards,
Kaanu Joshi
From: Mike Edwards
[mailto:mike_edwards@uk.ibm.com]
Sent: Wednesday, November 21, 2007
4:02 PM
To: OASIS Policy
Subject: [sca-policy] [NEW ISSUE]
Need Support for Mutually exclusive intents
RAISER: Mike Edwards
TARGET:
Policy Framework Specification
DESCRIPTION:
The
current Policy Framework does not provide a means to define intents
and/or
qualified intents which are mutually exclusive. There is a need to be
able
to define intents which are mutually exclusive and for the exclusion to
be
checked by tooling and runtimes to avoid the error of specifying
exclusive
intents on a single artifact. In addition, there should be rules
defined
for the handling of mutually exclusive intents which are attached at
different
levels in the assembly tree.
PROPOSAL:
Intents
and Qualified Intents may either be additive or they may be mutually exclusive.
For
additive intents, a single artifact may have multiple intents/qualified intents
applied
to
it and all of the intents/qualified intents apply to that artifact. For
mutually exclusive
intents,
only one of the set of mutually exclusive intents/qualified intents can be
applied
to
a given artifact. If multiple of the mutually exclusive intents/qualified
intents are
applied
to one artifact, it is an error.
Intents
and qualified intents are additive by default. Mutually exclusive intents must
be
explicitly
declared using an exclusion list in the definition of the intent concerned.
Mutually
exclusive intents are only exclusive of the set of intents in the exclusion
list
-
for all other intents or qualified intents they are additive.
For
an intent or a qualified intent, the exlusion list is defined as part of the
<intent.../>
declaration,
using a new @excludes attribute, which contains a list of the excluded intents
as
a set of QNames. For qualified intents, "*" may be used as a wildcard
to indicate the
exclusion
of all (other) qualified intents with the same intent name root:
Examples:
<intent
name="SomeIntent" constrains="..." excludes="IntentFoo
IntentBar" />
-
the intent SomeIntent is mutually exclusive with the intents IntentFoo and
IntentBar
<intent
name="SomeIntent.QualifierA" excludes="SomeIntent.*" />
-
the qualified intent SomeIntent.QualifierA is mutually exclusive with all other
qualified
forms
of the SomeIntent intent
Note
that if one intent declares itself to be exclusive of some other intent, it is
not
required
that the other intent also names the original intent in its exclude list,
although
it
is good practice to do this.
Treatment
of Intents in a composition hierarchy
Where
one intent is applied to a given artifact in a composition and another intent
is
applied
to one of its parents, which intents apply to the artifact differs depending on
whether
the
two intents are Additive or Mutually Exclusive.
-
Where the intents are Additive, both intents apply to the artifact and its
child artifacts.
-
Where the intents are mutually exclusive, only the intent attached directly to
the artifact
applies
to the artifact and to its child artifacts.
Yours, Mike.
Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley
Park, Mail Point 146, Winchester, SO21
2JN, Great Britain.
Phone & FAX: +44-1962-818014 Mobile: +44-7802-467431
Email: mike_edwards@uk.ibm.com
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England
and Wales
with number 741598.
Registered office: PO Box 41,
North Harbour, Portsmouth, Hampshire PO6 3AU