Patent ID: 9540920
Date: 2017-01-10
CPC Classifications: E21B,G06K,G06N

Claim:
1. A method of automating an oil & gas process performed by a plurality of process components, the method comprising: executing with at least one processor at least a portion of a dynamic phase machine, wherein the dynamic phase machine controls the plurality of process components to implement the oil & gas process and includes a plurality of phases, wherein the plurality of phases includes a first phase to which a first agent is assigned to handle a trigger for the first phase and a second phase to which a second agent is assigned to handle an action for the second phase, and wherein the trigger for the first phase defines a condition that when met causes a phase transition from the first phase to the second phase; dynamically extending the dynamic phase machine during execution of the dynamic phase machine by adding a third phase to the dynamic phase machine and assigning a third agent to handle at least one of an action and a trigger for the third phase; in response to a determination from the first agent that the condition for the trigger is met when the dynamic phase machine is in the first phase, transitioning from the first phase to the second phase; in response to transitioning from the first phase to the second phase, causing the second agent to perform the action for the second phase, including controlling at least one of the plurality of process components in response to the second agent; and dynamically building the dynamic phase machine during execution of the at least a portion of the dynamic phase machine, wherein the first, second and third agents are among a plurality of agents, and wherein dynamically building the dynamic phase machine is performed in response to execution of the plurality of agents and includes adding phases to the dynamic phase machine in response to execution of at least a first subset of the plurality of agents and assigning at least a second subset of the plurality of agents as actions, triggers, validators or limits for phases in response to execution of the second subset of the plurality of agents.