vs.characteragent
Class CharacterProcess

java.lang.Object
  extended by vs.characteragent.BehaviourLayer
      extended by vs.characteragent.CharacterProcess
All Implemented Interfaces:
IExplainable
Direct Known Subclasses:
ActorProcess

public class CharacterProcess
extends BehaviourLayer
implements IExplainable

CharacterProcess is meant to capture the step cycle that an agent goes through, in which it appraises and copes with changes in its environment. A character process is also responsible for selecting a way to act, based on the process.

Author:
swartjes

Constructor Summary
CharacterProcess(ICharacterAgent agent)
          Constructor
 
Method Summary
 void appraise()
          Performs cognitive appraisal
 void cope()
          Performs coping
 java.util.Set<FabulaCausality> explainCausalities()
          Explain the motivations, the causalities or enablements that the interfaced class produced.
 java.util.Set<FabulaElement> explainElements()
          Explain the fabula elements that the interfaced class produced
 ICharacterAgent getAgent()
          Returns the character agent that this character process belongs to
 DeliberativeLayer getDeliberativeLayer()
          Retrieves the deliberative layer (i.e., goals and plans based layer) of this character process
 ReactiveLayer getReactiveLayer()
          Retrieves the reactive layer (i.e., reactive rule based layer) of this character process
 StoryAction selectAction()
          Selects and returns an action that the character would want to perform.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CharacterProcess

public CharacterProcess(ICharacterAgent agent)
Constructor

Parameters:
agent - the owner of this character process
Method Detail

getReactiveLayer

public ReactiveLayer getReactiveLayer()
Retrieves the reactive layer (i.e., reactive rule based layer) of this character process

Returns:
a reactive layer

getDeliberativeLayer

public DeliberativeLayer getDeliberativeLayer()
Retrieves the deliberative layer (i.e., goals and plans based layer) of this character process

Returns:
the deliberative layer

getAgent

public ICharacterAgent getAgent()
Returns the character agent that this character process belongs to

Overrides:
getAgent in class BehaviourLayer

explainCausalities

public java.util.Set<FabulaCausality> explainCausalities()
Description copied from interface: IExplainable
Explain the motivations, the causalities or enablements that the interfaced class produced.

Specified by:
explainCausalities in interface IExplainable
Overrides:
explainCausalities in class BehaviourLayer
Returns:
a set of causality declarations describing an explanation for fabula elements.

explainElements

public java.util.Set<FabulaElement> explainElements()
Description copied from interface: IExplainable
Explain the fabula elements that the interfaced class produced

Specified by:
explainElements in interface IExplainable
Overrides:
explainElements in class BehaviourLayer
Returns:
a set of fabula elements produced by the interfaced class

appraise

public void appraise()
Performs cognitive appraisal

Specified by:
appraise in class BehaviourLayer

cope

public void cope()
Performs coping

Specified by:
cope in class BehaviourLayer

selectAction

public StoryAction selectAction()
Selects and returns an action that the character would want to perform.

Specified by:
selectAction in class BehaviourLayer