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

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

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


Subject: ISSUE 136: Promoting a reference with multiplicity 1..n and targets should default to 0..n



http://www.osoa.org/jira/browse/ASSEMBLY-136

On May 11, 2009, at 2:50 PM, Simon Nash wrote:

> TARGET: Assembly Model Specification
>
> DESCRIPTION: Promoting a reference with multiplicity 1..n and  
> targets should default to 0..n
>
> The description of the @nonOverridable attribute for component
> references has a special rule for promotion of a component reference
> with @nonOverridable==false, multiplicity 1..1, and a target.  In this
> case, the default multiplicity of the promoting composite reference
> is 0..1.  This is based on the assumption that an additional wire will
> not normally be required at the composite level because a wire is
> already in place at the component level.
>
> The same rationale for a special rule applies to component references
> with multiplicity 1..n and one or more targets.  For consistency, the
> multiplicity of the promoting composite reference should be 0..n by
> default, irrespective of the setting of @nonOverridable.  This is  
> based
> on the assumption that additional wires will not normally be required
> at the composite level because one or more wires are already in place
> at the component level.
>
> PROPOSAL:
>
> Note 1: This proposal assumes that the proposed resolution for
> ASSEMBLY-134 contained in the JIRA is accepted.
>
> Note 2: This proposal moves some text from the description of
> the @nonOverridable attribute for component references to the
> description of the @multiplicity attribute for composite references.
>
> Replace the description of the @nonOverridable attribute for
> component references by the following:
>
> nonOverridable : boolean (0..1) - a boolean value, "false" by default,
> which indicates whether this component reference can have its targets
> overridden by a composite reference which promotes the component  
> reference.
> If @nonOverridable==false, the target(s) of the promoting composite
> reference replace all the targets explicitly declared on the component
> reference for any value of @multiplicity on the component reference.
> If @nonOverridable==true, and the component reference has  
> @multiplicity
> 0..1 or 1..1 and the reference has a target, promotion implies that  
> the
> promoting composite reference has @wiredbyImpl==true and the composite
> reference cannot supply a target, but can influence the policy  
> attached
> to the component reference.
> If @nonOverridable==true, and the component reference @multiplicity is
> 0..n or 1..n, promotion targeting is additive.
>
> Replace the description of the @multiplicity attribute for
> composite references by the following:
>
> multiplicity : (0..1) - Defines the number of wires that can connect  
> the
> reference to target services.  When present, the multiplicity can  
> have one
> of the following values:
>  . 0..1 – zero or one wire can have the reference as a source
>  . 1..1 – one wire can have the reference as a source
>  . 0..n - zero or more wires can have the reference as a source
>  . 1..n – one or more wires can have the reference as a source
>
> The default value for the @multiplicity attribute depends on the
> promotion multiplicity constraint of the promoted component reference
> or references.  The promotion multiplicity constraint is the same as
> the multiplicity of the promoted component reference, except in the
> following cases:
>  . if the promoted component reference has @nonOverridable==false
>    and @multiplicity 0..1 or 1..1 and the reference has a target, the
>    promotion multiplicity constraint of the component reference is  
> 0..1.
>  . if the promoted component reference has @multiplicity 1..n and
>    the reference has one or more targets, the promotion multiplicity
>    constraint of the component reference is 0..n.
>
> If the composite reference promotes a single component reference, the
> default multiplicity of the composite reference is the promotion
> multiplicity constraint of the promoted component reference.
>
> If the composite reference promotes multiple component references
> with the same promotion multiplicity constraint, the default  
> multiplicity
> of the composite reference is the promotion multiplicity constraint of
> the promoted component references.
>
> If the composite reference promotes multiple component references
> with different promotion multiplicity constraints, there is no default
> value for the @multiplicity attribute of the composite reference and a
> value for @multiplicity MUST be specified. [ASMxxxxx]
>
> The value specified for the @multiplicity attribute of a composite
> reference MUST be compatible with the promotion multiplicity  
> constraint
> of each of the promoted component references, i.e., the multiplicity
> has to be equal or further restrict.  In more detail:
>  . Multiplicity 0..1 can be used where each of the promoted component
>    references has a promotion multiplicity constraint of 0..1 or 0..n
>  . Multiplicity 1..1 can be used where each of the promoted component
>    references has a promotion multiplicity constraint of 0..1, 0..n,
>    1..1, or 1..n
>  . Multiplicity 1..n can be used where each of the promoted component
>    references has a promotion multiplicity constraint of 1..n or 0..n
>  . Multiplicity 0..n can be used where each of the promoted component
>    references has a promotion multiplicity constraint of 0..n.
> [ASM60011]
>
>
>  Simon
>
>
> ---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail.  Follow this link to all your TCs in OASIS at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php



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