vs
Interface IExplainable

All Known Subinterfaces:
ICharacterAgent, IInterpretationModule, IPerceptionManager, IPlotAgent
All Known Implementing Classes:
ActorDeliberativeLayer, ActorProcess, BasicCharacterAgent, BasicInterpretationModule, BasicPerceptionManager, BasicPlotAgent, BehaviourLayer, BetterPerceptionManager, CharacterProcess, DeliberativeLayer, EpisodicMemoryCollector, FabulaCollector, ReactiveLayer

public interface IExplainable

Any class that implements the IExplainable interface is in more or less sense able to explain the decisions it has made. For instance, a character agent receives perceptions, goes through an internal process, and selects an action. The character agent is then asked: explain(action). The character agent in turn has used its deliberative process to come to the decision, and implements explain by asking the deliberative process to explain the action. The deliberative process knows for which goal he has made a plan to come up with the action, and returns this goal.

Author:
swartjes

Method Summary
 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
 

Method Detail

explainCausalities

java.util.Set<FabulaCausality> explainCausalities()
Explain the motivations, the causalities or enablements that the interfaced class produced.

Returns:
a set of causality declarations describing an explanation for fabula elements.

explainElements

java.util.Set<FabulaElement> explainElements()
Explain the fabula elements that the interfaced class produced

Returns:
a set of fabula elements produced by the interfaced class