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: Re: [sca-assembly] [ISSUE 117] Definition of compatible supersetand subset - Updated Proposal


On last Tuesday's call I took an action item to produce a proposal
for the interface mapping rules for subset compatibility and superset
compatibility, in the following cases:
  1. component type service compatibility with component service
  2. component service compatibility with promoted composite service
  3. component type reference compatibility with component reference
  4. component reference compatibility with promoted composite reference
  5. component reference compatibility with component service (wiring)
  6. constraining type service compatibility with component service
     or component type service
  7. constraining type reference compatibility with component reference
     or component type reference

Case 1:

Map from component service interface to component type interface.
The component type must be capable of handling anything that can
come through the component service interface.

Case 2:

Map from composite service interface to component interface.
The component must be capable of handling anything that can
come through the composite service interface.

Case 3:

Map from component type reference interface to component interface.
The component reference must be capable of handling any invocations
made by the implementation through the component type reference.

Case 4:

Map from component reference interface to composite interface.
The composite reference must be capable of handling any invocations
made by the component through the component reference.

Case 5:

Map from reference interface to service interface.  The service
must be capable of handling any invocations made by the reference.

Case 6:

Map from constraining type service interface to component interface
or component type interface.  The component or component type must
be capable of handling anything that can come through the
constraining type interface.

Case 7:

Map from component reference interface or component type reference
interface to constraining type interface.  The constraining type
reference must be capable of handling any invocations made by the
component implementation or the component.

Summary:

In all cases the type mapping (if needed) is done by mapping the
interface type of the "subset interface" to the interface type of
the "superset interface".

   Simon

Mike Edwards wrote:
> 
> Folks,
> 
> My proposal is that we resolve Issue 117 with the following:
> 
> Insert a new section 7.2, following line 2493 in CD02 Rev6:
> 
> 7.2 Interface Compatiibility
> 
> The compatibility of two interfaces is defined in this section and these
> definitions are used throughout this specification.  Two forms of
> compatibility are defined - Subset Compatibility and Superset
> Compatibility.
> 
> 7.2.1 Interface Subset Compatibility
> 
> An interface B is a compatible subset of another interface A if and
> only if all of points 1 through 7 in the following list apply.
> 
> 1. interfaces A and B are either both remotable or else both local
> 2. the set of operations in interface B is the same as or is a subset of 
> the
>     set of operations in interface A
> 3. compatibility for individual operations of an interface is defined
>     as compatibility of the signature, i.e., the operation name,
>     input types, and output types are the same
> 4. the order of the input and output types for each operation in
>     interface A is the same as the order of the input and output types
>     for the corresponding operation in interface B
> 5. the set of Faults and Exceptions expected by each operation in
>     interface A is the same as or a subset of the set of Faults and 
> Exceptions
>     specified by the corresponding operation in interface B
> 
> 6. For checking the compatibility of 2 remotable interfaces which are in 
> different
>     interface languages, both are mapped to WSDL 1.1 (if not already 
> WSDL 1.1) and
>     compatibility checking is done between the WSDL 1.1 mapped interfaces.
> 
>     WSDL 1.1 message parts can point to an XML Schema element 
> declaration or 
>     to an XML Schema types. When determining compatibility between two 
> WSDL 
>     operations, a message part that points to an XML Schema element 
>     declaration is considered to be incompatible with a message part that 
>     points to an XML Schema type.
> 
>     For checking the compatibility of 2 local interfaces which are in 
> different
>     interface languages, the method of checking compatibility is defined 
> by the
>     specifications which define those interface types, which must define 
> mapping
>     rules for the 2 interface types concerned.
> 
> 7. if either interface A or interface B declares a callback interface
>     then both interface A and interface B declare callback interfaces
>     and the callback interface declared on interface A is a compatible
>     subset of the callback interface declared on interface B,
>     according to points 1 through 6 above
> 
> 7.2.2 Interface Superset Compatibility
> 
> An interface B is a compatible superset of another interface A if and
> only if all of points 1 through 7 in the following list apply.
> 
> 1. interfaces A and B are either both remotable or else both local
> 2. the set of operations in interface B is the same as or is a superset 
> of the
>     operations in interface A
> 3. compatibility for individual operations of an interface is defined
>     as compatibility of the signature, i.e., the operation name,
>     input types, and output types are the same
> 4. the order of the input and output types for each operation in
>     interface B is the same as the order of the input and output types
>     for the corresponding operation in interface A
> 5. the set of Faults and Exceptions specified by each operation in
>     interface B is the same as or a subset of the set of Faults and 
> Exceptions
>     expected by the corresponding operation in interface A
> 6. For checking the compatibility of 2 remotable interfaces which are in 
> different
>     interface languages, both are mapped to WSDL 1.1 (if not already 
> WSDL 1.1) and
>     compatibility checking is done between the WSDL 1.1 mapped interfaces.
> 
>     WSDL 1.1 message parts can point to an XML Schema element 
> declaration or 
>     to an XML Schema types. When determining compatibility between two 
> WSDL 
>     operations, a message part that points to an XML Schema element 
>     declaration is considered to be incompatible with a message part that 
>     points to an XML Schema type.
> 
>     For checking the compatibility of 2 local interfaces which are in 
> different
>     interface languages, the method of checking compatibility is defined 
> by the
>     specifications which define those interface types, which must define 
> mapping
>     rules for the 2 interface types concerned.
> 7. if either interface A or interface B declares a callback interface
>     then both interface A and interface B declare callback interfaces
>     and the callback interface declared on interface A is a compatible
>     superset of the callback interface declared on interface B,
>     according to points 1 through 6 above
> 
> 
> 
> 
> 
> 
> 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]