Changeset 801


Ignore:
Timestamp:
01/11/2011 02:55:31 PM (10 years ago)
Author:
joao.dias
Message:
 
Location:
AgentMind/branches/FAtiMA-Modular
Files:
38 edited

Legend:

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

    r782 r801  
    173173 
    174174        @Override 
    175         public void updateCycle(AgentModel am, long time) { 
     175        public void update(AgentModel am, long time) { 
    176176                /*if (time >= _lastTime + 86400000) { 
    177177                        _lastTime = time; 
     
    190190 
    191191        @Override 
    192         public void perceiveEvent(AgentModel am, Event e) { 
    193                 // TODO Auto-generated method stub 
    194         } 
    195  
    196         @Override 
    197         public void startAppraisal(AgentModel am, Event e, AppraisalFrame as) { 
     192        public void update(AgentModel am, Event e) { 
     193        } 
     194 
     195        @Override 
     196        public void appraisal(AgentModel am, Event e, AppraisalFrame as) { 
    198197                 
    199198                //appraisal from memory 
     
    309308 
    310309        @Override 
    311         public void continueAppraisal(AgentModel am) { 
     310        public void reappraisal(AgentModel am) { 
    312311        } 
    313312 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.EmotionalIntelligence/.classpath

    r729 r801  
    44        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> 
    55        <classpathentry combineaccessrules="false" kind="src" path="/FAtiMA"/> 
     6        <classpathentry combineaccessrules="false" kind="src" path="/FAtiMA.AdvancedMemory"/> 
    67        <classpathentry kind="output" path="bin"/> 
    78</classpath> 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.EmotionalIntelligence/src/FAtiMA/emotionalIntelligence/AppraisalCondition.java

    r729 r801  
    1313import FAtiMA.Core.wellFormedNames.SubstitutionSet; 
    1414import FAtiMA.Core.wellFormedNames.Symbol; 
     15import FAtiMA.advancedMemoryComponent.AdvancedMemoryComponent; 
    1516 
    1617public class AppraisalCondition extends PastEventCondition { 
     
    6465        } 
    6566         
     67        public boolean CheckCondition(AgentModel am) { 
     68                return this._action.isGrounded();                 
     69        } 
     70         
    6671        public Object clone() 
    6772        { 
     
    98103                return newCondition;     
    99104        } 
    100          
     105 
    101106        public Object GenerateName(int id) { 
    102107                AppraisalCondition c = (AppraisalCondition) this.clone(); 
     
    105110        } 
    106111 
    107         public void ReplaceUnboundVariables(int variableID) { 
    108                 this._value.ReplaceUnboundVariables(variableID); 
    109                 this._ToM.ReplaceUnboundVariables(variableID); 
    110                  
    111                 this._name.ReplaceUnboundVariables(variableID); 
    112                 this._subject.ReplaceUnboundVariables(variableID); 
    113                 this._action.ReplaceUnboundVariables(variableID); 
    114                  
    115                 if(this._target != null) 
    116                 { 
    117                         this._target.ReplaceUnboundVariables(variableID); 
    118                 } 
    119                  
    120                 ListIterator<Symbol> li = this._parameters.listIterator(); 
    121                 while(li.hasNext()) 
    122                 { 
    123                         li.next().ReplaceUnboundVariables(variableID); 
    124                 } 
    125         } 
    126  
    127         public Object Ground(ArrayList<Substitution> bindingConstraints) { 
    128                  
    129                 AppraisalCondition c = (AppraisalCondition) this.clone(); 
    130                 c.MakeGround(bindingConstraints); 
    131                 return c; 
    132         } 
    133  
    134         public void MakeGround(ArrayList<Substitution> bindings) { 
    135                 this._value.MakeGround(bindings); 
    136                  
    137                 this._name.MakeGround(bindings); 
    138                 this._ToM.MakeGround(bindings); 
    139                 this._subject.MakeGround(bindings); 
    140                 this._action.MakeGround(bindings); 
    141                 if(this._target != null) 
    142                 { 
    143                         this._target.MakeGround(bindings); 
    144                 } 
    145                  
    146                 ListIterator<Symbol> li = this._parameters.listIterator(); 
    147                 while(li.hasNext()) 
    148                 { 
    149                         li.next().MakeGround(bindings); 
    150                 } 
    151         } 
    152  
    153         public Object Ground(Substitution subst) { 
    154                 AppraisalCondition c = (AppraisalCondition) this.clone(); 
    155                 c.MakeGround(subst); 
    156                 return c; 
    157         } 
    158  
    159         public void MakeGround(Substitution subst) { 
    160                 this._value.MakeGround(subst); 
    161                  
    162                 this._name.MakeGround(subst); 
    163                 this._ToM.MakeGround(subst); 
    164                 this._subject.MakeGround(subst); 
    165                 this._action.MakeGround(subst); 
    166                 if(this._target != null) 
    167                 { 
    168                         this._target.MakeGround(subst); 
    169                 } 
    170                  
    171                 ListIterator<Symbol> li = this._parameters.listIterator(); 
    172                 while(li.hasNext()) 
    173                 { 
    174                         li.next().MakeGround(subst); 
    175                 } 
    176         } 
    177          
    178         public boolean CheckCondition(AgentModel am) { 
    179                 return this._action.isGrounded();                 
    180         } 
    181          
    182112        public ArrayList<SubstitutionSet> GetValidBindings(AgentModel am) { 
    183113                 
     
    187117                SubstitutionSet sset; 
    188118                float mood; 
     119                AdvancedMemoryComponent advMem; 
    189120         
    190121                AgentModel modelToTest = am.getModelToTest(this._ToM); 
     
    220151                String question = "action"; 
    221152                 
    222                   
    223                 /*am.getSpreadActivate().Spread(question, knownInfo, modelToTest.getMemory().getEpisodicMemory()); 
    224                  
    225                 ArrayList<ActionDetail> details = am.getSpreadActivate().getDetails(); 
     153                advMem = (AdvancedMemoryComponent) am.getComponent(AdvancedMemoryComponent.NAME); 
     154                 
     155                advMem.getSpreadActivate().Spread(question, knownInfo, modelToTest.getMemory().getEpisodicMemory()); 
     156                 
     157                ArrayList<ActionDetail> details = advMem.getSpreadActivate().getDetails(); 
    226158                 
    227159                if(details.size() > 0) 
     
    244176                         
    245177                        return subs; 
    246                 }*/ 
     178                } 
    247179         
    248180                return null; 
    249181        } 
     182 
     183        public Object Ground(ArrayList<Substitution> bindingConstraints) { 
     184                 
     185                AppraisalCondition c = (AppraisalCondition) this.clone(); 
     186                c.MakeGround(bindingConstraints); 
     187                return c; 
     188        } 
     189 
     190        public Object Ground(Substitution subst) { 
     191                AppraisalCondition c = (AppraisalCondition) this.clone(); 
     192                c.MakeGround(subst); 
     193                return c; 
     194        } 
     195 
     196        public void MakeGround(ArrayList<Substitution> bindings) { 
     197                this._value.MakeGround(bindings); 
     198                 
     199                this._name.MakeGround(bindings); 
     200                this._ToM.MakeGround(bindings); 
     201                this._subject.MakeGround(bindings); 
     202                this._action.MakeGround(bindings); 
     203                if(this._target != null) 
     204                { 
     205                        this._target.MakeGround(bindings); 
     206                } 
     207                 
     208                ListIterator<Symbol> li = this._parameters.listIterator(); 
     209                while(li.hasNext()) 
     210                { 
     211                        li.next().MakeGround(bindings); 
     212                } 
     213        } 
     214         
     215        public void MakeGround(Substitution subst) { 
     216                this._value.MakeGround(subst); 
     217                 
     218                this._name.MakeGround(subst); 
     219                this._ToM.MakeGround(subst); 
     220                this._subject.MakeGround(subst); 
     221                this._action.MakeGround(subst); 
     222                if(this._target != null) 
     223                { 
     224                        this._target.MakeGround(subst); 
     225                } 
     226                 
     227                ListIterator<Symbol> li = this._parameters.listIterator(); 
     228                while(li.hasNext()) 
     229                { 
     230                        li.next().MakeGround(subst); 
     231                } 
     232        } 
     233         
     234        public void ReplaceUnboundVariables(int variableID) { 
     235                this._value.ReplaceUnboundVariables(variableID); 
     236                this._ToM.ReplaceUnboundVariables(variableID); 
     237                 
     238                this._name.ReplaceUnboundVariables(variableID); 
     239                this._subject.ReplaceUnboundVariables(variableID); 
     240                this._action.ReplaceUnboundVariables(variableID); 
     241                 
     242                if(this._target != null) 
     243                { 
     244                        this._target.ReplaceUnboundVariables(variableID); 
     245                } 
     246                 
     247                ListIterator<Symbol> li = this._parameters.listIterator(); 
     248                while(li.hasNext()) 
     249                { 
     250                        li.next().ReplaceUnboundVariables(variableID); 
     251                } 
     252        } 
    250253} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.EmotionalIntelligence/src/FAtiMA/emotionalIntelligence/EmotionalIntelligence.java

    r759 r801  
    11package FAtiMA.emotionalIntelligence; 
     2 
     3import java.io.File; 
     4import java.util.ArrayList; 
     5 
     6import javax.xml.parsers.SAXParser; 
     7import javax.xml.parsers.SAXParserFactory; 
    28 
    39import FAtiMA.Core.AgentModel; 
    410import FAtiMA.Core.IComponent; 
    511import FAtiMA.Core.Display.AgentDisplayPanel; 
     12import FAtiMA.Core.deliberativeLayer.EmotionalPlanner; 
     13import FAtiMA.Core.deliberativeLayer.plan.Step; 
     14import FAtiMA.Core.reactiveLayer.Action; 
     15import FAtiMA.Core.sensorEffector.Event; 
     16import FAtiMA.Core.util.AgentLogger; 
    617 
    718public class EmotionalIntelligence implements IComponent { 
    819         
    920        public static final String NAME = "EmotionalIntelligence"; 
     21         
     22        private ArrayList<String> _parsingFiles; 
     23         
     24        public EmotionalIntelligence(ArrayList<String> extraFiles) 
     25        { 
     26                _parsingFiles = new ArrayList<String>(); 
     27                _parsingFiles.addAll(extraFiles); 
     28        } 
     29 
     30        @Override 
     31        public AgentDisplayPanel createDisplayPanel(AgentModel am) { 
     32                return null; 
     33        } 
     34 
     35        @Override 
     36        public void initialize(AgentModel am) { 
     37                 
     38                EmotionalPlanner planner = am.getDeliberativeLayer().getEmotionalPlanner(); 
     39                 
     40                ArrayList<Step> occRules = OCCAppraisalRules.GenerateOCCAppraisalRules(am); 
     41                for(Step s : occRules) 
     42                { 
     43                        planner.AddOperator(s); 
     44                } 
     45                 
     46                for(Action at: am.getReactiveLayer().getActionTendencies().getActions()) 
     47                { 
     48                        planner.AddOperator(ActionTendencyOperatorFactory.CreateATOperator(am, at)); 
     49                } 
     50                 
     51                LoadOperators(am); 
     52        } 
     53 
     54        private void LoadOperators(AgentModel am) 
     55        { 
     56                AgentLogger.GetInstance().log("LOADING EI Operators: "); 
     57                EmotionalConditionsLoaderHandler emotionsLoader = new EmotionalConditionsLoaderHandler(am); 
     58                 
     59                try{ 
     60                        SAXParserFactory factory = SAXParserFactory.newInstance(); 
     61                        SAXParser parser = factory.newSAXParser(); 
     62                         
     63                        for(String file : _parsingFiles) 
     64                        { 
     65                                parser.parse(new File(file), emotionsLoader); 
     66                        }        
     67 
     68                }catch(Exception e){ 
     69                        throw new RuntimeException("Error on Loading EI Operators from XML Files:" + e); 
     70                } 
     71        } 
    1072 
    1173        @Override 
     
    1577 
    1678        @Override 
    17         public void initialize(AgentModel am) { 
    18                 // TODO Auto-generated method stub 
    19                  
    20         } 
    21  
    22         @Override 
    2379        public void reset() { 
    2480        } 
    25  
     81         
     82         
    2683        @Override 
    27         public void updateCycle(AgentModel am, long time) { 
     84        public void update(AgentModel am, long time) { 
    2885                // TODO Auto-generated method stub 
    29                  
    3086        } 
    31  
     87         
    3288        @Override 
    33         public AgentDisplayPanel createDisplayPanel(AgentModel am) { 
    34                 return null; 
     89        public void update(AgentModel am, Event e) 
     90        { 
    3591        } 
    3692} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.MotivationalSystem/src/FAtiMA/motivationalSystem/MotivationalComponent.java

    r770 r801  
    2727import FAtiMA.Core.deliberativeLayer.IProbabilityStrategy; 
    2828import FAtiMA.Core.deliberativeLayer.IUtilityStrategy; 
     29import FAtiMA.Core.deliberativeLayer.Intention; 
    2930import FAtiMA.Core.deliberativeLayer.goals.ActivePursuitGoal; 
    3031import FAtiMA.Core.deliberativeLayer.plan.Step; 
     
    272273                float probability = am.getDeliberativeLayer().getProbabilityStrategy().getProbability(am, g); 
    273274                 
    274                  
    275                 float EU = utility * probability + (1 + g.GetGoalUrgency()); 
    276                  
     275                float EU = utility * probability * (1 + g.GetGoalUrgency()); 
    277276                 
    278277                AgentLogger.GetInstance().intermittentLog("Goal: " + g.getName() + " Utilitity: " + utility + " Competence: " + probability + 
     
    281280        } 
    282281         
     282        public float getExpectedUtility(AgentModel am, Intention i) 
     283        { 
     284                float utility = am.getDeliberativeLayer().getUtilityStrategy().getUtility(am, i.getGoal()); 
     285                float probability = am.getDeliberativeLayer().getProbabilityStrategy().getProbability(am, i); 
     286                 
     287                float EU = utility * probability * (1 + i.getGoal().GetGoalUrgency()); 
     288                 
     289                AgentLogger.GetInstance().intermittentLog("Intention: " + i.getGoal().getName() + " Utilitity: " + utility + " Competence: " + probability + 
     290                                " Urgency: "+ i.getGoal().GetGoalUrgency() + " Total: " + EU); 
     291                return EU; 
     292        } 
     293         
    283294        public float getUtility(AgentModel am, ActivePursuitGoal g) 
    284295        { 
     
    289300        { 
    290301                return getCompetence(am,g); 
     302        } 
     303         
     304        public float getProbability(AgentModel am, Intention i) 
     305        { 
     306                return i.GetProbability(am); 
    291307        } 
    292308         
     
    420436        public void reset() { 
    421437                // TODO Auto-generated method stub 
    422          
    423         } 
    424          
    425         @Override 
    426         public void perceiveEvent(AgentModel am, Event e) 
     438        } 
     439         
     440        @Override 
     441        public void update(AgentModel am, Event e) 
    427442        { 
    428443                float result =  UpdateMotivators(am, e); 
     
    431446 
    432447        @Override 
    433         public void startAppraisal(AgentModel am, Event e, AppraisalFrame as) { 
     448        public void appraisal(AgentModel am, Event e, AppraisalFrame as) { 
    434449                Float desirability = _appraisals.get(e.toString()); 
    435450                if(desirability != null) 
     
    454469        private void LoadNeeds(AgentModel am) 
    455470        { 
    456                 AgentLogger.GetInstance().log("LOADING Social Relations: "); 
     471                AgentLogger.GetInstance().log("LOADING Needs: "); 
    457472                NeedsLoaderHandler needsLoader = new NeedsLoaderHandler(am,this); 
    458473                 
     
    473488 
    474489        @Override 
    475         public void updateCycle(AgentModel am, long time) { 
     490        public void update(AgentModel am, long time) { 
    476491                _appraisals.clear(); 
    477492                if (time >= _lastTime + 1000) { 
     
    556571 
    557572        @Override 
    558         public void continueAppraisal(AgentModel am) { 
     573        public void reappraisal(AgentModel am) { 
    559574                // TODO Auto-generated method stub 
    560                  
    561575        } 
    562576 
     
    565579        public void inverseAppraisal(AgentModel am, AppraisalFrame af) { 
    566580                //TODO 
    567                  
    568581        } 
    569582} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.SocialRelations/src/FAtiMA/socialRelations/RelationsLoaderHandler.java

    r723 r801  
    2424        private float _probability; 
    2525    private Substitution _self = new Substitution(new Symbol("[SELF]"), new Symbol(Constants.SELF)); 
    26      
    27          
    2826         
    2927        public RelationsLoaderHandler(AgentModel aM){ 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.SocialRelations/src/FAtiMA/socialRelations/SocialRelationsComponent.java

    r772 r801  
    2727public class SocialRelationsComponent implements Serializable, IAppraisalComponent, IModelOfOtherComponent, IProcessEmotionComponent { 
    2828         
     29        /** 
     30         *  
     31         */ 
     32        private static final long serialVersionUID = 1L; 
     33         
    2934        public static final String NAME = "SocialRelations"; 
    3035        private ArrayList<String> _parsingFiles; 
     
    7378 
    7479        @Override 
    75         public void updateCycle(AgentModel am, long time) { 
    76         } 
    77          
    78         @Override 
    79         public void perceiveEvent(AgentModel am, Event e) 
     80        public void update(AgentModel am, long time) { 
     81        } 
     82         
     83        @Override 
     84        public void update(AgentModel am, Event e) 
    8085        { 
    8186        } 
    8287 
    8388        @Override 
    84         public void startAppraisal(AgentModel am, Event e, AppraisalFrame as) { 
     89        public void appraisal(AgentModel am, Event e, AppraisalFrame as) { 
    8590                if(e.GetSubject().equals(Constants.SELF) && e.GetAction().equals("look-at")) 
    8691                { 
     
    196201 
    197202        @Override 
    198         public void continueAppraisal(AgentModel am) { 
     203        public void reappraisal(AgentModel am) { 
    199204                // TODO Auto-generated method stub 
    200205                 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.ToM/src/FAtiMA/ToM/ModelOfOther.java

    r770 r801  
    8181        } 
    8282         
    83         public void updateCycle(long time) 
     83        public void update(long time) 
    8484        { 
    8585                _es.Decay(); 
     
    8787                for(IComponent c : _components.values()) 
    8888                { 
    89                         c.updateCycle(this,time); 
    90                 } 
    91         } 
    92          
    93         public void perceiveEvent(Event e) 
     89                        c.update(this,time); 
     90                } 
     91        } 
     92         
     93        public void update(Event e) 
    9494        { 
    9595                _mem.getEpisodicMemory().StoreAction(_mem, e); 
     
    9898                for(IAppraisalComponent c : _appraisalComponents) 
    9999                { 
    100                         c.perceiveEvent(this,e); 
     100                        c.update(this,e); 
    101101                } 
    102102                 
     
    126126                                for(IAffectDerivationComponent c : _affectDerivationComponents) 
    127127                                { 
    128                                         c.inverseDeriveEmotions(this,perceivedEmotion,af); 
     128                                        c.inverseAffectElicitation(this,perceivedEmotion,af); 
    129129                                } 
    130130                                 
     
    147147                for(IAppraisalComponent ac : _appraisalComponents) 
    148148                { 
    149                         ac.startAppraisal(this,e,as); 
     149                        ac.appraisal(this,e,as); 
    150150                } 
    151151        } 
     
    218218                for(IAffectDerivationComponent ac : this._affectDerivationComponents) 
    219219                { 
    220                         emotions = ac.deriveEmotions(this, appraisalVariable, af); 
     220                        emotions = ac.affectElicitation(this, appraisalVariable, af); 
    221221                        for(BaseEmotion em : emotions) 
    222222                        { 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.ToM/src/FAtiMA/ToM/ToMComponent.java

    r772 r801  
    2525public class ToMComponent implements Serializable, IAppraisalComponent, IProcessPerceptionsComponent, IGetModelStrategy, IGetUtilityForOthers { 
    2626         
     27        /** 
     28         *  
     29         */ 
     30        private static final long serialVersionUID = 1L; 
     31 
    2732        public static final String NAME = "ToM"; 
    2833         
     
    101106 
    102107        @Override 
    103         public void updateCycle(AgentModel am,long time) { 
     108        public void update(AgentModel am,long time) { 
    104109                 
    105110                for(String s : _nearbyAgents) 
    106111                { 
    107112                        ModelOfOther m = _ToM.get(s); 
    108                         m.updateCycle(time); 
     113                        m.update(time); 
    109114                }                
    110115        } 
    111116         
    112117        @Override 
    113         public void perceiveEvent(AgentModel am, Event e) 
     118        public void update(AgentModel am, Event e) 
    114119        { 
    115120                Event e2 = e.RemovePerspective(_name); 
     
    119124                        ModelOfOther m = _ToM.get(s); 
    120125                        e3 = e2.ApplyPerspective(s); 
    121                         m.perceiveEvent(e3); 
     126                        m.update(e3); 
    122127                }                
    123128        } 
    124129 
    125130        @Override 
    126         public void startAppraisal(AgentModel am, Event e, AppraisalFrame as) { 
     131        public void appraisal(AgentModel am, Event e, AppraisalFrame as) { 
    127132                 
    128133                Event e2 = e.RemovePerspective(_name); 
     
    166171        { 
    167172                Name propertyName2 = AgentCore.removePerspective(propertyName, _name); 
    168                  
    169173                 
    170174                if(ToM.equals(Constants.UNIVERSAL.toString())) 
     
    249253 
    250254        @Override 
    251         public void continueAppraisal(AgentModel am) { 
     255        public void reappraisal(AgentModel am) { 
    252256        } 
    253257 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.culture/src/FAtiMA/culture/CulturalDimensionsComponent.java

    r770 r801  
    1919import FAtiMA.Core.deliberativeLayer.IOptionsStrategy; 
    2020import FAtiMA.Core.deliberativeLayer.IUtilityStrategy; 
     21import FAtiMA.Core.deliberativeLayer.Intention; 
    2122import FAtiMA.Core.deliberativeLayer.goals.ActivePursuitGoal; 
    2223import FAtiMA.Core.emotionalState.AppraisalFrame; 
     
    6869         
    6970        @Override 
    70         public void startAppraisal(AgentModel am, Event e, AppraisalFrame af) 
     71        public void appraisal(AgentModel am, Event e, AppraisalFrame af) 
    7172        { 
    7273                float desirabilityForOther = 0; 
     
    273274                 
    274275        } 
    275  
    276         @Override 
    277         public float getExpectedUtility(AgentModel am, ActivePursuitGoal g) { 
    278                  
    279                  
    280                  
    281                 float probability = am.getDeliberativeLayer().getProbabilityStrategy().getProbability(am, g); 
    282                  
     276         
     277        private float culturalEU(AgentModel am, ActivePursuitGoal g, float probability) 
     278        { 
    283279                IUtilityStrategy str =  am.getDeliberativeLayer().getUtilityStrategy(); 
    284280                 
     
    300296 
    301297        @Override 
    302         public void updateCycle(AgentModel am,long time) { 
     298        public float getExpectedUtility(AgentModel am, ActivePursuitGoal g) { 
     299                 
     300                float probability = am.getDeliberativeLayer().getProbabilityStrategy().getProbability(am, g); 
     301                return culturalEU(am,g,probability); 
     302        } 
     303         
     304        @Override 
     305        public float getExpectedUtility(AgentModel am, Intention i) { 
     306                 
     307                float probability = am.getDeliberativeLayer().getProbabilityStrategy().getProbability(am, i); 
     308                 
     309                return culturalEU(am,i.getGoal(),probability); 
     310        } 
     311 
     312        @Override 
     313        public void update(AgentModel am,long time) { 
    303314                // TODO Auto-generated method stub 
    304                  
     315        } 
     316         
     317        @Override 
     318        public void update(AgentModel am,Event e) { 
     319                // TODO Auto-generated method stub 
    305320        } 
    306321 
     
    311326 
    312327        @Override 
    313         public void continueAppraisal(AgentModel am) { 
    314                 // TODO Auto-generated method stub 
    315                  
     328        public void reappraisal(AgentModel am) { 
     329                // TODO Auto-generated method stub       
    316330        } 
    317331 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/AgentCore.java

    r800 r801  
    314314                c.initialize(this); 
    315315                AgentDisplayPanel panel = c.createDisplayPanel(this); 
    316                 if(panel != null) 
     316                if(panel != null & _showStateWindow) 
    317317                { 
    318318                        this._agentDisplay.AddPanel(panel, c.name(),""); 
     
    622622        public void Run() { 
    623623                ValuedAction action; 
     624                ValuedAction bestAction; 
     625                float bestActionValue; 
     626                float value; 
    624627                AppraisalFrame appraisal; 
    625628                 
     
    641644                                        for(IComponent c : this._generalComponents.values()) 
    642645                                        { 
    643                                                 c.updateCycle(this, AgentSimulationTime.GetInstance().Time()); 
     646                                                c.update(this, AgentSimulationTime.GetInstance().Time()); 
    644647                                        } 
    645648 
     
    655658                                                        _memory.getSemanticMemory().Tell(ACTION_CONTEXT, e2.toName().toString()); 
    656659                                                         
     660                                                        for(IComponent c : this._generalComponents.values()) 
     661                                                        { 
     662                                                                c.update(this, e2); 
     663                                                        } 
    657664                                                         
    658665                                                        appraisal = new AppraisalFrame(this,e2); 
    659666                                                        for(IAppraisalComponent c : this._appraisalComponents) 
    660667                                                        { 
    661                                                                 c.perceiveEvent(this,e2); 
    662                                                                 c.startAppraisal(this,e2, appraisal); 
     668                                                                c.appraisal(this,e2, appraisal); 
    663669                                                        } 
    664670                                                } 
     
    668674                                        for(IAppraisalComponent c : this._appraisalComponents) 
    669675                                        { 
    670                                                 c.continueAppraisal(this); 
     676                                                c.reappraisal(this); 
    671677                                        } 
    672678                                         
     
    697703 
    698704 
     705                                        bestActionValue = 0; 
     706                                        bestAction = null; 
     707                                         
    699708                                        for(IBehaviourComponent c : this._behaviourComponents) 
    700709                                        { 
    701                                                 c.coping(this); 
    702                                         } 
    703  
    704                                         if(_remoteAgent.FinishedExecuting() && _remoteAgent.isRunning()) { 
    705  
    706                                                 //action = FilterSpeechAction(_reactiveLayer.GetSelectedAction()); 
    707                                                 action = _reactiveLayer.GetSelectedAction(); 
    708  
    709                                                 if(action != null)  
     710                                                action = c.actionSelection(this); 
     711                                                if(action!= null) 
    710712                                                { 
    711                                                         _reactiveLayer.RemoveSelectedAction(); 
    712                                                         _remoteAgent.AddAction(action); 
    713                                                 } 
    714                                                 else 
    715                                                 { 
    716                                                         //TODO check this FilterSpeechAction 
    717                                                         //action = FilterSpeechAction(_deliberativeLayer.GetSelectedAction()); 
    718                                                         action = _deliberativeLayer.GetSelectedAction(); 
    719                                                         if(action != null) 
     713                                                        value = action.getValue(_emotionalState); 
     714                                                        if(value > bestActionValue) 
    720715                                                        { 
    721                                                                 _deliberativeLayer.RemoveSelectedAction(); 
    722                                                                 _remoteAgent.AddAction(action); 
     716                                                                bestActionValue = value; 
     717                                                                bestAction = action; 
    723718                                                        } 
    724719                                                } 
     720                                                 
     721                                        } 
     722 
     723                                        if(_remoteAgent.FinishedExecuting() && _remoteAgent.isRunning() && bestAction != null) { 
     724                                                 
     725                                                _remoteAgent.AddAction(bestAction); 
     726                                                IBehaviourComponent c = (IBehaviourComponent) getComponent(bestAction.getComponent()); 
     727                                                c.actionSelectedForExecution(bestAction); 
    725728 
    726729                                                _remoteAgent.ExecuteNextAction(this); 
     
    874877        } 
    875878 
    876         protected ValuedAction SelectBestAction() { 
    877  
    878                 ValuedAction bestAction = null; 
    879                 ValuedAction action; 
    880                 int removeHere=-1; 
    881  
    882                 for(int i=0; i < _actionsForExecution.size(); i++) 
    883                 { 
    884                         action = (ValuedAction) _actionsForExecution.get(i); 
    885                         if(bestAction == null || action.GetValue(_emotionalState) > bestAction.GetValue(_emotionalState)) 
    886                         { 
    887                                 bestAction = action; 
    888                                 removeHere = i; 
    889                         } 
    890                 } 
    891  
    892                 if(bestAction != null) 
    893                 { 
    894                         _actionsForExecution.remove(removeHere); 
    895                 } 
    896                 return bestAction; 
    897         } 
    898  
    899879        /** 
    900880         * Gets the gender of the agent 
     
    10451025                for(IAffectDerivationComponent ac : this._affectDerivationComponents) 
    10461026                { 
    1047                         emotions = ac.deriveEmotions(this, appraisalVariable, af); 
     1027                        emotions = ac.affectElicitation(this, appraisalVariable, af); 
    10481028                        for(BaseEmotion em : emotions) 
    10491029                        { 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/IAffectDerivationComponent.java

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

    r770 r801  
    66public interface IAppraisalComponent extends IComponent { 
    77         
    8 public void perceiveEvent(AgentModel am, Event e); 
    9          
    10         public void startAppraisal(AgentModel am, Event e, AppraisalFrame af); 
     8        public void appraisal(AgentModel am, Event e, AppraisalFrame af); 
    119         
    1210        public void inverseAppraisal(AgentModel am, AppraisalFrame af); 
    1311         
    14         public void continueAppraisal(AgentModel am); 
     12        public void reappraisal(AgentModel am); 
    1513 
    1614} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/IBehaviourComponent.java

    r747 r801  
    33public interface IBehaviourComponent extends IComponent{ 
    44         
    5         public void coping(AgentModel am); 
     5        public ValuedAction actionSelection(AgentModel am); 
     6         
     7        public void actionSelectedForExecution(ValuedAction va); 
    68 
    79} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/IComponent.java

    r756 r801  
    22 
    33import FAtiMA.Core.Display.AgentDisplayPanel; 
     4import FAtiMA.Core.sensorEffector.Event; 
    45 
    56public interface IComponent { 
     
    1112        public void reset(); 
    1213         
    13         public void updateCycle(AgentModel am, long time); 
     14        public void update(AgentModel am, long time); 
     15         
     16        public void update(AgentModel am, Event e); 
    1417         
    1518        public AgentDisplayPanel createDisplayPanel(AgentModel am); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/OCCAffectDerivation/OCCComponent.java

    r772 r801  
    1919public class OCCComponent implements Serializable, IAffectDerivationComponent, IModelOfOtherComponent { 
    2020         
     21        /** 
     22         *  
     23         */ 
     24        private static final long serialVersionUID = 1L; 
     25         
    2126        public static final String NAME = "OCC"; 
    2227        public static final String LIKE = "like"; 
     
    5055 
    5156        @Override 
    52         public void updateCycle(AgentModel am, long time) { 
     57        public void update(AgentModel am, long time) { 
     58        } 
     59         
     60        @Override 
     61        public void update(AgentModel am, Event e) 
     62        { 
    5363        } 
    5464 
     
    7080         
    7181        @Override 
    72         public ArrayList<BaseEmotion> deriveEmotions(AgentModel am, String appraisalVariable, AppraisalFrame af) { 
     82        public ArrayList<BaseEmotion> affectElicitation(AgentModel am, String appraisalVariable, AppraisalFrame af) { 
    7383                 
    7484                ArrayList<BaseEmotion> emotions = new ArrayList<BaseEmotion>(); 
     
    205215         
    206216        @Override 
    207         public void inverseDeriveEmotions(AgentModel am, BaseEmotion em, AppraisalFrame af) 
     217        public void inverseAffectElicitation(AgentModel am, BaseEmotion em, AppraisalFrame af) 
    208218        { 
    209219                //ignoring mood for now 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/ValuedAction.java

    r667 r801  
    5959         
    6060        private Name _action; 
     61        private String _component; 
    6162        private String _emotionKey; 
    6263        private float _value; 
     
    6768         * @param emotion - the emotion associated to the action 
    6869         */ 
    69         public ValuedAction(Name action, ActiveEmotion emotion) { 
     70        public ValuedAction(String component, Name action, ActiveEmotion emotion) { 
     71                _component = component; 
    7072                _action = action; 
    7173                if(emotion != null)  
     
    7779        } 
    7880         
    79         public ValuedAction(Name action, float value) 
     81        public ValuedAction(String component, Name action, float value) 
    8082        { 
     83                _component = component; 
    8184                _action = action; 
    8285                _emotionKey = null; 
    8386                this._value = value; 
     87        } 
     88         
     89        public String getComponent() 
     90        { 
     91                return this._component; 
    8492        } 
    8593 
     
    8896         * @return the action to perform 
    8997         */ 
    90         public Name GetAction() { 
     98        public Name getAction() { 
    9199                return _action; 
    92100        } 
     
    104112         * @return a float representing how emotionally important is the action 
    105113         */ 
    106         public float GetValue(EmotionalState es) { 
     114        public float getValue(EmotionalState es) { 
    107115                if(_value == -1) 
    108116                { 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/DefaultExpectedUtility.java

    r667 r801  
    1010                return g.GetImportanceOfSuccess(am) * g.getProbability(am); 
    1111        } 
     12         
     13        public float getExpectedUtility(AgentModel am, Intention i) 
     14        { 
     15                return i.getGoal().GetImportanceOfSuccess(am) * i.GetProbability(am); 
     16        } 
    1217 
    1318} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/DefaultStrategy.java

    r772 r801  
    1717                return g.getProbability(am); 
    1818        } 
     19         
     20        public float getProbability(AgentModel am, Intention i) 
     21        { 
     22                return i.GetProbability(am); 
     23        } 
    1924 
    2025        @Override 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/DeliberativeProcess.java

    r772 r801  
    685685         
    686686        @Override 
    687         public void perceiveEvent(AgentModel am, Event event) { 
     687        public void update(AgentModel am, Event event) { 
    688688                 
    689689                CheckLinks(am); 
     
    812812                        { 
    813813                                if(_currentIntention == null || 
    814                                                 maxUtility > _EUStrategy.getExpectedUtility(am,_currentIntention.getGoal())*SELECTIONTHRESHOLD) 
     814                                                maxUtility > _EUStrategy.getExpectedUtility(am,_currentIntention)*SELECTIONTHRESHOLD) 
    815815                                { 
    816816                                        return maxGoal; 
     
    837837                if(_currentIntention != null) 
    838838                { 
     839                        highestUtility = _EUStrategy.getExpectedUtility(am, _currentIntention); 
     840                         
    839841                        maxIntention = _currentIntention; 
    840842                        //TODO selection threshold here! 
    841                          
    842                         highestUtility = _EUStrategy.getExpectedUtility(am, _currentIntention.getGoal()); 
    843843                } 
    844844                else 
     
    859859                                if(intention != _currentIntention)  
    860860                                { 
    861                                         EU = _EUStrategy.getExpectedUtility(am, intention.getGoal());  
     861                                        EU = _EUStrategy.getExpectedUtility(am, intention);  
    862862                                         
    863                                         if(EU > highestUtility) 
     863                                        if(EU > highestUtility && EU > MINIMUMUTILITY) 
    864864                                        { 
    865865                                                highestUtility = EU; 
     
    886886         */ 
    887887        @Override 
    888         public void coping(AgentModel am) { 
     888        public ValuedAction actionSelection(AgentModel am) { 
     889                 
    889890                Intention i = null; 
    890891                ActiveEmotion fear; 
     
    954955                                } 
    955956                                i.ProcessIntentionFailure(am); 
     957                                _currentIntention = null; 
    956958                                if(i.IsStrongCommitment()) 
    957959                                { 
     
    10551057                        } 
    10561058                } 
     1059                 
     1060                return GetSelectedAction(); 
    10571061        } 
    10581062         
     
    10731077         *             if no such action exists  
    10741078         */ 
    1075         public ValuedAction GetSelectedAction() { 
     1079        private ValuedAction GetSelectedAction() { 
    10761080          
    10771081                Event e; 
     
    11341138            } 
    11351139             
    1136             return new ValuedAction(_selectedAction.getName(),_selectedActionEmotion); 
    1137         } 
    1138          
    1139         public void RemoveSelectedAction() 
     1140            return new ValuedAction(DeliberativeProcess.NAME, _selectedAction.getName(),_selectedActionEmotion); 
     1141        } 
     1142         
     1143        public void actionSelectedForExecution(ValuedAction selectedAction) 
    11401144        { 
    11411145                String action; 
     
    12161220                return _UStrategy.getUtility(am, g) * _PStrategy.getProbability(am, g); 
    12171221        } 
     1222         
     1223        public float getExpectedUtility(AgentModel am, Intention i) { 
     1224                return _UStrategy.getUtility(am, i.getGoal()) * _PStrategy.getProbability(am, i); 
     1225        } 
    12181226 
    12191227        @Override 
     
    12271235         
    12281236        @Override 
    1229         public void updateCycle(AgentModel am, long time) 
     1237        public void update(AgentModel am, long time) 
    12301238        { 
    12311239                if(_actionMonitor != null && _actionMonitor.Expired()) { 
     
    12611269         
    12621270        @Override 
    1263         public void startAppraisal(AgentModel am, Event e, AppraisalFrame as) { 
     1271        public void appraisal(AgentModel am, Event e, AppraisalFrame as) { 
    12641272        } 
    12651273 
    12661274        @Override 
    1267         public void continueAppraisal(AgentModel am) { 
     1275        public void reappraisal(AgentModel am) { 
    12681276        } 
    12691277 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/EmotionalPlanner.java

    r756 r801  
    408408                ListIterator<GoalThreat> li; 
    409409                GoalThreat goalThreat; 
     410                float goalProb; 
     411                float planProb; 
    410412                 
    411413                 
     
    434436                        return null; 
    435437                } 
    436                  
     438         
    437439                prob = p.getProbability(am); 
     440                goalProb = am.getDeliberativeLayer().getProbabilityStrategy().getProbability(am, intention.getGoal()); 
     441                if(p.getOpenPreconditions().size() == 0) 
     442                { 
     443                        planProb = prob; 
     444                } 
     445                else 
     446                { 
     447                        planProb = Math.min(prob, goalProb); 
     448                } 
     449                 
    438450                //APPRAISAL/REAPPRAISAL - the plan brought into the agent's mind will generate/update 
    439451                //hope and fear emotions according to the plan probability 
    440                 af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.SUCCESSPROBABILITY, prob); 
    441                 af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.FAILUREPROBABILITY, 1-prob); 
     452                af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.SUCCESSPROBABILITY, planProb); 
     453                af.SetAppraisalVariable(DeliberativeProcess.NAME, (short)7, OCCComponent.FAILUREPROBABILITY, 1-planProb); 
    442454                 
    443455                hopeEmotion = am.getEmotionalState().GetEmotion(OCCComponent.getHopeKey(af.getEvent())); 
     
    459471                        intention.getGoal().DecreaseImportanceOfFailure(am, 0.5f); 
    460472                        intention.RemovePlan(p); 
    461                         String debug = "ACCEPTANCE - Plan prob to low ( " + p.getProbability(am) + ") - Goal: " + 
     473                        String debug = "ACCEPTANCE - Plan prob to low ( " + prob + ") - Goal: " + 
    462474                                intention.getGoal().getName().toString() + " Plan: " + p.toString(); 
    463475                        AgentLogger.GetInstance().log(debug); 
     
    521533                         */ 
    522534                         
    523                         if(failureImportance*p.getProbability(am) <= threatIntensity - hopeIntensity) { 
     535                        if(failureImportance*planProb <= threatIntensity - hopeIntensity) { 
    524536                        //if(threatIntensity >= hopeIntensity && aux >= failureImportance) { 
    525537                                 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/IExpectedUtilityStrategy.java

    r667 r801  
    77         
    88        public float getExpectedUtility(AgentModel am, ActivePursuitGoal g); 
     9         
     10        public float getExpectedUtility(AgentModel am, Intention i); 
    911 
    1012} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/IProbabilityStrategy.java

    r667 r801  
    77         
    88        public float getProbability(AgentModel am, ActivePursuitGoal g); 
     9         
     10        public float getProbability(AgentModel am, Intention i); 
    911 
    1012} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/Intention.java

    r756 r801  
    3737import java.io.Serializable; 
    3838import java.util.ArrayList; 
     39import java.util.LinkedList; 
    3940import java.util.ListIterator; 
     41import java.util.SortedSet; 
    4042 
    4143import FAtiMA.Core.AgentModel; 
     
    6264        private static final long serialVersionUID = 1L; 
    6365         
    64         private static final int MAXPLANS = 100; 
     66        private static final int MAXPLANS = 150; 
    6567         
    6668        private String _fearEmotionID; 
     
    101103         */ 
    102104        public void AddPlan(Plan p) { 
    103                 if(_planConstruction.size() <= MAXPLANS) 
     105                 
     106                //TODO get a sorted list here 
     107                _planConstruction.add(p); 
     108                 
     109                /*if(_planConstruction.size() >= MAXPLANS) 
    104110                { 
    105                         _planConstruction.add(p); 
    106                 } 
     111                }*/ 
    107112        } 
    108113         
     
    235240         */ 
    236241        public float GetProbability(AgentModel am) { 
    237                 ListIterator<Plan> li; 
     242                 
    238243                float p; 
     244                float p2; 
    239245                float bestProb = 0; 
    240                 li = _planConstruction.listIterator(); 
    241                 while (li.hasNext()) { 
    242                         p = ((Plan) li.next()).getProbability(am); 
    243                         if (p > bestProb) bestProb = p;  
    244                 } 
     246                float goalProb = am.getDeliberativeLayer().getProbabilityStrategy().getProbability(am, _goal); 
     247                 
     248                for(Plan plan : _planConstruction) 
     249                { 
     250                        p = plan.getProbability(am); 
     251                        if(plan.getOpenPreconditions().size() == 0) 
     252                        { 
     253                                p2 = p; 
     254                        } 
     255                        else 
     256                        { 
     257                                p2 = Math.min(goalProb, p);  
     258                        } 
     259                         
     260                        if (p2 > bestProb) bestProb = p2;  
     261                } 
     262                 
    245263                return bestProb; 
    246264        } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/plan/Plan.java

    r687 r801  
    133133         */ 
    134134        private static final long serialVersionUID = 1L; 
     135         
     136        private static int planCounter = 0; 
     137         
     138        private int _id; 
    135139 
    136140    private Step _finish; 
     
    170174    protected Plan() 
    171175    { 
     176        _id = ++Plan.planCounter; 
    172177    } 
    173178 
     
    228233            ArrayList<Condition> finishConditions) 
    229234    { 
     235         
     236        _id = ++Plan.planCounter; 
    230237        _valid = true; 
    231238        _stepCounter = 0; 
     
    865872        return p; 
    866873    } 
     874     
     875    public int getID() 
     876    { 
     877        return _id; 
     878    } 
    867879 
    868880    /** 
     
    910922    { 
    911923        return _openPreconditions; 
     924    } 
     925     
     926    public void debug() 
     927    { 
     928         
    912929    } 
    913930 
     
    10121029    public float h(AgentModel am) 
    10131030    { 
     1031        //TODO redo this heuristic function 
    10141032        return (1 + (_steps.size() * 2) + _openPreconditions.size() + _protectionThreats 
    10151033                .size() * 2) 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/EmotionalState.java

    r756 r801  
    140140                ActiveEmotion auxEmotion; 
    141141                EmotionDisposition disposition; 
     142                boolean reappraisal = false; 
    142143                 
    143144                if(potEm == null) return null; 
     
    153154                if(_emotionPool.containsKey(potEm.GetHashKey())) 
    154155                { 
     156                        reappraisal = true; 
    155157                        _emotionPool.remove(potEm.GetHashKey()); 
    156158                } 
     
    160162                        auxEmotion = new ActiveEmotion(potEm, potential, threshold, decay); 
    161163                        _emotionPool.put(potEm.GetHashKey(), auxEmotion); 
    162                         this._mood.UpdateMood(auxEmotion); 
     164                        if(!reappraisal) 
     165                        { 
     166                                this._mood.UpdateMood(auxEmotion); 
     167                        } 
    163168                        am.getMemory().getEpisodicMemory().AssociateEmotionToAction(am.getMemory(),  
    164169                                        auxEmotion, 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/Action.java

    r756 r801  
    229229                                                        if (em.GetIntensity() > maxValue && action.isGrounded()) { 
    230230                                                                maxValue = em.GetIntensity(); 
    231                                                                 va = new ValuedAction(action, em); 
     231                                                                va = new ValuedAction(ReactiveProcess.NAME, action, em); 
    232232                                                        } 
    233233                                                } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/ActionTendencies.java

    r747 r801  
    116116        public void IgnoreActionForDuration(ValuedAction va, long time) { 
    117117                Long wakeUpTime = new Long(AgentSimulationTime.GetInstance().Time() + time); 
    118                 _filteredActions.put(va.GetAction().toString(),wakeUpTime); 
     118                _filteredActions.put(va.getAction().toString(),wakeUpTime); 
    119119        } 
    120120         
     
    125125         
    126126        protected boolean isIgnored(ValuedAction va) { 
    127                 String actionName = va.GetAction().toString(); 
     127                String actionName = va.getAction().toString(); 
    128128                if(_filteredActions.containsKey(actionName)) { 
    129129                        Long wakeUpTime = (Long)_filteredActions.get(actionName); 
     
    151151                        va = a.TriggerAction(am, emState.GetEmotionsIterator()); 
    152152                        if (va != null && !isIgnored(va)) { 
    153                                 if(bestAction == null || va.GetValue(emState) > bestAction.GetValue(emState))  
     153                                if(bestAction == null || va.getValue(emState) > bestAction.getValue(emState))  
    154154                                { 
    155155                                    bestAction = va; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/ReactiveProcess.java

    r772 r801  
    9292        private ActionTendencies _actionTendencies; 
    9393        private EmotionalReactionTreeNode _emotionalReactions; 
    94         private ValuedAction _selectedAction; 
    9594         
    9695        /** 
     
    162161         */ 
    163162        @Override 
    164         public void startAppraisal(AgentModel ag, Event event, AppraisalFrame as) { 
     163        public void appraisal(AgentModel ag, Event event, AppraisalFrame as) { 
    165164                Reaction selfEvaluation;         
    166165                         
     
    194193         */ 
    195194        @Override 
    196         public void coping(AgentModel am) { 
    197                 ValuedAction action; 
    198                 action = _actionTendencies.SelectAction(am); 
    199                 if(_selectedAction == null || (action != null && action.GetValue(am.getEmotionalState()) > _selectedAction.GetValue(am.getEmotionalState()))) { 
    200                         _selectedAction = action; 
    201                 } 
    202         } 
    203          
    204         /** 
    205          * Gets the action selected for execution in the last Coping process, 
    206          * @return the action selected for execution 
    207          */ 
    208         public ValuedAction GetSelectedAction() { 
    209                  
    210                 if(_selectedAction == null) 
    211                 { 
    212                         return null; 
    213                 } 
    214                  
    215                 return _selectedAction; 
    216         } 
    217          
    218         public void RemoveSelectedAction() 
    219         { 
    220                 if(_selectedAction == null) 
    221                 { 
    222                         return; 
    223                 } 
    224                  
     195        public ValuedAction actionSelection(AgentModel am) { 
     196                return _actionTendencies.SelectAction(am); 
     197        } 
     198         
     199        public void actionSelectedForExecution(ValuedAction action) 
     200        {                
    225201                /* 
    226202                 * Temporarily removes the action selected for execution. This means  
     
    228204                 * or else we will have a character reacting in the same way several times 
    229205                 */ 
    230                 _actionTendencies.IgnoreActionForDuration(_selectedAction,IGNOREDURATION); 
    231                  
    232                 _selectedAction = null; 
     206                _actionTendencies.IgnoreActionForDuration(action,IGNOREDURATION); 
    233207        } 
    234208         
     
    238212         */ 
    239213        public void reset() { 
    240                 _selectedAction = null; 
    241214        } 
    242215         
     
    271244 
    272245        @Override 
    273         public void updateCycle(AgentModel am,long time) { 
    274         } 
    275          
    276         @Override 
    277         public void perceiveEvent(AgentModel am, Event e) 
     246        public void update(AgentModel am,long time) { 
     247        } 
     248         
     249        @Override 
     250        public void update(AgentModel am, Event e) 
    278251        { 
    279252        } 
     
    297270 
    298271        @Override 
    299         public void continueAppraisal(AgentModel am) { 
    300                  
     272        public void reappraisal(AgentModel am) { 
    301273                return; 
    302274        } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/sensorEffector/Event.java

    r781 r801  
    201201                e._action = this._action; 
    202202                 
    203                 if(this._target.equals(Constants.SELF)) 
     203                if(this._target != null && this._target.equals(Constants.SELF)) 
    204204                { 
    205205                        e._target = agentName; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/sensorEffector/RemoteAction.java

    r667 r801  
    111111 
    112112                String actionName; 
    113                 ListIterator<Symbol> li = va.GetAction().GetLiteralList().listIterator(); 
     113                ListIterator<Symbol> li = va.getAction().GetLiteralList().listIterator(); 
    114114                 
    115115                actionName = li.next().toString(); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/sensorEffector/RemoteAgent.java

    r768 r801  
    237237        public void cancelAction(String action) 
    238238        { 
    239                 if(_currentAction != null && _currentAction.GetAction().GetFirstLiteral().toString().equals(action)) 
     239                if(_currentAction != null && _currentAction.getAction().GetFirstLiteral().toString().equals(action)) 
    240240                { 
    241241                        RemoteAction ra = new RemoteAction(_agent, _currentAction); 
     
    466466                RemoteAction rAction; 
    467467                 
    468                 actionName = vAction.GetAction().GetFirstLiteral().toString(); 
     468                actionName = vAction.getAction().GetFirstLiteral().toString(); 
    469469                 
    470470                //if the action corresponds to a speech act... 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/sensorEffector/SpeechAct.java

    r667 r801  
    170170                _subject = am.getName(); 
    171171                 
    172                 Name action = speechAction.GetAction(); 
     172                Name action = speechAction.getAction(); 
    173173                ListIterator<Symbol> li = action.GetLiteralList().listIterator(); 
    174174                _actionType = li.next().toString(); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/parsers/ActionsLoaderHandler.java

    r717 r801  
    136136        } 
    137137 
    138         /** 
    139          * @return 
    140          */ 
    141         public ArrayList<Step> getOperators() { 
    142                 return _operators; 
    143         } 
    144          
    145         public void PreConditions(Attributes attributes) { 
    146                   _precondition = true; 
    147         } 
    148      
    149         public void Predicate(Attributes attributes) { 
    150                 PredicateCondition p; 
    151                  
    152                 p = PredicateCondition.ParsePredicate(attributes); 
    153          
    154                 //p.MakeGround(this._self); 
    155                  
    156                 if(_precondition)  
    157                         _currentOperator.AddPrecondition(p); 
    158                 else { 
    159                         String operatorName = _currentOperator.getName().GetFirstLiteral().toString(); 
    160                         _currentOperator.AddEffect(new Effect(_am, operatorName,_probability, p)); 
    161                 } 
    162         } 
    163          
    164         public void Property(Attributes attributes) { 
    165           PropertyCondition p; 
    166            
    167           p = PropertyCondition.ParseProperty(attributes); 
    168  
    169           if(_precondition)  
    170                 _currentOperator.AddPrecondition(p); 
    171           else { 
    172                 String operatorName = _currentOperator.getName().GetFirstLiteral().toString(); 
    173                 _currentOperator.AddEffect(new Effect(_am, operatorName,_probability, p));       
    174           } 
    175         } 
    176          
    177         public void RecentEvent(Attributes attributes) 
    178         { 
    179                 RecentEventCondition event; 
    180                 event = new RecentEventCondition(PastEventCondition.ParseEvent(attributes)); 
    181                 //event.MakeGround(_self); 
    182                  
    183                 if(_precondition)  
    184                         _currentOperator.AddPrecondition(event); 
    185                 else { 
    186                   String operatorName = _currentOperator.getName().GetFirstLiteral().toString(); 
    187                   _currentOperator.AddEffect(new Effect(_am, operatorName,_probability, event));         
    188                 } 
    189         } 
    190          
    191         public void NewEvent(Attributes attributes) 
    192         { 
    193                 RecentEventCondition event; 
    194                 event = new NewEventCondition(PastEventCondition.ParseEvent(attributes)); 
    195                 //event.MakeGround(_self); 
    196                  
    197                 if(_precondition)  
    198                         _currentOperator.AddPrecondition(event); 
    199                 else { 
    200                   String operatorName = _currentOperator.getName().GetFirstLiteral().toString(); 
    201                   _currentOperator.AddEffect(new Effect(_am, operatorName,_probability, event));         
    202                 } 
    203         } 
    204          
    205138        public void EmotionCondition(Attributes attributes) 
    206139        { 
     
    223156        } 
    224157         
    225          
    226          
     158        /** 
     159         * @return 
     160         */ 
     161        public ArrayList<Step> getOperators() { 
     162                return _operators; 
     163        } 
     164     
    227165        public void MoodCondition(Attributes attributes) 
    228166    { 
     
    245183        } 
    246184    } 
     185         
     186        public void NewEvent(Attributes attributes) 
     187        { 
     188                RecentEventCondition event; 
     189                event = new NewEventCondition(PastEventCondition.ParseEvent(attributes)); 
     190                //event.MakeGround(_self); 
     191                 
     192                if(_precondition)  
     193                        _currentOperator.AddPrecondition(event); 
     194                else { 
     195                  String operatorName = _currentOperator.getName().GetFirstLiteral().toString(); 
     196                  _currentOperator.AddEffect(new Effect(_am, operatorName,_probability, event));         
     197                } 
     198        } 
     199         
     200        public void PreConditions(Attributes attributes) { 
     201                  _precondition = true; 
     202        } 
     203         
     204        public void Predicate(Attributes attributes) { 
     205                PredicateCondition p; 
     206                 
     207                p = PredicateCondition.ParsePredicate(attributes); 
     208         
     209                //p.MakeGround(this._self); 
     210                 
     211                if(_precondition)  
     212                        _currentOperator.AddPrecondition(p); 
     213                else { 
     214                        String operatorName = _currentOperator.getName().GetFirstLiteral().toString(); 
     215                        _currentOperator.AddEffect(new Effect(_am, operatorName,_probability, p)); 
     216                } 
     217        } 
     218         
     219        public void Property(Attributes attributes) { 
     220          PropertyCondition p; 
     221           
     222          p = PropertyCondition.ParseProperty(attributes); 
     223 
     224          if(_precondition)  
     225                _currentOperator.AddPrecondition(p); 
     226          else { 
     227                String operatorName = _currentOperator.getName().GetFirstLiteral().toString(); 
     228                _currentOperator.AddEffect(new Effect(_am, operatorName,_probability, p));       
     229          } 
     230        } 
     231         
     232         
     233         
     234        public void RecentEvent(Attributes attributes) 
     235        { 
     236                RecentEventCondition event; 
     237                event = new RecentEventCondition(PastEventCondition.ParseEvent(attributes)); 
     238                //event.MakeGround(_self); 
     239                 
     240                if(_precondition)  
     241                        _currentOperator.AddPrecondition(event); 
     242                else { 
     243                  String operatorName = _currentOperator.getName().GetFirstLiteral().toString(); 
     244                  _currentOperator.AddEffect(new Effect(_am, operatorName,_probability, event));         
     245                } 
     246        } 
    247247} 
  • AgentMind/branches/FAtiMA-Modular/LIRECOptionsUser.txt

    r730 r801  
    1 User AskLocation SarahReview Amy 
     1User SpeechAct Tim startgame 
     2User SpeechAct Tim restartgame 
     3User Open BoxA 
     4User Open BoxB 
     5user AskLocation SarahReview Amy 
    26user GreetBack Abbuk 
    37user GreetBack Errep 
  • AgentMind/branches/FAtiMA-Modular/data/characters/minds/LIRECGoalLibrary.xml

    r428 r801  
    11<GoalLibrary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    22xsi:noNamespaceSchemaLocation="./schemas/GoalLibrary.xsd"> 
    3         <ActivePursuitGoal name="HideCoin([target],[box])"> 
     3         
     4        <ActivePursuitGoal name="HideCoin([target])"> 
    45                <PreConditions> 
    56                        <Property name="[target](isPerson)" operator="=" value="True" /> 
    67                        <Property name="[target]" operator="!=" value="[SELF]" /> 
    78                        <Property name="[box](type)" operator="=" value="Box"/> 
     9                        <Property name="[boxB](type)" operator="=" value="Box"/> 
     10                        <Predicate ToM="[SELF]" name="![box](Contains,coin)"/> 
     11                        <Predicate ToM="[SELF]" name="![boxB](Contains,coin)"/> 
     12                        <Property name="[boxB]" operator="!=" value="[box]"/> 
    813                        <RecentEvent occurred="True" subject="[target]" action="SpeechAct" target="[SELF]" parameters="startgame"/> 
    914                </PreConditions> 
     
    1116                        <Predicate ToM="[SELF]" name="[box](Contains,coin)"/> 
    1217                        <Predicate ToM="[target]" name="![box](Contains,coin)"/> 
    13                 </SucessConditions> 
    14                 <FailureConditions> 
     18                        <Predicate name="[box](OnTable)"/> 
     19                        <Predicate name="[boxB](OnTable)"/> 
     20                </SucessConditions> 
     21                <FailureConditions> 
     22                </FailureConditions> 
     23                <ExpectedEffects> 
     24                        <OnSelect drive="Affiliation" target="[SELF]" value="+3"/> 
     25                </ExpectedEffects>       
     26        </ActivePursuitGoal> 
     27        <ActivePursuitGoal name="PlayHideCoinWith([target])"> 
     28                <PreConditions> 
     29                        <Predicate name="[box](OnTable)"/> 
     30                        <Predicate name="[boxB](OnTable)"/> 
     31                        <Property name="[boxB]" operator="!=" value="[box]"/> 
     32                        <Property name="[box](type)" operator="=" value="Box"/> 
     33                        <Property name="[boxB](type)" operator="=" value="Box"/> 
     34                        <Property name="[target](isPerson)" operator="=" value="True" /> 
     35                        <Property name="[target]" operator="!=" value="[SELF]" /> 
     36                        <Predicate ToM="[SELF]" name="[box](Contains,coin)"/> 
     37                </PreConditions> 
     38                <SucessConditions> 
     39                        <Predicate name="[SELF](has,coin)" /> 
     40                </SucessConditions> 
     41                <FailureConditions> 
     42                        <Predicate name="[target](has,coin)" /> 
    1543                </FailureConditions> 
    1644                <ExpectedEffects> 
     
    3563                </ExpectedEffects>       
    3664        </ActivePursuitGoal> 
    37         <ActivePursuitGoal name="PlayHideCandyWith([target])"> 
    38                 <PreConditions> 
    39                         <Property name="[target](isPerson)" operator="=" value="True" /> 
    40                         <Property name="[target]" operator="!=" value="[SELF]" /> 
    41                 </PreConditions> 
    42                 <SucessConditions> 
    43                         <Property name="has([SELF],candy)" operator="=" value="True" /> 
    44                 </SucessConditions> 
    45                 <FailureConditions> 
    46                 </FailureConditions> 
    47                 <ExpectedEffects> 
    48                         <OnSelect drive="Affiliation" target="[SELF]" value="+3"/> 
    49                 </ExpectedEffects>       
    50         </ActivePursuitGoal> 
    51  
    5265        <ActivePursuitGoal name="Greet([target])"> 
    5366                <PreConditions> 
  • AgentMind/branches/FAtiMA-Modular/data/characters/minds/LIRECScenarios.xml

    r779 r801  
    4141                                <Object name="BoxA"/> 
    4242                                <Object name="BoxB"/> 
     43                                <Object name="User"/> 
    4344                        </Objects> 
    4445         
    4546                </WorldSimulator>        
    46                 <Agent name="Tim" displayName="Tim" role="Child" platform="Ion" host="localhost"  
    47                            port="46874" displayMode="False" sex="M" actionsFile="MindBlindnessActions"  
     47                <Agent name="Tim" displayName="Tim" role="Child" platform="WorldSim" host="localhost"  
     48                           port="46874" displayMode="True" sex="M" actionsFile="MindBlindnessActions"  
    4849                           goalsFile="LIRECGoalLibrary" cultureName="NoCulture"> 
    4950                        <Properties>                             
  • AgentMind/branches/FAtiMA-Modular/data/characters/minds/roles/Child/Child.xml

    r770 r801  
    4343        </InterpersonalRelations> 
    4444         
    45         <EventReactions> 
    46                 <EmotionalReaction desirability="-4" desirabilityForOther="-4"> 
    47                         <Event action="SpeechAct"/> 
    48                 </EmotionalReaction>     
     45        <EventReactions>         
    4946        </EventReactions> 
    5047         
Note: See TracChangeset for help on using the changeset viewer.