A provisioning engine for provisioning communications services and a
pattern language for configuring the provisioning engine. A plurality of
objects can be assembled to define provisioning models representing state
machines for carrying out common provisioning operations. The state
machines include a set of plural current states of the provisioning
model, mechanisms for generating signals, tasks, and at least one
transition operative to define conditions under which the tasks are
executed and states are added to or removed from the set of current
states. Signals can be executed instantaneously or scheduled for later
execution to permit provisioning operations to be controlled in a
temporal manner. The provisioning models can be executed as specific
instances and instances can include calls to other models to be executed
as subinstances.