Changeset 325


Ignore:
Timestamp:
03/26/2010 10:29:03 AM (10 years ago)
Author:
joao.dias
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/Agent.java

    r323 r325  
    1111import java.util.Collection; 
    1212import java.util.HashMap; 
     13import java.util.Iterator; 
    1314import java.util.ListIterator; 
    1415import java.util.StringTokenizer; 
     
    145146                        ActionLibrary.GetInstance().LoadActionsFile("" + MIND_PATH + actionsFile + ".xml", this); 
    146147                        EmotionalPlanner planner = new EmotionalPlanner(ActionLibrary.GetInstance().GetActions()); 
     148                         
     149                         
     150 
     151                        // Load GoalLibrary 
     152                        GoalLibrary goalLibrary = new GoalLibrary(MIND_PATH + goalsFile + ".xml"); 
     153 
     154 
     155                        //For efficiency reasons these two are not real processes 
     156                        _reactiveLayer = new ReactiveProcess(_name); 
     157                         
     158 
     159                        _deliberativeLayer = new DeliberativeProcess(_name,goalLibrary,planner); 
     160         
     161                        String personalityFile = MIND_PATH + "roles/" + role + "/" + role + ".xml"; 
     162                        loadPersonality(personalityFile,agentPlatform, goalList); 
     163                         
    147164                        ArrayList<Step> occRules = OCCAppraisalRules.GenerateOCCAppraisalRules(this); 
    148165                        for(Step s : occRules) 
     
    150167                                planner.AddOperator(s); 
    151168                        } 
    152                          
    153                          
    154                          
    155  
    156                         // Load GoalLibrary 
    157                         GoalLibrary goalLibrary = new GoalLibrary(MIND_PATH + goalsFile + ".xml"); 
    158  
    159  
    160                         //For efficiency reasons these two are not real processes 
    161                         _reactiveLayer = new ReactiveProcess(_name); 
    162                          
    163  
    164                         _deliberativeLayer = new DeliberativeProcess(_name,goalLibrary,planner); 
    165          
    166                         String personalityFile = MIND_PATH + "roles/" + role + "/" + role + ".xml"; 
    167                         loadPersonality(personalityFile,agentPlatform, goalList); 
    168169                         
    169170                         
     
    255256        } 
    256257         
    257          
    258  
    259258        public void AppraiseSelfActionFailed(Event e) 
    260259        { 
     
    560559                {        
    561560                        _perceivedEvents.add(e); 
     561                } 
     562        } 
     563         
     564        public void PerceiveLookAt(String subject, String target) 
     565        { 
     566                KnowledgeSlot knownInfo; 
     567                KnowledgeSlot property; 
     568                Name propertyName; 
     569                String auxTarget; 
     570                 
     571                if(target.equals(_name)) 
     572                { 
     573                        auxTarget = Constants.SELF; 
     574                } 
     575                else 
     576                { 
     577                        auxTarget = target; 
     578                } 
     579                 
     580                for(String other : _nearbyAgents) 
     581                { 
     582                        if(other.equals(subject)) 
     583                        { 
     584                                ModelOfOther m = _ToM.get(other); 
     585                                knownInfo = _memory.getSemanticMemory().GetObjectDetails(auxTarget); 
     586                                if(knownInfo!= null) 
     587                                { 
     588                                        for(String s : knownInfo.getKeys()) 
     589                                        {        
     590                                                property = knownInfo.get(s); 
     591                                                propertyName = Name.ParseName(target + "(" + property.getName() + ")"); 
     592                                                m.getMemory().getSemanticMemory().Tell(applyPerspective(propertyName,other), property.getValue()); 
     593                                        } 
     594                                }                
     595                        }        
    562596                } 
    563597        } 
Note: See TracChangeset for help on using the changeset viewer.