Changeset 896


Ignore:
Timestamp:
01/25/2011 03:45:19 PM (10 years ago)
Author:
joao.dias
Message:

Changed the EmotionType? to an enumerable instead of a singleton.

Location:
AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core
Files:
4 added
21 deleted
24 edited

Legend:

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

    r858 r896  
    109109                _shutdown = false; 
    110110                _numberOfCycles = 0; 
    111                 _currentEmotion = NeutralEmotion.getInstance().getName(); //neutral emotion - no emotion 
     111                _currentEmotion = NeutralEmotion.NAME; //neutral emotion - no emotion 
    112112                _actionsForExecution = new ArrayList<ValuedAction>(); 
    113113                _perceivedEvents = new ArrayList<Event>(); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/ActionDisplay.java

    r848 r896  
    3333        this.add(em1); 
    3434         
    35         JLabel em2 = new JLabel(a.GetElicitingEmotion().getType().getName()); 
     35        JLabel em2 = new JLabel(a.GetElicitingEmotion().getType()); 
    3636        em2.setMaximumSize(d1); 
    3737        em2.setMinimumSize(d1); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/EmotionDisplay.java

    r848 r896  
    5252    public EmotionDisplay(ActiveEmotion em) { 
    5353        _panel = new JPanel(); 
    54         _panel.setBorder(BorderFactory.createTitledBorder(em.getType().getName() + " " + em.GetCause().toString())); 
     54        _panel.setBorder(BorderFactory.createTitledBorder(em.getType() + " " + 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().getValence()) { 
    60                 case EmotionValence.NEGATIVE: { 
     59        switch (em.getValence()) { 
     60                case NEGATIVE: { 
    6161                    _bar.setForeground(new Color(100,0,0)); 
    6262                    break; 
    6363                } 
    64                 case EmotionValence.POSITIVE: { 
     64                case POSITIVE: { 
    6565                    _bar.setForeground(new Color(0,100,0)); 
    6666                    break; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/MemoryDetailPanel.java

    r848 r896  
    162162        this.add(_parameters);*/ 
    163163         
    164         _feeling = new JTextField(detail.getEmotion().getType().getName() + "-"  
     164        _feeling = new JTextField(detail.getEmotion().getType() + "-"  
    165165                        + detail.getEmotion().GetPotential()); 
    166166        _feeling.setMinimumSize(new Dimension(110,30)); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/Display/RecordDetailPanel.java

    r848 r896  
    119119        this.add(_parameters);*/ 
    120120         
    121         _feeling = new JTextField(detail.getEmotion().getType().getName() + "-"  
     121        _feeling = new JTextField(detail.getEmotion().getType() + "-"  
    122122                        + detail.getEmotion().GetPotential()); 
    123123        _feeling.setMinimumSize(new Dimension(110,30)); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/OCCAffectDerivation/OCCComponent.java

    r858 r896  
    1313import FAtiMA.Core.emotionalState.BaseEmotion; 
    1414import FAtiMA.Core.emotionalState.EmotionDisposition; 
    15 import FAtiMA.Core.emotionalState.EmotionType; 
    1615import FAtiMA.Core.sensorEffector.Event; 
    1716import FAtiMA.Core.wellFormedNames.Name; 
     
    1918public class OCCComponent implements Serializable, IAffectDerivationComponent, IModelOfOtherComponent { 
    2019         
    21         /** 
    22          *  
    23          */ 
    2420        private static final long serialVersionUID = 1L; 
    2521         
    2622        public static final String NAME = "OCC"; 
    27         public static final String LIKE = "like"; 
    28         public static final String DESIRABILITY = "desirability"; 
    29         public static final String PRAISEWORTHINESS = "praiseworthiness"; 
    30         public static final String GOALSTATUS = "GoalStatus"; 
    31         public static final String GOALCONDUCIVENESS = "GoalConduciveness"; 
    32         public static final String SUCCESSPROBABILITY = "SuccessProbability"; 
    33         public static final String FAILUREPROBABILITY = "FailureProbability"; 
    34         public static final String DESFOROTHER = "DesFor-"; 
    3523        public static final int GOALCONFIRMED = 1; 
    3624        public static final int GOALUNCONFIRMED = 0; 
     
    7058        public static String getHopeKey(Event e) 
    7159        { 
    72                 return e + "-" + GOALCONDUCIVENESS + "-" + SUCCESSPROBABILITY; 
     60                return e + "-" + OCCAppraisalVariables.GOALCONDUCIVENESS + "-" +  
     61                                        OCCAppraisalVariables.SUCCESSPROBABILITY; 
    7362        } 
    7463         
    7564        public static String getFearKey(Event e) 
    7665        { 
    77                 return e + "-" + GOALCONDUCIVENESS + "-" + FAILUREPROBABILITY; 
     66                return e + "-" + OCCAppraisalVariables.GOALCONDUCIVENESS + "-" +  
     67                        OCCAppraisalVariables.FAILUREPROBABILITY; 
    7868        } 
    7969         
     
    8878                float status; 
    8979                 
    90                 if(af.containsAppraisalVariable(DESIRABILITY)) 
     80                if(af.containsAppraisalVariable(OCCAppraisalVariables.DESIRABILITY.name())) 
    9181                { 
    92                         float desirability = af.getAppraisalVariable(DESIRABILITY); 
     82                        float desirability = af.getAppraisalVariable(OCCAppraisalVariables.DESIRABILITY.name()); 
    9383                        if(desirability!=0) 
    9484                        { 
     
    9989                                for(String variable : af.getAppraisalVariables()) 
    10090                                { 
    101                                         if(variable.startsWith(DESFOROTHER)) 
    102                                         { 
    103                                                 other = variable.substring(DESFOROTHER.length()); 
     91                                        if(variable.startsWith(OCCAppraisalVariables.DESFOROTHER.name())) 
     92                                        { 
     93                                                other = variable.substring(OCCAppraisalVariables.DESFOROTHER.name().length()); 
    10494                                                desirabilityForOther = af.getAppraisalVariable(variable); 
    10595                                                if(desirabilityForOther != 0) 
     
    112102                        } 
    113103                } 
    114                 if(af.containsAppraisalVariable(PRAISEWORTHINESS)) 
     104                if(af.containsAppraisalVariable(OCCAppraisalVariables.PRAISEWORTHINESS.name())) 
    115105                { 
    116                         float praiseworthiness = af.getAppraisalVariable(PRAISEWORTHINESS); 
     106                        float praiseworthiness = af.getAppraisalVariable(OCCAppraisalVariables.PRAISEWORTHINESS.name()); 
    117107                        if(praiseworthiness!=0) 
    118108                        { 
     
    120110                        } 
    121111                } 
    122                 if(af.containsAppraisalVariable(LIKE)) 
     112                if(af.containsAppraisalVariable(OCCAppraisalVariables.LIKE.name())) 
    123113                { 
    124                         float like = af.getAppraisalVariable(LIKE); 
     114                        float like = af.getAppraisalVariable(OCCAppraisalVariables.LIKE.name()); 
    125115                        if(like!=0) 
    126116                        { 
     
    128118                        } 
    129119                } 
    130                 if(af.containsAppraisalVariable(GOALCONDUCIVENESS)) 
     120                if(af.containsAppraisalVariable(OCCAppraisalVariables.GOALCONDUCIVENESS.name())) 
    131121                { 
    132                         float goalConduciveness = af.getAppraisalVariable(GOALCONDUCIVENESS); 
     122                        float goalConduciveness = af.getAppraisalVariable(OCCAppraisalVariables.GOALCONDUCIVENESS.name()); 
    133123                        if(goalConduciveness!=0) 
    134124                        { 
    135                                 status = af.getAppraisalVariable(GOALSTATUS); 
     125                                status = af.getAppraisalVariable(OCCAppraisalVariables.GOALSTATUS.name()); 
    136126                                if(status == GOALUNCONFIRMED) 
    137127                                { 
    138                                         float prob = af.getAppraisalVariable(SUCCESSPROBABILITY); 
     128                                        float prob = af.getAppraisalVariable(OCCAppraisalVariables.SUCCESSPROBABILITY.name()); 
    139129                                        if(prob != 0) 
    140130                                        { 
     
    142132                                        } 
    143133                                         
    144                                         prob = af.getAppraisalVariable(FAILUREPROBABILITY); 
     134                                        prob = af.getAppraisalVariable(OCCAppraisalVariables.FAILUREPROBABILITY.name()); 
    145135                                        if(prob != 0) 
    146136                                        { 
     
    150140                                else if(status == GOALCONFIRMED) 
    151141                                { 
    152                                         float conduciveness = af.getAppraisalVariable(GOALCONDUCIVENESS); 
     142                                        float conduciveness = af.getAppraisalVariable(OCCAppraisalVariables.GOALCONDUCIVENESS.name()); 
    153143                                        if(conduciveness != 0) 
    154144                                        { 
     
    164154                                else if(status == GOALDISCONFIRMED) 
    165155                                { 
    166                                         float conduciveness = af.getAppraisalVariable(GOALCONDUCIVENESS); 
     156                                        float conduciveness = af.getAppraisalVariable(OCCAppraisalVariables.GOALCONDUCIVENESS.name()); 
    167157                                        if(conduciveness != 0) 
    168158                                        { 
     
    187177                //ignoring mood for now 
    188178                 
    189                 EmotionDisposition emotionDisposition = am.getEmotionalState().getEmotionDisposition(em.getType().getName()); 
     179                EmotionDisposition emotionDisposition = am.getEmotionalState().getEmotionDisposition(em.getType()); 
    190180                int threshold = emotionDisposition.getThreshold(); 
    191181                float potentialValue = em.GetPotential() + threshold;  
    192182                 
    193                 if(em.getType().equals(LoveEmotion.getInstance())) 
    194                 { 
    195                         af.SetAppraisalVariable("", (short)1, LIKE, potentialValue * 1.43f); 
    196                 } 
    197                 else if(em.getType().equals(HateEmotion.getInstance())) 
    198                 { 
    199                         af.SetAppraisalVariable("", (short)1, LIKE, -potentialValue * 1.43f); 
    200                 } 
    201                 else if(em.getType().equals(JoyEmotion.getInstance())) 
    202                 { 
    203                         af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
    204                 } 
    205                 else if(em.getType().equals(DistressEmotion.getInstance())) 
    206                 { 
    207                         af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
    208                 } 
    209                 else if(em.getType().equals(PrideEmotion.getInstance()) || em.getType().equals(AdmirationEmotion.getInstance())) 
    210                 { 
    211                         af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, potentialValue); 
    212                 } 
    213                 else if(em.getType().equals(ShameEmotion.getInstance()) || em.getType().equals(ReproachEmotion.getInstance())) 
    214                 { 
    215                         af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, -potentialValue); 
    216                 } 
    217                 else if(em.getType().equals(GloatingEmotion.getInstance())) 
    218                 { 
    219                         af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
    220                         //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, -potentialValue); 
    221                 } 
    222                 else if(em.getType().equals(HappyForEmotion.getInstance())) 
    223                 { 
    224                         af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
    225                         //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, potentialValue); 
    226                 } 
    227                 else if(em.getType().equals(PittyEmotion.getInstance())) 
    228                 { 
    229                         af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
    230                         //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, -potentialValue); 
    231                 } 
    232                 else if(em.getType().equals(ResentmentEmotion.getInstance())) 
    233                 { 
    234                         af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
    235                         //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, potentialValue); 
    236                 } 
    237                 /*else if(em.getType() == GratificationEmotioEmotionType.GRATIFICATION || em.GetType() == EmotionType.GRATITUDE) 
    238                 { 
    239                         af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
    240                         af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, potentialValue); 
    241                 } 
    242                 else if(em.GetType() == EmotionType.REGRET || em.GetType() == EmotionType.ANGER) 
    243                 { 
    244                         af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
    245                         af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, -potentialValue); 
    246                 }*/ 
    247         } 
    248          
    249         private static BaseEmotion OCCAppraiseAttribution(Event event, float like) 
    250         { 
    251                 BaseEmotion em; 
     183                OCCEmotionType emotionType = OCCEmotionType.valueOf(em.getType()); 
     184                switch(emotionType){ 
     185                        case LOVE: af.SetAppraisalVariable("", (short)1, OCCAppraisalVariables.LIKE.name(), potentialValue * 1.43f); 
     186                                           break; 
     187                        case HATE: af.SetAppraisalVariable("", (short)1, OCCAppraisalVariables.LIKE.name(), -potentialValue * 1.43f); 
     188                                           break; 
     189                        case JOY:  af.SetAppraisalVariable("", (short)1, OCCAppraisalVariables.DESIRABILITY.name(), potentialValue); 
     190                                           break; 
     191                        case DISTRESS:af.SetAppraisalVariable("", (short)1, OCCAppraisalVariables.DESIRABILITY.name(), -potentialValue); 
     192                                           break; 
     193                        case PRIDE: af.SetAppraisalVariable("", (short)1, OCCAppraisalVariables.PRAISEWORTHINESS.name(), potentialValue); 
     194                                           break; 
     195                        case SHAME: af.SetAppraisalVariable("", (short)1, OCCAppraisalVariables.PRAISEWORTHINESS.name(), -potentialValue); 
     196                                           break; 
     197                        case GLOATING: af.SetAppraisalVariable("", (short)1, OCCAppraisalVariables.DESIRABILITY.name(), potentialValue); 
     198                                                   //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, -potentialValue); 
     199                                           break; 
     200                         
     201                        case HAPPY_FOR: af.SetAppraisalVariable("", (short)1, OCCAppraisalVariables.DESIRABILITY.name(), potentialValue); 
     202                                                        //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, potentialValue); 
     203                                           break; 
     204                        case PITTY: af.SetAppraisalVariable("", (short)1, OCCAppraisalVariables.DESIRABILITY.name(), -potentialValue); 
     205                                                //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, -potentialValue);´ 
     206                                           break; 
     207                         
     208                        case RESENTMENT: //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, potentialValue); 
     209                                           break; 
     210                        case GRATIFICATION: //af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
     211                                                                //af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, potentialValue); 
     212                                           break; 
     213                        case ANGER:// af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
     214                                           //af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, -potentialValue); 
     215                                           break; 
     216                } 
     217        } 
     218         
     219        private static OCCBaseEmotion OCCAppraiseAttribution(Event event, float like) 
     220        { 
     221                OCCBaseEmotion em; 
    252222                 
    253223                if(like >= 0) { 
    254                         em = new BaseEmotion(LoveEmotion.getInstance(), like*0.7f, event, Name.ParseName(event.GetTarget())); 
     224                        em = new OCCBaseEmotion(OCCEmotionType.LOVE, like*0.7f, event, Name.ParseName(event.GetTarget())); 
    255225                } 
    256226                else { 
    257                         em = new BaseEmotion(HateEmotion.getInstance(), -like*0.7f, event, Name.ParseName(event.GetTarget())); 
    258                 } 
    259                  
    260                 return em; 
    261         } 
    262          
    263         private static BaseEmotion OCCAppraiseWellBeing(Event event, float desirability) { 
    264                 BaseEmotion em; 
     227                        em = new OCCBaseEmotion(OCCEmotionType.HATE, -like*0.7f, event, Name.ParseName(event.GetTarget())); 
     228                } 
     229                 
     230                return em; 
     231        } 
     232         
     233        private static OCCBaseEmotion OCCAppraiseWellBeing(Event event, float desirability) { 
     234                OCCBaseEmotion em; 
    265235                 
    266236                if(desirability >= 0) { 
    267                         em = new BaseEmotion(JoyEmotion.getInstance(), desirability, event); 
     237                        em = new OCCBaseEmotion(OCCEmotionType.JOY, desirability, event); 
    268238                } 
    269239                else { 
    270                         em = new BaseEmotion(DistressEmotion.getInstance(), -desirability, event); 
    271                 } 
    272                 return em; 
    273         } 
    274          
    275         private static BaseEmotion OCCAppraisePraiseworthiness(String appraisingAgent, Event event, float praiseworthiness) { 
    276                 BaseEmotion em; 
     240                        em = new OCCBaseEmotion(OCCEmotionType.DISTRESS, -desirability, event); 
     241                } 
     242                return em; 
     243        } 
     244         
     245        private static OCCBaseEmotion OCCAppraisePraiseworthiness(String appraisingAgent, Event event, float praiseworthiness) { 
     246                OCCBaseEmotion em; 
    277247                 
    278248                if(praiseworthiness >= 0) { 
    279249                        if(event.GetSubject().equals(appraisingAgent)) { 
    280                                 em = new BaseEmotion(PrideEmotion.getInstance(), praiseworthiness, event, Name.ParseName("SELF")); 
    281                         } 
    282                         else { 
    283                                 em = new BaseEmotion(AdmirationEmotion.getInstance(), praiseworthiness, event, Name.ParseName(event.GetSubject())); 
     250                                em = new OCCBaseEmotion(OCCEmotionType.PRIDE, praiseworthiness, event, Name.ParseName("SELF")); 
     251                        } 
     252                        else { 
     253                                em = new OCCBaseEmotion(OCCEmotionType.ADMIRATION, praiseworthiness, event, Name.ParseName(event.GetSubject())); 
    284254                        } 
    285255                } 
    286256                else { 
    287257                        if(event.GetSubject().equals(appraisingAgent)) { 
    288                                 em = new BaseEmotion(ShameEmotion.getInstance(), -praiseworthiness, event, Name.ParseName("SELF")); 
    289                         } 
    290                         else { 
    291                                 em = new BaseEmotion(ReproachEmotion.getInstance(), -praiseworthiness, event, Name.ParseName(event.GetSubject())); 
    292                         } 
    293                 } 
    294                  
    295                 return em; 
    296         } 
    297          
    298         /*private static BaseEmotion GenerateEmotionForOther(AgentModel am, Event event, float desirability, AppraisalFrame appraisalOfOther, String other) 
    299         { 
    300                 float desirabilityForOther = appraisalOfOther.getAppraisalVariable(DESIRABILITY); 
    301                          
    302                  
    303                 if(desirabilityForOther == 0) return null; 
    304                  
    305                 //TODO move this code to the social relations component appraisal  
    306                 /*targetBias = LikeRelation.getRelation(Constants.SELF,other).getValue(am.getMemory()) * desirabilityForOther/10; 
    307                 bias = targetBias; 
    308                 if(!subject.equals(Constants.SELF)) 
    309                 { 
    310                                 subjectBias = LikeRelation.getRelation(Constants.SELF, subject).getValue(am.getMemory()); 
    311                                 bias = (bias + subjectBias)/2; 
    312                 } 
    313                  
    314                 newDesirability = (desirability + bias)/2;*/ 
    315  
    316                  
    317                 //return OCCAppraiseFortuneOfOthers(event, desirability, desirabilityForOther, other); 
    318         //} 
     258                                em = new OCCBaseEmotion(OCCEmotionType.SHAME, -praiseworthiness, event, Name.ParseName("SELF")); 
     259                        } 
     260                        else { 
     261                                em = new OCCBaseEmotion(OCCEmotionType.REPROACH, -praiseworthiness, event, Name.ParseName(event.GetSubject())); 
     262                        } 
     263                } 
     264                 
     265                return em; 
     266        } 
     267 
    319268         
    320269        /** 
     
    324273         * @return - the emotion created 
    325274         */ 
    326         public static BaseEmotion AppraiseGoalFailureProbability(AgentModel am , Event e, float goalConduciveness, float prob) 
     275        public static OCCBaseEmotion AppraiseGoalFailureProbability(AgentModel am , Event e, float goalConduciveness, float prob) 
    327276        { 
    328277                float potential; 
    329278                potential = prob * goalConduciveness; 
    330279                 
    331                 BaseEmotion em = new  BaseEmotion(FearEmotion.getInstance(), potential, e); 
     280                OCCBaseEmotion em = new  OCCBaseEmotion(OCCEmotionType.FEAR, potential, e); 
    332281                 
    333282                return em; 
     
    340289         * @return - the BaseEmotion created 
    341290         */ 
    342         public static BaseEmotion AppraiseGoalSuccessProbability(AgentModel am, Event e, float goalConduciveness, float prob) { 
     291        public static OCCBaseEmotion AppraiseGoalSuccessProbability(AgentModel am, Event e, float goalConduciveness, float prob) { 
    343292         
    344293                float potential; 
    345294                potential = prob * goalConduciveness; 
    346295         
    347                 BaseEmotion em = new BaseEmotion(HopeEmotion.getInstance(), potential, e); 
     296                OCCBaseEmotion em = new  OCCBaseEmotion(OCCEmotionType.HOPE, potential, e); 
    348297         
    349298                return em; 
     
    356305         * @param g - the Goal that failed 
    357306         */ 
    358         public static BaseEmotion AppraiseGoalFailure(AgentModel am, ActiveEmotion hopeEmotion, ActiveEmotion fearEmotion, float conduciveness, Event e) { 
    359                 return AppraiseGoalEnd(DisappointmentEmotion.getInstance(),FearsConfirmedEmotion.getInstance(),hopeEmotion,fearEmotion,conduciveness,e); 
     307        public static OCCBaseEmotion AppraiseGoalFailure(AgentModel am, ActiveEmotion hopeEmotion, ActiveEmotion fearEmotion, float conduciveness, Event e) { 
     308                return AppraiseGoalEnd(OCCEmotionType.DISAPPOINTMENT,OCCEmotionType.FEARS_CONFIRMED,hopeEmotion,fearEmotion,conduciveness,e); 
    360309        } 
    361310         
     
    369318         * @return - the emotion created 
    370319         */ 
    371         public static BaseEmotion AppraiseGoalSuccess(AgentModel am, ActiveEmotion hopeEmotion, ActiveEmotion fearEmotion, float conduciveness, Event e) { 
    372                 return AppraiseGoalEnd(SatisfactionEmotion.getInstance(),ReliefEmotion.getInstance(),hopeEmotion,fearEmotion,conduciveness,e); 
    373         } 
    374  
    375          
    376          
    377         private static BaseEmotion OCCAppraiseFortuneOfOthers(Event event, float desirability, float desirabilityForOther, String target) { 
    378                 BaseEmotion em; 
     320        public static OCCBaseEmotion AppraiseGoalSuccess(AgentModel am, ActiveEmotion hopeEmotion, ActiveEmotion fearEmotion, float conduciveness, Event e) { 
     321                return AppraiseGoalEnd(OCCEmotionType.SATISFACTION,OCCEmotionType.RELIEF,hopeEmotion,fearEmotion,conduciveness,e); 
     322        } 
     323 
     324         
     325         
     326        private static OCCBaseEmotion OCCAppraiseFortuneOfOthers(Event event, float desirability, float desirabilityForOther, String target) { 
     327                OCCBaseEmotion em; 
    379328                float potential; 
    380329                 
     
    383332                if(desirability >= 0) { 
    384333                        if(desirabilityForOther >= 0) { 
    385                                 em = new BaseEmotion(HappyForEmotion.getInstance(), potential, event, Name.ParseName(target));   
    386                         } 
    387                         else { 
    388                                 em = new BaseEmotion(GloatingEmotion.getInstance(), potential, event, Name.ParseName(target)); 
     334                                em = new OCCBaseEmotion(OCCEmotionType.HAPPY_FOR, potential, event, Name.ParseName(target));     
     335                        } 
     336                        else { 
     337                                em = new OCCBaseEmotion(OCCEmotionType.GLOATING,potential, event, Name.ParseName(target)); 
    389338                        } 
    390339                } 
    391340                else { 
    392341                        if(desirabilityForOther >= 0) { 
    393                                 em = new BaseEmotion(ResentmentEmotion.getInstance(), potential, event, Name.ParseName(target)); 
    394                         } 
    395                         else { 
    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,  
     342                                em = new OCCBaseEmotion(OCCEmotionType.RESENTMENT, potential, event, Name.ParseName(target)); 
     343                        } 
     344                        else { 
     345                                em = new OCCBaseEmotion(OCCEmotionType.PITTY, potential, event, Name.ParseName(target)); 
     346                        } 
     347                } 
     348                 
     349                return em; 
     350        } 
     351         
     352        private static OCCBaseEmotion AppraiseGoalEnd(OCCEmotionType hopefullOutcome, OCCEmotionType fearfullOutcome,  
    404353                        ActiveEmotion hopeEmotion, ActiveEmotion fearEmotion, float goalConduciveness, Event e) { 
    405354         
    406                 EmotionType finalEmotion; 
     355                OCCEmotionType finalEmotion; 
    407356                float potential = 0; 
    408357                 
     
    426375                potential = (potential +  2* goalConduciveness) / 3; 
    427376                 
    428                 return new BaseEmotion(finalEmotion, potential, e); 
     377                return new OCCBaseEmotion(finalEmotion, potential, e); 
    429378        } 
    430379 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/conditions/EmotionCondition.java

    r848 r896  
    231231                { 
    232232                        aem = (ActiveEmotion) it.next(); 
    233                         if(aem.getType().getName().equals(this._emotionType)) 
     233                        if(aem.getType().equalsIgnoreCase(this._emotionType)) 
    234234                        { 
    235235                                if(this._intensity.isGrounded()) 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/conditions/EmotionalEpisodeCondition.java

    r848 r896  
    126126                 
    127127                 
    128                 if(emotion.getType().getName().equals(this._emotion.toString())) 
     128                if(emotion.getType().equalsIgnoreCase(this._emotion.toString())) 
    129129                { 
    130130                        if(emotion.GetPotential() >= this._value) 
     
    175175                                        if(!_emotion.isGrounded()) 
    176176                                        { 
    177                                                 s = new Substitution(this._emotion,new Symbol(emotion.getType().getName())); 
     177                                                s = new Substitution(this._emotion,new Symbol(emotion.getType())); 
    178178                                                ss.AddSubstitution(s); 
    179179                                                bindingSets.add(ss); 
    180180                                        } 
    181                                         else if(emotion.getType().getName().equals(this._emotion.toString())); 
     181                                        else if(emotion.getType().equalsIgnoreCase(this._emotion.toString())); 
    182182                                        { 
    183183                                                ss = new SubstitutionSet(); 
     
    202202                                        { 
    203203                                                 
    204                                                 s = new Substitution(this._emotion,new Symbol(emotion.getType().getName())); 
     204                                                s = new Substitution(this._emotion,new Symbol(emotion.getType())); 
    205205                                                ss.AddSubstitution(s); 
    206206                                                bindingSets.add(ss); 
    207207                                                 
    208208                                        } 
    209                                         else if(emotion.getType().getName().equals(this._emotion.toString())) 
     209                                        else if(emotion.getType().equalsIgnoreCase(this._emotion.toString())) 
    210210                                        { 
    211211                                                bindingSets.add(ss); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/EmotionalPlanner.java

    r860 r896  
    115115import FAtiMA.Core.AgentModel; 
    116116import FAtiMA.Core.IntegrityValidator; 
     117import FAtiMA.Core.OCCAffectDerivation.OCCAppraisalVariables; 
    117118import FAtiMA.Core.OCCAffectDerivation.OCCComponent; 
    118119import FAtiMA.Core.conditions.Condition; 
     
    450451                //APPRAISAL/REAPPRAISAL - the plan brought into the agent's mind will generate/update 
    451452                //hope and fear emotions according to the plan probability 
    452                 af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.SUCCESSPROBABILITY, planProb); 
    453                 af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.FAILUREPROBABILITY, 1-planProb); 
     453                af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCAppraisalVariables.SUCCESSPROBABILITY.name(), planProb); 
     454                af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCAppraisalVariables.FAILUREPROBABILITY.name(), 1-planProb); 
    454455                am.updateEmotions(af); 
    455456                 
     
    492493                         
    493494                        AppraisalFrame auxFrame = new AppraisalFrame(tGoal.GetActivationEvent()); 
    494                         auxFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)6, OCCComponent.FAILUREPROBABILITY, prob); 
    495                         auxFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)6, OCCComponent.GOALCONDUCIVENESS, -tGoal.GetImportanceOfFailure(am)); 
     495                        auxFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)6, OCCAppraisalVariables.FAILUREPROBABILITY.name(), prob); 
     496                        auxFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)6, OCCAppraisalVariables.GOALCONDUCIVENESS.name(), -tGoal.GetImportanceOfFailure(am)); 
    496497                        am.updateEmotions(auxFrame); 
    497498                          
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/Intention.java

    r860 r896  
    4242 
    4343import FAtiMA.Core.AgentModel; 
     44import FAtiMA.Core.OCCAffectDerivation.OCCAppraisalVariables; 
    4445import FAtiMA.Core.OCCAffectDerivation.OCCComponent; 
    4546import FAtiMA.Core.deliberativeLayer.goals.ActivePursuitGoal; 
     
    9192                _strongCommitment = false; 
    9293                _appraisalFrame = new AppraisalFrame(g.GetActivationEvent()); 
    93                 _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short) 7, OCCComponent.GOALSTATUS, OCCComponent.GOALUNCONFIRMED); 
     94                _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short) 7, OCCAppraisalVariables.GOALSTATUS.name(), OCCComponent.GOALUNCONFIRMED); 
    9495        } 
    9596         
     
    379380            am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
    380381             
    381             _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.SUCCESSPROBABILITY, probability); 
    382             _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.FAILUREPROBABILITY, 1-probability); 
    383             _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.GOALCONDUCIVENESS, goalConduciveness); 
     382            _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCAppraisalVariables.SUCCESSPROBABILITY.name(), probability); 
     383            _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCAppraisalVariables.FAILUREPROBABILITY.name(), 1-probability); 
     384            _appraisalFrame.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCAppraisalVariables.GOALCONDUCIVENESS.name(), goalConduciveness); 
    384385             
    385386            am.updateEmotions(_appraisalFrame); 
     
    402403             
    403404            AppraisalFrame af = new AppraisalFrame(e); 
    404             af.SetAppraisalVariable(DeliberativeProcess.NAME,(short)8,OCCComponent.GOALSTATUS, OCCComponent.GOALDISCONFIRMED); 
    405             af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)8,OCCComponent.GOALCONDUCIVENESS, am.getDeliberativeLayer().getUtilityStrategy().getUtility(am, _goal)); 
     405            af.SetAppraisalVariable(DeliberativeProcess.NAME,(short)8,OCCAppraisalVariables.GOALSTATUS.name(), OCCComponent.GOALDISCONFIRMED); 
     406            af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)8,OCCAppraisalVariables.GOALCONDUCIVENESS.name(), am.getDeliberativeLayer().getUtilityStrategy().getUtility(am, _goal)); 
    406407            am.updateEmotions(af); 
    407408             
     
    439440            am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
    440441            AppraisalFrame af = new AppraisalFrame(e); 
    441             af.SetAppraisalVariable(DeliberativeProcess.NAME,(short)8,OCCComponent.GOALSTATUS, OCCComponent.GOALCONFIRMED); 
    442             af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)8,OCCComponent.GOALCONDUCIVENESS, am.getDeliberativeLayer().getUtilityStrategy().getUtility(am, _goal)); 
     442            af.SetAppraisalVariable(DeliberativeProcess.NAME,(short)8,OCCAppraisalVariables.GOALSTATUS.name(), OCCComponent.GOALCONFIRMED); 
     443            af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)8,OCCAppraisalVariables.GOALCONDUCIVENESS.name(), am.getDeliberativeLayer().getUtilityStrategy().getUtility(am, _goal)); 
    443444            am.updateEmotions(af); 
    444445                                                 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/ActiveEmotion.java

    r848 r896  
    144144         */ 
    145145        public String toXml() { 
    146                 return "<Emotion t0=\"" + _t0 + "\" type=\"" + _type.getName() +  
    147                                 "\" valence=\"" + _type.getValence() +  
     146                return "<Emotion t0=\"" + _t0 + "\" type=\"" + _type +  
     147                                "\" valence=\"" + _valence +  
    148148                                "\" cause=\"" + _cause + "\" direction=\"" + _direction 
    149149                                + "\" intensity=\"" + _intensity + "\" />"; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/BaseEmotion.java

    r860 r896  
    3636 
    3737import FAtiMA.Core.sensorEffector.Event; 
     38import FAtiMA.Core.util.enumerables.EmotionValence; 
    3839import FAtiMA.Core.wellFormedNames.Name; 
    39  
    4040 
    4141/** 
     
    5454        protected Name _direction; 
    5555        protected float _potential; 
     56        protected final String _type;  
     57        protected final EmotionValence _valence; 
     58        protected String[] _appraisalVariables; 
    5659 
    57         protected final EmotionType _type;  
     60         
    5861         
    5962        /** 
     
    6669         *                                    this parameter specifies the target 
    6770         */ 
    68         public BaseEmotion(EmotionType type, float potential, Event cause, Name direction) { 
     71        protected BaseEmotion(String type, EmotionValence valence, String[] appraisalVariables, float potential, Event cause, Name direction) { 
    6972                _type = type; 
     73                _valence = valence; 
     74                _appraisalVariables = appraisalVariables; 
    7075                _potential = potential; 
    7176                _cause = cause; 
     
    7378        } 
    7479         
    75         public BaseEmotion(EmotionType type, float potential, Event cause) { 
    76                 this(type,potential,cause,null); 
     80        protected BaseEmotion(String type, EmotionValence valence, String[] appraisalVariables, float potential, Event cause) { 
     81                this(type,valence,appraisalVariables, potential,cause,null); 
    7782        } 
    7883         
     
    8186         * @param em - the emotion that will be copied into our new emotion 
    8287         */ 
    83         protected BaseEmotion(BaseEmotion em) { 
     88        public BaseEmotion(BaseEmotion em) { 
    8489                _type = em._type; 
     90                _valence = em._valence; 
     91                _appraisalVariables = em._appraisalVariables.clone(); 
    8592                _potential = em._potential; 
    8693                _cause = em._cause; 
     
    105112         
    106113         
     114        public String[] GetAppraisalVariables() 
     115        { 
     116                return _appraisalVariables; 
     117        } 
     118         
    107119        /** 
    108120         * Gets an hask key used to index this BaseEmotion 
     
    110122         */ 
    111123        public String GetHashKey() { 
    112                 String aux = _cause.toString(); 
    113                 for(String s : _type.getAppraisalVariables()) 
     124                String aux = _cause.toString()+_cause.GetTime(); 
     125                for(String s : _appraisalVariables) 
    114126                { 
    115127                        aux += "-" + s; 
    116                 } 
    117                 if(_direction!=null) 
    118                 { 
    119                         aux += _direction; 
    120128                } 
    121129                return aux; 
     
    135143         * @see EmotionType enumerable for the set of possible emotion types 
    136144         */ 
    137         public EmotionType getType() { 
     145        public String getType() { 
    138146                return _type; 
    139147        } 
     
    144152         * @see EmotionValence enumerable 
    145153         */ 
    146         public byte getValence() { 
    147                 return _type.getValence(); 
     154        public EmotionValence getValence() { 
     155                return _valence; 
    148156        } 
    149157         
     
    171179        } 
    172180         
     181        public void setPotential(float potential){ 
     182                this._potential = potential; 
     183        } 
     184         
    173185        /** 
    174186         * Converts the BaseEmotion to a String 
     
    176188         */ 
    177189        public String toString() { 
    178                 return _type.getName() + ": " + _cause + " " + _direction;  
     190                return _type + ": " + _cause + " " + _direction;  
    179191        } 
    180192} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/EmotionalState.java

    r848 r896  
    8383        private static final long serialVersionUID = 1L; 
    8484         
     85 
    8586        private static final EmotionDisposition DEFAULT_EMOTION_DISPOSITION = new EmotionDisposition("default",0,5); 
    8687         
     
    145146                potential = DeterminePotential(potEm); 
    146147                 
    147                 EmotionDisposition disposition = getEmotionDisposition(potEm.getType().getName()); 
     148                EmotionDisposition disposition = getEmotionDisposition(potEm.getType()); 
    148149 
    149150                threshold = disposition.getThreshold(); 
     
    197198                potential = DeterminePotential(potEm); 
    198199 
    199                 EmotionDisposition emotionDisposition = getEmotionDisposition(potEm.getType().getName()); 
     200                EmotionDisposition emotionDisposition = getEmotionDisposition(potEm.getType()); 
    200201                 
    201202                threshold = emotionDisposition.getThreshold(); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/NeutralEmotion.java

    r849 r896  
    11package FAtiMA.Core.emotionalState; 
    22 
    3 import FAtiMA.Core.emotionalState.EmotionType; 
     3import FAtiMA.Core.sensorEffector.Event; 
    44import FAtiMA.Core.util.enumerables.EmotionValence; 
    55 
    6 public class NeutralEmotion extends EmotionType { 
     6public final class NeutralEmotion extends BaseEmotion{ 
     7        private static final long serialVersionUID = 1L; 
    78         
    8    private static final String[] appraisalVariables = {}; 
    9   
    10    // Private constructor prevents instantiation from other classes 
    11    private NeutralEmotion() { 
    12            super("Neutral",appraisalVariables,EmotionValence.POSITIVE); 
    13    } 
    14   
    15    /** 
    16     * SingletonHolder is loaded on the first execution of Singleton.getInstance()  
    17     * or the first access to SingletonHolder.INSTANCE, not before. 
    18     */ 
    19    private static class SingletonHolder {  
    20      public static final NeutralEmotion INSTANCE = new NeutralEmotion(); 
    21    } 
    22   
    23    public static NeutralEmotion getInstance()  
    24    { 
    25      return SingletonHolder.INSTANCE; 
    26    }      
     9        public static final String NAME = "Neutral";     
     10        public static final EmotionValence VALENCE = EmotionValence.POSITIVE; 
     11        private static final String[] APPRAISAL_VARIABLES = {}; 
     12        public static final float POTENTIAL = 0;         
     13         
     14 
     15        public NeutralEmotion(Event e){ 
     16                super(NAME, VALENCE,APPRAISAL_VARIABLES,POTENTIAL,e); 
     17        } 
    2718} 
    28  
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/ActionDetail.java

    r848 r896  
    4646import FAtiMA.Core.emotionalState.ActiveEmotion; 
    4747import FAtiMA.Core.emotionalState.BaseEmotion; 
     48import FAtiMA.Core.emotionalState.EmotionalState; 
    4849import FAtiMA.Core.emotionalState.NeutralEmotion; 
    4950import FAtiMA.Core.memory.Memory; 
     
    126127                } 
    127128                 
    128                 this._emotion = new BaseEmotion(NeutralEmotion.getInstance(),0,e); 
     129                this._emotion = new NeutralEmotion(e); 
    129130        } 
    130131 
     
    347348                if(em.GetIntensity() > this._emotion.GetPotential()) 
    348349                { 
    349                         this._emotion = new BaseEmotion(em.getType(),em.GetIntensity(), em.GetCause(),em.GetDirection()); 
    350                         if(this._emotion.getType().getValence() == EmotionValence.POSITIVE) 
     350                        this._emotion = new BaseEmotion((BaseEmotion)em); 
     351                        if(this._emotion.getValence() == EmotionValence.POSITIVE) 
    351352                        { 
    352353                                this._desirability = (float) Math.floor(em.GetPotential()); 
     
    582583                String action = "<Event>"; 
    583584                action += "<EventID>" + this.getID() + "</EventID>"; 
    584                 action += "<Emotion>" + this.getEmotion().getType().getName() + " " + this.getEmotion().GetPotential() + "</Emotion>"; 
     585                action += "<Emotion>" + this.getEmotion().getType() + " " + this.getEmotion().GetPotential() + "</Emotion>"; 
    585586                action += "<Subject>" + this.getSubject() + "</Subject>"; 
    586587                action += "<Intention>" + this.getIntention() + "</Intention>"; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/EpisodicMemory.java

    r848 r896  
    286286                                                detail.getStatus().equals(GoalEvent.GetName(GoalEvent.SUCCESS)) || 
    287287                                                detail.getStatus().equals(GoalEvent.GetName(GoalEvent.FAILURE)))) || 
    288                                                 (detail.getAction() != null && (detail.getEmotion().getType()) != NeutralEmotion.getInstance())) 
     288                                                (detail.getAction() != null && (detail.getEmotion().getType()) != NeutralEmotion.NAME)) 
    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()) != NeutralEmotion.getInstance())) 
     315                                                (detail.getAction() != null && (detail.getEmotion().getType()) != NeutralEmotion.NAME)) 
    316316                                { 
    317317                                        _am.StoreAction(detail);                                         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/MemoryEpisode.java

    r848 r896  
    417417                        if(em.GetPotential() > 0) 
    418418                        { 
    419                                 if(em.getType().getValence() == EmotionValence.POSITIVE) 
     419                                if(em.getValence() == EmotionValence.POSITIVE) 
    420420                                { 
    421421                                        value += em.GetPotential(); 
     
    457457                        if(em.GetPotential() > 0) 
    458458                        { 
    459                                 if(em.getType().getValence() == EmotionValence.POSITIVE) 
     459                                if(em.getValence() == EmotionValence.POSITIVE) 
    460460                                { 
    461461                                        error = em.GetPotential() - avg; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/SummaryGenerator.java

    r848 r896  
    168168                } 
    169169                 
    170                 EMSummary += ">"+em.getType().getName() + "</Emotion>"; 
     170                EMSummary += ">"+em.getType() + "</Emotion>"; 
    171171                 
    172172                return EMSummary; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/Action.java

    r858 r896  
    153153                                newPotential = 0; 
    154154                        } 
    155                         _elicitingEmotion = new BaseEmotion(_elicitingEmotion.getType(), 
    156                                         newPotential, 
    157                                         _elicitingEmotion.GetCause(), 
    158                                         _elicitingEmotion.GetDirection()); 
     155                        _elicitingEmotion = new BaseEmotion(_elicitingEmotion); 
     156                        _elicitingEmotion.setPotential(newPotential); 
     157 
    159158                } 
    160159        } 
     
    175174                                newPotential = 10; 
    176175                        } 
    177                         _elicitingEmotion = new BaseEmotion(_elicitingEmotion.getType(), 
    178                                         newPotential, 
    179                                         _elicitingEmotion.GetCause(), 
    180                                         _elicitingEmotion.GetDirection()); 
     176                        _elicitingEmotion = new BaseEmotion(_elicitingEmotion); 
     177                        _elicitingEmotion.setPotential(newPotential); 
    181178                } 
    182179        } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/ReactiveProcess.java

    r848 r896  
    7171import FAtiMA.Core.ValuedAction; 
    7272import FAtiMA.Core.Display.AgentDisplayPanel; 
     73import FAtiMA.Core.OCCAffectDerivation.OCCAppraisalVariables; 
    7374import FAtiMA.Core.OCCAffectDerivation.OCCComponent; 
    7475import FAtiMA.Core.emotionalState.AppraisalFrame; 
     
    171172                        if(selfEvaluation._desirability != null) 
    172173                        { 
    173                                 af.SetAppraisalVariable(NAME, OCCComponent.DESIRABILITY, selfEvaluation._desirability.intValue()); 
     174                                af.SetAppraisalVariable(NAME, OCCAppraisalVariables.DESIRABILITY.name(), selfEvaluation._desirability.intValue()); 
    174175                        } 
    175176                        if(selfEvaluation._desirabilityForOther != null && selfEvaluation._other != null) 
    176177                        { 
    177                                 af.SetAppraisalVariable(NAME,  OCCComponent.DESFOROTHER + selfEvaluation._other, selfEvaluation._desirabilityForOther.intValue()); 
     178                                af.SetAppraisalVariable(NAME,  OCCAppraisalVariables.DESFOROTHER.name() + selfEvaluation._other, selfEvaluation._desirabilityForOther.intValue()); 
    178179                        } 
    179180                        if(selfEvaluation._praiseworthiness != null) 
    180181                        { 
    181                                 af.SetAppraisalVariable(NAME, OCCComponent.PRAISEWORTHINESS, selfEvaluation._praiseworthiness); 
     182                                af.SetAppraisalVariable(NAME, OCCAppraisalVariables.PRAISEWORTHINESS.name(), selfEvaluation._praiseworthiness); 
    182183                        } 
    183184                        if(selfEvaluation._like != null) 
    184185                        { 
    185                                 af.SetAppraisalVariable(NAME, OCCComponent.LIKE, selfEvaluation._like.intValue()); 
     186                                af.SetAppraisalVariable(NAME, OCCAppraisalVariables.LIKE.name(), selfEvaluation._like.intValue()); 
    186187                        } 
    187188                } 
     
    277278        public void inverseAppraisal(AgentModel am, AppraisalFrame af) { 
    278279                Reaction r; 
    279                 float desirability = af.getAppraisalVariable(OCCComponent.DESIRABILITY); 
    280                 float praiseworthiness = af.getAppraisalVariable(OCCComponent.PRAISEWORTHINESS); 
     280                float desirability = af.getAppraisalVariable(OCCAppraisalVariables.DESIRABILITY.name()); 
     281                float praiseworthiness = af.getAppraisalVariable(OCCAppraisalVariables.PRAISEWORTHINESS.name()); 
    281282                 
    282283                if(desirability != 0 || praiseworthiness != 0) 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/enumerables/EmotionValence.java

    r667 r896  
    3636 * @author João Dias 
    3737 */ 
    38 public abstract class EmotionValence { 
    39         public static final byte NEGATIVE = 0; 
    40         public static final byte POSITIVE = 1; 
     38public enum EmotionValence { 
     39        NEGATIVE, 
     40        POSITIVE; 
    4141} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/parsers/AgentLoaderHandler.java

    r848 r896  
    6060import FAtiMA.Core.conditions.RecentEventCondition; 
    6161import FAtiMA.Core.deliberativeLayer.DeliberativeProcess; 
    62 import FAtiMA.Core.emotionalState.BaseEmotion; 
     62import FAtiMA.Core.emotionalState.ElicitingEmotion; 
    6363import FAtiMA.Core.emotionalState.EmotionDisposition; 
    64 import FAtiMA.Core.emotionalState.EmotionType; 
    6564import FAtiMA.Core.emotionalState.EmotionalState; 
    6665import FAtiMA.Core.exceptions.InvalidEmotionTypeException; 
     
    8382        private Action _action; 
    8483    private String _goalName; 
    85     private BaseEmotion _elicitingEmotion; 
     84    private ElicitingEmotion _elicitingEmotion; 
    8685    private Reaction _eventReaction; 
    8786    private Substitution _self; 
     
    119118         
    120119        emotionName = attributes.getValue("type"); 
    121         EmotionType type = new EmotionType(emotionName,null,(byte)0);  
     120         
     121        //Just to prevent typing errors 
     122        if(emotionName.equalsIgnoreCase("happy-for")){ 
     123                emotionName = "happy_for"; 
     124        } 
     125        if(emotionName.equalsIgnoreCase("fears-confirmed")){ 
     126                emotionName = "fears_confirmed"; 
     127                } 
    122128         
    123129        minIntensity = new Integer(attributes.getValue("minIntensity")); 
    124         _elicitingEmotion = new BaseEmotion(type,minIntensity.intValue(),null); 
     130        _elicitingEmotion = new ElicitingEmotion(emotionName,minIntensity.intValue()); 
    125131        _action.SetElicitingEmotion(_elicitingEmotion); 
    126132        _reactiveLayer.getActionTendencies().AddAction(_action); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/parsers/MemoryLoaderHandler.java

    r848 r896  
    3535 
    3636import FAtiMA.Core.emotionalState.BaseEmotion; 
    37 import FAtiMA.Core.emotionalState.EmotionType; 
    3837import FAtiMA.Core.memory.Memory; 
    3938import FAtiMA.Core.memory.episodicMemory.ActionDetail; 
     
    4645import FAtiMA.Core.sensorEffector.Event; 
    4746import FAtiMA.Core.sensorEffector.Parameter; 
     47import FAtiMA.Core.util.enumerables.EmotionValence; 
    4848import FAtiMA.Core.wellFormedNames.Name; 
    4949 
     
    6161        private ShortTermEpisodicMemory _currentSTEM; 
    6262         
     63        private class MemoryBaseEmotion extends BaseEmotion{ 
     64                protected MemoryBaseEmotion(String type, EmotionValence valence, 
     65                                String[] appraisalVariables, float potential, Event cause, 
     66                                Name direction) { 
     67                        super(type, valence, appraisalVariables, potential, cause, direction); 
     68                 
     69                } 
     70        } 
    6371         
    6472        public MemoryLoaderHandler(Memory memory) { 
     
    175183        public void Emotion(Attributes attributes) { 
    176184                String type = attributes.getValue("type"); 
    177                 byte valence = Byte.parseByte(attributes.getValue("valence")); 
     185                EmotionValence valence = EmotionValence.valueOf(attributes.getValue("valence").toUpperCase()); 
    178186                Name direction = Name.ParseName(attributes.getValue("direction")); 
    179187                String aux = attributes.getValue("appraisalVariables"); 
     
    181189            float potential = Float.parseFloat(attributes.getValue("potential")); 
    182190                     
    183             _currentEmotion = new BaseEmotion(new EmotionType(type,appraisalVariables,valence), potential, null, direction); 
     191            _currentEmotion = new MemoryBaseEmotion(type,valence,appraisalVariables, potential, null, direction); 
    184192            _currentAD.setEmotion(_currentEmotion); 
    185193             
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/writers/MemoryWriter.java

    r848 r896  
    200200                        { 
    201201                                _outputter.startTag("Emotion"); 
    202                                 _outputter.attribute("type", ad.getEmotion().getType().getName()); 
    203                                 _outputter.attribute("valence", Byte.toString(ad.getEmotion().getType().getValence())); 
     202                                _outputter.attribute("type", ad.getEmotion().getType()); 
     203                                _outputter.attribute("valence", ad.getEmotion().getValence().name()); 
    204204                                if(ad.getEmotion().GetDirection() != null) 
    205205                                        _outputter.attribute("direction", ad.getEmotion().GetDirection().toString()); 
    206                                 if(ad.getEmotion().getType().getAppraisalVariables() != null) 
    207                                         _outputter.attribute("appraisalVariables", ad.getEmotion().getType().getAppraisalVariables().toString());       //ArrayList 
     206                                if(ad.getEmotion().GetAppraisalVariables() != null) 
     207                                        _outputter.attribute("appraisalVariables", ad.getEmotion().GetAppraisalVariables().toString()); //ArrayList 
    208208                                _outputter.attribute("potential", Float.toString(ad.getEmotion().GetPotential())); 
    209209                                 
Note: See TracChangeset for help on using the changeset viewer.