The collaboration bus channels and roles of the resulting collaboration C are a union of those defined in A, B, and itself. Wherever there is a name conflict, the above scoping operator ``::'' and the appropriate prefixes will be applied to resolve it automatically.
Roles can also be extended from roles defined in
ancestor collaborations or other roles defined in the same collaboration.
In the above example, role r3 in collaboration C can extend both
role r1 in collaboration A and role r2 in collaboration B
as follows.
In a sequel, conference bus channels and rules of C::r3 will be a union
of those defined in A::r1 and B::r2 respectively.