Class ReactiveComponent

java.lang.Object
FAtiMA.ReactiveComponent.ReactiveComponent
All Implemented Interfaces:
FAtiMA.Core.componentTypes.IAppraisalDerivationComponent, FAtiMA.Core.componentTypes.IBehaviourComponent, FAtiMA.Core.componentTypes.IComponent, FAtiMA.Core.componentTypes.IModelOfOtherComponent, Serializable

public class ReactiveComponent extends Object implements Serializable, FAtiMA.Core.componentTypes.IComponent, FAtiMA.Core.componentTypes.IBehaviourComponent, FAtiMA.Core.componentTypes.IModelOfOtherComponent, FAtiMA.Core.componentTypes.IAppraisalDerivationComponent
Implements FearNot's Agent Reactive Layer (appraisal and coping processes)
Author:
Joao Dias
See Also:
  • Field Details

  • Constructor Details

    • ReactiveComponent

      public ReactiveComponent()
      Creates a new ReactiveProcess
  • Method Details

    • actionSelectedForExecution

      public void actionSelectedForExecution(FAtiMA.Core.ValuedAction action)
      Specified by:
      actionSelectedForExecution in interface FAtiMA.Core.componentTypes.IBehaviourComponent
    • actionSelection

      public FAtiMA.Core.ValuedAction actionSelection(FAtiMA.Core.AgentModel am)
      Reactive Coping. Consists in selecting the most relevant action (reaction) according to the emotional state.
      Specified by:
      actionSelection in interface FAtiMA.Core.componentTypes.IBehaviourComponent
    • AddEmotionalReaction

      public void AddEmotionalReaction(Reaction emotionalReaction)
      Adds an emotional Reaction to the agent's emotional reactions
      Parameters:
      emotionalReaction - - the Reaction to add
    • appraisal

      public void appraisal(FAtiMA.Core.AgentModel ag, FAtiMA.Core.sensorEffector.Event event, FAtiMA.Core.emotionalState.AppraisalFrame af)
      Reactive appraisal. Appraises received events according to the emotional reaction rules
      Specified by:
      appraisal in interface FAtiMA.Core.componentTypes.IAppraisalDerivationComponent
    • createDisplayPanel

      public FAtiMA.Core.Display.AgentDisplayPanel createDisplayPanel(FAtiMA.Core.AgentModel am)
      Specified by:
      createDisplayPanel in interface FAtiMA.Core.componentTypes.IComponent
    • createModelOfOther

      public FAtiMA.Core.componentTypes.IComponent createModelOfOther()
      Specified by:
      createModelOfOther in interface FAtiMA.Core.componentTypes.IModelOfOtherComponent
    • EnforceCopingStrategy

      public void EnforceCopingStrategy(String coping)
    • Evaluate

      public Reaction Evaluate(FAtiMA.Core.AgentModel am, FAtiMA.Core.sensorEffector.Event event)
    • getActionTendencies

      public ActionTendencies getActionTendencies()
      Gets the agent's action tendencies
      Returns:
      the agent's ActionTendencies
    • getComponentDependencies

      public String[] getComponentDependencies()
      Specified by:
      getComponentDependencies in interface FAtiMA.Core.componentTypes.IComponent
    • getEmotionalReactions

      public EmotionalReactionTreeNode getEmotionalReactions()
      Gets the agent's emotional reactions
      Returns:
      the root EmotionalReactionTreeNode that stores the emotional reaction rules
    • initialize

      public void initialize(FAtiMA.Core.AgentModel am)
      Specified by:
      initialize in interface FAtiMA.Core.componentTypes.IComponent
    • inverseAppraisal

      public void inverseAppraisal(FAtiMA.Core.AgentModel am, FAtiMA.Core.emotionalState.AppraisalFrame af)
      Specified by:
      inverseAppraisal in interface FAtiMA.Core.componentTypes.IAppraisalDerivationComponent
    • name

      public String name()
      Specified by:
      name in interface FAtiMA.Core.componentTypes.IComponent
    • reappraisal

      public FAtiMA.Core.emotionalState.AppraisalFrame reappraisal(FAtiMA.Core.AgentModel am)
      Specified by:
      reappraisal in interface FAtiMA.Core.componentTypes.IAppraisalDerivationComponent
    • reset

      public void reset()
      Resets the reactive layer, clearing all received events that were not appraised yet
      Specified by:
      reset in interface FAtiMA.Core.componentTypes.IComponent
    • shutDown

      public void shutDown()
      prepares the reactive layer for a shutdown
    • update

      public void update(FAtiMA.Core.AgentModel am, FAtiMA.Core.sensorEffector.Event e)
      Specified by:
      update in interface FAtiMA.Core.componentTypes.IComponent
    • update

      public void update(FAtiMA.Core.AgentModel am, long time)
      Specified by:
      update in interface FAtiMA.Core.componentTypes.IComponent