Changeset 744


Ignore:
Timestamp:
11/25/2010 02:59:16 PM (10 years ago)
Author:
joao.dias
Message:
 
Location:
AgentMind/branches/FAtiMA-Modular
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA-Modular/AgentLauncher/.classpath

    r742 r744  
    77        <classpathentry combineaccessrules="false" kind="src" path="/FAtiMA.SocialRelations"/> 
    88        <classpathentry combineaccessrules="false" kind="src" path="/FAtiMA.culture"/> 
     9        <classpathentry combineaccessrules="false" kind="src" path="/FAtiMA.ToM"/> 
    910        <classpathentry kind="output" path="bin"/> 
    1011</classpath> 
  • AgentMind/branches/FAtiMA-Modular/AgentLauncher/src/AgentLauncher.java

    r742 r744  
    1111import FAtiMA.Core.exceptions.UnknownGoalException; 
    1212import FAtiMA.Core.util.ConfigurationManager; 
    13 import FAtiMA.Core.util.enumerables.CulturalDimensionType; 
     13import FAtiMA.ToM.ToMComponent; 
    1414import FAtiMA.culture.CulturalDimensionsComponent; 
    1515import FAtiMA.motivationalSystem.MotivationalComponent; 
     
    3232                AgentCore aG = initializeAgentCore(args); 
    3333                ArrayList<String> extraFiles = new ArrayList<String>(); 
    34                 String cultureFile = ConfigurationManager.getMindPath() + ConfigurationManager.getAgentProperties().get("cultureName") + ".xml";  
     34                //String cultureFile = ConfigurationManager.getMindPath() + ConfigurationManager.getAgentProperties().get("cultureName") + ".xml";  
    3535                 
    36                 extraFiles.add(cultureFile); 
    37                 aG.addComponent(new CulturalDimensionsComponent(cultureFile)); 
     36                //extraFiles.add(cultureFile); 
     37                //aG.addComponent(new CulturalDimensionsComponent(cultureFile)); 
    3838                aG.addComponent(new SocialRelationsComponent(extraFiles)); 
    3939                aG.addComponent(new MotivationalComponent(extraFiles)); 
     40                aG.addComponent(new ToMComponent(ConfigurationManager.getName())); 
    4041                 
    4142                 
  • AgentMind/branches/FAtiMA-Modular/AgentLauncher/src/AgentWithNeedsLauncher.java

    r724 r744  
    1515        static public void main(String args[]) throws ParserConfigurationException, SAXException, IOException, UnknownGoalException, ActionsParsingException, GoalLibParsingException  { 
    1616                AgentCore aG = initializeAgentCore(args); 
    17                 aG.addComponent(new MotivationalComponent()); 
     17                aG.addComponent(new MotivationalComponent(null)); 
    1818                aG.StartAgent(); 
    1919        } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.MotivationalSystem/src/FAtiMA/motivationalSystem/MotivationalComponent.java

    r742 r744  
    392392        } 
    393393         
    394          
    395         /**TODO find a decay formula 
    396          * Decays all needs according to the System Time 
    397          */ 
    398         public void decay(long currentTime) { 
    399  
    400                 if (currentTime >= _lastTime + 1000) { 
    401                         _lastTime = currentTime; 
    402                          
    403                          
    404                         //decay self motivators 
    405                         for(int i = 0; i < _motivators.length; i++){ 
    406                                 _motivators[i].DecayMotivator(); 
    407                         } 
    408                          
    409                 } 
    410         } 
    411          
    412394 
    413395        /** 
     
    491473        public void updateCycle(AgentModel am, long time) { 
    492474                _appraisals.clear(); 
     475                if (time >= _lastTime + 1000) { 
     476                        _lastTime = time; 
     477                         
     478                        //decay self motivators 
     479                        for(int i = 0; i < _motivators.length; i++){ 
     480                                _motivators[i].DecayMotivator(); 
     481                        } 
     482                         
     483                } 
    493484        } 
    494485 
     
    496487        @Override 
    497488        public IComponent createModelOfOther() { 
    498                 MotivationalComponent ms = new MotivationalComponent(null); 
     489                MotivationalComponent ms = new MotivationalComponent(new ArrayList<String>()); 
    499490                Motivator m2; 
    500491                 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.SocialRelations/src/FAtiMA/socialRelations/SocialRelationsComponent.java

    r742 r744  
    1010import FAtiMA.Core.IComponent; 
    1111import FAtiMA.Core.IModelOfOtherComponent; 
    12 import FAtiMA.Core.IProccessEmotionComponent; 
     12import FAtiMA.Core.IProcessEmotionComponent; 
    1313import FAtiMA.Core.Display.AgentDisplayPanel; 
    1414import FAtiMA.Core.emotionalState.ActiveEmotion; 
     
    2222 
    2323 
    24 public class SocialRelationsComponent implements IComponent, IModelOfOtherComponent, IProccessEmotionComponent { 
     24public class SocialRelationsComponent implements IComponent, IModelOfOtherComponent, IProcessEmotionComponent { 
    2525         
    2626        public static final String NAME = "SocialRelations"; 
     
    167167        @Override 
    168168        public IComponent createModelOfOther() { 
    169                 return new SocialRelationsComponent(null); 
     169                return new SocialRelationsComponent(new ArrayList<String>()); 
    170170        } 
    171171 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.ToM/src/FAtiMA/ToM/ModelOfOther.java

    r742 r744  
    1010import FAtiMA.Core.IComponent; 
    1111import FAtiMA.Core.IGetModelStrategy; 
    12 import FAtiMA.Core.IProccessEmotionComponent; 
     12import FAtiMA.Core.IProcessEmotionComponent; 
    1313import FAtiMA.Core.deliberativeLayer.DeliberativeProcess; 
    1414import FAtiMA.Core.emotionalState.ActiveEmotion; 
     
    3434        private Memory _mem; 
    3535        private HashMap<String,IComponent> _components; 
    36         private ArrayList<IProccessEmotionComponent> _processEmotionComponents; 
     36        private ArrayList<IProcessEmotionComponent> _processEmotionComponents; 
    3737        private ReactiveProcess _reactiveProcess; 
    3838        private DeliberativeProcess _deliberativeProcess; 
     
    4444                _mem = new Memory(); 
    4545                _components = new HashMap<String,IComponent>(); 
    46                 _processEmotionComponents = new ArrayList<IProccessEmotionComponent>(); 
     46                _processEmotionComponents = new ArrayList<IProcessEmotionComponent>(); 
    4747                 
    4848                for(EmotionDisposition ed : ag.getEmotionalState().getEmotionDispositions()) 
     
    7777        public void updateCycle(long time) 
    7878        { 
     79                _es.Decay(); 
     80                 
    7981                for(IComponent c : _components.values()) 
    8082                { 
     
    8587        public void perceiveEvent(Event e) 
    8688        { 
     89                _mem.getEpisodicMemory().StoreAction(_mem, e); 
     90                _mem.getSemanticMemory().Tell(AgentCore.ACTION_CONTEXT, e.toName().toString()); 
     91                 
    8792                for(IComponent c : _components.values()) 
    8893                { 
     
    108113                        if(activeEmotion != null) 
    109114                        { 
    110                                 for(IProccessEmotionComponent c : this._processEmotionComponents) 
     115                                for(IProcessEmotionComponent c : this._processEmotionComponents) 
    111116                                { 
    112117                                        c.emotionActivation(this,e,activeEmotion); 
     
    119124        public void addComponent(IComponent c) 
    120125        { 
    121                 c.initialize(this); 
    122126                if(c.name().equals(ReactiveProcess.NAME)) 
    123127                { 
     
    130134                } 
    131135                 
    132                 if(c instanceof IProccessEmotionComponent) 
     136                if(c instanceof IProcessEmotionComponent) 
    133137                { 
    134                         _processEmotionComponents.add((IProccessEmotionComponent)c); 
     138                        _processEmotionComponents.add((IProcessEmotionComponent)c); 
    135139                } 
    136140                 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.ToM/src/FAtiMA/ToM/ToMComponent.java

    r742 r744  
    2727        protected HashMap<String,ModelOfOther> _ToM; 
    2828        protected ArrayList<String> _nearbyAgents; 
    29         protected HashMap<Event,AppraisalStructure> _appraisalsOfOthers; 
     29        protected HashMap<String,AppraisalStructure> _appraisalsOfOthers; 
    3030         
    3131         
     
    3434                this._name = agentName; 
    3535                this._nearbyAgents = new ArrayList<String>(); 
    36                 this._appraisalsOfOthers = new HashMap<Event,AppraisalStructure>(); 
     36                this._appraisalsOfOthers = new HashMap<String,AppraisalStructure>(); 
     37                this._ToM = new HashMap<String,ModelOfOther>(); 
    3738        } 
    3839         
     
    9697        public void reset() { 
    9798                // TODO Auto-generated method stub 
    98                  
    9999        } 
    100100 
     
    113113        public void perceiveEvent(AgentModel am, Event e) 
    114114        { 
    115                 for(String s : _nearbyAgents) 
    116                 { 
    117                         ModelOfOther m = _ToM.get(s); 
    118                         m.perceiveEvent(e); 
    119                 }        
    120         } 
    121  
    122         @Override 
    123         public void appraisal(AgentModel am, Event e, AppraisalStructure as) { 
    124                  
    125115                Event e2 = e.RemovePerspective(_name); 
    126116                Event e3; 
     117                for(String s : _nearbyAgents) 
     118                { 
     119                        ModelOfOther m = _ToM.get(s); 
     120                        e3 = e2.ApplyPerspective(s); 
     121                        m.perceiveEvent(e3); 
     122                }        
     123        } 
     124 
     125        @Override 
     126        public void appraisal(AgentModel am, Event e, AppraisalStructure as) { 
     127                 
     128                Event e2 = e.RemovePerspective(_name); 
     129                Event e3; 
    127130                 
    128131                //one time appraisal for each event, so if the event was already appraised this cycle, just return 
    129                 if(_appraisalsOfOthers.containsKey(e2)) 
     132                if(_appraisalsOfOthers.containsKey(e2.toString())) 
    130133                { 
    131134                        return; 
     
    143146                        as.SetAppraisalOfOther(s, otherAS); 
    144147                } 
     148                 
     149                _appraisalsOfOthers.put(e2.toString(), as); 
    145150        } 
    146151         
     
    194199                                if(isPerson(ag, target)) 
    195200                                { 
     201                                        initializeModelOfOther(ag, target); 
    196202                                        addNearbyAgent(target); 
    197                                         initializeModelOfOther(ag, target); 
    198203                                } 
    199204                        } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.ToM/src/FAtiMA/ToM/ToMPanel.java

    r700 r744  
    4545                } 
    4646                 
    47                 update = ((ModelOfOtherPanel)_agentsPanel.getSelectedComponent()).Update(ag) || update; 
     47                if(_agentsPanel.getSelectedComponent() != null) 
     48                { 
     49                        update = ((ModelOfOtherPanel)_agentsPanel.getSelectedComponent()).Update(ag) || update; 
     50                } 
    4851                 
    4952                return update; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/AgentCore.java

    r742 r744  
    6161        public static final String SCENARIO_FILENAME = "LIRECScenarios.xml"; 
    6262         
    63         private static final Name ACTION_CONTEXT = Name.ParseName("ActionContext()"); 
     63        public static final Name ACTION_CONTEXT = Name.ParseName("ActionContext()"); 
    6464 
    6565        protected HashMap<String, IComponent> _generalComponents; 
    66         protected ArrayList<IProccessEmotionComponent> _processEmotionComponents; 
     66        protected ArrayList<IProcessEmotionComponent> _processEmotionComponents; 
    6767        protected ArrayList<IBehaviourComponent> _behaviourComponents; 
    6868        protected ArrayList<IModelOfOtherComponent> _modelOfOtherComponents; 
     
    112112                 
    113113                _generalComponents = new HashMap<String,IComponent>(); 
    114                 _processEmotionComponents = new ArrayList<IProccessEmotionComponent>(); 
     114                _processEmotionComponents = new ArrayList<IProcessEmotionComponent>(); 
    115115                _behaviourComponents = new ArrayList<IBehaviourComponent>(); 
    116116                _modelOfOtherComponents = new ArrayList<IModelOfOtherComponent>(); 
     
    247247        { 
    248248                this._generalComponents.put(c.name(), c); 
    249                 if(c instanceof IProccessEmotionComponent) 
    250                 { 
    251                         _processEmotionComponents.add((IProccessEmotionComponent) c); 
     249                if(c instanceof IProcessEmotionComponent) 
     250                { 
     251                        _processEmotionComponents.add((IProcessEmotionComponent) c); 
    252252                } 
    253253                if(c instanceof IBehaviourComponent) 
     
    392392                this._strat = (IGetModelStrategy) s.readObject(); 
    393393                this._generalComponents = (HashMap<String,IComponent>) s.readObject(); 
    394                 this._processEmotionComponents = (ArrayList<IProccessEmotionComponent>) s.readObject(); 
     394                this._processEmotionComponents = (ArrayList<IProcessEmotionComponent>) s.readObject(); 
    395395                this._behaviourComponents = (ArrayList<IBehaviourComponent>) s.readObject(); 
    396396                this._modelOfOtherComponents = (ArrayList<IModelOfOtherComponent>) s.readObject(); 
     
    458458        { 
    459459                String auxTarget; 
     460                String auxSubject; 
     461                 
     462                if(subject.equals(_name)) 
     463                { 
     464                        auxSubject = Constants.SELF; 
     465                } 
     466                else 
     467                { 
     468                        auxSubject = subject; 
     469                } 
    460470 
    461471                if(target.equals(_name)) 
     
    470480                for(IProcessPerceptionsComponent c : this._processPerceptionsComponents) 
    471481                { 
    472                         c.lookAtPerception(this, subject, auxTarget); 
     482                        c.lookAtPerception(this, auxSubject, auxTarget); 
    473483                } 
    474484        } 
     
    550560                ValuedAction action; 
    551561                AppraisalStructure appraisal; 
    552                 AppraisalStructure a2; 
    553562                ArrayList<BaseEmotion> emotions; 
    554563                ActiveEmotion activeEmotion; 
     
    617626                                                                if(activeEmotion != null) 
    618627                                                                { 
    619                                                                         for(IProccessEmotionComponent c : this._processEmotionComponents) 
     628                                                                        for(IProcessEmotionComponent c : this._processEmotionComponents) 
    620629                                                                        { 
    621630                                                                                c.emotionActivation(this,e2,activeEmotion); 
     
    933942                        this._strat = (IGetModelStrategy) s.readObject(); 
    934943                        this._generalComponents = (HashMap<String,IComponent>) s.readObject(); 
    935                         this._processEmotionComponents = (ArrayList<IProccessEmotionComponent>) s.readObject(); 
     944                        this._processEmotionComponents = (ArrayList<IProcessEmotionComponent>) s.readObject(); 
    936945                        this._behaviourComponents = (ArrayList<IBehaviourComponent>) s.readObject(); 
    937946                        this._modelOfOtherComponents = (ArrayList<IModelOfOtherComponent>) s.readObject(); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/Appraisal.java

    r732 r744  
    197197        { 
    198198                float desirabilityForOther = appraisalOfOther.getAppraisalVariable(AppraisalStructure.DESIRABILITY); 
    199                 float targetBias = 0; 
    200                 float subjectBias = 0; 
    201                 float bias; 
    202                 float newDesirability = 0; 
    203          
    204                  
    205                 String subject = event.GetSubject(); 
    206                  
     199                         
    207200                 
    208201                if(desirabilityForOther == 0) return null; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/sensorEffector/WorldSimulatorRemoteAgent.java

    r699 r744  
    230230                        if(action.equals("look-at")) 
    231231                        { 
    232                                 if(!subject.equals(this._agent.getName())) 
    233                                 { 
    234                                         _agent.PerceiveLookAt(subject, target);  
    235                                 } 
     232                                _agent.PerceiveLookAt(subject, target);  
    236233                        } 
    237234                        /*event = new Event(subject,actionName,target); 
Note: See TracChangeset for help on using the changeset viewer.