Next: Primitive Actions
Up: Processes and Actions
Previous: Subactions
In order to produce animation, actions represented in the manner
described above must be converted into PaT-Nets. All the actions of an
agent which correspond to a given set of instructions are referred to as
the top-level actions and are maintained at the highest level in a queue
tree. Each of these high level actions might have subactions. All these
subactions are now maintained in a queue at the next level. For every
action, a PaT-Net is spawned. For every high level action, the
subactions form the children and the higher level action is assumed
completed only after all the children's actions are completed. An action
is also considered completed if the culmination conditions of some
higher level PaT-Net are satisfied. A sequence of actions is maintained
as children from left to right, the leftmost child being executed
first. Once an action is completed, the action on its right is then
considered. However, if any set of actions have to be executed in
parallel, we use the concepts of par-join, par-indy, etc
(see Section
).
Given an action specification from the top-level queue, there are three
possibilities:
-
The action is a primitive action and is added to a lower level
queue. Once there, the applicability conditions for the action are
checked. If the conditions are true, then a PaT-Net that corresponds to
the primitive action is spawned for the execution of the action. If the
conditions do not hold, another list of subactions may be added as
children of the current action node in the queue tree. (See
Section
for more on primitive actions.)
-
Object-specific information, such as an action definition defined
specifically for an object involved in the action or directions relative
to an object, etc, needs to be obtained. The expansion of the action
with object-specific information is added to the queue tree below the
current action node, including any subactions. (Whenever the object or
agent is accessed for information on the action, it is first checked if
it has been defined for that agent/object, possibly higher in the object
hierarchy. If not, then an error message is generated.)
-
The action can be expanded into subactions. Each of these subactions
then forms a child of the current action node in the queue hierarchy.
See Figure
for a simplified version of the control
algorithm which ignores most of the details of the queue hierarchy that
is maintained.
Figure: Action Representation to PaT-Nets Control Algorithm
Next: Primitive Actions
Up: Processes and Actions
Previous: Subactions
DTOG Group