next up previous contents
Next: Primitive Actions Up: Processes and Actions Previous: Subactions

Action Representation to PaT-Nets Control Algorithm

 

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 gif).

Given an action specification from the top-level queue, there are three possibilities:

  1. 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 gif for more on primitive actions.)
  2. 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.)
  3. 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 gif 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 up previous contents
Next: Primitive Actions Up: Processes and Actions Previous: Subactions



DTOG Group