OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-policy message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [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








[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]