// Collect and fuse includes
compositeIncludeBuilder.build(composite);
- Clone all of the included composites into the including composite
// Expand nested composites
compositeCloneBuilder.build(composite);
- Clone all composite implementations in case they are referred to more than once
// Configure all components
componentConfigurationBuilder.build(composite);
- Configure components
- Process nested composites recursively
- Set component URI
- Initialize composite service bindings
- Initialize composite reference bindings
- Initialize component services and references
- Connect services to component type service or create new services
- Connect reference to component type reference or create new references
- Connect properties to their properties
- Create callback services on references
- Create callback references on services
- Initialize service bindings
- Initialize reference bindings
- Process nested composites recursively
- Configure sourced properties
- Resolve properties
- ConfigureBindingURIs
- Create the URIs for all service bindings
// Connect composite services and references to component service and references
compositePromotionBuilder.build(composite);
- Process nested composites recursively
- Connect composite services to the component services they promote
- Connect composite references to the component references they promote
// Configure composite services
compositeServiceConfigurationBuilder.build(composite);
- Process nested composites recursively
- For a component services whose type is composite service create a $promoted$ service on the promoted component
- Repeat for the top level composite services.
// Compute the polices across the composite/component hierarchy
compositePolicyBuilder.build(composite);
- Compute polices for all artifacts in the model based on intents, policy sets and applicable policy sets.
// Wire the components
componentWireBuilder.build(composite);
- Create targets based on the wires in the model
// Wire the composite references
compositeReferenceWireBuilder.build(composite);
- Create endpoints based on targets and explicit binding uris