Changeset 756


Ignore:
Timestamp:
12/10/2010 01:14:19 PM (10 years ago)
Author:
joao.dias
Message:
 
Location:
AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core
Files:
2 added
14 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/AgentCore.java

    r744 r756  
    2424import FAtiMA.Core.Display.AgentDisplay; 
    2525import FAtiMA.Core.Display.AgentDisplayPanel; 
     26import FAtiMA.Core.OCCAffectDerivation.OCCComponent; 
    2627import FAtiMA.Core.deliberativeLayer.DeliberativeProcess; 
    2728import FAtiMA.Core.deliberativeLayer.EmotionalPlanner; 
    2829import FAtiMA.Core.deliberativeLayer.goals.GoalLibrary; 
    2930import FAtiMA.Core.emotionalState.ActiveEmotion; 
    30 import FAtiMA.Core.emotionalState.Appraisal; 
    31 import FAtiMA.Core.emotionalState.AppraisalStructure; 
     31import FAtiMA.Core.emotionalState.AppraisalFrame; 
    3232import FAtiMA.Core.emotionalState.BaseEmotion; 
    3333import FAtiMA.Core.emotionalState.EmotionalState; 
     
    6969        protected ArrayList<IProcessExternalRequestComponent> _processExternalRequestComponents; 
    7070        protected ArrayList<IProcessPerceptionsComponent> _processPerceptionsComponents; 
     71        protected ArrayList<IAffectDerivationComponent> _affectDerivationComponents; 
     72        protected ArrayList<IAppraisalComponent> _appraisalComponents; 
    7173         
    7274        protected EmotionalState _emotionalState; 
     
    117119                _processExternalRequestComponents = new ArrayList<IProcessExternalRequestComponent>(); 
    118120                _processPerceptionsComponents = new ArrayList<IProcessPerceptionsComponent>(); 
     121                _affectDerivationComponents = new ArrayList<IAffectDerivationComponent>(); 
     122                _appraisalComponents = new ArrayList<IAppraisalComponent>(); 
    119123                 
    120124                AgentSimulationTime.GetInstance(); //This call will initialize the timer for the agent's simulation time 
     
    155159                        _deliberativeLayer = new DeliberativeProcess(goalLibrary,planner); 
    156160                        addComponent(_deliberativeLayer); 
     161                         
     162                        addComponent(new OCCComponent()); 
    157163 
    158164                        //TODO:PARSETHEGOALS 
     
    266272                { 
    267273                        _processPerceptionsComponents.add((IProcessPerceptionsComponent) c); 
     274                } 
     275                if(c instanceof IAffectDerivationComponent) 
     276                { 
     277                        _affectDerivationComponents.add((IAffectDerivationComponent) c); 
     278                } 
     279                if(c instanceof IAppraisalComponent) 
     280                { 
     281                        _appraisalComponents.add((IAppraisalComponent) c); 
    268282                } 
    269283                 
     
    397411                this._processExternalRequestComponents = (ArrayList<IProcessExternalRequestComponent>) s.readObject(); 
    398412                this._processPerceptionsComponents = (ArrayList<IProcessPerceptionsComponent>) s.readObject(); 
     413                this._affectDerivationComponents = (ArrayList<IAffectDerivationComponent>) s.readObject(); 
     414                this._appraisalComponents = (ArrayList<IAppraisalComponent>) s.readObject(); 
    399415                 
    400416                s.close(); 
     
    559575        public void Run() { 
    560576                ValuedAction action; 
    561                 AppraisalStructure appraisal; 
     577                AppraisalFrame appraisal; 
     578                ArrayList<AppraisalFrame> resultingAppraisals; 
    562579                ArrayList<BaseEmotion> emotions; 
    563580                ActiveEmotion activeEmotion; 
     
    591608                                        } 
    592609 
    593                                         //perceives new events 
     610                                        //perceives and appraises new events 
    594611                                        synchronized (this) 
    595612                                        { 
     
    603620                                                         
    604621                                                         
    605                                                         for(IComponent c : this._generalComponents.values()) 
     622                                                        appraisal = new AppraisalFrame(this,e2); 
     623                                                        for(IAppraisalComponent c : this._appraisalComponents) 
    606624                                                        { 
    607625                                                                c.perceiveEvent(this,e2); 
     626                                                                c.startAppraisal(this,e2, appraisal); 
    608627                                                        } 
    609  
    610                                                         appraisal = new AppraisalStructure(); 
    611  
    612                                                         while(appraisal.hasChanged()) 
    613                                                         { 
    614                                                                 for(IComponent c : this._generalComponents.values()) 
    615                                                                 { 
    616                                                                         c.appraisal(this,e2,appraisal); 
    617  
    618                                                                 } 
    619                                                         } 
    620  
    621                                                         emotions = Appraisal.GenerateEmotions(this, e2, appraisal); 
    622  
    623                                                         for(BaseEmotion em : emotions) 
    624                                                         { 
    625                                                                 activeEmotion = _emotionalState.AddEmotion(em, this); 
    626                                                                 if(activeEmotion != null) 
    627                                                                 { 
    628                                                                         for(IProcessEmotionComponent c : this._processEmotionComponents) 
    629                                                                         { 
    630                                                                                 c.emotionActivation(this,e2,activeEmotion); 
    631                                                                         } 
    632                                                                 } 
    633                                                         } 
    634  
    635628                                                } 
    636629                                                this._perceivedEvents.clear(); 
    637630                                        } 
    638  
    639  
     631                                         
     632                                        for(IAppraisalComponent c : this._appraisalComponents) 
     633                                        { 
     634                                                c.continueAppraisal(this); 
     635                                        } 
     636                                         
    640637                                        //if there was new data or knowledge added we must apply inference operators 
    641638                                        //update any inferred property to the outside and appraise the events 
     
    788785                        s.writeObject(_processExternalRequestComponents); 
    789786                        s.writeObject(_processPerceptionsComponents); 
     787                        s.writeObject(_affectDerivationComponents); 
     788                        s.writeObject(_appraisalComponents); 
    790789                         
    791790                        s.flush(); 
     
    889888                        s.writeObject(_processExternalRequestComponents); 
    890889                        s.writeObject(_processPerceptionsComponents); 
     890                        s.writeObject(_affectDerivationComponents); 
     891                        s.writeObject(_appraisalComponents); 
    891892                         
    892893                        //s.writeObject(_saveDirectory); 
     
    947948                        this._processExternalRequestComponents = (ArrayList<IProcessExternalRequestComponent>) s.readObject(); 
    948949                        this._processPerceptionsComponents = (ArrayList<IProcessPerceptionsComponent>) s.readObject(); 
     950                        this._affectDerivationComponents = (ArrayList<IAffectDerivationComponent>) s.readObject(); 
     951                        this._appraisalComponents = (ArrayList<IAppraisalComponent>) s.readObject(); 
    949952                         
    950953                        AgentSimulationTime.LoadState(s); 
     
    956959                } 
    957960        } 
     961 
     962 
     963        @Override 
     964        public void updateEmotions(String appraisalVariable, AppraisalFrame af) { 
     965                 
     966                ArrayList<BaseEmotion> emotions; 
     967                ActiveEmotion activeEmotion; 
     968                 
     969                for(IAffectDerivationComponent ac : this._affectDerivationComponents) 
     970                { 
     971                        emotions = ac.deriveEmotions(this, appraisalVariable, af); 
     972                        for(BaseEmotion em : emotions) 
     973                        { 
     974                                activeEmotion = _emotionalState.AddEmotion(em, this); 
     975                                if(activeEmotion != null) 
     976                                { 
     977                                        for(IProcessEmotionComponent pec : this._processEmotionComponents) 
     978                                        { 
     979                                                pec.emotionActivation(this,activeEmotion); 
     980                                        } 
     981                                } 
     982                        } 
     983                }        
     984        } 
    958985} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/AgentModel.java

    r734 r756  
    22 
    33import FAtiMA.Core.deliberativeLayer.DeliberativeProcess; 
     4import FAtiMA.Core.emotionalState.AppraisalFrame; 
    45import FAtiMA.Core.emotionalState.EmotionalState; 
    56import FAtiMA.Core.memory.Memory; 
     
    3031        public boolean isSelf(); 
    3132         
     33        public void updateEmotions(String appraisalVariable, AppraisalFrame af); 
     34         
    3235} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/EmotionalStatePanel.java

    r667 r756  
    109109        ActiveEmotion em; 
    110110        EmotionalState es = am.getEmotionalState(); 
     111        boolean updated = false; 
    111112         
    112113        //aux = new Float(es.GetArousal()); 
     
    128129                 emotionDisplay = (EmotionDisplay) _emotionDisplays.get(em.GetHashKey()); 
    129130                 emotionDisplay.SetValue(em.GetIntensity()); 
     131                 updated = true; 
    130132             }     
    131133        } 
     
    147149                _emotionDisplays.put(em.GetHashKey(),emotionDisplay);       
    148150           } 
    149             DisplayStrongestEmotion(es); 
     151           DisplayStrongestEmotion(es); 
     152           updated = true; 
    150153        } 
    151154         
    152         return false; 
     155        return updated; 
    153156    } 
    154157     
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/IComponent.java

    r742 r756  
    22 
    33import FAtiMA.Core.Display.AgentDisplayPanel; 
    4 import FAtiMA.Core.emotionalState.AppraisalStructure; 
    5 import FAtiMA.Core.sensorEffector.Event; 
    64 
    75public interface IComponent { 
     
    1513        public void updateCycle(AgentModel am, long time); 
    1614         
    17         public void perceiveEvent(AgentModel am, Event e); 
    18          
    19         public void appraisal(AgentModel am, Event e, AppraisalStructure as); 
    20          
    2115        public AgentDisplayPanel createDisplayPanel(AgentModel am); 
    2216         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/IProcessEmotionComponent.java

    r747 r756  
    22 
    33import FAtiMA.Core.emotionalState.ActiveEmotion; 
    4 import FAtiMA.Core.sensorEffector.Event; 
    54 
    65public interface IProcessEmotionComponent extends IComponent{ 
    76         
    8         public void emotionActivation(AgentModel am, Event e, ActiveEmotion em); 
     7        public void emotionActivation(AgentModel am, ActiveEmotion em); 
    98 
    109} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/DeliberativeProcess.java

    r742 r756  
    125125 
    126126import FAtiMA.Core.AgentModel; 
     127import FAtiMA.Core.IAppraisalComponent; 
    127128import FAtiMA.Core.IBehaviourComponent; 
    128129import FAtiMA.Core.IComponent; 
     
    141142import FAtiMA.Core.deliberativeLayer.plan.Step; 
    142143import FAtiMA.Core.emotionalState.ActiveEmotion; 
    143 import FAtiMA.Core.emotionalState.AppraisalStructure; 
     144import FAtiMA.Core.emotionalState.AppraisalFrame; 
    144145import FAtiMA.Core.exceptions.UnknownGoalException; 
    145146import FAtiMA.Core.sensorEffector.Event; 
     
    159160 * @author João Dias 
    160161 */ 
    161 public class DeliberativeProcess implements IComponent, IBehaviourComponent, IModelOfOtherComponent, IOptionsStrategy, IExpectedUtilityStrategy { 
     162public class DeliberativeProcess implements IComponent, IBehaviourComponent, IModelOfOtherComponent, IAppraisalComponent, IOptionsStrategy, IExpectedUtilityStrategy { 
    162163         
    163164        /** 
     
    166167        private static final long serialVersionUID = 1L; 
    167168        private static final long waitingTime = 30000; 
    168         private static final float MINIMUMUTILITY = 8; 
     169        private static final float MINIMUMUTILITY = 1; 
    169170        private static final float SELECTIONTHRESHOLD = 1.2f;  
    170171        public static final String NAME = "Deliberative"; 
     
    494495                { 
    495496                        AgentLogger.GetInstance().logAndPrint("Adding 1st level intention: " + goal.getName()); 
    496                         intention = new Intention(goal); 
     497                        intention = new Intention(am,goal); 
    497498                         
    498499                        plans = goal.getPlans(am); 
     
    508509                         
    509510                        _intentions.put(goalName,intention); 
     511                        intention.ProcessIntentionActivation(am); 
    510512                } 
    511513        } 
     
    518520                 
    519521                 
    520                 subIntention = new Intention(goal); 
     522                subIntention = new Intention(am,goal); 
    521523                plans = goal.getPlans(am); 
    522524                if(plans == null) 
     
    912914                if(_currentIntention != null) { 
    913915                        i = _currentIntention.GetSubIntention(); 
    914                          
     916                                         
    915917                        //TODO adding and removing intentions from memory. 
    916918                        // ok, this needs some explaining. If you play close attention to the following 
    917919                        // code u'll see that if an intention has no available plans (i.e. failed), I will not 
    918                         // remove the intention unless it has been strongly commited. This is intended.  
    919                         // If not strongly commited the intention needs to stay in the list of current intentions. 
     920                        // remove the intention unless it has been strongly committed. This is intended.  
     921                        // If not strongly committed the intention needs to stay in the list of current intentions. 
    920922                        // This is because if we would remove it, the agent would immediately select the intention 
    921923                        // again not knowing that he would fail to create a plan for it. So he needs to remember that  
     
    925927                        if(i.getGoal().CheckSuccess(am)) 
    926928                        { 
    927                                 if(i.IsStrongCommitment()) 
     929                                RemoveIntention(i); 
     930                                _actionMonitor = null; 
     931                                for(IGoalSuccessStrategy s: _goalSuccessStrategies) 
    928932                                { 
    929                                         RemoveIntention(i); 
    930                                         _actionMonitor = null; 
    931                                         for(IGoalSuccessStrategy s: _goalSuccessStrategies) 
    932                                         { 
    933                                                 s.perceiveGoalSuccess(am, i.getGoal()); 
    934                                         } 
    935                                         i.ProcessIntentionSuccess(am); 
    936                                          
    937                                 } 
     933                                        s.perceiveGoalSuccess(am, i.getGoal()); 
     934                                } 
     935                                i.ProcessIntentionSuccess(am);                           
    938936                        } 
    939937                        /*else if(!i.getGoal().checkPreconditions(am)) 
     
    949947                        { 
    950948                                RemoveIntention(i); 
    951                                 if(i.IsStrongCommitment()) 
     949                                 
     950                                _actionMonitor = null; 
     951                                for(IGoalFailureStrategy s: _goalFailureStrategies) 
    952952                                { 
    953                                         _actionMonitor = null; 
    954                                         for(IGoalFailureStrategy s: _goalFailureStrategies) 
    955                                         { 
    956                                                 s.perceiveGoalFailure(am, i.getGoal()); 
    957                                         } 
    958                                          i.ProcessIntentionFailure(am); 
    959                                 } 
     953                                        s.perceiveGoalFailure(am, i.getGoal()); 
     954                                } 
     955                                i.ProcessIntentionFailure(am); 
    960956                        } 
    961957                        else if(i.NumberOfAlternativePlans() == 0) 
    962958                        { 
     959                                for(IGoalFailureStrategy s: _goalFailureStrategies) 
     960                                { 
     961                                        s.perceiveGoalFailure(am, i.getGoal()); 
     962                                } 
     963                                i.ProcessIntentionFailure(am); 
    963964                                if(i.IsStrongCommitment()) 
    964965                                { 
    965966                                        RemoveIntention(i); 
    966967                                        _actionMonitor = null; 
    967                                         for(IGoalFailureStrategy s: _goalFailureStrategies) 
     968                                } 
     969                        } 
     970                        else 
     971                        { 
     972                                _selectedPlan = _planner.ThinkAbout(am, i); 
     973                        } 
     974                         
     975                        if(_actionMonitor == null && _selectedPlan != null) { 
     976                                AgentLogger.GetInstance().logAndPrint("Plan Finished: " + _selectedPlan.toString()); 
     977                                copingAction = _selectedPlan.UnexecutedAction(am); 
     978                                 
     979                                if(copingAction != null) { 
     980                                        if(!i.IsStrongCommitment()) 
    968981                                        { 
    969                                                 s.perceiveGoalFailure(am, i.getGoal()); 
     982                                                i.SetStrongCommitment(am); 
     983                                                AgentLogger.GetInstance().log("Plan Commited: " + _selectedPlan.toString()); 
    970984                                        } 
    971                                         i.ProcessIntentionFailure(am); 
    972                                 } 
    973                         } 
    974                         else 
    975                         { 
    976                                 _selectedPlan = _planner.ThinkAbout(am, i); 
    977                         } 
    978                 } 
    979                  
    980                 if(_actionMonitor == null && _selectedPlan != null) { 
    981                         AgentLogger.GetInstance().logAndPrint("Plan Finished: " + _selectedPlan.toString()); 
    982                         copingAction = _selectedPlan.UnexecutedAction(am); 
    983                          
    984                         if(copingAction != null) { 
    985                                 if(!i.IsStrongCommitment()) 
    986                                 { 
    987                                         i.SetStrongCommitment(am); 
    988                                         i.ProcessIntentionActivation(am); 
    989                                         AgentLogger.GetInstance().log("Plan Commited: " + _selectedPlan.toString()); 
    990                                 } 
    991                                 String actionName = copingAction.getName().GetFirstLiteral().toString(); 
    992                                  
    993                                 if(copingAction instanceof ActivePursuitGoal) 
    994                                 { 
    995                                         AddSubIntention(am, _currentIntention, (ActivePursuitGoal) copingAction);        
    996                                 } 
    997                                 else if(!actionName.startsWith("Inference") && !actionName.endsWith("Appraisal") && !actionName.startsWith("SA")) 
    998                                 { 
    999                                         fear = i.GetFear(am.getEmotionalState()); 
    1000                                         hope = i.GetHope(am.getEmotionalState()); 
    1001                                         if(hope != null) 
     985                                        String actionName = copingAction.getName().GetFirstLiteral().toString(); 
     986                                         
     987                                        if(copingAction instanceof ActivePursuitGoal) 
    1002988                                        { 
    1003                                                 if(fear != null) 
     989                                                AddSubIntention(am, _currentIntention, (ActivePursuitGoal) copingAction);        
     990                                        } 
     991                                        else if(!actionName.startsWith("Inference") && !actionName.endsWith("Appraisal") && !actionName.startsWith("SA")) 
     992                                        { 
     993                                                fear = i.GetFear(am.getEmotionalState()); 
     994                                                hope = i.GetHope(am.getEmotionalState()); 
     995                                                if(hope != null) 
    1004996                                                { 
    1005                                                         if(hope.GetIntensity() >= fear.GetIntensity()) 
     997                                                        if(fear != null) 
     998                                                        { 
     999                                                                if(hope.GetIntensity() >= fear.GetIntensity()) 
     1000                                                                { 
     1001                                                                        _selectedActionEmotion = hope; 
     1002                                                                } 
     1003                                                                else 
     1004                                                                { 
     1005                                                                        _selectedActionEmotion = fear; 
     1006                                                                } 
     1007                                                        } 
     1008                                                        else 
    10061009                                                        { 
    10071010                                                                _selectedActionEmotion = hope; 
    10081011                                                        } 
    1009                                                         else 
    1010                                                         { 
    1011                                                                 _selectedActionEmotion = fear; 
    1012                                                         } 
    1013                                                 } 
     1012                                                }  
    10141013                                                else 
    10151014                                                { 
    1016                                                         _selectedActionEmotion = hope; 
     1015                                                        _selectedActionEmotion = fear; 
    10171016                                                } 
    1018                                         }  
     1017                                                         
     1018                                                 
     1019                                                _selectedAction = (Step) copingAction; 
     1020                                                AgentLogger.GetInstance().log("Selecting Action: " + _selectedAction.toString() + "from plan:" +_selectedPlan.toString()); 
     1021                                        } 
     1022                                        else if(actionName.startsWith("SA")) 
     1023                                        { 
     1024                                                Effect eff; 
     1025                                         
     1026                                            for(ListIterator<Effect> li =  copingAction.getEffects().listIterator(); li.hasNext();) 
     1027                                            { 
     1028                                              eff = (Effect) li.next(); 
     1029                                              if(eff.isGrounded()) 
     1030                                                  am.getMemory().getSemanticMemory().Tell(eff.GetEffect().getName(), eff.GetEffect().GetValue().toString()); 
     1031                                            } 
     1032                                            this.CheckLinks(am); 
     1033                                        } 
    10191034                                        else 
    10201035                                        { 
    1021                                                 _selectedActionEmotion = fear; 
     1036                                                //this should never be selected 
     1037                                                System.out.println("InferenceOperator selected for execution"); 
    10221038                                        } 
    1023                                                  
    1024                                          
    1025                                         _selectedAction = (Step) copingAction; 
    1026                                         AgentLogger.GetInstance().log("Selecting Action: " + _selectedAction.toString() + "from plan:" +_selectedPlan.toString()); 
    1027                                 } 
    1028                                 else if(actionName.startsWith("SA")) 
    1029                                 { 
    1030                                         Effect eff; 
    1031                                  
    1032                                     for(ListIterator<Effect> li =  copingAction.getEffects().listIterator(); li.hasNext();) 
    1033                                     { 
    1034                                       eff = (Effect) li.next(); 
    1035                                       if(eff.isGrounded()) 
    1036                                           am.getMemory().getSemanticMemory().Tell(eff.GetEffect().getName(), eff.GetEffect().GetValue().toString()); 
    1037                                     } 
    1038                                     this.CheckLinks(am); 
    10391039                                } 
    10401040                                else 
    10411041                                { 
    1042                                         //this should never be selected 
    1043                                         System.out.println("InferenceOperator selected for execution"); 
    1044                                 } 
    1045                         } 
    1046                         else 
    1047                         { 
    1048                                 //If a complete plan does not have a valid next action to execute (ex: the next 
    1049                                 //action to execute by self contains unboundvariables), 
    1050                                 //it means that the plan cannot be executed, and the plan must be removed 
    1051                                 i.RemovePlan(_selectedPlan); 
    1052                                 AgentLogger.GetInstance().logAndPrint("Plan with invalid next action removed!"); 
     1042                                        //If a complete plan does not have a valid next action to execute (ex: the next 
     1043                                        //action to execute by self contains unboundvariables), 
     1044                                        //it means that the plan cannot be executed, and the plan must be removed 
     1045                                        i.RemovePlan(_selectedPlan); 
     1046                                        AgentLogger.GetInstance().logAndPrint("Plan with invalid next action removed!"); 
     1047                                } 
    10531048                        } 
    10541049                } 
     
    12521247        } 
    12531248 
    1254         @Override 
    1255         public void appraisal(AgentModel am, Event e, AppraisalStructure as) { 
    1256         } 
    12571249 
    12581250        @Override 
     
    12601252                return null; 
    12611253        } 
     1254         
     1255        @Override 
     1256        public void startAppraisal(AgentModel am, Event e, AppraisalFrame as) { 
     1257        } 
     1258 
     1259        @Override 
     1260        public void continueAppraisal(AgentModel am) { 
     1261        } 
    12621262} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/EmotionalPlanner.java

    r717 r756  
    115115import FAtiMA.Core.AgentModel; 
    116116import FAtiMA.Core.IntegrityValidator; 
     117import FAtiMA.Core.OCCAffectDerivation.OCCComponent; 
    117118import FAtiMA.Core.conditions.Condition; 
    118119import FAtiMA.Core.conditions.PropertyNotEqual; 
    119120import FAtiMA.Core.deliberativeLayer.goals.ActivePursuitGoal; 
     121import FAtiMA.Core.deliberativeLayer.goals.Goal; 
    120122import FAtiMA.Core.deliberativeLayer.plan.CausalConflictFlaw; 
    121123import FAtiMA.Core.deliberativeLayer.plan.CausalLink; 
     
    128130import FAtiMA.Core.deliberativeLayer.plan.Step; 
    129131import FAtiMA.Core.emotionalState.ActiveEmotion; 
    130 import FAtiMA.Core.emotionalState.Appraisal; 
    131 import FAtiMA.Core.emotionalState.BaseEmotion; 
     132import FAtiMA.Core.emotionalState.AppraisalFrame; 
    132133import FAtiMA.Core.exceptions.UnknownSpeechActException; 
    133134import FAtiMA.Core.exceptions.UnspecifiedVariableException; 
     
    408409                GoalThreat goalThreat; 
    409410                 
     411                 
     412                AppraisalFrame af; 
    410413                ActiveEmotion fearEmotion; 
    411414                ActiveEmotion hopeEmotion; 
     
    418421                 
    419422                 
     423                af = intention.getAppraisalFrame(); 
    420424                p = intention.GetBestPlan(am); //gets the best plan so far to achieve the intention 
    421425                //System.out.println("BEST PLAN: " + p); 
     
    431435                } 
    432436                 
     437                prob = p.getProbability(am); 
    433438                //APPRAISAL/REAPPRAISAL - the plan brought into the agent's mind will generate/update 
    434439                //hope and fear emotions according to the plan probability 
    435                 BaseEmotion auxEmotion = Appraisal.AppraiseGoalSuccessProbability(am, intention.getGoal(),p.getProbability(am)); 
    436                 hopeEmotion = am.getEmotionalState().UpdateProspectEmotion(auxEmotion, am); 
    437                  
    438                 auxEmotion = Appraisal.AppraiseGoalFailureProbability(am, intention.getGoal(),1-p.getProbability(am)); 
    439                 fearEmotion = am.getEmotionalState().UpdateProspectEmotion(auxEmotion, am); 
     440                af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.SUCCESSPROBABILITY, prob); 
     441                af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.FAILUREPROBABILITY, 1-prob); 
     442                 
     443                hopeEmotion = am.getEmotionalState().GetEmotion(OCCComponent.getHopeKey(af.getEvent())); 
     444                fearEmotion = am.getEmotionalState().GetEmotion(OCCComponent.getFearKey(af.getEvent())); 
    440445                 
    441446                intention.SetHope(hopeEmotion); 
     
    449454                //threshold. This threshold is ranged between 5% and 15%, it is 10% for characters in a neutral mood 
    450455                float threshold = 0.1f + am.getEmotionalState().GetMood()*0.0167f; 
    451                 if(p.getProbability(am) < threshold) { 
     456                if(prob < threshold) { 
    452457                        //this coping strategy is used in tandem with mental disengagement... 
    453458                    //that consists in lowering the goal importance 
     
    468473                        goalThreat = (GoalThreat) li.next(); 
    469474                        prob = goalThreat.getEffect().GetProbability(am); 
     475                        Goal tGoal = goalThreat.getCond().getGoal(); 
    470476                        //threatImportance = goalThreat.getCond().getGoal().GetImportanceOfFailure(am); 
    471477                        //aux = prob * threatImportance; 
    472478                        failureImportance = intention.getGoal().GetImportanceOfFailure(am); 
    473479                         
    474                         auxEmotion = Appraisal.AppraiseGoalFailureProbability(am, goalThreat.getCond().getGoal(),prob);  
    475                         threatEmotion = am.getEmotionalState().UpdateProspectEmotion(auxEmotion, am); 
     480                        AppraisalFrame auxFrame = new AppraisalFrame(am, tGoal.GetActivationEvent()); 
     481                        auxFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)6, OCCComponent.FAILUREPROBABILITY, prob); 
     482                        auxFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)6, OCCComponent.GOALCONDUCIVENESS, -tGoal.GetImportanceOfFailure(am)); 
     483                          
     484                         
     485                        threatEmotion = am.getEmotionalState().GetEmotion(OCCComponent.getFearKey(tGoal.GetActivationEvent()));  
    476486                        if(threatEmotion != null) { //if does not exist a fear caused by the threat, emotion coping is not necessary 
    477487                                threatIntensity = threatEmotion.GetIntensity(); 
     
    678688    { 
    679689            Plan p = new Plan(new ArrayList<ProtectedCondition>(),am.getDeliberativeLayer().getDetectThreatStrategy(),goal.GetSuccessConditions()); 
    680         Intention i = new Intention(goal); 
     690        Intention i = new Intention(am, goal); 
    681691        i.AddPlan(p); 
    682692        Plan completePlan = null; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/Intention.java

    r703 r756  
    4040 
    4141import FAtiMA.Core.AgentModel; 
     42import FAtiMA.Core.OCCAffectDerivation.OCCComponent; 
    4243import FAtiMA.Core.deliberativeLayer.goals.ActivePursuitGoal; 
    4344import FAtiMA.Core.deliberativeLayer.goals.Goal; 
    4445import FAtiMA.Core.deliberativeLayer.plan.Plan; 
    4546import FAtiMA.Core.emotionalState.ActiveEmotion; 
    46 import FAtiMA.Core.emotionalState.Appraisal; 
    47 import FAtiMA.Core.emotionalState.BaseEmotion; 
     47import FAtiMA.Core.emotionalState.AppraisalFrame; 
    4848import FAtiMA.Core.emotionalState.EmotionalState; 
    4949import FAtiMA.Core.sensorEffector.Event; 
     
    7272        private Intention _parentIntention = null; 
    7373        private boolean _strongCommitment; 
     74        private AppraisalFrame _appraisalFrame; 
    7475 
    7576 
     
    8182         * @see Goal 
    8283         */ 
    83         public Intention(ActivePursuitGoal g) { 
     84        public Intention(AgentModel am, ActivePursuitGoal g) { 
    8485                _goal = g; 
    8586                _planConstruction = new ArrayList<Plan>(); 
     
    8788                _hopeEmotionID = null; 
    8889                _strongCommitment = false; 
     90                _appraisalFrame = new AppraisalFrame(am, g.GetActivationEvent()); 
     91                _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short) 7, OCCComponent.GOALSTATUS, OCCComponent.GOALUNCONFIRMED); 
    8992        } 
    9093         
     
    156159        } 
    157160         
     161        public AppraisalFrame getAppraisalFrame() 
     162        { 
     163                return _appraisalFrame;  
     164        } 
     165         
    158166        public void setMainIntention(Intention i) 
    159167        { 
     
    346354        { 
    347355            Event e = _goal.GetActivationEvent(); 
    348              
    349             AgentLogger.GetInstance().logAndPrint("Adding a new Strong Intention: " + _goal.getName().toString()); 
     356            float goalConduciveness = am.getDeliberativeLayer().getUtilityStrategy().getUtility(am, _goal); 
     357            float probability = am.getDeliberativeLayer().getProbabilityStrategy().getProbability(am, _goal); 
     358             
     359            AgentLogger.GetInstance().logAndPrint("Adding a new Intention: " + _goal.getName().toString()); 
    350360           
    351361            am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
    352362             
    353             float probability = GetProbability(am); 
    354             BaseEmotion aux = Appraisal.AppraiseGoalSuccessProbability(am, _goal, probability); 
    355             ActiveEmotion hope = am.getEmotionalState().UpdateProspectEmotion(aux, am); 
    356              
    357             aux = Appraisal.AppraiseGoalFailureProbability(am, _goal, 1- probability); 
    358                 ActiveEmotion fear = am.getEmotionalState().UpdateProspectEmotion(aux, am); 
     363            _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.SUCCESSPROBABILITY, probability); 
     364            _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.FAILUREPROBABILITY, 1-probability); 
     365            _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.GOALCONDUCIVENESS, goalConduciveness); 
    359366                 
    360                 SetHope(hope); 
    361                 SetFear(fear);   
     367                //SetHope(hope); 
     368                //SetFear(fear);         
    362369        } 
    363370         
     
    367374        public void ProcessIntentionFailure(AgentModel am)  
    368375        {        
    369                          
    370376                //mental disengagement consists in lowering the goal's importance 
    371377                _goal.DecreaseImportanceOfFailure(am, 0.5f); 
     
    375381            am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
    376382             
    377             ActiveEmotion hope = GetHope(am.getEmotionalState()); 
    378             ActiveEmotion fear = GetFear(am.getEmotionalState()); 
    379             BaseEmotion em = Appraisal.AppraiseGoalFailure(am, hope,fear, _goal); 
    380             am.getEmotionalState().RemoveEmotion(hope); 
    381             am.getEmotionalState().RemoveEmotion(fear); 
    382             am.getEmotionalState().AddEmotion(em, am); 
     383            AppraisalFrame af = new AppraisalFrame(am, e); 
     384            af.SetAppraisalVariable(DeliberativeProcess.NAME,(short)8,OCCComponent.GOALSTATUS, OCCComponent.GOALDISCONFIRMED); 
     385            af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)8,OCCComponent.GOALCONDUCIVENESS, am.getDeliberativeLayer().getUtilityStrategy().getUtility(am, _goal)); 
    383386             
    384387            if(!isRootIntention()) 
     
    407410        public void ProcessIntentionSuccess(AgentModel am)  
    408411        { 
    409                  
    410                 EmotionalState es = am.getEmotionalState(); 
    411                  
    412             Event e = _goal.GetSuccessEvent(); 
    413              
    414             am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
    415              
    416             ActiveEmotion hope = GetHope(es); 
    417             ActiveEmotion fear = GetFear(es); 
    418             BaseEmotion em = Appraisal.AppraiseGoalSuccess(am, hope,fear, _goal); 
    419             es.RemoveEmotion(hope); 
    420             es.RemoveEmotion(fear); 
    421             if(em != null) 
    422             { 
    423                 es.AddEmotion(em, am); 
    424             } 
    425           
    426              
    427412            if(!isRootIntention()) 
    428413            { 
    429414                getParentIntention().CheckLinks(am); 
    430415            } 
    431                                  
    432                          
     416             
     417            Event e = _goal.GetSuccessEvent(); 
     418            am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
     419            AppraisalFrame af = new AppraisalFrame(am, e); 
     420            af.SetAppraisalVariable(DeliberativeProcess.NAME,(short)8,OCCComponent.GOALSTATUS, OCCComponent.GOALCONFIRMED); 
     421            af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)8,OCCComponent.GOALCONDUCIVENESS, am.getDeliberativeLayer().getUtilityStrategy().getUtility(am, _goal)); 
     422                                                 
    433423            AgentLogger.GetInstance().logAndPrint("Goal SUCCESS - " + getGoal().getName()); 
    434424        } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/BaseEmotion.java

    r747 r756  
    3434 
    3535import java.io.Serializable; 
     36import java.util.ArrayList; 
    3637 
    3738import FAtiMA.Core.sensorEffector.Event; 
     
    5556        protected Event _cause; 
    5657        protected Name _direction; 
    57  
    5858        protected float _potential; 
    59          
     59        protected ArrayList<String> _appraisalVariables; 
     60 
    6061        protected final short _type; 
    6162        protected final byte _valence;  
     
    7071         *                                    this parameter specifies the target 
    7172         */ 
    72         public BaseEmotion(short type, float potential, Event cause, Name direction) { 
     73        public BaseEmotion(short type, float potential, ArrayList<String> appraisalVariables, Event cause, Name direction) { 
    7374                _type = type; 
    7475                _potential = potential; 
    7576                _cause = cause; 
    7677                _direction = direction; 
     78                _appraisalVariables = appraisalVariables; 
    7779                 
    7880                if(type == EmotionType.JOY || 
     
    106108                _direction = em._direction; 
    107109                _valence = em._valence; 
     110                _appraisalVariables = em._appraisalVariables; 
    108111        } 
    109112         
     
    124127        } 
    125128         
     129        public ArrayList<String> GetAppraisalVariables() 
     130        { 
     131                return _appraisalVariables; 
     132        } 
     133         
    126134        /** 
    127135         * Gets an hask key used to index this BaseEmotion 
     
    129137         */ 
    130138        public String GetHashKey() { 
    131                 return _type + "-" + _direction + "-" + _cause; 
     139                String aux = _cause.toString(); 
     140                for(String s : _appraisalVariables) 
     141                { 
     142                        aux += "-" + s; 
     143                } 
     144                return aux; 
    132145        } 
    133146         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/EmotionalState.java

    r667 r756  
    6969import FAtiMA.Core.util.enumerables.EmotionType; 
    7070import FAtiMA.Core.util.enumerables.EmotionValence; 
    71 import FAtiMA.Core.wellFormedNames.Name; 
    7271 
    7372 
     
    151150                 
    152151                auxEmotion = null; 
    153  
    154                 if (potential > threshold) { 
    155                         if (_emotionPool.containsKey(potEm.GetHashKey())) { 
    156                                 auxEmotion = (ActiveEmotion) _emotionPool.get(potEm.GetHashKey()); 
    157                                 auxEmotion.ReforceEmotion(potential); 
    158                                 am.getMemory().getEpisodicMemory().AssociateEmotionToAction(am.getMemory(),  
    159                                                 auxEmotion, 
    160                                                 auxEmotion.GetCause()); 
    161                         } 
    162                         else { 
    163                                 auxEmotion = new ActiveEmotion(potEm, potential, threshold, decay); 
    164                                 _emotionPool.put(potEm.GetHashKey(), auxEmotion); 
    165                                 am.getMemory().getEpisodicMemory().AssociateEmotionToAction(am.getMemory(),  
    166                                                 auxEmotion, 
    167                                                 auxEmotion.GetCause()); 
    168                                 this.GenerateCompoundEmotions(potEm, am); 
    169                         } 
     152                 
     153                if(_emotionPool.containsKey(potEm.GetHashKey())) 
     154                { 
     155                        _emotionPool.remove(potEm.GetHashKey()); 
     156                } 
     157                 
     158                if(potential > threshold) 
     159                { 
     160                        auxEmotion = new ActiveEmotion(potEm, potential, threshold, decay); 
     161                        _emotionPool.put(potEm.GetHashKey(), auxEmotion); 
    170162                        this._mood.UpdateMood(auxEmotion); 
    171                 } 
    172                  
    173                 return auxEmotion; 
    174         } 
    175          
    176         public void UpdateEmotionalState(BaseEmotion em, AgentModel am) 
    177         { 
    178                 ActiveEmotion auxEmotion; 
    179                 int decay; 
    180                 EmotionDisposition disposition; 
    181          
    182  
    183                 disposition = _emotionDispositions[em._type]; 
    184                 decay = disposition.GetDecay(); 
    185                  
    186                 if (_emotionPool.containsKey(em.GetHashKey())) { 
    187                         auxEmotion = (ActiveEmotion) _emotionPool.get(em.GetHashKey()); 
    188                         auxEmotion.ReforceEmotion(em.GetPotential());                            
    189                 } 
    190                 else { 
    191                         auxEmotion = new ActiveEmotion(em, em.GetPotential(), 0, decay); 
    192                         _emotionPool.put(em.GetHashKey(), auxEmotion); 
    193163                        am.getMemory().getEpisodicMemory().AssociateEmotionToAction(am.getMemory(),  
    194164                                        auxEmotion, 
    195165                                        auxEmotion.GetCause()); 
    196                         this.GenerateCompoundEmotions(em, am); 
    197                 } 
    198                 this._mood.UpdateMood(auxEmotion); 
    199         } 
    200          
     166                        this.GenerateCompoundEmotions(potEm, am); 
     167                } 
     168                 
     169                 
     170                return auxEmotion; 
     171        } 
     172                 
    201173         
    202174        /** 
     
    291263         *                 null if no emotion is found in the EmotionalState with the given characteristics 
    292264         */ 
    293         public ActiveEmotion GetEmotion(short emotionType, Name direction, Name cause) { 
     265        /*public ActiveEmotion GetEmotion(short emotionType, Name direction, Name cause) { 
    294266                 
    295267                BaseEmotion em = new BaseEmotion(emotionType,0,new Event(cause.toString()),direction); 
    296268                return (ActiveEmotion) _emotionPool.get(em.GetHashKey()); 
    297         } 
     269        }*/ 
    298270         
    299271        /** 
     
    306278        public ActiveEmotion GetEmotion(String emotionKey) 
    307279        { 
    308                 return (ActiveEmotion) _emotionPool.get(emotionKey); 
    309                  
     280                return (ActiveEmotion) _emotionPool.get(emotionKey);     
    310281        } 
    311282         
     
    414385        } 
    415386         
    416          
    417          
    418387        public void RemoveEmotion(ActiveEmotion em) { 
    419388                if(em != null) { 
    420389                        _emotionPool.remove(em.GetHashKey()); 
    421390                } 
    422         } 
    423          
    424         public ActiveEmotion UpdateProspectEmotion(BaseEmotion em, AgentModel am ) { 
    425             ActiveEmotion aEm; 
    426             aEm = (ActiveEmotion) _emotionPool.get(em.GetHashKey()); 
    427                 if(aEm != null) { 
    428                         if(em.GetPotential() == 0)  
    429                         { 
    430                                 _emotionPool.remove(em.GetHashKey()); 
    431                                 return null; 
    432                         } 
    433                         aEm.SetIntensity(DeterminePotential(em)); 
    434                         if(aEm.GetIntensity() <= 0) { 
    435                             _emotionPool.remove(em.GetHashKey()); 
    436                             return null; 
    437                         } 
    438                         else  
    439                         { 
    440                                 am.getMemory().getEpisodicMemory().AssociateEmotionToAction(am.getMemory(),  
    441                                                 aEm, 
    442                                                 aEm.GetCause()); 
    443                                 return aEm; 
    444                         } 
    445                 } 
    446                 else { 
    447                         if(em.GetPotential() == 0) return null; 
    448                         return this.AddEmotion(em,am); 
    449                 }  
    450391        } 
    451392         
     
    462403                Iterator<BaseEmotion> i2; 
    463404                ArrayList<BaseEmotion> compoundEmotions = new ArrayList<BaseEmotion>(); 
    464                  
     405                ArrayList<String> appraisalVariables = new ArrayList<String>(); 
     406                //for now we only allow one composed emotion for event 
     407                //this should be changed by adding the appraisal variables of all emotions that generated 
     408                //the composed emotion 
     409                appraisalVariables.add("Composed"); 
     410                 
     411                //TODO move this code to the OCCComponent 
    465412                type = potEm.GetType(); 
    466413                if(type == EmotionType.JOY) { 
     
    501448                        if(emotion.GetType() == n1 && emotion.GetCause().equals(potEm.GetCause())) { 
    502449                                potential = (float) Math.log(Math.pow(potEm.GetPotential(), 2) + Math.pow(emotion.GetPotential(), 2)); 
    503                                 compoundEmotions.add(new BaseEmotion(res1, potential, potEm.GetCause(), potEm.GetDirection())); 
     450                                compoundEmotions.add(new BaseEmotion(res1, potential, appraisalVariables, potEm.GetCause(), potEm.GetDirection())); 
    504451                        } 
    505452                        if(n2!=-1 && emotion.GetType() == n2 && emotion.GetCause().equals(potEm.GetCause())) { 
    506453                                potential = (float) Math.log(Math.pow(potEm.GetPotential(), 2) + Math.pow(emotion.GetPotential(), 2)); 
    507                                 compoundEmotions.add(new BaseEmotion(res2, potential, potEm.GetCause(), potEm.GetDirection())); 
     454                                compoundEmotions.add(new BaseEmotion(res2, potential, appraisalVariables, potEm.GetCause(), potEm.GetDirection())); 
    508455                        } 
    509456                } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/ActionDetail.java

    r709 r756  
    154154                } 
    155155                 
    156                 this._emotion = new BaseEmotion(EmotionType.NEUTRAL,0,null,null); 
     156                this._emotion = new BaseEmotion(EmotionType.NEUTRAL,0,null,null,null); 
    157157                 
    158158                this._evaluation = new ArrayList<String>(); 
     
    290290        { 
    291291                boolean updated = false; 
     292 
    292293                if(em.GetIntensity() > this._emotion.GetPotential()) 
    293294                { 
    294                         this._emotion = new BaseEmotion(em.GetType(),em.GetIntensity(),em.GetCause(),em.GetDirection()); 
     295                        this._emotion = new BaseEmotion(em.GetType(),em.GetIntensity(),em.GetAppraisalVariables(), em.GetCause(),em.GetDirection()); 
    295296                        if(this._emotion.GetValence() == EmotionValence.POSITIVE) 
    296297                        { 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/Action.java

    r667 r756  
    155155                        _elicitingEmotion = new BaseEmotion(_elicitingEmotion.GetType(), 
    156156                                        newPotential, 
     157                                        new ArrayList<String>(), 
    157158                                        _elicitingEmotion.GetCause(), 
    158159                                        _elicitingEmotion.GetDirection()); 
     
    177178                        _elicitingEmotion = new BaseEmotion(_elicitingEmotion.GetType(), 
    178179                                        newPotential, 
     180                                        new ArrayList<String>(), 
    179181                                        _elicitingEmotion.GetCause(), 
    180182                                        _elicitingEmotion.GetDirection()); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/ReactiveProcess.java

    r747 r756  
    6363 
    6464import FAtiMA.Core.AgentModel; 
     65import FAtiMA.Core.IAppraisalComponent; 
    6566import FAtiMA.Core.IBehaviourComponent; 
    6667import FAtiMA.Core.IComponent; 
     
    6869import FAtiMA.Core.ValuedAction; 
    6970import FAtiMA.Core.Display.AgentDisplayPanel; 
    70 import FAtiMA.Core.emotionalState.AppraisalStructure; 
     71import FAtiMA.Core.OCCAffectDerivation.OCCComponent; 
     72import FAtiMA.Core.emotionalState.AppraisalFrame; 
    7173import FAtiMA.Core.sensorEffector.Event; 
    7274 
     
    7678 * @author João Dias 
    7779 */ 
    78 public class ReactiveProcess implements IComponent, IBehaviourComponent, IModelOfOtherComponent { 
     80public class ReactiveProcess implements IComponent, IBehaviourComponent, IModelOfOtherComponent, IAppraisalComponent { 
    7981         
    8082    /** 
     
    158160         */ 
    159161        @Override 
    160         public void appraisal(AgentModel ag, Event event, AppraisalStructure as) { 
     162        public void startAppraisal(AgentModel ag, Event event, AppraisalFrame as) { 
    161163                Reaction selfEvaluation;         
    162164                         
     
    168170                        if(selfEvaluation._desirability != null) 
    169171                        { 
    170                                 as.SetAppraisalVariable(NAME, (short)5, AppraisalStructure.DESIRABILITY, selfEvaluation._desirability.intValue()); 
     172                                as.SetAppraisalVariable(NAME, (short)5, OCCComponent.DESIRABILITY, selfEvaluation._desirability.intValue()); 
    171173                        } 
    172174                        if(selfEvaluation._desirabilityForOther != null && selfEvaluation._other != null) 
    173175                        { 
    174                                 as.SetAppraisalVariableOfOther(selfEvaluation._other.toString(), NAME, (short)5, AppraisalStructure.DESIRABILITY, selfEvaluation._desirabilityForOther.intValue()); 
     176                                as.SetAppraisalVariable(NAME, (short)5, OCCComponent.DESFOROTHER + selfEvaluation._other, selfEvaluation._desirabilityForOther.intValue()); 
    175177                        } 
    176178                        if(selfEvaluation._praiseworthiness != null) 
    177179                        { 
    178                                 as.SetAppraisalVariable(NAME, (short)5, AppraisalStructure.PRAISEWORTHINESS, selfEvaluation._praiseworthiness.intValue()); 
     180                                as.SetAppraisalVariable(NAME, (short)5, OCCComponent.PRAISEWORTHINESS, selfEvaluation._praiseworthiness.intValue()); 
    179181                        } 
    180182                        if(selfEvaluation._like != null) 
    181183                        { 
    182                                 as.SetAppraisalVariable(NAME, (short)5, AppraisalStructure.LIKE, selfEvaluation._like.intValue()); 
     184                                as.SetAppraisalVariable(NAME, (short)5, OCCComponent.LIKE, selfEvaluation._like.intValue()); 
    183185                        } 
    184186                } 
     
    291293                return null; 
    292294        } 
     295 
     296        @Override 
     297        public void continueAppraisal(AgentModel am) { 
     298                 
     299                return; 
     300        } 
    293301} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/parsers/AgentLoaderHandler.java

    r711 r756  
    5050package FAtiMA.Core.util.parsers; 
    5151 
     52import java.util.ArrayList; 
     53 
    5254import org.xml.sax.Attributes; 
    5355 
     
    122124         
    123125        minIntensity = new Integer(attributes.getValue("minIntensity")); 
    124         _elicitingEmotion = new BaseEmotion(type,minIntensity.intValue(),null,null); 
     126        _elicitingEmotion = new BaseEmotion(type,minIntensity.intValue(),new ArrayList<String>(),null,null); 
    125127        _action.SetElicitingEmotion(_elicitingEmotion); 
    126128        _reactiveLayer.getActionTendencies().AddAction(_action); 
Note: See TracChangeset for help on using the changeset viewer.