Domain Processing
input:
run the workplace
add contributions
steps:
- add/list/remove contributions/composites/nodes
- analyze/resolve/validate contributions and their dependencies
- associate composites with nodes/apply physical binding defaults/propogate physical addresses based on domain level wiring
- read/compile-build/write composites without requiring a runtime
output:
contributions/composites configured for running on nodes
Runtime Start
input:
run the node.exe
steps:
Load extensions
create runtime artifacts (builders, activators etc)
Load definitions.xml
output
running node awaiting contribution/composite to run
Process Contribution
input:
a contribution jar or file system directory
steps:
Contribution Read
- Find all artifacts in the contribution
- Read each artifact and create a model (apart from composites which are done later)
- Aggregate all definitions.xml files
- Read composites
- Enhance composite with policy sets based on appliesTo information
- For each composite file read the xml content first...
- For each policyset in the domain...
- Extract the value of 'appliesTo' attribute with is an xpath expression
- Evaluate this expression against the composite xml
- For each node that results out of the above evaluation
- if the node contains an attribute named 'applicablePolicySets'
- concatenate to its value, the name of the PolicySet
- else
- create an attribute named 'applicablePolicySet' and set its value to the name of the PolicySet
- if the node contains an attribute named 'applicablePolicySets'
- For each policyset in the domain...
- For each composite file read the xml content first...
- Wherever applicable the composite's elements will have the additional attribute name 'applicablePolicySets'.
- Parse composites into in memory assembly model
Contribution Resolution
- resolve the contribution models against the physical artifacts available in the contribution.
output:
a contribution model in memory containing composite assembly models in memory