Class ReactiveComponent

  • All Implemented Interfaces:
    FAtiMA.Core.componentTypes.IAppraisalDerivationComponent, FAtiMA.Core.componentTypes.IBehaviourComponent, FAtiMA.Core.componentTypes.IComponent, FAtiMA.Core.componentTypes.IModelOfOtherComponent, java.io.Serializable

    public class ReactiveComponent
    extends java.lang.Object
    implements java.io.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:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static long IGNOREDURATION  
      static java.lang.String NAME  
    • Constructor Summary

      Constructors 
      Constructor Description
      ReactiveComponent()
      Creates a new ReactiveProcess
    • Constructor Detail

      • ReactiveComponent

        public ReactiveComponent()
        Creates a new ReactiveProcess
    • Method Detail

      • 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​(java.lang.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 java.lang.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 java.lang.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