vs.characteragent
Class BasicInterpretationModule

java.lang.Object
  extended by vs.characteragent.BasicInterpretationModule
All Implemented Interfaces:
IInterpretationModule, IAgentModule, IExplainable

public class BasicInterpretationModule
extends java.lang.Object
implements IInterpretationModule


Constructor Summary
BasicInterpretationModule(ICharacterAgent owner)
           
 
Method Summary
 java.util.Set<StoryBelief> adopt(StorySettingElement sse)
          Just adopts new setting elements as beliefs
 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()
          To get the Agent
 java.util.Set<StoryBelief> interpret(StoryPerception sp)
          Interprets perceptions.
 java.util.Set<StoryBelief> reinterpret(StoryBelief sb)
          Re-interprets beliefs to generate new beliefs Current implementation: do not do any re-interpretation.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicInterpretationModule

public BasicInterpretationModule(ICharacterAgent owner)
Method Detail

adopt

public java.util.Set<StoryBelief> adopt(StorySettingElement sse)
Just adopts new setting elements as beliefs

Specified by:
adopt in interface IInterpretationModule
Parameters:
sse - the new setting
Returns:
a set of adopted beliefs.

getAgent

public ICharacterAgent getAgent()
Description copied from interface: IAgentModule
To get the Agent

Specified by:
getAgent in interface IAgentModule
Returns:
an Agent that owns this module

interpret

public java.util.Set<StoryBelief> interpret(StoryPerception sp)
Interprets perceptions. Current implementation: just translate directly Planned implementation: the domain knowledge contains belief Schemas (next to action schemas, goal schemas etc) A belief schema is an operator that specifies under which circumstances certain beliefs are adopted. E.g. a belief schema could be that if you see someone lying on the floor, and their eyes are closed, and you don't know why, you might believe they are sleeping (or dead). The implementation of interpret(StoryPerception) is then to see which belief schemas are applicable (their preconditions hold), and to assert their effects as beliefs. See also FAtiMA's implementation of the use of inference operators. Maybe only interpret "newly perceived" information, i.e. take the subset of belief schemas that match _before_ the perception was asserted, and belief schemas that match _after_ the perception was asserted.

Specified by:
interpret in interface IInterpretationModule
Parameters:
sp - the perception
Returns:
a set of formed beliefs

reinterpret

public java.util.Set<StoryBelief> reinterpret(StoryBelief sb)
Re-interprets beliefs to generate new beliefs Current implementation: do not do any re-interpretation. Planned implementation: see planned implementation of interpret(StoryPerception)

Specified by:
reinterpret in interface IInterpretationModule
Parameters:
sb - a belief to re-interpret
Returns:
a set of new story beliefs, or the empty set (if no new beliefs are formed)

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
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
Returns:
a set of fabula elements produced by the interfaced class