Changeset 730


Ignore:
Timestamp:
11/17/2010 03:18:31 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

    r724 r730  
    55        <classpathentry combineaccessrules="false" kind="src" path="/FAtiMA"/> 
    66        <classpathentry combineaccessrules="false" kind="src" path="/FAtiMA.MotivationalSystem"/> 
     7        <classpathentry combineaccessrules="false" kind="src" path="/FAtiMA.SocialRelations"/> 
    78        <classpathentry kind="output" path="bin"/> 
    89</classpath> 
  • AgentMind/branches/FAtiMA-Modular/AgentLauncher/src/AgentLauncher.java

    r724 r730  
    99import FAtiMA.Core.exceptions.GoalLibParsingException; 
    1010import FAtiMA.Core.exceptions.UnknownGoalException; 
     11import FAtiMA.socialRelations.SocialRelationsComponent; 
    1112 
    1213public class AgentLauncher { 
     
    2425                         
    2526                 
    26                 AgentCore aG = initializeAgentCore(args);        
     27                AgentCore aG = initializeAgentCore(args); 
     28                aG.addComponent(new SocialRelationsComponent()); 
    2729                 
    2830                aG.StartAgent(); 
     
    3941                String agentName = args[1];      
    4042                 
    41                 FAtiMA.Core.AgentCore agent = new AgentCore(); 
     43                FAtiMA.Core.AgentCore agent = new AgentCore(agentName); 
    4244                agent.initialize(scenarioName,agentName); 
    4345                 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/AdvancedMemoryComponent.java

    r727 r730  
    4545import FAtiMA.Core.emotionalState.ActiveEmotion; 
    4646import FAtiMA.Core.emotionalState.AppraisalStructure; 
     47import FAtiMA.Core.memory.episodicMemory.ActionDetail; 
    4748import FAtiMA.Core.memory.episodicMemory.EpisodicMemory; 
    4849import FAtiMA.Core.sensorEffector.Event; 
     
    201202        @Override 
    202203        public void appraisal(Event e, AppraisalStructure as, AgentModel am) { 
    203                 // TODO Auto-generated method stub 
    204                  
     204                 
     205                Event event2; 
     206                                 
     207                //self evaluation 
     208                event2 = e.ApplyPerspective(am.getName()); 
     209                 
     210                //appraisal from memory 
     211                ActionDetail ad = new ActionDetail(0,event2.GetSubject(), 
     212                                        event2.GetAction(),  
     213                                        event2.GetTarget(), 
     214                                        event2.GetParameters(),null,null,null,null); 
     215                         
     216                _compoundCue.Match(ad,am.getMemory().getEpisodicMemory()); 
     217                         
     218                ActionDetail result = _compoundCue.getStrongestResult(); 
     219                //float eval = _compoundCue.getEvaluation(); 
     220                if(result != null) 
     221                { 
     222                        float desirability = result.getDesirability(); 
     223                        if(desirability != 0) 
     224                        { 
     225                                as.SetAppraisalVariable(AdvancedMemoryComponent.NAME, (short)3, AppraisalStructure.DESIRABILITY, desirability); 
     226                        }        
     227                } 
    205228        } 
    206229 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/AgentCore.java

    r729 r730  
    6060        public static final String MIND_PATH_ANDROID = "sdcard/data/characters/minds/"; 
    6161        public static final String SCENARIO_FILENAME = "LIRECScenarios.xml"; 
     62         
    6263        private static final Name ACTION_CONTEXT = Name.ParseName("ActionContext()"); 
    6364 
     
    9091 
    9192 
    92         public AgentCore(){ 
     93        public AgentCore(String name){ 
     94                _name = name; 
    9395                _shutdown = false; 
    9496                _numberOfCycles = 0; 
     
    102104                _memory.getEpisodicMemory().StartEpisode(_memory); 
    103105                _strat = this; 
     106                _components = new HashMap<String,IComponent>(); 
    104107                AgentSimulationTime.GetInstance(); //This call will initialize the timer for the agent's simulation time 
    105108        } 
     
    116119                try{ 
    117120                        AgentLogger.GetInstance().initialize(_name,_showStateWindow); 
    118  
     121                         
     122                        _showStateWindow = ConfigurationManager.getDisplayMode(); 
     123                        _displayName = ConfigurationManager.getDisplayName(); 
     124                        _role = ConfigurationManager.getRole(); 
     125                        _sex = ConfigurationManager.getSex(); 
     126                         
     127                        if(_showStateWindow && !VersionChecker.runningOnAndroid()){ 
     128                                _agentDisplay = new AgentDisplay(this); 
     129                        } 
    119130 
    120131                        // Load Plan Operators 
     
    755766                        _remoteAgent.start(); 
    756767 
    757                         if(_showStateWindow && !VersionChecker.runningOnAndroid()){ 
    758                                 _agentDisplay = new AgentDisplay(this); 
    759                         } 
    760  
    761768                        this.Run(); 
    762769                } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/AppraisalStructure.java

    r693 r730  
    6464                _empty = true; 
    6565                _appraisal = new ArrayList<HashMap<String,Pair>>(3); 
     66                _appraisal.add(new HashMap<String,Pair>()); 
     67                _appraisal.add(new HashMap<String,Pair>()); 
     68                _appraisal.add(new HashMap<String,Pair>()); 
    6669                _appraisalOfOthers = new HashMap<String,AppraisalStructure>(); 
    6770        } 
     
    162165                boolean aux = _changed; 
    163166                _changed = false; 
     167                for(AppraisalStructure as : _appraisalOfOthers.values()) 
     168                { 
     169                        as.hasChanged(); 
     170                } 
    164171                return aux; 
    165172        } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/ReactiveProcess.java

    r717 r730  
    167167                selfEvaluation = Evaluate(ag, event2); 
    168168                 
    169                 if(selfEvaluation._desirability != null) 
     169                if(selfEvaluation != null) 
    170170                { 
    171                         as.SetAppraisalVariable(NAME, (short)5, AppraisalStructure.DESIRABILITY, selfEvaluation._desirability.intValue()); 
    172                 } 
    173                 if(selfEvaluation._desirabilityForOther != null) 
    174                 { 
    175                         as.SetAppraisalVariableOfOther(selfEvaluation._other.toString(), NAME, (short)5, AppraisalStructure.DESIRABILITY, selfEvaluation._desirabilityForOther.intValue()); 
    176                 } 
    177                 if(selfEvaluation._praiseworthiness != null) 
    178                 { 
    179                         as.SetAppraisalVariable(NAME, (short)5, AppraisalStructure.PRAISEWORTHINESS, selfEvaluation._praiseworthiness.intValue()); 
    180                 } 
    181                 if(selfEvaluation._like != null) 
    182                 { 
    183                         as.SetAppraisalVariable(NAME, (short)5, AppraisalStructure.LIKE, selfEvaluation._like.intValue()); 
    184                 } 
    185                  
    186                  
    187                 //TODO move this code to the memory appraisal 
    188                 /*if(ag.getCompoundCue() != null) 
    189                 { 
    190                         //appraisal from memory 
    191                         ActionDetail ad = new ActionDetail(0,event2.GetSubject(), 
    192                                         event2.GetAction(),  
    193                                         event2.GetTarget(), 
    194                                         event2.GetParameters(),null,null,null,null); 
    195                          
    196                         ag.getCompoundCue().Match(ad,ag.getMemory().getEpisodicMemory()); 
    197                          
    198                         ActionDetail result = ag.getCompoundCue().getStrongestResult(); 
    199                         float eval = ag.getCompoundCue().getEvaluation(); 
    200                         if(result != null) 
     171                        if(selfEvaluation._desirability != null) 
    201172                        { 
    202                                 float desirability = result.getDesirability(); 
    203                                 if(desirability != 0) 
    204                                 { 
    205                                         v = new AppraisalVector(); 
    206                                         v.setAppraisalVariable(AppraisalVector.DESIRABILITY, desirability*eval); 
    207                                 } 
    208                         }        
    209                 }*/ 
    210                  
    211                 //TODO do this in the ToM component 
    212                 /*if(ag.getToM() != null) 
    213                 { 
    214                          
    215                         // generating fortune of others emotions 
    216                         for(String other : ag.getNearByAgents()) 
     173                                as.SetAppraisalVariable(NAME, (short)5, AppraisalStructure.DESIRABILITY, selfEvaluation._desirability.intValue()); 
     174                        } 
     175                        if(selfEvaluation._desirabilityForOther != null && selfEvaluation._other != null) 
    217176                        { 
    218                                 event3 = event.ApplyPerspective(other); 
    219                                 ModelOfOther m = ag.getToM().get(other); 
    220                                 otherEvaluation = Evaluate(m, event3); 
    221                                 v = new AppraisalVector(); 
    222                                 if(selfEvaluation != null && selfEvaluation.getDesirability() != null) 
    223                                 { 
    224                                         v.setAppraisalVariable(AppraisalVector.DESIRABILITY, selfEvaluation.getDesirability()); 
    225                                 } 
    226                                  
    227                                 if(otherEvaluation != null && otherEvaluation.getDesirability() != null) 
    228                                 { 
    229                                         v.setAppraisalVariable(AppraisalVector.DESIRABILITY_FOR_OTHER, otherEvaluation.getDesirability()); 
    230                                 } 
    231                                  
    232                                  
    233                                 emotionForOther = FAtiMA.emotionalState.Appraisal.GenerateEmotionForOther( 
    234                                                 ag, 
    235                                                 event2,  
    236                                                 v, 
    237                                                 other); 
    238                                 if(emotionForOther != null) 
    239                                 { 
    240                                         ag.getEmotionalState().AddEmotion(emotionForOther, ag); 
    241                                 } 
    242                         } 
    243                 }*/ 
     177                                as.SetAppraisalVariableOfOther(selfEvaluation._other.toString(), NAME, (short)5, AppraisalStructure.DESIRABILITY, selfEvaluation._desirabilityForOther.intValue()); 
     178                        } 
     179                        if(selfEvaluation._praiseworthiness != null) 
     180                        { 
     181                                as.SetAppraisalVariable(NAME, (short)5, AppraisalStructure.PRAISEWORTHINESS, selfEvaluation._praiseworthiness.intValue()); 
     182                        } 
     183                        if(selfEvaluation._like != null) 
     184                        { 
     185                                as.SetAppraisalVariable(NAME, (short)5, AppraisalStructure.LIKE, selfEvaluation._like.intValue()); 
     186                        } 
     187                } 
    244188        } 
    245189         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/ConfigurationManager.java

    r667 r730  
    6363                parser.parse(new File(scenarioFileName), scenHandler); 
    6464                //side-effects 
     65                scenHandler.checkForAgent(); 
     66                 
    6567                getInstance().agentProperties = scenHandler.getAgentProperties(); 
    6668                getInstance().agentConfiguration = scenHandler.getAgentConfiguration(); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/parsers/ScenarioLoaderHandler.java

    r667 r730  
    1818        private HashMap<String,String> _agentProperties;         
    1919        private HashMap<String,String> _agentConfiguration; 
     20        private boolean _foundScenario; 
     21        private boolean _foundAgent; 
    2022         
    2123         
     
    2527                this._worldSimArgs = new ArrayList<String>(); 
    2628                this._agentConfiguration = new HashMap<String,String>(); 
    27                 this._isPretendedScenario = false;       
     29                this._isPretendedScenario = false; 
     30                this._foundScenario = false; 
    2831        }        
    2932         
     
    3740                this._isPretendedScenario = false; 
    3841                this._isPretendedCharacter = false; 
     42                this._foundAgent = false; 
     43                this._foundScenario = false; 
    3944                 
    4045        } 
     
    5661                if(_scenarioName.equalsIgnoreCase(attributes.getValue("name"))){ 
    5762                        this._isPretendedScenario = true; 
     63                        this._foundScenario = true; 
    5864                }else{ 
    5965                        this._isPretendedScenario = false; 
     
    7379    } 
    7480     
     81    public void checkForAgent()  
     82    { 
     83        checkScenario(); 
     84        if(_foundAgent == false) 
     85        { 
     86                throw new RuntimeException("Could not find agent: " + this._characterName); 
     87        } 
     88    } 
     89     
     90    public void checkScenario() 
     91    { 
     92        if(_foundScenario == false) 
     93        { 
     94                throw new RuntimeException("Could not find scenario: " + this._scenarioName); 
     95        } 
     96    } 
     97     
    7598     
    7699    public void Object(Attributes attributes){ 
     
    84107                        if(_characterName.equalsIgnoreCase(attributes.getValue("name"))){ 
    85108                                this._isPretendedCharacter = true; 
     109                                this._foundAgent = true; 
    86110                                 
    87111                                for(int i=0; i < attributes.getLength(); i++ ){ 
  • AgentMind/branches/FAtiMA-Modular/LIRECOptionsUser.txt

    r394 r730  
    11User AskLocation SarahReview Amy 
     2user GreetBack Abbuk 
     3user GreetBack Errep 
     4user GreetBack Ikop 
     5user GreetBack Evui 
     6user GreetWrongly Abbuk 
     7user GreetWrongly Errep 
     8user GreetWrongly Ikop 
     9user GreetWrongly Evui 
     10user ApproachTree tree 
     11user UserPickFromGround apple 
     12user UserPickFromTree apple 
     13user PickFromTable drink 
     14user Eat apple 
     15user Drink liquid 
     16user AcceptInvitation Abbuk meal 
     17user RejectInvitation Abbuk meal 
     18user AcceptFood Abbuk apple 
     19user RejectOffer Abbuk apple 
     20user AcceptInvitation Ikop meal 
     21user RejectInvitation Ikop meal 
     22user AcceptFood Ikop apple 
     23user RejectOffer Ikop apple 
     24user MeteorHit Errep 
     25user HealDyingSpryte Errep 
     26user Apologise Abbuk 
     27user Apologise Errep 
     28user Apologise Ikop 
     29user Apologise Evui 
     30user GiveAttention Evui 
  • AgentMind/branches/FAtiMA-Modular/WorldTest/src/WorldTest.java

    r718 r730  
    5656                        SAXParser parser = factory.newSAXParser(); 
    5757                        parser.parse(new File(SCENARIOS_PATH), scenHandler); 
     58                         
     59                        scenHandler.checkScenario(); 
    5860                        args = scenHandler.getWorldSimArguments(); 
    5961                } 
  • AgentMind/branches/FAtiMA-Modular/data/characters/minds/roles/SarahReview/SarahReview.xml

    r428 r730  
    4141                <Relation target="User" like="2" respect="1"/> 
    4242        </InterpersonalRelations> 
     43 
     44        <EventReactions> 
     45 
     46                <EmotionalReaction desirability="2" desirabilityForOther="5" praiseworthiness="-2" other="[Target]"> 
     47                        <Event action="GreetBack"/> 
     48                </EmotionalReaction> 
     49        </EventReactions> 
    4350</Character> 
Note: See TracChangeset for help on using the changeset viewer.