You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Introduction

  • Agents act semi-autonomously. More precisely, a number of JS7 - Workflow Instructions are performed with a Controller or with an Agent.
  • If an Agent meets a workflow instruction that is executable
    • by the Agent then autonomous execution with the Agent will apply.
    • by a Controller then this invalidates autonomy of an Agent. The Agent has to wait until the Controller is available and confirms results of the workflow instruction.
  • Scenarios
    • If a workflow is performed by executing any jobs included with the same Agent then autonomy can be assumed.
    • If a workflow assigns different Agents to jobs then - after job execution - the respective Agent hands over the order to the Controller to decide about the next Agent to be used. Such workflows cannot be executed in an autonomous manner, they require availability of the Controller.
  • From the subsequent explanations find the workflow instructions that allow Agent autonomy and the workflow instructions that require a Controller to be present.
    • If Agent autonomy cannot be guaranteed for an individual order then the Agent stores any state information with its journal and forwards the information to the Controller when the Controller becomes available.

Workflow Instructions for autonomous execution with Agents

  • JS7 - Fail Instruction
    • The Fail Instruction forces an order to transition to the FAILED state. This state transition has to be forwarded to a Controller to become visible with the JOC Cockpit user interface.
    • If the Fail Instruction is nested within in a Try / Catch Instruction then an Agent handles the Fail Instruction autonomously. Otherwise the Fail Instruction requires user intervention to cancel, to suspend or to resume the order, see JS7 - Order State Transitions.
  • JS7 - Fork / Join Instruction
    • The Fork Instruction is executed by the Agent if the first few jobs in each branch are assigned the same Agent, otherwise the Fork Instruction is executed by the Controller.
    • The corresponding Join Instruction is executed by the Controller. This behavior will change with early releases of JS7.
  • JS7 - ForkList Instruction
    • The behavior is similar to the Fork / Join Instruction.
  • JS7 - If Instruction
  • JS7 - PostNotice Instruction
    • A notice is posted independently of availability of a Controller and therefore allows a workflow to proceed execution with the same Agent.
    • The notice is forwarded to the Controller depending on its availability.
  • JS7 - Retry Instruction
  • JS7 - Try / Catch Instruction

Workflow Instructions for execution with a Controller

  • JS7 - ExpectNotice Instruction
    • This instruction requires to check notices available with JS7 - Notice Boards and therefore has to be executed by the Controller.
  • JS7 - Finish Instruction
    • The instruction technically is performed by an Agent that forwards the respective order state transition to the Controller.
    • As the Finish Instruction causes an order to leave the workflow there is no harm to Agent autonomy except for the fact that the final result of an order being no longer active with its workflow will become visible with the JOC Cockpit user interface after availability of the Controller only.
  • JS7 - Fork / Join Instruction
    • The Fork Instruction is executed by the Controller if any jobs in forked branches are assigned different Agents, otherwise the Fork Instruction is executed by the Agent.
    • The corresponding Join Instruction is executed by the Controller. This behavior will change with early releases of JS7.
  • JS7 - ForkList Instruction
    • The behavior is similar to the Fork / Join Instruction.
  • JS7 - Prompt Instruction
    • As this instruction requires acknowledgement from a 3rd party it is executed with a Controller.



  • No labels