Resource Assignment
Several approaches can be utilized to find a resource to execute a specified service through the Execution Engine. Each approach is presented in the following sections and the dominance criteria between these approaches are:
static resource assignment > service specific resources assignment > global resource assignment > default resource assignment
While the static resource assignment approach specifies a concrete resource to execute the specified service, all other approaches assign a resource at runtime and are thus, considered as dynamic resource assignment behavior. All dynamic approaches can consider Capabilities.
Examples for each Resource Assignment can be found in the Tutorials
Static Resource Assignment
Static Resource Assignment can be accomplished with Resources.
Service Specific Resource Assignment
Service Specific Resource Assignment can be accomplished with Assignment Agents
Global Resource Assignment
Global Resource Assignment can be accomplished with the Table 2: Execution Engine Class Arguments assignment_agent_url that deposits an Assignment Agent for the Execution Engine, which is considered for each Resource Assignment that do not include a Static Resource Assignment or a Service Specific Resource Assignment
Default Resource Assignment
In case that none of the above presented approaches is configured for an Execution Engine, the Resource Assignment is accomplished with the Execution Engine’s default behaviour. Here, the Execution Engine first requests all available Resources to execute a service from a Device Registry. Then the Execution Engine checks the number of queue elements of each Resource and selects the resource with the fewest queue entries.