Dependency

Dependencies are conditions that must be satisfied before a milestone can be considered ready. If a milestone is not yet ready, then execution may not proceed past the milestone. In the case of a start milestone, Orchestrator will not request execution of the associated plan item until all attached dependencies are satisfied. In the case of an intermediate milestone, the Process Component must halt execution at the milestone point within its internal process model until notified by Orchestrator that a milestone is ready to fire. At that point the Process Component may continue execution. This notification may occur while the Process Component is waiting at the milestone, or at any point before execution reaches the milestone.

There are three different dependency types:

  • External – satisfied when an external event is received by Orchestrator from an external system.
  • Time – satisfied when a certain time period has elapsed, or a certain absolute date and time has been reached.
  • Point – this dependency is satisfied by some milestone in another plan item having made ready.

External

External dependencies rely on an outside event occurring before it is satisfied. This event is identified by the following parameters:

  • Event Name – name identifying the type of event that must occur
  • Event ID – unique identifier for a given Event Name that identifies an external dependency as being satisfied.

Time

Time dependencies may take the form of an absolute date time, or a relative time delta. If an absolute date and time is specified then this is translated into a time delta from the point where plan execution begins. The time delta is specified in milliseconds. Once the time delta period has passed, then the dependency is considered satisfied.

Point

Point dependencies rely on the execution sequence of other plan items to be satisfied. When a parent plan item reaches a certain intermediate or end milestone, then the dependency is satisfied. Point dependencies may use parent plan items in the current plan or in a completely different plan. If a milestone is not specified, then it is assumed that the end milestone must be made ready for the dependency to be satisfied.

Some common point dependency scenarios are shown in the following diagram:

Point Dependencies

Point Dependencies

A milestone may have zero to many dependencies attached and dependency types may be mixed between external, time, and point. A milestone may have multiple external and point dependencies, but only one time dependency is permitted. If a milestone does not have any dependencies then it is made ready immediately. Otherwise the milestone is only made ready once all dependencies are satisfied.