Changeset 770


Ignore:
Timestamp:
12/14/2010 02:35:57 PM (10 years ago)
Author:
joao.dias
Message:
 
Location:
AgentMind/branches/FAtiMA-Modular
Files:
5 added
11 edited

Legend:

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

    r764 r770  
    3434import java.util.ArrayList; 
    3535import java.util.Hashtable; 
    36 import java.util.ListIterator; 
    3736import java.util.StringTokenizer; 
    3837 
     
    4241import FAtiMA.Core.AgentModel; 
    4342import FAtiMA.Core.AgentSimulationTime; 
    44 import FAtiMA.Core.IComponent; 
    4543import FAtiMA.Core.IAppraisalComponent; 
    4644import FAtiMA.Core.IProcessExternalRequestComponent; 
     
    313311        public void continueAppraisal(AgentModel am) { 
    314312        } 
     313 
     314        @Override 
     315        public void inverseAppraisal(AgentModel am, AppraisalFrame af) { 
     316        } 
    315317         
    316318         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.MotivationalSystem/src/FAtiMA/motivationalSystem/MotivationalComponent.java

    r763 r770  
    5353        private static final float MIN_INTENSITY = 0; 
    5454 
    55          
    5655         
    5756        protected Motivator[]  _motivators; 
     
    561560                 
    562561        } 
     562 
     563 
     564        @Override 
     565        public void inverseAppraisal(AgentModel am, AppraisalFrame af) { 
     566                //TODO 
     567                 
     568        } 
    563569} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.SocialRelations/src/FAtiMA/socialRelations/SocialRelationsComponent.java

    r761 r770  
    9191                } 
    9292        } 
     93         
     94        @Override 
     95        public void inverseAppraisal(AgentModel am, AppraisalFrame af) 
     96        { 
     97                float like; 
     98                Event e; 
     99                like = af.getAppraisalVariable(OCCComponent.LIKE); 
     100                 
     101                if(like != 0) 
     102                { 
     103                        e = af.getEvent(); 
     104                        LikeRelation.getRelation(Constants.SELF, e.GetTarget()).setValue(am.getMemory(), like); 
     105                } 
     106        } 
     107         
     108        //updating other's emotional reactions 
     109         
    93110 
    94111        @Override 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.ToM/src/FAtiMA/ToM/ModelOfOther.java

    r762 r770  
    2323import FAtiMA.Core.sensorEffector.Event; 
    2424import FAtiMA.Core.sensorEffector.RemoteAgent; 
     25import FAtiMA.Core.util.Constants; 
    2526import FAtiMA.Core.wellFormedNames.Symbol; 
    2627 
     
    99100                        c.perceiveEvent(this,e); 
    100101                } 
    101         } 
     102                 
     103                if(e.GetSubject().equals(Constants.SELF)) 
     104                { 
     105                        emotionReading(e); 
     106                } 
     107        } 
     108         
     109        public void emotionReading(Event e) 
     110        { 
     111                BaseEmotion perceivedEmotion; 
     112                ActiveEmotion predictedEmotion; 
     113                AppraisalFrame af; 
     114                //if the perceived action corresponds to an emotion expression of other, we  
     115                //should update its action tendencies accordingly 
     116                perceivedEmotion = _reactiveProcess.getActionTendencies().RecognizeEmotion(this, e.toStepName()); 
     117                if(perceivedEmotion != null) 
     118                { 
     119                        predictedEmotion = _es.GetEmotion(perceivedEmotion.GetHashKey()); 
     120                        if(predictedEmotion == null) 
     121                        { 
     122                                //Agent model has to be null or the appraisal frame will generate emotions when we set the appraisal 
     123                                // variables 
     124                                af = new AppraisalFrame(null,perceivedEmotion.GetCause()); 
     125                                 
     126                                for(IAffectDerivationComponent c : _affectDerivationComponents) 
     127                                { 
     128                                        c.inverseDeriveEmotions(this,perceivedEmotion,af); 
     129                                } 
     130                                 
     131                                //updating other's emotional state 
     132                                _es.AddEmotion(perceivedEmotion, this); 
     133                                 
     134                                for(IAppraisalComponent c : _appraisalComponents) 
     135                                { 
     136                                        c.inverseAppraisal(this,af); 
     137                                } 
     138                        } 
     139                } 
     140        } 
     141                         
     142                 
     143                 
    102144         
    103145        public void appraisal(Event e, AppraisalFrame as)  
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.ToM/src/FAtiMA/ToM/ToMComponent.java

    r762 r770  
    119119                        e3 = e2.ApplyPerspective(s); 
    120120                        m.perceiveEvent(e3); 
    121                 }        
     121                }                
    122122        } 
    123123 
     
    250250        public void continueAppraisal(AgentModel am) { 
    251251        } 
     252 
     253        @Override 
     254        public void inverseAppraisal(AgentModel am, AppraisalFrame af) { 
     255        } 
    252256} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.culture/src/FAtiMA/culture/CulturalDimensionsComponent.java

    r758 r770  
    314314                // TODO Auto-generated method stub 
    315315                 
     316        } 
     317 
     318        @Override 
     319        public void inverseAppraisal(AgentModel am, AppraisalFrame af) { 
    316320        }        
    317321} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/IAffectDerivationComponent.java

    r756 r770  
    88public interface IAffectDerivationComponent extends IComponent{ 
    99         
    10         public ArrayList<BaseEmotion> deriveEmotions(AgentModel am, String appraisalVariable, AppraisalFrame as); 
     10        public ArrayList<BaseEmotion> deriveEmotions(AgentModel am, String appraisalVariable, AppraisalFrame af); 
     11        public void inverseDeriveEmotions(AgentModel am, BaseEmotion em, AppraisalFrame af); 
    1112 
    1213} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/IAppraisalComponent.java

    r756 r770  
    88public void perceiveEvent(AgentModel am, Event e); 
    99         
    10         public void startAppraisal(AgentModel am, Event e, AppraisalFrame as); 
     10        public void startAppraisal(AgentModel am, Event e, AppraisalFrame af); 
     11         
     12        public void inverseAppraisal(AgentModel am, AppraisalFrame af); 
    1113         
    1214        public void continueAppraisal(AgentModel am); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/OCCAffectDerivation/OCCComponent.java

    r757 r770  
    1111import FAtiMA.Core.emotionalState.AppraisalFrame; 
    1212import FAtiMA.Core.emotionalState.BaseEmotion; 
     13import FAtiMA.Core.emotionalState.EmotionDisposition; 
    1314import FAtiMA.Core.sensorEffector.Event; 
    1415import FAtiMA.Core.util.enumerables.EmotionType; 
     
    202203        } 
    203204         
    204         /*public static AppraisalStructure InverseOCCAppraisal(BaseEmotion em, EmotionalState es) 
     205        @Override 
     206        public void inverseDeriveEmotions(AgentModel am, BaseEmotion em, AppraisalFrame af) 
    205207        { 
    206208                //ignoring mood for now 
    207                 EmotionDisposition disposition = es._emotionDispositions[em.GetType()]; 
     209                EmotionDisposition disposition = am.getEmotionalState().getEmotionDispositions()[em.GetType()]; 
    208210                 
    209211                int threshold = disposition.GetThreshold(); 
    210212                float potentialValue = em.GetPotential() + threshold;  
    211213                 
    212                 AppraisalStructure vector = new AppraisalStructure(); 
    213                  
    214214                if(em.GetType() == EmotionType.LOVE) 
    215215                { 
    216                         vector.setAppraisalVariable(AppraisalStructure.LIKE, potentialValue * 1.43f);   
     216                        af.SetAppraisalVariable("", (short)1, LIKE, potentialValue * 1.43f); 
    217217                } 
    218218                else if(em.GetType() == EmotionType.HATE) 
    219219                { 
    220                         vector.setAppraisalVariable(AppraisalStructure.LIKE, -potentialValue * 1.43f); 
     220                        af.SetAppraisalVariable("", (short)1, LIKE, -potentialValue * 1.43f); 
    221221                } 
    222222                else if(em.GetType() == EmotionType.JOY) 
    223223                { 
    224                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY, potentialValue); 
     224                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
    225225                } 
    226226                else if(em.GetType() == EmotionType.DISTRESS) 
    227227                { 
    228                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY, -potentialValue); 
     228                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
    229229                } 
    230230                else if(em.GetType() == EmotionType.PRIDE || em.GetType() == EmotionType.ADMIRATION) 
    231231                { 
    232                         vector.setAppraisalVariable(AppraisalStructure.PRAISEWORTHINESS, potentialValue); 
     232                        af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, potentialValue); 
    233233                } 
    234234                else if(em.GetType() == EmotionType.SHAME || em.GetType() == EmotionType.REPROACH) 
    235235                { 
    236                         vector.setAppraisalVariable(AppraisalStructure.PRAISEWORTHINESS, potentialValue); 
     236                        af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, -potentialValue); 
    237237                } 
    238238                else if(em.GetType() == EmotionType.GLOATING) 
    239239                { 
    240                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY, potentialValue); 
    241                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, -potentialValue); 
     240                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
     241                        //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, -potentialValue); 
    242242                } 
    243243                else if(em.GetType() == EmotionType.HAPPYFOR) 
    244244                { 
    245                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY, potentialValue); 
    246                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, potentialValue); 
     245                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
     246                        //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, potentialValue); 
    247247                } 
    248248                else if(em.GetType() == EmotionType.PITTY) 
    249249                { 
    250                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY, -potentialValue); 
    251                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, -potentialValue); 
     250                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
     251                        //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, -potentialValue); 
    252252                } 
    253253                else if(em.GetType() == EmotionType.RESENTMENT) 
    254254                { 
    255                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY, -potentialValue); 
    256                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, potentialValue); 
     255                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
     256                        //vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY_FOR_OTHER, potentialValue); 
    257257                } 
    258258                else if(em.GetType() == EmotionType.GRATIFICATION || em.GetType() == EmotionType.GRATITUDE) 
    259259                { 
    260                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY, potentialValue); 
    261                         vector.setAppraisalVariable(AppraisalStructure.PRAISEWORTHINESS, potentialValue); 
     260                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, potentialValue); 
     261                        af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, potentialValue); 
    262262                } 
    263263                else if(em.GetType() == EmotionType.REGRET || em.GetType() == EmotionType.ANGER) 
    264264                { 
    265                         vector.setAppraisalVariable(AppraisalStructure.DESIRABILITY, -potentialValue); 
    266                         vector.setAppraisalVariable(AppraisalStructure.PRAISEWORTHINESS, -potentialValue); 
    267                 } 
    268                 return vector; 
    269                  
    270                  
    271         }*/ 
     265                        af.SetAppraisalVariable("", (short)1, DESIRABILITY, -potentialValue); 
     266                        af.SetAppraisalVariable("", (short)1, PRAISEWORTHINESS, -potentialValue); 
     267                } 
     268        } 
    272269         
    273270        private static BaseEmotion OCCAppraiseAttribution(Event event, float like) 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/DeliberativeProcess.java

    r768 r770  
    12661266        public void continueAppraisal(AgentModel am) { 
    12671267        } 
     1268 
     1269        @Override 
     1270        public void inverseAppraisal(AgentModel am, AppraisalFrame af) { 
     1271        } 
    12681272} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/ReactiveProcess.java

    r756 r770  
    299299                return; 
    300300        } 
     301 
     302        @Override 
     303        public void inverseAppraisal(AgentModel am, AppraisalFrame af) { 
     304                Reaction r; 
     305                float desirability = af.getAppraisalVariable(OCCComponent.DESIRABILITY); 
     306                float praiseworthiness = af.getAppraisalVariable(OCCComponent.PRAISEWORTHINESS); 
     307                 
     308                if(desirability != 0 || praiseworthiness != 0) 
     309                { 
     310                         
     311                        r = new Reaction(af.getEvent()); 
     312                        r.setDesirability(desirability); 
     313                        r.setPraiseworthiness(praiseworthiness); 
     314                        AddEmotionalReaction(r); 
     315                } 
     316        } 
    301317} 
Note: See TracChangeset for help on using the changeset viewer.