Changeset 848


Ignore:
Timestamp:
01/19/2011 03:24:42 PM (10 years ago)
Author:
joao.dias
Message:
 
Location:
AgentMind/branches/FAtiMA-Modular
Files:
2 deleted
39 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/AdvancedMemoryComponent.java

    r833 r848  
    198198 
    199199        @Override 
    200         public void appraisal(AgentModel am, Event e, AppraisalFrame as) { 
     200        public void appraisal(AgentModel am, Event e, AppraisalFrame af) { 
    201201                 
    202202                //appraisal from memory 
     
    215215                        if(desirability != 0) 
    216216                        { 
    217                                 as.SetAppraisalVariable(AdvancedMemoryComponent.NAME, (short)3, OCCComponent.DESIRABILITY, desirability); 
     217                                af.SetAppraisalVariable(AdvancedMemoryComponent.NAME, (short)3, OCCComponent.DESIRABILITY, desirability); 
    218218                        }        
    219219                } 
     
    330330 
    331331        @Override 
    332         public void reappraisal(AgentModel am) { 
    333         } 
    334  
    335         @Override 
    336332        public void inverseAppraisal(AgentModel am, AppraisalFrame af) { 
    337333        } 
     334 
     335        @Override 
     336        public AppraisalFrame reappraisal(AgentModel am) { 
     337                return null; 
     338        } 
    338339} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.EmotionalIntelligence/src/FAtiMA/emotionalIntelligence/ActionTendencyOperatorFactory.java

    r729 r848  
    2020                Step s = null; 
    2121                BaseEmotion em = at.GetElicitingEmotion(); 
    22                 EmotionCondition ec = new EmotionCondition(true,new Symbol("[AGENT]"),em.GetType()); 
     22                EmotionCondition ec = new EmotionCondition(true,new Symbol("[AGENT]"),em.getType().getName()); 
    2323                ec.SetIntensity(em.GetPotential()); 
    2424                 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.EmotionalIntelligence/src/FAtiMA/emotionalIntelligence/EmotionalEpisodeCondition.java

    r805 r848  
    4242import FAtiMA.Core.memory.episodicMemory.MemoryEpisode; 
    4343import FAtiMA.Core.util.Constants; 
    44 import FAtiMA.Core.util.enumerables.EmotionType; 
    4544import FAtiMA.Core.wellFormedNames.Name; 
    4645import FAtiMA.Core.wellFormedNames.Substitution; 
     
    128127                emotion = episode.getStrongestEmotion(); 
    129128                 
    130                 try { 
    131                         if(emotion.GetType() == EmotionType.ParseType(this._emotion.toString())) 
     129                 
     130                if(emotion.getType().getName().equals(this._emotion.toString())) 
     131                { 
     132                        if(emotion.GetPotential() >= this._value) 
    132133                        { 
    133                                 if(emotion.GetPotential() >= this._value) 
    134                                 { 
    135                                         return true; 
    136                                 } 
     134                                return true; 
    137135                        } 
    138                 } catch (InvalidEmotionTypeException e) { 
    139                                 return false; 
    140                 } 
    141                  
     136                }                
    142137                 
    143138                return false; 
     
    215210                                        if(!_emotion.isGrounded()) 
    216211                                        { 
    217                                                 s = new Substitution(this._emotion,new Symbol(EmotionType.GetName(emotion.GetType()))); 
     212                                                s = new Substitution(this._emotion,new Symbol(emotion.getType().toString())); 
    218213                                                ss.AddSubstitution(s); 
    219214                                                bindingSets.add(ss); 
    220215                                        } 
    221                                         else if(emotion.GetType() == EmotionType.ParseType(this._emotion.toString())) 
     216                                        else if(emotion.getType().equals(this._emotion.toString())) 
    222217                                        { 
    223218                                                ss = new SubstitutionSet(); 
     
    242237                                        { 
    243238                                                 
    244                                                 s = new Substitution(this._emotion,new Symbol(EmotionType.GetName(emotion.GetType()))); 
     239                                                s = new Substitution(this._emotion,new Symbol(emotion.getType().getName())); 
    245240                                                ss.AddSubstitution(s); 
    246241                                                bindingSets.add(ss); 
    247242                                                 
    248243                                        } 
    249                                         else if(emotion.GetType() == EmotionType.ParseType(this._emotion.toString())) 
     244                                        else if(emotion.getType().getName().equals(this._emotion.toString())) 
    250245                                        { 
    251246                                                bindingSets.add(ss); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.EmotionalIntelligence/src/FAtiMA/emotionalIntelligence/OCCAppraisalRules.java

    r729 r848  
    44 
    55import FAtiMA.Core.AgentModel; 
     6import FAtiMA.Core.OCCAffectDerivation.DistressEmotion; 
     7import FAtiMA.Core.OCCAffectDerivation.JoyEmotion; 
    68import FAtiMA.Core.conditions.EmotionCondition; 
    79import FAtiMA.Core.conditions.NewEventCondition; 
     
    1012import FAtiMA.Core.emotionalState.EmotionDisposition; 
    1113import FAtiMA.Core.util.enumerables.ActionEvent; 
    12 import FAtiMA.Core.util.enumerables.EmotionType; 
    1314import FAtiMA.Core.util.enumerables.EventType; 
    1415import FAtiMA.Core.wellFormedNames.Name; 
     
    3839                 
    3940                joyOperator = new Step(new Symbol("[AGENT]"),Name.ParseName("JoyAppraisal()"),1.0f); 
    40                 c = new EmotionCondition(true, new Symbol("[AGENT]"), EmotionType.JOY); 
     41                c = new EmotionCondition(true, new Symbol("[AGENT]"), JoyEmotion.getInstance().getName()); 
    4142                c.SetIntensity(new Symbol("[X]")); 
    4243                aux = new Effect(am, "JoyEmotion", 1.0f,c); 
    4344                joyOperator.AddEffect(aux); 
    4445                 
    45                 disp = am.getEmotionalState().getEmotionDispositions()[EmotionType.JOY]; 
    46                 threshold = disp.GetThreshold(); 
     46                disp = am.getEmotionalState().getEmotionDisposition(JoyEmotion.getInstance().getName()); 
     47                threshold = disp.getThreshold(); 
    4748                 
    4849                params = new ArrayList<Symbol>(); 
     
    6869                //distress 
    6970                distressOperator = new Step(new Symbol("[AGENT]"),Name.ParseName("DistressAppraisal()"),1.0f); 
    70                 c = new EmotionCondition(true, new Symbol("[AGENT]"), EmotionType.DISTRESS); 
     71                c = new EmotionCondition(true, new Symbol("[AGENT]"), DistressEmotion.getInstance().getName()); 
    7172                c.SetIntensity(new Symbol("[X]")); 
    7273                aux = new Effect(am, "DistressEmotion", 1.0f,c); 
    7374                distressOperator.AddEffect(aux); 
    7475                 
    75                 disp = am.getEmotionalState().getEmotionDispositions()[EmotionType.DISTRESS]; 
    76                 threshold = disp.GetThreshold(); 
     76                disp = am.getEmotionalState().getEmotionDisposition(DistressEmotion.getInstance().getName()); 
     77                threshold = disp.getThreshold(); 
    7778                 
    7879                params = new ArrayList<Symbol>(); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.MotivationalSystem/src/FAtiMA/motivationalSystem/MotivationalComponent.java

    r809 r848  
    571571 
    572572        @Override 
    573         public void reappraisal(AgentModel am) { 
    574                 // TODO Auto-generated method stub 
     573        public AppraisalFrame reappraisal(AgentModel am) { 
     574                return null; 
    575575        } 
    576576 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.SocialRelations/src/FAtiMA/socialRelations/SocialRelationsComponent.java

    r809 r848  
    1414import FAtiMA.Core.IProcessEmotionComponent; 
    1515import FAtiMA.Core.Display.AgentDisplayPanel; 
     16import FAtiMA.Core.OCCAffectDerivation.AdmirationEmotion; 
     17import FAtiMA.Core.OCCAffectDerivation.DistressEmotion; 
     18import FAtiMA.Core.OCCAffectDerivation.GloatingEmotion; 
     19import FAtiMA.Core.OCCAffectDerivation.HappyForEmotion; 
     20import FAtiMA.Core.OCCAffectDerivation.JoyEmotion; 
    1621import FAtiMA.Core.OCCAffectDerivation.OCCComponent; 
     22import FAtiMA.Core.OCCAffectDerivation.PittyEmotion; 
     23import FAtiMA.Core.OCCAffectDerivation.ReproachEmotion; 
     24import FAtiMA.Core.OCCAffectDerivation.ResentmentEmotion; 
    1725import FAtiMA.Core.emotionalState.ActiveEmotion; 
    1826import FAtiMA.Core.emotionalState.AppraisalFrame; 
     
    2230import FAtiMA.Core.util.ConfigurationManager; 
    2331import FAtiMA.Core.util.Constants; 
    24 import FAtiMA.Core.util.enumerables.EmotionType; 
    2532 
    2633 
     
    118125        public void emotionActivation(AgentModel am, ActiveEmotion em) { 
    119126                Memory m = am.getMemory(); 
    120                 switch(em.GetType()) 
    121                 { 
    122                         case EmotionType.ADMIRATION: 
    123                         { 
    124                                 if(em.GetDirection() != null) 
    125                                 { 
    126                                         LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).increment(m,em.GetIntensity()); 
    127                                         RespectRelation.getRelation(Constants.SELF,em.GetDirection().toString()).increment(m, em.GetIntensity()); 
    128                                         break;           
    129                                 } 
    130                         } 
    131                         case EmotionType.REPROACH: 
    132                         { 
    133                                 if(em.GetDirection() != null) 
    134                                 { 
    135                                         LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).decrement(m, em.GetIntensity()); 
    136                                         RespectRelation.getRelation(Constants.SELF,em.GetDirection().toString()).decrement(m, em.GetIntensity()); 
    137                                         break; 
    138                                 } 
    139                         } 
    140                         case EmotionType.HAPPYFOR: 
    141                         { 
    142                                 if(em.GetDirection() != null) 
    143                                 { 
    144                                         LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).increment(m, em.GetIntensity()); 
    145                                         break; 
    146                                 } 
    147                         } 
    148                         case EmotionType.GLOATING: 
    149                         { 
    150                                 if(em.GetDirection() != null) 
    151                                 { 
    152                                         LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).decrement(m, em.GetIntensity()); 
    153                                         break; 
    154                                 } 
    155                         } 
    156                         case EmotionType.PITTY: 
    157                         { 
    158                                 if(em.GetDirection() != null) 
    159                                 { 
    160                                         LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).increment(m, em.GetIntensity()); 
    161                                         break; 
    162                                 } 
    163                         } 
    164                         case EmotionType.RESENTMENT: 
    165                         { 
    166                                 if(em.GetDirection() != null) 
    167                                 { 
    168                                         LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).decrement(m, em.GetIntensity()); 
    169                                         break; 
    170                                 } 
    171                         }                        
    172                         case EmotionType.JOY: 
    173                         { 
    174                                 if(em.GetCause().GetTarget() != null && em.GetCause().GetTarget().equals(Constants.SELF)) 
    175                                 { 
    176                                         LikeRelation.getRelation(Constants.SELF,em.GetCause().GetSubject()).increment(m, em.GetIntensity()); 
    177                                 } 
    178                                 break; 
    179                         } 
    180                         case EmotionType.DISTRESS: 
    181                         { 
    182                                 if(em.GetCause().GetTarget() != null && em.GetCause().GetTarget().equals(Constants.SELF)) 
    183                                 { 
    184                                         LikeRelation.getRelation(Constants.SELF,em.GetCause().GetSubject()).decrement(m, em.GetIntensity()); 
    185                                 } 
    186                                 break; 
     127                if(em.getType() == AdmirationEmotion.getInstance()) 
     128                { 
     129                        if(em.GetDirection() != null) 
     130                        { 
     131                                LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).increment(m,em.GetIntensity()); 
     132                                RespectRelation.getRelation(Constants.SELF,em.GetDirection().toString()).increment(m, em.GetIntensity());                
     133                        } 
     134                } 
     135                else if(em.getType() == ReproachEmotion.getInstance()) 
     136                { 
     137                        if(em.GetDirection() != null) 
     138                        { 
     139                                LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).decrement(m, em.GetIntensity()); 
     140                                RespectRelation.getRelation(Constants.SELF,em.GetDirection().toString()).decrement(m, em.GetIntensity()); 
     141                        } 
     142                } 
     143                else if(em.getType() == HappyForEmotion.getInstance()) 
     144                { 
     145                        if(em.GetDirection() != null) 
     146                        { 
     147                                LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).increment(m, em.GetIntensity()); 
     148                        } 
     149                } 
     150                else if(em.getType() == GloatingEmotion.getInstance()) 
     151                { 
     152                        if(em.GetDirection() != null) 
     153                        { 
     154                                LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).decrement(m, em.GetIntensity()); 
     155                        } 
     156                } 
     157                else if(em.getType() == PittyEmotion.getInstance()) 
     158                { 
     159                        if(em.GetDirection() != null) 
     160                        { 
     161                                LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).increment(m, em.GetIntensity()); 
     162                        } 
     163                } 
     164                else if(em.getType() == ResentmentEmotion.getInstance()) 
     165                { 
     166                        if(em.GetDirection() != null) 
     167                        { 
     168                                LikeRelation.getRelation(Constants.SELF,em.GetDirection().toString()).decrement(m, em.GetIntensity()); 
     169                        } 
     170                } 
     171                else if(em.getType() == JoyEmotion.getInstance()) 
     172                { 
     173                        if(em.GetCause().GetTarget() != null && em.GetCause().GetTarget().equals(Constants.SELF)) 
     174                        { 
     175                                LikeRelation.getRelation(Constants.SELF,em.GetCause().GetSubject()).increment(m, em.GetIntensity()); 
     176                        } 
     177                } 
     178                else if(em.getType() == DistressEmotion.getInstance()) 
     179                { 
     180                        if(em.GetCause().GetTarget() != null && em.GetCause().GetTarget().equals(Constants.SELF)) 
     181                        { 
     182                                LikeRelation.getRelation(Constants.SELF,em.GetCause().GetSubject()).decrement(m, em.GetIntensity()); 
    187183                        } 
    188184                } 
     
    201197 
    202198        @Override 
    203         public void reappraisal(AgentModel am) { 
    204                 // TODO Auto-generated method stub 
    205                  
     199        public AppraisalFrame reappraisal(AgentModel am) { 
     200                return null; 
    206201        } 
    207202} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.ToM/src/FAtiMA/ToM/ModelOfOther.java

    r809 r848  
    122122                                //Agent model has to be null or the appraisal frame will generate emotions when we set the appraisal 
    123123                                // variables 
    124                                 af = new AppraisalFrame(null,perceivedEmotion.GetCause()); 
     124                                af = new AppraisalFrame(perceivedEmotion.GetCause()); 
    125125                                 
    126126                                for(IAffectDerivationComponent c : _affectDerivationComponents) 
     
    212212 
    213213        @Override 
    214         public void updateEmotions(String appraisalVariable, AppraisalFrame af) { 
     214        public void updateEmotions(AppraisalFrame af) { 
    215215                ArrayList<BaseEmotion> emotions; 
    216216                ActiveEmotion activeEmotion; 
    217217                 
    218                 for(IAffectDerivationComponent ac : this._affectDerivationComponents) 
    219                 { 
    220                         emotions = ac.affectDerivation(this, appraisalVariable, af); 
    221                         for(BaseEmotion em : emotions) 
    222                         { 
    223                                 activeEmotion =  _es.AddEmotion(em, this); 
    224                                 if(activeEmotion != null) 
     218                if(af.hasChanged()) 
     219                { 
     220                        for(IAffectDerivationComponent ac : this._affectDerivationComponents) 
     221                        {        
     222                                emotions = ac.affectDerivation(this, af); 
     223                                for(BaseEmotion em : emotions) 
    225224                                { 
    226                                         for(IProcessEmotionComponent pec : this._processEmotionComponents) 
     225                                        activeEmotion = _es.AddEmotion(em, this); 
     226                                        if(activeEmotion != null) 
    227227                                        { 
    228                                                 pec.emotionActivation(this,activeEmotion); 
     228                                                for(IProcessEmotionComponent pec : this._processEmotionComponents) 
     229                                                { 
     230                                                        pec.emotionActivation(this,activeEmotion); 
     231                                                } 
    229232                                        } 
    230233                                } 
    231234                        } 
    232                 } 
     235                }        
    233236        } 
    234237 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.ToM/src/FAtiMA/ToM/ToMComponent.java

    r809 r848  
    141141                        ModelOfOther m = _ToM.get(s); 
    142142                        e3 = e2.ApplyPerspective(s); 
    143                         otherAF = new AppraisalFrame(m,e3); 
     143                        otherAF = new AppraisalFrame(e3); 
    144144                        m.appraisal(e3, otherAF); 
    145145                         
     
    253253 
    254254        @Override 
    255         public void reappraisal(AgentModel am) { 
     255        public AppraisalFrame reappraisal(AgentModel am) { 
     256                return null; 
    256257        } 
    257258 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.culture/src/FAtiMA/culture/CulturalDimensionsComponent.java

    r810 r848  
    326326 
    327327        @Override 
    328         public void reappraisal(AgentModel am) { 
    329                 // TODO Auto-generated method stub       
     328        public AppraisalFrame reappraisal(AgentModel am) { 
     329                return null;     
    330330        } 
    331331 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/AgentCore.java

    r833 r848  
    3333import FAtiMA.Core.emotionalState.BaseEmotion; 
    3434import FAtiMA.Core.emotionalState.EmotionalState; 
     35import FAtiMA.Core.emotionalState.NeutralEmotion; 
    3536import FAtiMA.Core.exceptions.ActionsParsingException; 
    3637import FAtiMA.Core.exceptions.GoalLibParsingException; 
     
    4950import FAtiMA.Core.util.VersionChecker; 
    5051import FAtiMA.Core.util.enumerables.AgentPlatform; 
    51 import FAtiMA.Core.util.enumerables.EmotionType; 
    5252import FAtiMA.Core.util.parsers.AgentLoaderHandler; 
    5353import FAtiMA.Core.util.parsers.BinaryStringConverter; 
     
    8888        protected String _displayName;  
    8989        protected SpeechAct _speechAct; 
    90         protected short _currentEmotion; 
     90        protected String _currentEmotion; 
    9191        protected long _numberOfCycles; 
    9292        protected long _totalexecutingtime=0; 
     
    109109                _shutdown = false; 
    110110                _numberOfCycles = 0; 
    111                 _currentEmotion = EmotionType.NEUTRAL; //neutral emotion - no emotion 
     111                _currentEmotion = NeutralEmotion.getInstance().getName(); //neutral emotion - no emotion 
    112112                _actionsForExecution = new ArrayList<ValuedAction>(); 
    113113                _perceivedEvents = new ArrayList<Event>(); 
     
    440440                this._sex = (String) s.readObject(); 
    441441                this._speechAct = (SpeechAct) s.readObject(); 
    442                 this._currentEmotion = ((Short) s.readObject()).shortValue(); 
     442                this._currentEmotion = ((String) s.readObject()); 
    443443                this._displayName = (String) s.readObject(); 
    444444                this._showStateWindow = ((Boolean) s.readObject()).booleanValue(); 
     
    634634                float bestActionValue; 
    635635                float value; 
    636                 AppraisalFrame appraisal; 
     636                AppraisalFrame appraisalFrame; 
    637637                 
    638638                long updateTime = System.currentTimeMillis(); 
     
    672672                                                        } 
    673673                                                         
    674                                                         appraisal = new AppraisalFrame(this,e2); 
     674                                                        appraisalFrame = new AppraisalFrame(e2); 
    675675                                                        for(IAppraisalDerivationComponent c : this._appraisalComponents) 
    676676                                                        { 
    677                                                                 c.appraisal(this,e2, appraisal); 
     677                                                                c.appraisal(this,e2, appraisalFrame); 
     678                                                                updateEmotions(appraisalFrame); 
    678679                                                        } 
    679680                                                } 
     
    683684                                        for(IAppraisalDerivationComponent c : this._appraisalComponents) 
    684685                                        { 
    685                                                 c.reappraisal(this); 
     686                                                appraisalFrame = c.reappraisal(this); 
     687                                                updateEmotions(appraisalFrame); 
    686688                                        } 
    687689                                         
     
    873875                        s.writeObject(_sex); 
    874876                        s.writeObject(_speechAct); 
    875                         s.writeObject(new Short(_currentEmotion)); 
     877                        s.writeObject(_currentEmotion); 
    876878                        s.writeObject(_displayName); 
    877879                        s.writeObject(new Boolean(_showStateWindow)); 
     
    962964                        //s.writeObject(_sex); 
    963965                        s.writeObject(_speechAct); 
    964                         s.writeObject(new Short(_currentEmotion)); 
     966                        s.writeObject(_currentEmotion); 
    965967                        s.writeObject(_displayName); 
    966968                        //s.writeObject(new Boolean(_showStateWindow)); 
     
    10221024                        //this._sex = (String) s.readObject(); 
    10231025                        this._speechAct = (SpeechAct) s.readObject(); 
    1024                         this._currentEmotion = ((Short) s.readObject()).shortValue(); 
     1026                        this._currentEmotion = (String) s.readObject(); 
    10251027                        this._displayName = (String) s.readObject(); 
    10261028                        //this._showStateWindow = ((Boolean) s.readObject()).booleanValue(); 
     
    10471049        } 
    10481050 
    1049  
    1050         @Override 
    1051         public void updateEmotions(String appraisalVariable, AppraisalFrame af) { 
     1051        public void updateEmotions(AppraisalFrame af) { 
    10521052                 
    10531053                ArrayList<BaseEmotion> emotions; 
    10541054                ActiveEmotion activeEmotion; 
    10551055                 
    1056                 for(IAffectDerivationComponent ac : this._affectDerivationComponents) 
    1057                 { 
    1058                         emotions = ac.affectDerivation(this, appraisalVariable, af); 
    1059                         for(BaseEmotion em : emotions) 
    1060                         { 
    1061                                 activeEmotion = _emotionalState.AddEmotion(em, this); 
    1062                                 if(activeEmotion != null) 
     1056                         
     1057                if(af.hasChanged()) 
     1058                { 
     1059                        for(IAffectDerivationComponent ac : this._affectDerivationComponents) 
     1060                        {        
     1061                                emotions = ac.affectDerivation(this, af); 
     1062                                for(BaseEmotion em : emotions) 
    10631063                                { 
    1064                                         for(IProcessEmotionComponent pec : this._processEmotionComponents) 
     1064                                        activeEmotion = _emotionalState.AddEmotion(em, this); 
     1065                                        if(activeEmotion != null) 
    10651066                                        { 
    1066                                                 pec.emotionActivation(this,activeEmotion); 
     1067                                                for(IProcessEmotionComponent pec : this._processEmotionComponents) 
     1068                                                { 
     1069                                                        pec.emotionActivation(this,activeEmotion); 
     1070                                                } 
    10671071                                        } 
    10681072                                } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/AgentModel.java

    r756 r848  
    3131        public boolean isSelf(); 
    3232         
    33         public void updateEmotions(String appraisalVariable, AppraisalFrame af); 
     33        public void updateEmotions(AppraisalFrame af); 
    3434         
    3535} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/ActionDisplay.java

    r667 r848  
    99 
    1010import FAtiMA.Core.reactiveLayer.Action; 
    11 import FAtiMA.Core.util.enumerables.EmotionType; 
    1211 
    1312public class ActionDisplay extends JPanel { 
     
    3433        this.add(em1); 
    3534         
    36         JLabel em2 = new JLabel(EmotionType.GetName(a.GetElicitingEmotion().GetType())); 
     35        JLabel em2 = new JLabel(a.GetElicitingEmotion().getType().getName()); 
    3736        em2.setMaximumSize(d1); 
    3837        em2.setMinimumSize(d1); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/EmotionDisplay.java

    r667 r848  
    3838 
    3939import FAtiMA.Core.emotionalState.ActiveEmotion; 
    40 import FAtiMA.Core.util.enumerables.EmotionType; 
     40import FAtiMA.Core.util.enumerables.EmotionValence; 
    4141 
    4242 
     
    5252    public EmotionDisplay(ActiveEmotion em) { 
    5353        _panel = new JPanel(); 
    54         _panel.setBorder(BorderFactory.createTitledBorder(EmotionType.GetName(em.GetType()) + " " + em.GetCause().toString())); 
     54        _panel.setBorder(BorderFactory.createTitledBorder(em.getType().getName() + " " + em.GetCause().toString())); 
    5555        _panel.setMaximumSize(new Dimension(300,60)); 
    5656 
    5757        _bar = new JProgressBar(0,100); 
    5858        _bar.setStringPainted(true); 
    59         switch (em.GetType()) { 
    60                 case EmotionType.FEAR: { 
    61                     _bar.setForeground(new Color(255,0,0)); 
    62                     break; 
    63                 } 
    64                 case EmotionType.HOPE: { 
    65                     _bar.setForeground(new Color(0,255,0)); 
    66                     break; 
    67                 } 
    68                 case EmotionType.DISTRESS: { 
     59        switch (em.getType().getValence()) { 
     60                case EmotionValence.NEGATIVE: { 
    6961                    _bar.setForeground(new Color(100,0,0)); 
    7062                    break; 
    7163                } 
    72                 case EmotionType.JOY: { 
     64                case EmotionValence.POSITIVE: { 
    7365                    _bar.setForeground(new Color(0,100,0)); 
    7466                    break; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/MemoryDetailPanel.java

    r667 r848  
    3939 
    4040import FAtiMA.Core.memory.episodicMemory.ActionDetail; 
    41 import FAtiMA.Core.util.enumerables.EmotionType; 
    4241 
    4342 
     
    163162        this.add(_parameters);*/ 
    164163         
    165         _feeling = new JTextField(EmotionType.GetName(detail.getEmotion().GetType()) + "-"  
     164        _feeling = new JTextField(detail.getEmotion().getType().getName() + "-"  
    166165                        + detail.getEmotion().GetPotential()); 
    167166        _feeling.setMinimumSize(new Dimension(110,30)); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/RecordDetailPanel.java

    r667 r848  
    1010 
    1111import FAtiMA.Core.memory.episodicMemory.ActionDetail; 
    12 import FAtiMA.Core.util.enumerables.EmotionType; 
    1312 
    1413public class RecordDetailPanel extends JPanel { 
     
    120119        this.add(_parameters);*/ 
    121120         
    122         _feeling = new JTextField(EmotionType.GetName(detail.getEmotion().GetType()) + "-"  
     121        _feeling = new JTextField(detail.getEmotion().getType().getName() + "-"  
    123122                        + detail.getEmotion().GetPotential()); 
    124123        _feeling.setMinimumSize(new Dimension(110,30)); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/IAffectDerivationComponent.java

    r807 r848  
    88public interface IAffectDerivationComponent extends IComponent{ 
    99         
    10         public ArrayList<BaseEmotion> affectDerivation(AgentModel am, String appraisalVariable, AppraisalFrame af); 
     10        public ArrayList<BaseEmotion> affectDerivation(AgentModel am, AppraisalFrame af); 
    1111        public void inverseAffectDerivation(AgentModel am, BaseEmotion em, AppraisalFrame af); 
    1212         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/IAppraisalDerivationComponent.java

    r806 r848  
    1010        public void inverseAppraisal(AgentModel am, AppraisalFrame af); 
    1111         
    12         public void reappraisal(AgentModel am); 
     12        public AppraisalFrame reappraisal(AgentModel am); 
    1313 
    1414} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/OCCAffectDerivation/OCCComponent.java

    r808 r848  
    1313import FAtiMA.Core.emotionalState.BaseEmotion; 
    1414import FAtiMA.Core.emotionalState.EmotionDisposition; 
     15import FAtiMA.Core.emotionalState.EmotionType; 
    1516import FAtiMA.Core.sensorEffector.Event; 
    16 import FAtiMA.Core.util.enumerables.EmotionType; 
    1717import FAtiMA.Core.wellFormedNames.Name; 
    1818 
     
    8080         
    8181        @Override 
    82         public ArrayList<BaseEmotion> affectDerivation(AgentModel am, String appraisalVariable, AppraisalFrame af) { 
     82        public ArrayList<BaseEmotion> affectDerivation(AgentModel am, AppraisalFrame af) { 
    8383                 
    8484                ArrayList<BaseEmotion> emotions = new ArrayList<BaseEmotion>(); 
     
    8888                float status; 
    8989                 
    90                 float value = af.getAppraisalVariable(appraisalVariable); 
    91                  
    92                 if(appraisalVariable.equals(DESIRABILITY)) 
    93                 { 
    94                         if(value!=0) 
     90                if(af.containsAppraisalVariable(DESIRABILITY)) 
     91                { 
     92                        float desirability = af.getAppraisalVariable(DESIRABILITY); 
     93                        if(desirability!=0) 
    9594                        { 
    96                                 emotions.add(OCCAppraiseWellBeing(event, value)); 
     95                                emotions.add(OCCAppraiseWellBeing(event, desirability)); 
    9796                                String other; 
    9897                                float desirabilityForOther; 
     
    106105                                                if(desirabilityForOther != 0) 
    107106                                                { 
    108                                                         emotions.add(OCCAppraiseFortuneOfOthers(event, value, desirabilityForOther, other)); 
     107                                                        emotions.add(OCCAppraiseFortuneOfOthers(event, desirability, desirabilityForOther, other)); 
    109108                                                } 
    110109                                                 
     
    113112                        } 
    114113                } 
    115                 else if(appraisalVariable.equals(PRAISEWORTHINESS)) 
    116                 { 
    117                         if(value!=0) 
     114                if(af.containsAppraisalVariable(PRAISEWORTHINESS)) 
     115                { 
     116                        float praiseworthiness = af.getAppraisalVariable(PRAISEWORTHINESS); 
     117                        if(praiseworthiness!=0) 
    118118                        { 
    119                                 emotions.add(OCCAppraisePraiseworthiness(am.getName(), event, value)); 
    120                         } 
    121                 } 
    122                 else if(appraisalVariable.equals(LIKE)) 
    123                 { 
    124                         if(value!=0) 
     119                                emotions.add(OCCAppraisePraiseworthiness(am.getName(), event, praiseworthiness)); 
     120                        } 
     121                } 
     122                if(af.containsAppraisalVariable(LIKE)) 
     123                { 
     124                        float like = af.getAppraisalVariable(LIKE); 
     125                        if(like!=0) 
    125126                        { 
    126                                 emotions.add(OCCAppraiseAttribution(event, value)); 
    127                         } 
    128                 } 
    129                 else if(appraisalVariable.equals(SUCCESSPROBABILITY)) 
    130                 { 
    131                         status = af.getAppraisalVariable(GOALSTATUS); 
     127                                emotions.add(OCCAppraiseAttribution(event, like)); 
     128                        } 
     129                } 
     130                if(af.containsAppraisalVariable(GOALCONDUCIVENESS)) 
     131                { 
    132132                        float goalConduciveness = af.getAppraisalVariable(GOALCONDUCIVENESS); 
    133                         if(goalConduciveness != 0) 
    134                         { 
    135                                 if(status == GOALUNCONFIRMED) 
    136                                 { 
    137                                         emotions.add(AppraiseGoalSuccessProbability(am, event, goalConduciveness, value)); 
    138                                 } 
    139                         } 
    140                 } 
    141                 else if(appraisalVariable.equals(FAILUREPROBABILITY)) 
    142                 { 
    143                         status = af.getAppraisalVariable(GOALSTATUS); 
    144                         float goalConduciveness = af.getAppraisalVariable(GOALCONDUCIVENESS); 
    145                         if(goalConduciveness != 0) 
    146                         { 
    147                                 if(status == GOALUNCONFIRMED) 
    148                                 { 
    149                                         emotions.add(AppraiseGoalFailureProbability(am, event, goalConduciveness, value)); 
    150                                 } 
    151                         } 
    152                 } 
    153                 else if(appraisalVariable.equals(GOALCONDUCIVENESS)) 
    154                 { 
    155                         if(value!=0) 
     133                        if(goalConduciveness!=0) 
    156134                        { 
    157135                                status = af.getAppraisalVariable(GOALSTATUS); 
     
    161139                                        if(prob != 0) 
    162140                                        { 
    163                                                 emotions.add(AppraiseGoalSuccessProbability(am, event, value, prob)); 
     141                                                emotions.add(AppraiseGoalSuccessProbability(am, event, goalConduciveness, prob)); 
    164142                                        } 
    165143                                         
     
    167145                                        if(prob != 0) 
    168146                                        { 
    169                                                 emotions.add(AppraiseGoalFailureProbability(am, event, value, prob)); 
     147                                                emotions.add(AppraiseGoalFailureProbability(am, event, goalConduciveness, prob)); 
    170148                                        } 
    171149                                } 
     
    198176                                } 
    199177                        } 
    200                         else if(appraisalVariable.startsWith(DESFOROTHER)) 
    201                         { 
    202                                 if(value!=0) 
    203                                 { 
    204                                         String other = appraisalVariable.substring(DESFOROTHER.length()); 
    205                                         float desirability = af.getAppraisalVariable(DESIRABILITY); 
    206                                          
    207                                         emotions.add(OCCAppraiseFortuneOfOthers(event, desirability, value, other)); 
    208                                 } 
    209                         } 
    210178                } 
    211179                 
     
    218186        { 
    219187                //ignoring mood for now 
    220                 EmotionDisposition disposition = am.getEmotionalState().getEmotionDispositions()[em.GetType()]; 
    221                  
    222                 int threshold = disposition.GetThreshold(); 
     188                 
     189                EmotionDisposition emotionDisposition = am.getEmotionalState().getEmotionDisposition(em.getType().getName()); 
     190                int threshold = emotionDisposition.getThreshold(); 
    223191                float potentialValue = em.GetPotential() + threshold;  
    224192                 
    225                 if(em.GetType() == EmotionType.LOVE) 
     193                if(em.getType() == LoveEmotion.getInstance()) 
    226194                { 
    227195                        af.SetAppraisalVariable("", (short)1, LIKE, potentialValue * 1.43f); 
    228196                } 
    229                 else if(em.GetType() == EmotionType.HATE) 
     197                else if(em.getType() == HateEmotion.getInstance()) 
    230198                { 
    231199                        af.SetAppraisalVariable("", (short)1, LIKE, -potentialValue * 1.43f); 
    232200                } 
    233                 else if(em.GetType() == EmotionType.JOY) 
     201                else if(em.getType() == JoyEmotion.getInstance()) 
    234202                { 
    235203                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
    236204                } 
    237                 else if(em.GetType() == EmotionType.DISTRESS) 
     205                else if(em.getType() == DistressEmotion.getInstance()) 
    238206                { 
    239207                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
    240208                } 
    241                 else if(em.GetType() == EmotionType.PRIDE || em.GetType() == EmotionType.ADMIRATION) 
     209                else if(em.getType() == PrideEmotion.getInstance() || em.getType() == AdmirationEmotion.getInstance()) 
    242210                { 
    243211                        af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, potentialValue); 
    244212                } 
    245                 else if(em.GetType() == EmotionType.SHAME || em.GetType() == EmotionType.REPROACH) 
     213                else if(em.getType() == ShameEmotion.getInstance() || em.getType() == ReproachEmotion.getInstance()) 
    246214                { 
    247215                        af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, -potentialValue); 
    248216                } 
    249                 else if(em.GetType() == EmotionType.GLOATING) 
     217                else if(em.getType() == GloatingEmotion.getInstance()) 
    250218                { 
    251219                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
    252220                        //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, -potentialValue); 
    253221                } 
    254                 else if(em.GetType() == EmotionType.HAPPYFOR) 
     222                else if(em.getType() == HappyForEmotion.getInstance()) 
    255223                { 
    256224                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
    257225                        //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, potentialValue); 
    258226                } 
    259                 else if(em.GetType() == EmotionType.PITTY) 
     227                else if(em.getType() == PittyEmotion.getInstance()) 
    260228                { 
    261229                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
    262230                        //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, -potentialValue); 
    263231                } 
    264                 else if(em.GetType() == EmotionType.RESENTMENT) 
     232                else if(em.getType() == ResentmentEmotion.getInstance()) 
    265233                { 
    266234                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
    267235                        //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, potentialValue); 
    268236                } 
    269                 else if(em.GetType() == EmotionType.GRATIFICATION || em.GetType() == EmotionType.GRATITUDE) 
     237                /*else if(em.getType() == GratificationEmotioEmotionType.GRATIFICATION || em.GetType() == EmotionType.GRATITUDE) 
    270238                { 
    271239                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
     
    276244                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
    277245                        af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, -potentialValue); 
    278                 } 
     246                }*/ 
    279247        } 
    280248         
     
    282250        { 
    283251                BaseEmotion em; 
    284                 ArrayList<String> appraisalVariables = new ArrayList<String>(); 
    285                 appraisalVariables.add(LIKE); 
    286252                 
    287253                if(like >= 0) { 
    288                         em = new BaseEmotion(EmotionType.LOVE, like*0.7f, appraisalVariables, event, Name.ParseName(event.GetTarget())); 
     254                        em = new BaseEmotion(LoveEmotion.getInstance(), like*0.7f, event, Name.ParseName(event.GetTarget())); 
    289255                } 
    290256                else { 
    291                         em = new BaseEmotion(EmotionType.HATE, -like*0.7f, appraisalVariables, event, Name.ParseName(event.GetTarget())); 
     257                        em = new BaseEmotion(HateEmotion.getInstance(), -like*0.7f, event, Name.ParseName(event.GetTarget())); 
    292258                } 
    293259                 
     
    297263        private static BaseEmotion OCCAppraiseWellBeing(Event event, float desirability) { 
    298264                BaseEmotion em; 
    299                 ArrayList<String> appraisalVariables = new ArrayList<String>(); 
    300                 appraisalVariables.add(DESIRABILITY); 
    301265                 
    302266                if(desirability >= 0) { 
    303                         em = new BaseEmotion(EmotionType.JOY, desirability, appraisalVariables, event, null); 
     267                        em = new BaseEmotion(JoyEmotion.getInstance(), desirability, event); 
    304268                } 
    305269                else { 
    306                         em = new BaseEmotion(EmotionType.DISTRESS, -desirability, appraisalVariables, event, null); 
     270                        em = new BaseEmotion(DistressEmotion.getInstance(), -desirability, event); 
    307271                } 
    308272                return em; 
     
    311275        private static BaseEmotion OCCAppraisePraiseworthiness(String appraisingAgent, Event event, float praiseworthiness) { 
    312276                BaseEmotion em; 
    313                 ArrayList<String> appraisalVariables = new ArrayList<String>(); 
    314                 appraisalVariables.add(PRAISEWORTHINESS); 
    315277                 
    316278                if(praiseworthiness >= 0) { 
    317279                        if(event.GetSubject().equals(appraisingAgent)) { 
    318                                 em = new BaseEmotion(EmotionType.PRIDE, praiseworthiness, appraisalVariables, event, Name.ParseName("SELF")); 
     280                                em = new BaseEmotion(PrideEmotion.getInstance(), praiseworthiness, event, Name.ParseName("SELF")); 
    319281                        } 
    320282                        else { 
    321                                 em = new BaseEmotion(EmotionType.ADMIRATION, praiseworthiness, appraisalVariables, event, Name.ParseName(event.GetSubject())); 
     283                                em = new BaseEmotion(AdmirationEmotion.getInstance(), praiseworthiness, event, Name.ParseName(event.GetSubject())); 
    322284                        } 
    323285                } 
    324286                else { 
    325287                        if(event.GetSubject().equals(appraisingAgent)) { 
    326                                 em = new BaseEmotion(EmotionType.SHAME, -praiseworthiness, appraisalVariables, event, Name.ParseName("SELF")); 
     288                                em = new BaseEmotion(ShameEmotion.getInstance(), -praiseworthiness, event, Name.ParseName("SELF")); 
    327289                        } 
    328290                        else { 
    329                                 em = new BaseEmotion(EmotionType.REPROACH, -praiseworthiness, appraisalVariables, event, Name.ParseName(event.GetSubject())); 
     291                                em = new BaseEmotion(ReproachEmotion.getInstance(), -praiseworthiness, event, Name.ParseName(event.GetSubject())); 
    330292                        } 
    331293                } 
     
    366328                float potential; 
    367329                potential = prob * goalConduciveness; 
    368                 ArrayList<String> appraisalVariables = new ArrayList<String>(); 
    369                 appraisalVariables.add(GOALCONDUCIVENESS); 
    370                 appraisalVariables.add(FAILUREPROBABILITY); 
    371                  
    372                 BaseEmotion em = new  BaseEmotion(EmotionType.FEAR, potential, appraisalVariables, e, null); 
     330                 
     331                BaseEmotion em = new  BaseEmotion(FearEmotion.getInstance(), potential, e); 
    373332                 
    374333                return em; 
     
    385344                float potential; 
    386345                potential = prob * goalConduciveness; 
    387                 ArrayList<String> appraisalVariables = new ArrayList<String>(); 
    388                 appraisalVariables.add(GOALCONDUCIVENESS); 
    389                 appraisalVariables.add(SUCCESSPROBABILITY); 
    390                  
    391                 BaseEmotion em = new BaseEmotion(EmotionType.HOPE, potential, appraisalVariables, e, null); 
     346         
     347                BaseEmotion em = new BaseEmotion(HopeEmotion.getInstance(), potential, e); 
    392348         
    393349                return em; 
     
    401357         */ 
    402358        public static BaseEmotion AppraiseGoalFailure(AgentModel am, ActiveEmotion hopeEmotion, ActiveEmotion fearEmotion, float conduciveness, Event e) { 
    403                 return AppraiseGoalEnd(EmotionType.DISAPPOINTMENT,EmotionType.FEARSCONFIRMED,hopeEmotion,fearEmotion,conduciveness,e); 
     359                return AppraiseGoalEnd(DisappointmentEmotion.getInstance(),FearsConfirmedEmotion.getInstance(),hopeEmotion,fearEmotion,conduciveness,e); 
    404360        } 
    405361         
     
    414370         */ 
    415371        public static BaseEmotion AppraiseGoalSuccess(AgentModel am, ActiveEmotion hopeEmotion, ActiveEmotion fearEmotion, float conduciveness, Event e) { 
    416                 return AppraiseGoalEnd(EmotionType.SATISFACTION,EmotionType.RELIEF,hopeEmotion,fearEmotion,conduciveness,e); 
     372                return AppraiseGoalEnd(SatisfactionEmotion.getInstance(),ReliefEmotion.getInstance(),hopeEmotion,fearEmotion,conduciveness,e); 
    417373        } 
    418374 
     
    422378                BaseEmotion em; 
    423379                float potential; 
    424                 ArrayList<String> appraisalVariables = new ArrayList<String>(); 
    425                 appraisalVariables.add(DESIRABILITY); 
    426                 appraisalVariables.add(DESFOROTHER + target); 
    427                  
    428380                 
    429381                potential = (Math.abs(desirabilityForOther) + Math.abs(desirability)) / 2.0f; 
     
    431383                if(desirability >= 0) { 
    432384                        if(desirabilityForOther >= 0) { 
    433                                 em = new BaseEmotion(EmotionType.HAPPYFOR, potential, appraisalVariables, event, Name.ParseName(target));        
     385                                em = new BaseEmotion(HappyForEmotion.getInstance(), potential, event, Name.ParseName(target));   
    434386                        } 
    435387                        else { 
    436                                 em = new BaseEmotion(EmotionType.GLOATING, potential, appraisalVariables, event, Name.ParseName(target)); 
     388                                em = new BaseEmotion(GloatingEmotion.getInstance(), potential, event, Name.ParseName(target)); 
    437389                        } 
    438390                } 
    439391                else { 
    440392                        if(desirabilityForOther >= 0) { 
    441                                 em = new BaseEmotion(EmotionType.RESENTMENT, potential, appraisalVariables, event, Name.ParseName(target)); 
     393                                em = new BaseEmotion(ResentmentEmotion.getInstance(), potential, event, Name.ParseName(target)); 
    442394                        } 
    443395                        else { 
    444                                 em = new BaseEmotion(EmotionType.PITTY, potential, appraisalVariables, event, Name.ParseName(target)); 
    445                         } 
    446                 } 
    447                  
    448                 return em; 
    449         } 
    450          
    451         private static BaseEmotion AppraiseGoalEnd(short hopefullOutcome, short fearfullOutcome,  
     396                                em = new BaseEmotion(PittyEmotion.getInstance(), potential, event, Name.ParseName(target)); 
     397                        } 
     398                } 
     399                 
     400                return em; 
     401        } 
     402         
     403        private static BaseEmotion AppraiseGoalEnd(EmotionType hopefullOutcome, EmotionType fearfullOutcome,  
    452404                        ActiveEmotion hopeEmotion, ActiveEmotion fearEmotion, float goalConduciveness, Event e) { 
    453405         
    454                 short finalEmotion; 
     406                EmotionType finalEmotion; 
    455407                float potential = 0; 
    456                  
    457                 ArrayList<String> appraisalVariables = new ArrayList<String>(); 
    458                 appraisalVariables.add(GOALCONDUCIVENESS); 
    459                 appraisalVariables.add(GOALSTATUS); 
    460408                 
    461409                if(hopeEmotion != null) { 
     
    478426                potential = (potential +  2* goalConduciveness) / 3; 
    479427                 
    480                 return new BaseEmotion(finalEmotion, potential, appraisalVariables, e, null); 
     428                return new BaseEmotion(finalEmotion, potential, e); 
    481429        } 
    482430 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/conditions/EmotionCondition.java

    r667 r848  
    4242import FAtiMA.Core.memory.semanticMemory.KnowledgeBase; 
    4343import FAtiMA.Core.util.Constants; 
    44 import FAtiMA.Core.util.enumerables.EmotionType; 
    4544import FAtiMA.Core.wellFormedNames.Name; 
    4645import FAtiMA.Core.wellFormedNames.Substitution; 
     
    5655        private static final long serialVersionUID = 1L; 
    5756         
    58         protected short _emotionType; 
     57        protected String _emotionType; 
    5958        protected Symbol _intensity; 
    6059        protected Symbol _direction; 
     
    8483                if(aux != null) 
    8584                { 
    86                         ec = new EmotionCondition(active,new Symbol(aux),EmotionType.ParseType(emotionType)); 
     85                        ec = new EmotionCondition(active,new Symbol(aux),emotionType); 
    8786                } 
    8887                else 
    8988                { 
    90                         ec = new EmotionCondition(active, 
    91                                         EmotionType.ParseType(emotionType)); 
     89                        ec = new EmotionCondition(active,emotionType); 
    9290                } 
    9391                 
     
    119117        } 
    120118         
    121         public EmotionCondition(boolean active, short emotion) 
     119        public EmotionCondition(boolean active, String emotion) 
    122120        { 
    123121                this._positive = active; 
     
    130128        } 
    131129         
    132         public EmotionCondition(boolean active, Symbol ToM, short emotion) 
     130        public EmotionCondition(boolean active, Symbol ToM, String emotion) 
    133131        { 
    134132                this._positive = active; 
     
    159157        private void UpdateName() 
    160158        { 
    161                 String aux = EmotionType.GetName(this._emotionType) + "(";  
     159                String aux = this._emotionType + "(";  
    162160                 
    163161                if(this._direction != null) 
     
    233231                { 
    234232                        aem = (ActiveEmotion) it.next(); 
    235                         if(aem.GetType() == this._emotionType) 
     233                        if(aem.getType().getName().equals(this._emotionType)) 
    236234                        { 
    237235                                if(this._intensity.isGrounded()) 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/conditions/EmotionalEpisodeCondition.java

    r667 r848  
    4040import FAtiMA.Core.memory.episodicMemory.MemoryEpisode; 
    4141import FAtiMA.Core.util.Constants; 
    42 import FAtiMA.Core.util.enumerables.EmotionType; 
    4342import FAtiMA.Core.wellFormedNames.Name; 
    4443import FAtiMA.Core.wellFormedNames.Substitution; 
     
    126125                emotion = episode.getStrongestEmotion(); 
    127126                 
    128                 try { 
    129                         if(emotion.GetType() == EmotionType.ParseType(this._emotion.toString())) 
     127                 
     128                if(emotion.getType().getName().equals(this._emotion.toString())) 
     129                { 
     130                        if(emotion.GetPotential() >= this._value) 
    130131                        { 
    131                                 if(emotion.GetPotential() >= this._value) 
    132                                 { 
    133                                         return true; 
    134                                 } 
     132                                return true; 
    135133                        } 
    136                 } catch (InvalidEmotionTypeException e) { 
    137                                 return false; 
    138                 } 
    139                  
     134                } 
    140135                 
    141136                return false; 
     
    180175                                        if(!_emotion.isGrounded()) 
    181176                                        { 
    182                                                 s = new Substitution(this._emotion,new Symbol(EmotionType.GetName(emotion.GetType()))); 
     177                                                s = new Substitution(this._emotion,new Symbol(emotion.getType().getName())); 
    183178                                                ss.AddSubstitution(s); 
    184179                                                bindingSets.add(ss); 
    185180                                        } 
    186                                         else if(emotion.GetType() == EmotionType.ParseType(this._emotion.toString())) 
     181                                        else if(emotion.getType().getName().equals(this._emotion.toString())); 
    187182                                        { 
    188183                                                ss = new SubstitutionSet(); 
     
    207202                                        { 
    208203                                                 
    209                                                 s = new Substitution(this._emotion,new Symbol(EmotionType.GetName(emotion.GetType()))); 
     204                                                s = new Substitution(this._emotion,new Symbol(emotion.getType().getName())); 
    210205                                                ss.AddSubstitution(s); 
    211206                                                bindingSets.add(ss); 
    212207                                                 
    213208                                        } 
    214                                         else if(emotion.GetType() == EmotionType.ParseType(this._emotion.toString())) 
     209                                        else if(emotion.getType().getName().equals(this._emotion.toString())) 
    215210                                        { 
    216211                                                bindingSets.add(ss); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/DeliberativeProcess.java

    r806 r848  
    12731273 
    12741274        @Override 
    1275         public void reappraisal(AgentModel am) { 
     1275        public AppraisalFrame reappraisal(AgentModel am) { 
     1276                return null; 
    12761277        } 
    12771278 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/EmotionalPlanner.java

    r801 r848  
    490490                        failureImportance = intention.getGoal().GetImportanceOfFailure(am); 
    491491                         
    492                         AppraisalFrame auxFrame = new AppraisalFrame(am, tGoal.GetActivationEvent()); 
     492                        AppraisalFrame auxFrame = new AppraisalFrame(tGoal.GetActivationEvent()); 
    493493                        auxFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)6, OCCComponent.FAILUREPROBABILITY, prob); 
    494494                        auxFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)6, OCCComponent.GOALCONDUCIVENESS, -tGoal.GetImportanceOfFailure(am)); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/Intention.java

    r801 r848  
    9090                _hopeEmotionID = null; 
    9191                _strongCommitment = false; 
    92                 _appraisalFrame = new AppraisalFrame(am, g.GetActivationEvent()); 
     92                _appraisalFrame = new AppraisalFrame(g.GetActivationEvent()); 
    9393                _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short) 7, OCCComponent.GOALSTATUS, OCCComponent.GOALUNCONFIRMED); 
    9494        } 
     
    399399            am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
    400400             
    401             AppraisalFrame af = new AppraisalFrame(am, e); 
     401            AppraisalFrame af = new AppraisalFrame(e); 
    402402            af.SetAppraisalVariable(DeliberativeProcess.NAME,(short)8,OCCComponent.GOALSTATUS, OCCComponent.GOALDISCONFIRMED); 
    403403            af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)8,OCCComponent.GOALCONDUCIVENESS, am.getDeliberativeLayer().getUtilityStrategy().getUtility(am, _goal)); 
     
    435435            Event e = _goal.GetSuccessEvent(); 
    436436            am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
    437             AppraisalFrame af = new AppraisalFrame(am, e); 
     437            AppraisalFrame af = new AppraisalFrame(e); 
    438438            af.SetAppraisalVariable(DeliberativeProcess.NAME,(short)8,OCCComponent.GOALSTATUS, OCCComponent.GOALCONFIRMED); 
    439439            af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)8,OCCComponent.GOALCONDUCIVENESS, am.getDeliberativeLayer().getUtilityStrategy().getUtility(am, _goal)); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/ActiveEmotion.java

    r667 r848  
    3636 
    3737import FAtiMA.Core.AgentSimulationTime; 
    38 import FAtiMA.Core.util.enumerables.EmotionType; 
    3938 
    4039/** 
     
    145144         */ 
    146145        public String toXml() { 
    147                 return "<Emotion t0=\"" + _t0 + "\" type=\"" + EmotionType.GetName(_type) +  
    148                                 "\" valence=\"" + _valence +  
     146                return "<Emotion t0=\"" + _t0 + "\" type=\"" + _type.getName() +  
     147                                "\" valence=\"" + _type.getValence() +  
    149148                                "\" cause=\"" + _cause + "\" direction=\"" + _direction 
    150149                                + "\" intensity=\"" + _intensity + "\" />"; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/AppraisalFrame.java

    r808 r848  
    3232import java.util.HashMap; 
    3333 
    34 import FAtiMA.Core.AgentModel; 
    3534import FAtiMA.Core.sensorEffector.Event; 
    3635 
     
    3837         
    3938         
     39        /** 
     40         *  
     41         */ 
     42        private static final long serialVersionUID = 1L; 
     43         
     44        private static final short DEFAULTCOMPONENTWEIGHT = 5; 
     45 
    4046        private class Pair 
    4147        { 
     
    6268         
    6369        private Event _event; 
    64         private AgentModel _am; 
    6570        private HashMap<String,AppraisalVariable> _appraisal; 
    6671         
     
    6974        private boolean _empty; 
    7075         
    71         public AppraisalFrame(AgentModel am, Event e) 
     76        public AppraisalFrame(Event e) 
    7277        { 
    7378                _event = e; 
    74                 _changed = true; 
     79                _changed = false; 
    7580                _empty = true; 
    76                 _am = am; 
    7781                _appraisal = new HashMap<String,AppraisalVariable>(); 
    7882        } 
     
    8387        } 
    8488         
    85         public void SetAppraisalVariable(String component, short weight, String appraisalVariable, float value) 
     89        public void SetAppraisalVariable(String componentName, String appraisalVariableName, float value) 
     90        { 
     91                SetAppraisalVariable(componentName, DEFAULTCOMPONENTWEIGHT, appraisalVariableName, value); 
     92        } 
     93         
     94        public void SetAppraisalVariable(String componentName, short componentWeight, String appraisalVariableName, float value) 
    8695        { 
    8796                AppraisalVariable av; 
    8897                 
    89                 if(_appraisal.containsKey(appraisalVariable)) 
     98                if(_appraisal.containsKey(appraisalVariableName)) 
    9099                { 
    91                         av = _appraisal.get(appraisalVariable); 
     100                        av = _appraisal.get(appraisalVariableName); 
    92101                } 
    93102                else 
    94103                { 
    95                         av = new AppraisalVariable(appraisalVariable); 
    96                         _appraisal.put(appraisalVariable, av); 
     104                        av = new AppraisalVariable(appraisalVariableName); 
     105                        _appraisal.put(appraisalVariableName, av); 
    97106                } 
    98107                 
    99108                //replacing or setting up a new value? 
    100                 if(av._values.containsKey(component)) 
     109                if(av._values.containsKey(componentName)) 
    101110                { 
    102111                        //replacing an existing value 
    103                         Pair p = av._values.get(component); 
     112                        Pair p = av._values.get(componentName); 
    104113                        if(p._value != value) 
    105114                        { 
     
    107116                                p._value = value; 
    108117                                _changed = true; 
    109                                 if(_am != null) 
    110                                 { 
    111                                         _am.updateEmotions(appraisalVariable, this); 
    112                                 } 
     118                         
    113119                                //nothing else needs to be done in this case 
    114120                        } 
     
    117123                { 
    118124                        //setting up a new value 
    119                         Pair p = new Pair(weight, value); 
    120                         av._weight += weight; 
     125                        Pair p = new Pair(componentWeight, value); 
     126                        av._weight += componentWeight; 
    121127                         
    122                         av._values.put(component,p); 
     128                        av._values.put(componentName,p); 
    123129                        _empty = false; 
    124                         if(_am != null) 
    125                         { 
    126                                 _am.updateEmotions(appraisalVariable, this); 
    127                         } 
     130                 
    128131                        _changed = true;         
    129132                }        
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/BaseEmotion.java

    r808 r848  
    3434 
    3535import java.io.Serializable; 
    36 import java.util.ArrayList; 
    3736 
    3837import FAtiMA.Core.sensorEffector.Event; 
    39 import FAtiMA.Core.util.enumerables.EmotionType; 
    40 import FAtiMA.Core.util.enumerables.EmotionValence; 
    4138import FAtiMA.Core.wellFormedNames.Name; 
    4239 
     
    5754        protected Name _direction; 
    5855        protected float _potential; 
    59         protected ArrayList<String> _appraisalVariables; 
    6056 
    61         protected final short _type; 
    62         protected final byte _valence;  
     57        protected final EmotionType _type;  
    6358         
    6459        /** 
     
    7166         *                                    this parameter specifies the target 
    7267         */ 
    73         public BaseEmotion(short type, float potential, ArrayList<String> appraisalVariables, Event cause, Name direction) { 
     68        public BaseEmotion(EmotionType type, float potential, Event cause, Name direction) { 
    7469                _type = type; 
    7570                _potential = potential; 
    7671                _cause = cause; 
    7772                _direction = direction; 
    78                 _appraisalVariables = appraisalVariables; 
    79                  
    80                 if(type == EmotionType.JOY || 
    81                                 type == EmotionType.LOVE || 
    82                                 type == EmotionType.HOPE || 
    83                                 type == EmotionType.SATISFACTION || 
    84                                 type == EmotionType.RELIEF || 
    85                                 type == EmotionType.GLOATING || 
    86                                 type == EmotionType.HAPPYFOR || 
    87                                 type == EmotionType.ADMIRATION || 
    88                                 type == EmotionType.PRIDE ||  
    89                                 type == EmotionType.GRATIFICATION || 
    90                                 type == EmotionType.GRATITUDE || 
    91                                 type == EmotionType.EXPECTED_REWARD || 
    92                                 type == EmotionType.STRONGER_REWARD || 
    93                                 type == EmotionType.WEAKER_REWARD || 
    94                                 type == EmotionType.UNEXPECTED_REWARD 
    95                                 )  
    96                 { 
    97                         _valence = EmotionValence.POSITIVE; 
    98                 } 
    99                 else  
    100                 { 
    101                         _valence = EmotionValence.NEGATIVE; 
    102                 } 
     73        } 
     74         
     75        public BaseEmotion(EmotionType type, float potential, Event cause) { 
     76                this(type,potential,cause,null); 
    10377        } 
    10478         
     
    11286                _cause = em._cause; 
    11387                _direction = em._direction; 
    114                 _valence = em._valence; 
    115                 _appraisalVariables = em._appraisalVariables; 
    11688        } 
    11789         
     
    132104        } 
    133105         
    134         public ArrayList<String> GetAppraisalVariables() 
    135         { 
    136                 return _appraisalVariables; 
    137         } 
    138106         
    139107        /** 
     
    143111        public String GetHashKey() { 
    144112                String aux = _cause.toString()+_cause.GetTime(); 
    145                 for(String s : _appraisalVariables) 
     113                for(String s : _type.getAppraisalVariables()) 
    146114                { 
    147115                        aux += "-" + s; 
     116                } 
     117                if(_direction!=null) 
     118                { 
     119                        aux += _direction; 
    148120                } 
    149121                return aux; 
     
    163135         * @see EmotionType enumerable for the set of possible emotion types 
    164136         */ 
    165         public short GetType() { 
     137        public EmotionType getType() { 
    166138                return _type; 
    167139        } 
     
    172144         * @see EmotionValence enumerable 
    173145         */ 
    174         public byte GetValence() { 
    175                 return _valence; 
     146        public byte getValence() { 
     147                return _type.getValence(); 
    176148        } 
    177149         
     
    204176         */ 
    205177        public String toString() { 
    206                 return EmotionType.GetName(_type) + ": " + _cause + " " + _direction;  
     178                return _type.getName() + ": " + _cause + " " + _direction;  
    207179        } 
    208180} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/EmotionDisposition.java

    r667 r848  
    4848        private static final long serialVersionUID = 1L; 
    4949         
     50        private String _emotion; 
    5051        private int _decay; 
    51         private short _emotionType; 
    5252        private int _threshold; 
    5353 
     
    5555         * Creates a new EmotionDisposition 
    5656         *  
    57          * @param emotionType - a short value representing the type of the Emotion (ex: Fear, Hope, etc) 
    5857         * @param threshold - the threshold for the emotion 
    5958         * @param decay - the decay rate for the emotion 
    6059         *  
    61          * @see the enumerable EmotionType to see the possible types of Emotion 
    6260         */ 
    63         public EmotionDisposition(short emotionType, int threshold, int decay) { 
    64                 _emotionType = emotionType; 
     61        public EmotionDisposition(String emotion, int threshold, int decay) { 
     62                _emotion = emotion; 
    6563                _threshold = threshold; 
    6664                _decay = decay; 
     
    7169         * @return the decay rate 
    7270         */ 
    73         public int GetDecay() { 
     71        public int getDecay() { 
    7472                return _decay; 
    75         } 
    76  
    77         /** 
    78          * Gets the emotion's type 
    79          * @return a short representing the emotion type (enumerable) 
    80          * @see the enumerable EmotionType 
    81          */ 
    82         public short GetEmotionType() { 
    83                 return _emotionType; 
    8473        } 
    8574 
     
    8877         * @return the threshold 
    8978         */ 
    90         public int GetThreshold() { 
     79        public int getThreshold() { 
    9180                return _threshold; 
     81        } 
     82         
     83        public String getEmotion() 
     84        { 
     85                return _emotion; 
    9286        } 
    9387         
     
    9791         */ 
    9892        public String toString() { 
    99                 return "Emotion: " + _emotionType + " Threshold: " + _threshold + " Decay: " + _decay; 
     93                return "Emotion: " + _emotion + " Threshold: " + _threshold + " Decay: " + _decay; 
    10094        } 
    10195} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/EmotionalState.java

    r808 r848  
    5858 
    5959import java.io.Serializable; 
    60 import java.util.ArrayList; 
    6160import java.util.Collection; 
    6261import java.util.Hashtable; 
     
    6766import FAtiMA.Core.AgentSimulationTime; 
    6867import FAtiMA.Core.sensorEffector.Event; 
    69 import FAtiMA.Core.util.enumerables.EmotionType; 
    7068import FAtiMA.Core.util.enumerables.EmotionValence; 
    7169 
     
    8583        private static final long serialVersionUID = 1L; 
    8684         
    87          
    88         protected EmotionDisposition[] _emotionDispositions; 
     85        private static final EmotionDisposition DEFAULT_EMOTION_DISPOSITION = new EmotionDisposition("default",0,5); 
     86         
    8987        protected Hashtable<String, ActiveEmotion> _emotionPool; 
     88        protected Hashtable<String, EmotionDisposition> _emotionDispositions; 
    9089         
    9190        protected long _lastTime; 
     
    9695         */ 
    9796        public EmotionalState() { 
    98                 _emotionDispositions = new EmotionDisposition[30]; 
    9997                _emotionPool = new Hashtable<String, ActiveEmotion>(); 
     98                _emotionDispositions = new Hashtable<String,EmotionDisposition>(); 
     99                 
    100100                _mood = new Mood(); 
    101101                _lastTime = AgentSimulationTime.GetInstance().Time(); 
     
    106106 
    107107                //positive emotion 
    108                 if (potEm._valence == EmotionValence.POSITIVE) { 
     108                if (potEm.getValence() == EmotionValence.POSITIVE) { 
    109109                        //if good mood(positive), will favor a positive emotion 
    110110                        //if bad mood(negative), will make it harder  
     
    139139                int decay; 
    140140                ActiveEmotion auxEmotion; 
    141                 EmotionDisposition disposition; 
    142141                boolean reappraisal = false; 
    143142                 
     
    145144 
    146145                potential = DeterminePotential(potEm); 
    147  
    148                 disposition = _emotionDispositions[potEm._type]; 
    149                 threshold = disposition.GetThreshold(); 
    150                 decay = disposition.GetDecay(); 
     146                 
     147                EmotionDisposition disposition = getEmotionDisposition(potEm.getType().getName()); 
     148 
     149                threshold = disposition.getThreshold(); 
     150                decay = disposition.getDecay(); 
    151151                 
    152152                auxEmotion = null; 
     
    169169                                        auxEmotion, 
    170170                                        auxEmotion.GetCause()); 
    171                         this.GenerateCompoundEmotions(potEm, am); 
     171                        //this.GenerateCompoundEmotions(potEm, am); 
    172172                } 
    173173                 
     
    194194                int decay; 
    195195                ActiveEmotion auxEmotion; 
    196                 EmotionDisposition disposition; 
    197196 
    198197                potential = DeterminePotential(potEm); 
    199198 
    200                 disposition = _emotionDispositions[potEm._type]; 
    201                 threshold = disposition.GetThreshold(); 
    202                 decay = disposition.GetDecay(); 
     199                EmotionDisposition emotionDisposition = getEmotionDisposition(potEm.getType().getName()); 
     200                 
     201                threshold = emotionDisposition.getThreshold(); 
     202                decay = emotionDisposition.getDecay(); 
    203203                 
    204204                auxEmotion = null; 
     
    211211        } 
    212212         
    213  
    214         /** 
    215          * Adds an EmotionDisposition (threshold + decay) to a particular emotion type 
    216          * @param emotionDis - the EmotionDisposition to add 
    217          * @see EmotionDisposition 
    218          */ 
    219         public void AddEmotionDisposition(EmotionDisposition emotionDis) { 
    220                 _emotionDispositions[emotionDis.GetEmotionType()] = emotionDis; 
    221         } 
    222          
    223          
    224         public EmotionDisposition[] getEmotionDispositions() 
    225         { 
    226                 return _emotionDispositions; 
    227         } 
    228213 
    229214         
     
    396381        } 
    397382         
    398         private void GenerateCompoundEmotions(BaseEmotion potEm, AgentModel am) { 
     383        /*private void GenerateCompoundEmotions(BaseEmotion potEm, AgentModel am) { 
    399384                ActiveEmotion emotion; 
    400385                short n1; 
     
    466451                        AddEmotion(i2.next(), am); 
    467452                } 
    468         } 
     453        }*/ 
     454         
     455        public void AddEmotionDisposition(EmotionDisposition emotionDisposition) 
     456        { 
     457                _emotionDispositions.put(emotionDisposition.getEmotion(), emotionDisposition); 
     458        } 
     459         
     460         
     461        public Collection<EmotionDisposition> getEmotionDispositions() 
     462        { 
     463                return _emotionDispositions.values(); 
     464        } 
     465         
     466        public EmotionDisposition getEmotionDisposition(String emotionName) 
     467        { 
     468                if(_emotionDispositions.containsKey(emotionName)) 
     469                { 
     470                        return _emotionDispositions.get(emotionName); 
     471                } 
     472                else return DEFAULT_EMOTION_DISPOSITION; 
     473        } 
     474         
    469475} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/Mood.java

    r667 r848  
    110110                float newMood; 
    111111                 
    112                 if(em.GetValence() == EmotionValence.POSITIVE) { 
     112                if(em.getValence() == EmotionValence.POSITIVE) { 
    113113                    newMood = _intensity + (em.GetIntensity() * EmotionalPameters.EmotionInfluenceOnMood); 
    114114                    //mood is limited between -10 and 10 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/ActionDetail.java

    r782 r848  
    4646import FAtiMA.Core.emotionalState.ActiveEmotion; 
    4747import FAtiMA.Core.emotionalState.BaseEmotion; 
     48import FAtiMA.Core.emotionalState.NeutralEmotion; 
    4849import FAtiMA.Core.memory.Memory; 
    4950import FAtiMA.Core.memory.semanticMemory.KnowledgeSlot; 
     
    5152import FAtiMA.Core.sensorEffector.Parameter; 
    5253import FAtiMA.Core.util.enumerables.ActionEvent; 
    53 import FAtiMA.Core.util.enumerables.EmotionType; 
    5454import FAtiMA.Core.util.enumerables.EmotionValence; 
    5555import FAtiMA.Core.util.enumerables.EventType; 
    5656import FAtiMA.Core.util.enumerables.GoalEvent; 
    57 import FAtiMA.Core.wellFormedNames.Name; 
    5857import FAtiMA.Core.wellFormedNames.Substitution; 
    5958 
     
    127126                } 
    128127                 
    129                 this._emotion = new BaseEmotion(EmotionType.NEUTRAL,0,new ArrayList<String>(),e,null); 
     128                this._emotion = new BaseEmotion(NeutralEmotion.getInstance(),0,e); 
    130129        } 
    131130 
     
    348347                if(em.GetIntensity() > this._emotion.GetPotential()) 
    349348                { 
    350                         this._emotion = new BaseEmotion(em.GetType(),em.GetIntensity(),em.GetAppraisalVariables(), em.GetCause(),em.GetDirection()); 
    351                         if(this._emotion.GetValence() == EmotionValence.POSITIVE) 
     349                        this._emotion = new BaseEmotion(em.getType(),em.GetIntensity(), em.GetCause(),em.GetDirection()); 
     350                        if(this._emotion.getType().getValence() == EmotionValence.POSITIVE) 
    352351                        { 
    353352                                this._desirability = (float) Math.floor(em.GetPotential()); 
     
    583582                String action = "<Event>"; 
    584583                action += "<EventID>" + this.getID() + "</EventID>"; 
    585                 action += "<Emotion>" + EmotionType.GetName(this.getEmotion().GetType()) + " " + this.getEmotion().GetPotential() + "</Emotion>"; 
     584                action += "<Emotion>" + this.getEmotion().getType().getName() + " " + this.getEmotion().GetPotential() + "</Emotion>"; 
    586585                action += "<Subject>" + this.getSubject() + "</Subject>"; 
    587586                action += "<Intention>" + this.getIntention() + "</Intention>"; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/EpisodicMemory.java

    r782 r848  
    77import FAtiMA.Core.deliberativeLayer.goals.Goal; 
    88import FAtiMA.Core.emotionalState.ActiveEmotion; 
     9import FAtiMA.Core.emotionalState.NeutralEmotion; 
    910import FAtiMA.Core.memory.Memory; 
    1011import FAtiMA.Core.sensorEffector.Event; 
     
    1213import FAtiMA.Core.util.Constants; 
    1314import FAtiMA.Core.util.enumerables.ActionEvent; 
    14 import FAtiMA.Core.util.enumerables.EmotionType; 
    1515import FAtiMA.Core.util.enumerables.EventType; 
    1616import FAtiMA.Core.util.enumerables.GoalEvent; 
     
    286286                                                detail.getStatus().equals(GoalEvent.GetName(GoalEvent.SUCCESS)) || 
    287287                                                detail.getStatus().equals(GoalEvent.GetName(GoalEvent.FAILURE)))) || 
    288                                                 (detail.getAction() != null && (detail.getEmotion().GetType()) != EmotionType.NEUTRAL)) 
     288                                                (detail.getAction() != null && (detail.getEmotion().getType()) != NeutralEmotion.getInstance())) 
    289289                                { 
    290290                                        _am.StoreAction(detail);                                         
     
    313313                                                detail.getStatus().equals(GoalEvent.GetName(GoalEvent.SUCCESS)) || 
    314314                                                detail.getStatus().equals(GoalEvent.GetName(GoalEvent.FAILURE)))) || 
    315                                                 (detail.getAction() != null && (detail.getEmotion().GetType()) != EmotionType.NEUTRAL)) 
     315                                                (detail.getAction() != null && (detail.getEmotion().getType()) != NeutralEmotion.getInstance())) 
    316316                                { 
    317317                                        _am.StoreAction(detail);                                         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/MemoryEpisode.java

    r782 r848  
    327327                                        action = (ActionDetail) auxList.get(i); 
    328328                                        secondStrongestEmotion = action.getEmotion(); 
    329                                         if(secondStrongestEmotion.GetType() != strongestEmotion.GetType()) 
     329                                        if(secondStrongestEmotion.getType() != strongestEmotion.getType()) 
    330330                                        { 
    331331                                                break; 
     
    361361                                 
    362362                                if(strongestEmotion != null && 
    363                                                 action.getEmotion().GetType() == strongestEmotion.GetType() && 
     363                                                action.getEmotion().getType() == strongestEmotion.getType() && 
    364364                                                action.getEmotion().GetPotential() == strongestEmotion.GetPotential()) 
    365365                                { 
     
    417417                        if(em.GetPotential() > 0) 
    418418                        { 
    419                                 if(em.GetValence() == EmotionValence.POSITIVE) 
     419                                if(em.getType().getValence() == EmotionValence.POSITIVE) 
    420420                                { 
    421421                                        value += em.GetPotential(); 
     
    457457                        if(em.GetPotential() > 0) 
    458458                        { 
    459                                 if(em.GetValence() == EmotionValence.POSITIVE) 
     459                                if(em.getType().getValence() == EmotionValence.POSITIVE) 
    460460                                { 
    461461                                        error = em.GetPotential() - avg; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/SummaryGenerator.java

    r667 r848  
    3838import FAtiMA.Core.sensorEffector.SpeechAct; 
    3939import FAtiMA.Core.util.Constants; 
    40 import FAtiMA.Core.util.enumerables.EmotionType; 
    4140import FAtiMA.Core.wellFormedNames.Name; 
    4241 
     
    169168                } 
    170169                 
    171                 EMSummary += ">"+EmotionType.GetName(em.GetType()) + "</Emotion>"; 
     170                EMSummary += ">"+em.getType().getName() + "</Emotion>"; 
    172171                 
    173172                return EMSummary; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/semanticMemory/KnowledgeBase.java

    r833 r848  
    289289        } 
    290290         
     291         
    291292        public ArrayList<SubstitutionSet> GetPossibleBindings(Name name) { 
    292293                ArrayList<SubstitutionSet> bindingSets = null; 
     
    314315                } 
    315316                else return null; 
     317        } 
     318         
     319        public KnowledgeSlot getMainSlot() 
     320        { 
     321                return _kB; 
    316322        } 
    317323         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/Action.java

    r801 r848  
    153153                                newPotential = 0; 
    154154                        } 
    155                         _elicitingEmotion = new BaseEmotion(_elicitingEmotion.GetType(), 
     155                        _elicitingEmotion = new BaseEmotion(_elicitingEmotion.getType(), 
    156156                                        newPotential, 
    157                                         new ArrayList<String>(), 
    158157                                        _elicitingEmotion.GetCause(), 
    159158                                        _elicitingEmotion.GetDirection()); 
     
    176175                                newPotential = 10; 
    177176                        } 
    178                         _elicitingEmotion = new BaseEmotion(_elicitingEmotion.GetType(), 
     177                        _elicitingEmotion = new BaseEmotion(_elicitingEmotion.getType(), 
    179178                                        newPotential, 
    180                                         new ArrayList<String>(), 
    181179                                        _elicitingEmotion.GetCause(), 
    182180                                        _elicitingEmotion.GetDirection()); 
     
    209207                        { 
    210208                                em = (ActiveEmotion) it.next(); 
    211                                 if(em.GetType() == _elicitingEmotion.GetType() && 
     209                                if(em.getType() == _elicitingEmotion.getType() && 
    212210                                   em.GetIntensity() >= _elicitingEmotion.GetPotential()) 
    213211                                { 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/ReactiveProcess.java

    r806 r848  
    161161         */ 
    162162        @Override 
    163         public void appraisal(AgentModel ag, Event event, AppraisalFrame as) { 
    164                 Reaction selfEvaluation;         
     163        public void appraisal(AgentModel ag, Event event, AppraisalFrame af) { 
     164                Reaction selfEvaluation; 
    165165                         
    166166                 
     
    171171                        if(selfEvaluation._desirability != null) 
    172172                        { 
    173                                 as.SetAppraisalVariable(NAME, (short)5, OCCComponent.DESIRABILITY, selfEvaluation._desirability.intValue()); 
     173                                af.SetAppraisalVariable(NAME, OCCComponent.DESIRABILITY, selfEvaluation._desirability.intValue()); 
    174174                        } 
    175175                        if(selfEvaluation._desirabilityForOther != null && selfEvaluation._other != null) 
    176176                        { 
    177                                 as.SetAppraisalVariable(NAME, (short)5, OCCComponent.DESFOROTHER + selfEvaluation._other, selfEvaluation._desirabilityForOther.intValue()); 
     177                                af.SetAppraisalVariable(NAME, OCCComponent.DESFOROTHER + selfEvaluation._other, selfEvaluation._desirabilityForOther.intValue()); 
    178178                        } 
    179179                        if(selfEvaluation._praiseworthiness != null) 
    180180                        { 
    181                                 as.SetAppraisalVariable(NAME, (short)5, OCCComponent.PRAISEWORTHINESS, selfEvaluation._praiseworthiness.intValue()); 
     181                                af.SetAppraisalVariable(NAME, OCCComponent.PRAISEWORTHINESS, selfEvaluation._praiseworthiness); 
    182182                        } 
    183183                        if(selfEvaluation._like != null) 
    184184                        { 
    185                                 as.SetAppraisalVariable(NAME, (short)5, OCCComponent.LIKE, selfEvaluation._like.intValue()); 
     185                                af.SetAppraisalVariable(NAME, OCCComponent.LIKE, selfEvaluation._like.intValue()); 
    186186                        } 
    187187                } 
     
    270270 
    271271        @Override 
    272         public void reappraisal(AgentModel am) { 
    273                 return; 
     272        public AppraisalFrame reappraisal(AgentModel am) { 
     273                return null; 
    274274        } 
    275275 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/parsers/AgentLoaderHandler.java

    r756 r848  
    5050package FAtiMA.Core.util.parsers; 
    5151 
    52 import java.util.ArrayList; 
    53  
    5452import org.xml.sax.Attributes; 
    5553 
     
    6462import FAtiMA.Core.emotionalState.BaseEmotion; 
    6563import FAtiMA.Core.emotionalState.EmotionDisposition; 
     64import FAtiMA.Core.emotionalState.EmotionType; 
    6665import FAtiMA.Core.emotionalState.EmotionalState; 
    6766import FAtiMA.Core.exceptions.InvalidEmotionTypeException; 
     
    7271import FAtiMA.Core.sensorEffector.Event; 
    7372import FAtiMA.Core.util.Constants; 
    74 import FAtiMA.Core.util.enumerables.EmotionType; 
    7573import FAtiMA.Core.wellFormedNames.Name; 
    7674import FAtiMA.Core.wellFormedNames.Substitution; 
     
    117115    public void ElicitingEmotion(Attributes attributes) throws InvalidEmotionTypeException { 
    118116        String emotionName; 
    119         short type; 
    120117        Integer minIntensity; 
     118  
    121119         
    122120        emotionName = attributes.getValue("type"); 
    123         type = EmotionType.ParseType(emotionName); 
     121        EmotionType type = new EmotionType(emotionName,null,(byte)0);  
    124122         
    125123        minIntensity = new Integer(attributes.getValue("minIntensity")); 
    126         _elicitingEmotion = new BaseEmotion(type,minIntensity.intValue(),new ArrayList<String>(),null,null); 
     124        _elicitingEmotion = new BaseEmotion(type,minIntensity.intValue(),null); 
    127125        _action.SetElicitingEmotion(_elicitingEmotion); 
    128126        _reactiveLayer.getActionTendencies().AddAction(_action); 
     
    153151    public void EmotionalThreshold(Attributes attributes) throws InvalidEmotionTypeException { 
    154152        String emotionName; 
    155         short type; 
    156          
     153  
    157154        emotionName = attributes.getValue("emotion"); 
    158         type = EmotionType.ParseType(emotionName); 
    159         _emotionalState.AddEmotionDisposition(new EmotionDisposition(type, 
     155   
     156        _emotionalState.AddEmotionDisposition(new EmotionDisposition(emotionName, 
    160157                                                              new Integer(attributes.getValue("threshold")).intValue(), 
    161158                                                              new Integer(attributes.getValue("decay")).intValue())); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/parsers/MemoryLoaderHandler.java

    r833 r848  
    3434import org.xml.sax.Attributes; 
    3535 
    36 import FAtiMA.Core.deliberativeLayer.goals.ActivePursuitGoal; 
    37 import FAtiMA.Core.deliberativeLayer.goals.Goal; 
    3836import FAtiMA.Core.emotionalState.BaseEmotion; 
     37import FAtiMA.Core.emotionalState.EmotionType; 
    3938import FAtiMA.Core.memory.Memory; 
    4039import FAtiMA.Core.memory.episodicMemory.ActionDetail; 
    4140import FAtiMA.Core.memory.episodicMemory.AutobiographicalMemory; 
    42 import FAtiMA.Core.memory.episodicMemory.EpisodicMemory; 
    4341import FAtiMA.Core.memory.episodicMemory.MemoryEpisode; 
    4442import FAtiMA.Core.memory.episodicMemory.ShortTermEpisodicMemory; 
    4543import FAtiMA.Core.memory.episodicMemory.Time; 
    4644import FAtiMA.Core.memory.semanticMemory.KnowledgeBase; 
    47 import FAtiMA.Core.memory.semanticMemory.KnowledgeSlot; 
    4845import FAtiMA.Core.memory.semanticMemory.WorkingMemory; 
    49 import FAtiMA.Core.util.Constants; 
    50 import FAtiMA.Core.util.enumerables.EventType; 
    51 import FAtiMA.Core.wellFormedNames.Name; 
    52 import FAtiMA.Core.wellFormedNames.Substitution; 
    53 import FAtiMA.Core.wellFormedNames.Symbol; 
    5446import FAtiMA.Core.sensorEffector.Event; 
    5547import FAtiMA.Core.sensorEffector.Parameter; 
     48import FAtiMA.Core.wellFormedNames.Name; 
    5649 
    5750public class MemoryLoaderHandler extends ReflectXMLHandler { 
     
    181174         
    182175        public void Emotion(Attributes attributes) { 
    183                 Short type = Short.valueOf(attributes.getValue("type")); 
     176                String type = attributes.getValue("type"); 
     177                byte valence = Byte.parseByte(attributes.getValue("valence")); 
    184178                Name direction = Name.ParseName(attributes.getValue("direction")); 
    185                 String appraisalVariables = attributes.getValue("appraisalVariables"); 
    186                 ArrayList<String> appraisalVariable = extractItems(appraisalVariables); 
     179                String aux = attributes.getValue("appraisalVariables"); 
     180                String[] appraisalVariables = (String[]) extractItems(aux).toArray(); 
    187181            float potential = Float.parseFloat(attributes.getValue("potential")); 
    188182                     
    189             _currentEmotion = new BaseEmotion(type, potential, appraisalVariable, null, direction); 
     183            _currentEmotion = new BaseEmotion(new EmotionType(type,appraisalVariables,valence), potential, null, direction); 
    190184            _currentAD.setEmotion(_currentEmotion); 
    191185             
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/writers/MemoryWriter.java

    r833 r848  
    3232import java.io.FileWriter; 
    3333import java.io.IOException; 
    34 import java.io.OutputStreamWriter; 
    3534import java.io.Serializable; 
    36 import java.io.UnsupportedEncodingException; 
    3735import java.io.Writer; 
    38 import java.util.ArrayList; 
    39 import java.util.Iterator; 
    40 import java.util.ListIterator; 
    4136 
    4237import org.znerd.xmlenc.LineBreak; 
    4338import org.znerd.xmlenc.XMLOutputter; 
    4439 
    45 import FAtiMA.Core.emotionalState.BaseEmotion; 
    4640import FAtiMA.Core.memory.Memory; 
    4741import FAtiMA.Core.memory.episodicMemory.ActionDetail; 
    4842import FAtiMA.Core.memory.episodicMemory.MemoryEpisode; 
    49 import FAtiMA.Core.memory.episodicMemory.Time; 
    5043import FAtiMA.Core.memory.semanticMemory.KnowledgeSlot; 
    51 import FAtiMA.Core.sensorEffector.Event; 
    5244import FAtiMA.Core.sensorEffector.Parameter; 
    53 import FAtiMA.Core.util.enumerables.EmotionType; 
    5445import FAtiMA.Core.util.enumerables.EventType; 
    55 import FAtiMA.Core.wellFormedNames.Name; 
    5646 
    5747 
     
    210200                        { 
    211201                                _outputter.startTag("Emotion"); 
    212                                 _outputter.attribute("type", Short.toString(ad.getEmotion().GetType())); 
     202                                _outputter.attribute("type", ad.getEmotion().getType().getName()); 
     203                                _outputter.attribute("valence", Byte.toString(ad.getEmotion().getType().getValence())); 
    213204                                if(ad.getEmotion().GetDirection() != null) 
    214205                                        _outputter.attribute("direction", ad.getEmotion().GetDirection().toString()); 
    215                                 if(ad.getEmotion().GetAppraisalVariables() != null) 
    216                                         _outputter.attribute("appraisalVariables", ad.getEmotion().GetAppraisalVariables().toString()); //ArrayList 
     206                                if(ad.getEmotion().getType().getAppraisalVariables() != null) 
     207                                        _outputter.attribute("appraisalVariables", ad.getEmotion().getType().getAppraisalVariables().toString());       //ArrayList 
    217208                                _outputter.attribute("potential", Float.toString(ad.getEmotion().GetPotential())); 
    218209                                 
Note: See TracChangeset for help on using the changeset viewer.