Changeset 198


Ignore:
Timestamp:
11/05/2009 02:57:53 PM (10 years ago)
Author:
joao.dias
Message:

Major restructure of the memory component. Memory is now divided in two main packages: Semantic Memory and Episodic Memory.

Location:
AgentMind/branches/FAtiMA2/src/FAtiMA
Files:
15 added
34 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA2/src/FAtiMA/Agent.java

    r194 r198  
    3232import FAtiMA.emotionalState.EmotionalState; 
    3333import FAtiMA.exceptions.UnknownGoalException; 
    34 import FAtiMA.memory.KnowledgeSlot; 
    3534import FAtiMA.memory.Memory; 
     35import FAtiMA.memory.semanticMemory.KnowledgeSlot; 
    3636import FAtiMA.motivationalSystem.MotivationalState; 
    3737import FAtiMA.reactiveLayer.Reaction; 
     
    546546                                        _emotionalState.Decay(); 
    547547                                        _motivationalState.Decay(); 
    548                                         _dialogManager.DecayCauseIDontHaveABetterName(_memory.getKB()); 
    549                                          
    550                                         Name locationKey = Name.ParseName(Constants.SELF + "(location)"); 
    551                                         String location = (String) _memory.AskProperty(locationKey); 
     548                                        _dialogManager.DecayCauseIDontHaveABetterName(_memory); 
    552549                                         
    553550                                        //perceives and appraises new events 
     
    561558                                                        //inserting the event in AM 
    562559                                                         
    563                                                         _memory.getSTM().StoreAction(_memory, e, location); 
     560                                                        _memory.getEpisodicMemory().StoreAction(_memory, e); 
    564561                                                    //registering an Action Context property in the KB 
    565                                                         _memory.getWM().Tell(_memory, ACTION_CONTEXT,e.toName().toString()); 
     562                                                        _memory.getSemanticMemory().Tell(ACTION_CONTEXT,e.toName().toString()); 
    566563                                                         
    567564                                                        if(SpeechAct.isSpeechAct(e.GetAction())) 
    568565                                                        { 
    569                                                                 _dialogManager.UpdateDialogState(e, _memory.getKB()); 
     566                                                                _dialogManager.UpdateDialogState(e, _memory); 
    570567                                                        } 
    571568                                                                         
     
    581578                                        //if there was new data or knowledge added we must apply inference operators 
    582579                                        //update any inferred property to the outside and appraise the events 
    583                                         if(_memory.getSTM().HasNewData() || 
    584                                                         _memory.getWM().HasNewKnowledge()) 
     580                                        if(_memory.getEpisodicMemory().HasNewData() || 
     581                                                        _memory.getSemanticMemory().HasNewKnowledge()) 
    585582                                        { 
    586583                                                 
    587584                                                //calling the KnowledgeBase inference process 
    588                                                 _memory.getWM().PerformInference(this); 
     585                                                _memory.getSemanticMemory().PerformInference(this); 
    589586                                                 
    590                                                 synchronized (_memory.getWM()) 
     587                                                synchronized (_memory.getSemanticMemory()) 
    591588                                                { 
    592                                                         ArrayList<KnowledgeSlot> facts = _memory.getWM().GetNewFacts(); 
     589                                                        ArrayList<KnowledgeSlot> facts = _memory.getSemanticMemory().getNewFacts(); 
    593590                                                         
    594591                                                        for(ListIterator<KnowledgeSlot> li = facts.listIterator();li.hasNext();) 
     
    791788                 
    792789                Name propertyName = Name.ParseName(subject + "(" + property + ")"); 
    793                 _memory.getWM().Tell(_memory, propertyName, value); 
     790                _memory.getSemanticMemory().Tell(propertyName, value); 
    794791        } 
    795792         
     
    802799                 
    803800                Name propertyName = Name.ParseName(subject + "(" + property + ")"); 
    804                 _memory.Retract(propertyName); 
     801                _memory.getSemanticMemory().Retract(propertyName); 
    805802                 
    806803        } 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/DialogManager.java

    r190 r198  
    3535import java.io.Serializable; 
    3636 
    37 import FAtiMA.knowledgeBase.KnowledgeBase; 
     37import FAtiMA.memory.Memory; 
    3838import FAtiMA.sensorEffector.Event; 
    3939import FAtiMA.sensorEffector.SpeechAct; 
     
    7171        } 
    7272         
    73         public void UpdateDialogState(Event speechEvent, KnowledgeBase kb) 
     73        public void UpdateDialogState(Event speechEvent, Memory m) 
    7474        { 
    7575                if(!speechEvent.GetAction().equals(SpeechAct.Reinforce)) 
    7676                { 
    77                         kb.Tell(SPEECH_CONTEXT, speechEvent.toName().toString()); 
     77                        m.getSemanticMemory().Tell(SPEECH_CONTEXT, speechEvent.toName().toString()); 
    7878                } 
    7979                this._canSpeak = true; 
     
    9292        } 
    9393         
    94         public void DecayCauseIDontHaveABetterName(KnowledgeBase kb) 
     94        public void DecayCauseIDontHaveABetterName(Memory m) 
    9595        { 
    9696                if(_andCounting) 
     
    9898                        if(AgentSimulationTime.GetInstance().Time() > this._contextExpireTime) 
    9999                        { 
    100                                 kb.Tell(SPEECH_CONTEXT, ""); 
     100                                m.getSemanticMemory().Tell(SPEECH_CONTEXT, ""); 
    101101                                this._contextExpireTime = 0; 
    102102                                this._andCounting = false; 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/Display/EpisodicMemoryPanel.java

    r191 r198  
    4141 
    4242import FAtiMA.Agent; 
    43 import FAtiMA.memory.autobiographicalMemory.MemoryEpisode; 
     43import FAtiMA.memory.episodicMemory.MemoryEpisode; 
    4444 
    4545 
     
    7777        boolean update = false; 
    7878         
    79         if(countMemoryDetails() != ag.getMemory().getAM().countMemoryDetails()) { 
     79        if(countMemoryDetails() != ag.getMemory().getEpisodicMemory().countMemoryDetails()) { 
    8080                update = true; 
    8181                _memoryEpisodes.removeAll(); 
     
    8383                 
    8484                 
    85                 synchronized(ag.getMemory().getAM().GetSyncRoot()){ 
    86                         Iterator<MemoryEpisode> it = ag.getMemory().getAM().GetAllEpisodes().iterator(); 
     85                synchronized(ag.getMemory().getEpisodicMemory().GetSyncRoot()){ 
     86                        Iterator<MemoryEpisode> it = ag.getMemory().getEpisodicMemory().GetAllEpisodes().iterator(); 
    8787                MemoryEpisodeDisplay mDisplay; 
    8888                MemoryEpisode episode; 
    8989                while(it.hasNext()) { 
    90                         episode = it.next(); 
     90                        episode = (MemoryEpisode) it.next(); 
    9191                        mDisplay = new MemoryEpisodeDisplay(episode); 
    9292                        _memoryEpisodes.add(mDisplay.getMemoryEpisodePanel()); 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/Display/KnowledgeBasePanel.java

    r191 r198  
    3939 
    4040import FAtiMA.Agent; 
    41 import FAtiMA.knowledgeBase.KnowledgeBase; 
    42 import FAtiMA.memory.KnowledgeSlot; 
     41import FAtiMA.memory.semanticMemory.KnowledgeSlot; 
     42 
    4343 
    4444 
     
    7171    
    7272    public boolean Update(Agent ag) { 
    73         KnowledgeBase kb = ag.getMemory().getKB(); 
    7473         
    75         ListIterator<KnowledgeSlot> li = kb.GetFactList(); 
     74        ListIterator<KnowledgeSlot> li = ag.getMemory().getSemanticMemory().GetFactList(); 
    7675         
    7776        KnowledgeSlot slot; 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/Display/KnowledgeFactDisplay.java

    r190 r198  
    4444        _panel = new JPanel(); 
    4545        _panel.setBorder(BorderFactory.createTitledBorder(name)); 
     46        _panel.setMinimumSize(new Dimension(300,60)); 
    4647        _panel.setMaximumSize(new Dimension(300,60)); 
    47  
     48      
    4849        _label = new JLabel(value); 
    4950        _panel.add(_label); 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/Display/MemoryDetailPanel.java

    r5 r198  
    3838import javax.swing.JTextField; 
    3939 
    40 import FAtiMA.memory.ActionDetail; 
     40import FAtiMA.memory.episodicMemory.ActionDetail; 
    4141import FAtiMA.util.enumerables.EmotionType; 
    4242 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/Display/MemoryEpisodeDisplay.java

    r191 r198  
    4141import javax.swing.JTextArea; 
    4242 
    43 import FAtiMA.memory.ActionDetail; 
    44 import FAtiMA.memory.autobiographicalMemory.MemoryEpisode; 
     43import FAtiMA.memory.episodicMemory.ActionDetail; 
     44import FAtiMA.memory.episodicMemory.MemoryEpisode; 
    4545 
    4646 
     
    7878         
    7979        //ABSTRACT  
    80         JPanel aux = new JPanel(); 
     80        /*JPanel aux = new JPanel(); 
    8181        aux.setLayout(new BoxLayout(aux,BoxLayout.Y_AXIS)); 
    8282        aux.setMaximumSize(d2);   
     
    8686        lbl.setMaximumSize(d1); 
    8787        lbl.setMinimumSize(d1); 
    88         aux.add(lbl); 
     88        aux.add(lbl);*/ 
     89         
    8990        //_abstract = new JTextArea(episode.getAbstract()); 
    90         _abstract = new JTextArea(""); 
     91        /*_abstract = new JTextArea(""); 
    9192        _abstract.setLineWrap(true); 
    9293        _abstract.setMaximumSize(d3); 
    9394        _abstract.setMinimumSize(d3); 
    9495        aux.add(_abstract); 
    95         pnl.add(aux); 
     96        pnl.add(aux);*/ 
    9697        
    9798         
    9899         
    99100        //TIME 
    100         aux = new JPanel(); 
     101        JPanel aux = new JPanel(); 
    101102        aux.setLayout(new BoxLayout(aux,BoxLayout.Y_AXIS)); 
    102103        aux.setMaximumSize(d2); 
    103104        aux.setMinimumSize(d2); 
    104105        aux.setBorder(BorderFactory.createLineBorder(new Color(0,0,0))); 
    105         lbl = new JLabel("Time"); 
     106        JLabel lbl = new JLabel("Time"); 
    106107        lbl.setMaximumSize(d1); 
    107108        lbl.setMinimumSize(d1); 
     
    195196        aux.add(lbl);*/ 
    196197         
    197         lbl = new JLabel("Who?"); 
     198        lbl = new JLabel("Subject"); // Who? 
    198199        lbl.setBorder(BorderFactory.createLineBorder(new Color(0,0,0))); 
    199200        lbl.setMinimumSize(new Dimension(50,30)); 
     
    201202        aux.add(lbl); 
    202203         
    203         lbl = new JLabel("What?"); 
     204        lbl = new JLabel("Action"); // What? 
    204205        lbl.setBorder(BorderFactory.createLineBorder(new Color(0,0,0))); 
    205206        lbl.setMinimumSize(new Dimension(80,30)); 
     
    207208        aux.add(lbl); 
    208209         
    209         lbl = new JLabel("Whom?"); 
     210        lbl = new JLabel("Target"); // Whom? 
    210211        lbl.setBorder(BorderFactory.createLineBorder(new Color(0,0,0))); 
    211212        lbl.setMinimumSize(new Dimension(80,30)); 
     
    213214        aux.add(lbl); 
    214215         
    215         lbl = new JLabel("How?"); 
     216        lbl = new JLabel("Parameters"); // How? 
    216217        lbl.setBorder(BorderFactory.createLineBorder(new Color(0,0,0))); 
    217218        lbl.setMinimumSize(new Dimension(100,30)); 
     
    243244                while(li.hasNext()) 
    244245                { 
    245                         prop.add(new MemoryDetailPanel(li.next())); 
     246                        prop.add(new MemoryDetailPanel((ActionDetail)li.next())); 
    246247                        _numberOfDetails ++; 
    247248                } 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/Display/RecordDetailPanel.java

    r63 r198  
    99import javax.swing.JTextField; 
    1010 
    11 import FAtiMA.memory.ActionDetail; 
     11import FAtiMA.memory.episodicMemory.ActionDetail; 
    1212import FAtiMA.util.enumerables.EmotionType; 
    1313 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/Display/STMRecordDisplay.java

    r191 r198  
    4343 
    4444import FAtiMA.AgentModel; 
    45 import FAtiMA.memory.ActionDetail; 
    46 import FAtiMA.memory.shortTermMemory.STMemoryRecord; 
     45import FAtiMA.memory.episodicMemory.ActionDetail; 
    4746 
    4847public class STMRecordDisplay { 
     
    5049        private JPanel _panel; 
    5150    private JPanel _details; 
     51    private static int _lastID = 0; 
     52    private static int _previousID = 0; 
    5253     
    53     public STMRecordDisplay(AgentModel am, STMemoryRecord records) { 
     54    public STMRecordDisplay(AgentModel am) { 
    5455 
    5556        _panel = new JPanel(); 
     
    133134                propertiesScroll.setAutoscrolls(true); 
    134135                 
    135                 ListIterator<ActionDetail> li = records.getDetails().listIterator(); 
     136                ListIterator<ActionDetail> li = am.getMemory().getEpisodicMemory().getDetails().listIterator(); 
    136137         
    137                 ArrayList<ActionDetail> newRecords = am.getMemory().getSTM().GetNewRecords(); 
     138                ArrayList<FAtiMA.memory.episodicMemory.ActionDetail> newRecords = am.getMemory().getEpisodicMemory().GetNewRecords(); 
    138139                 
    139140                while(li.hasNext()) 
     
    147148                        prop.add(recordDetailPanel); 
    148149                } 
    149                 synchronized(am.getMemory().getSTM()) 
     150                synchronized(am.getMemory().getEpisodicMemory()) 
    150151                { 
    151                         am.getMemory().getSTM().ClearNewRecords(); 
     152                        am.getMemory().getEpisodicMemory().ClearNewRecords(); 
    152153                } 
    153154         
  • AgentMind/branches/FAtiMA2/src/FAtiMA/Display/ShortTermMemoryPanel.java

    r191 r198  
    4141 
    4242import FAtiMA.Agent; 
    43 import FAtiMA.memory.KnowledgeSlot; 
    44 import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    45 import FAtiMA.memory.shortTermMemory.STMemoryRecord; 
     43import FAtiMA.memory.semanticMemory.KnowledgeSlot; 
     44import FAtiMA.memory.semanticMemory.SemanticMemory; 
     45import FAtiMA.memory.semanticMemory.WorkingMemory; 
    4646 
    4747public class ShortTermMemoryPanel extends AgentDisplayPanel { 
     
    128128        _memoryRecords.removeAll(); 
    129129                 
    130         synchronized(ag.getMemory().getSTM().GetSyncRoot()){ 
    131                 STMemoryRecord records = ag.getMemory().getSTM().GetAllRecords(); 
    132                 _stmRecordDisplay = new STMRecordDisplay(ag, records); 
    133             _memoryRecords.add(_stmRecordDisplay.getSTMRecordPanel());           
    134         }      
     130        //EpisodicMemory em = ag.getMemory().getEpisodicMemory(); 
     131        SemanticMemory sm = ag.getMemory().getSemanticMemory(); 
     132                 
     133        _stmRecordDisplay = new STMRecordDisplay(ag); 
     134        _memoryRecords.add(_stmRecordDisplay.getSTMRecordPanel());       
     135      
    135136         
    136         ListIterator<KnowledgeSlot> li = ag.getMemory().getKB().GetFactList(); 
     137        ListIterator<KnowledgeSlot> li = sm.GetFactList(); 
    137138         
    138139        KnowledgeSlot slot; 
     
    140141        int index;          
    141142         
    142         if (ag.getMemory().getKB().Count() >= _knowledgeSize) 
     143        if (sm.Count() >= _knowledgeSize) 
    143144        { 
    144145                 _knowledgeFactsPanel.removeAll(); 
    145                  _knowledgeSize = ag.getMemory().getKB().Count(); 
     146                 _knowledgeSize = sm.Count(); 
    146147        } 
    147148         
     
    157158        } 
    158159         
    159         li = ag.getMemory().getWM().GetFactList(); 
    160         ArrayList<KnowledgeSlot> changeList = ag.getMemory().getWM().GetChangeList(); 
     160        li = sm.GetFactList(); 
     161        ArrayList<KnowledgeSlot> changeList = sm.GetChangeList(); 
    161162        _workingFactsSubPanel1.removeAll(); 
    162163        _workingFactsSubPanel2.removeAll(); 
     
    174175                _workingFactsSubPanel1.add(kDisplay.GetPanel()); 
    175176        } 
    176         synchronized(ag.getMemory().getWM()) 
     177        synchronized(sm) 
    177178        { 
    178                 ag.getMemory().getWM().ClearChangeList(); 
     179                sm.ClearChangeList(); 
    179180        } 
    180181   
  • AgentMind/branches/FAtiMA2/src/FAtiMA/conditions/Condition.java

    r191 r198  
    6565 
    6666import FAtiMA.AgentModel; 
    67 import FAtiMA.knowledgeBase.KnowledgeBase; 
     67import FAtiMA.memory.semanticMemory.KnowledgeBase; 
    6868import FAtiMA.wellFormedNames.IGroundable; 
    6969import FAtiMA.wellFormedNames.Name; 
     
    241241                } 
    242242 
    243                 bindingSets = am.getMemory().GetPossibleBindings(_name); 
     243                bindingSets = am.getMemory().getSemanticMemory().GetPossibleBindings(_name); 
    244244                if (bindingSets == null) 
    245245                        return null; 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/conditions/EmotionCondition.java

    r191 r198  
    3939import FAtiMA.emotionalState.EmotionalState; 
    4040import FAtiMA.exceptions.InvalidEmotionTypeException; 
    41 import FAtiMA.knowledgeBase.KnowledgeBase; 
     41import FAtiMA.memory.semanticMemory.KnowledgeBase; 
    4242import FAtiMA.util.enumerables.EmotionType; 
    4343import FAtiMA.wellFormedNames.Name; 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/conditions/NewEventCondition.java

    r191 r198  
    55 
    66import FAtiMA.AgentModel; 
    7 import FAtiMA.memory.SearchKey; 
     7import FAtiMA.memory.episodicMemory.SearchKey; 
    88import FAtiMA.wellFormedNames.Name; 
    99import FAtiMA.wellFormedNames.Symbol; 
     
    7878                } 
    7979         
    80                 conditionVerified = (_positive == am.getMemory().getSTM().ContainsRecentEvent(GetSearchKeys())); 
     80                conditionVerified = (_positive == am.getMemory().getEpisodicMemory().ContainsRecentEvent(GetSearchKeys())); 
    8181                 
    8282                if(conditionVerified){ 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/conditions/PastEventCondition.java

    r191 r198  
    4040 
    4141import FAtiMA.AgentModel; 
    42 import FAtiMA.memory.ActionDetail; 
    43 import FAtiMA.memory.SearchKey; 
     42import FAtiMA.memory.episodicMemory.ActionDetail; 
     43import FAtiMA.memory.episodicMemory.SearchKey; 
    4444import FAtiMA.sensorEffector.Event; 
    4545import FAtiMA.sensorEffector.Parameter; 
     
    228228        protected ArrayList<ActionDetail> GetPossibleBindings(AgentModel am) 
    229229        { 
    230                 return am.getMemory().getAM().SearchForPastEvents(GetSearchKeys()); 
     230                return am.getMemory().getEpisodicMemory().SearchForPastEvents(GetSearchKeys()); 
    231231        } 
    232232         
     
    315315                if(!_name.isGrounded()) return false; 
    316316                 
    317                 return _positive == am.getMemory().getAM().ContainsPastEvent(GetSearchKeys());  
     317                return _positive == am.getMemory().getEpisodicMemory().ContainsPastEvent(GetSearchKeys());  
    318318        } 
    319319         
  • AgentMind/branches/FAtiMA2/src/FAtiMA/conditions/PredicateCondition.java

    r191 r198  
    5858 
    5959import FAtiMA.AgentModel; 
    60 import FAtiMA.knowledgeBase.KnowledgeBase; 
     60import FAtiMA.memory.semanticMemory.KnowledgeBase; 
    6161import FAtiMA.wellFormedNames.Name; 
    6262import FAtiMA.wellFormedNames.Substitution; 
     
    122122                boolean result; 
    123123                if(!_name.isGrounded()) return false; 
    124                 result = am.getMemory().AskPredicate(_name);  
     124                result = am.getMemory().getSemanticMemory().AskPredicate(_name);  
    125125                return _positive == result; 
    126126        } 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/conditions/PropertyNotEqual.java

    r191 r198  
    161161                 
    162162                //if the name is not grounded we try to get all possible bindings for it 
    163                 bindingSets = am.getMemory().GetPossibleBindings(_name); 
     163                bindingSets = am.getMemory().getSemanticMemory().GetPossibleBindings(_name); 
    164164                if (bindingSets == null) 
    165165                        return null; 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/conditions/RecentEventCondition.java

    r191 r198  
    3939 
    4040import FAtiMA.AgentModel; 
    41 import FAtiMA.memory.ActionDetail; 
    42 import FAtiMA.memory.SearchKey; 
     41import FAtiMA.memory.episodicMemory.ActionDetail; 
     42import FAtiMA.memory.episodicMemory.SearchKey; 
    4343import FAtiMA.sensorEffector.Event; 
    4444import FAtiMA.wellFormedNames.Name; 
     
    190190                if(!_name.isGrounded()) return false; 
    191191                 
    192                 return _positive == am.getMemory().getSTM().ContainsRecentEvent(GetSearchKeys());  
     192                return _positive == am.getMemory().getEpisodicMemory().ContainsRecentEvent(GetSearchKeys());  
    193193        } 
    194194         
    195195        protected ArrayList<ActionDetail> GetPossibleBindings(AgentModel am) 
    196196        { 
    197                 return am.getMemory().getSTM(). 
     197                return am.getMemory().getEpisodicMemory(). 
    198198                                SearchForRecentEvents(GetSearchKeys()); 
    199199        } 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/conditions/RitualCondition.java

    r191 r198  
    3737 
    3838import FAtiMA.AgentModel; 
    39 import FAtiMA.memory.SearchKey; 
     39import FAtiMA.memory.episodicMemory.SearchKey; 
    4040import FAtiMA.wellFormedNames.Name; 
    4141import FAtiMA.wellFormedNames.Substitution; 
     
    214214                 
    215215                 
    216                 return am.getMemory().getSTM().ContainsRecentEvent(keys); 
     216                return am.getMemory().getEpisodicMemory().ContainsRecentEvent(keys); 
    217217                 
    218218        } 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/culture/CulturalDimensions.java

    r191 r198  
    118118        private float obtainLikeRelationshipFromKB(AgentModel am, String targetAgent){ 
    119119                Name likeProperty = Name.ParseName("Like("+ am.getName() + "," + targetAgent +")"); 
    120                 Float likeValue = (Float) am.getMemory().AskProperty(likeProperty); 
     120                Float likeValue = (Float) am.getMemory().getSemanticMemory().AskProperty(likeProperty); 
    121121 
    122122                if(likeValue == null){   
  • AgentMind/branches/FAtiMA2/src/FAtiMA/deliberativeLayer/Intention.java

    r191 r198  
    5050import FAtiMA.sensorEffector.Event; 
    5151import FAtiMA.util.AgentLogger; 
    52 import FAtiMA.wellFormedNames.Name; 
    5352 
    5453 
     
    358357            Event e = _goal.GetActivationEvent(); 
    359358             
    360             Name locationKey = Name.ParseName(am.getName() + "(location)"); 
    361                 String location = (String) am.getMemory().AskProperty(locationKey); 
    362              
    363359            AgentLogger.GetInstance().logAndPrint("Adding a new Strong Intention: " + _goal.getName().toString()); 
    364360           
    365             am.getMemory().getSTM().StoreAction(am.getMemory(), e, location); 
     361            am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
    366362             
    367363            float probability = GetProbability(am); 
     
    381377        public void ProcessIntentionFailure(AgentModel am)  
    382378        {        
    383                  Name locationKey = Name.ParseName(am.getName() + "(location)"); 
    384                  String location = (String) am.getMemory().AskProperty(locationKey); 
    385379                         
    386380                //mental disengagement consists in lowering the goal's importance 
     
    404398            _goal.setUncertainty(am, newExpectedError); 
    405399             
    406             am.getMemory().getSTM().StoreAction(am.getMemory(), e, location); 
     400            am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
    407401             
    408402            ActiveEmotion hope = GetHope(am.getEmotionalState()); 
     
    428422        public void ProcessIntentionSuccess(AgentModel am)  
    429423        { 
    430                 Name locationKey = Name.ParseName(am.getName() + "(location)"); 
    431                 String location = (String) am.getMemory().AskProperty(locationKey); 
    432424                 
    433425                EmotionalState es = am.getEmotionalState(); 
     
    449441             
    450442             
    451             am.getMemory().getSTM().StoreAction(am.getMemory(), e, location); 
     443            am.getMemory().getEpisodicMemory().StoreAction(am.getMemory(), e); 
    452444             
    453445            ActiveEmotion hope = GetHope(es); 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/deliberativeLayer/goals/ActivePursuitGoal.java

    r192 r198  
    360360                { 
    361361                        _probabilityDetermined = true; 
    362                         _probability = am.getMemory().AssessGoalProbability(this); 
     362                        _probability = am.getMemory().getEpisodicMemory().AssessGoalProbability(this); 
    363363                } 
    364364                 
     
    373373        public float getUncertainty(AgentModel am) 
    374374        { 
    375                 Float aux = (Float) am.getMemory().AskProperty(this.getName()); 
     375                Float aux = (Float) am.getMemory().getSemanticMemory().AskProperty(this.getName()); 
    376376                if(aux != null) return aux.floatValue(); 
    377377                else return 0.0f; 
     
    380380        public void setUncertainty(AgentModel am, float uncertainty) 
    381381        {        
    382                 am.getMemory().getWM().Tell(am.getMemory(),this.getName(), new Float(uncertainty)); 
     382                am.getMemory().getSemanticMemory().Tell(this.getName(), new Float(uncertainty)); 
    383383        } 
    384384         
  • AgentMind/branches/FAtiMA2/src/FAtiMA/deliberativeLayer/goals/Goal.java

    r191 r198  
    175175                if(decr <= 0) return; 
    176176                 
    177                 Float iof = (Float) am.getMemory().AskProperty(_dynamicIOF); 
     177                Float iof = (Float) am.getMemory().getSemanticMemory().AskProperty(_dynamicIOF); 
    178178                if(iof == null) 
    179179                { 
     
    186186                else iof = new Float(0 - _baseIOF); 
    187187                 
    188                 am.getMemory().getWM().Tell(am.getMemory(),_dynamicIOF,iof); 
     188                am.getMemory().getSemanticMemory().Tell(_dynamicIOF,iof); 
    189189        } 
    190190         
     
    196196                if(incr <= 0) return; 
    197197                 
    198                 Float iof = (Float) am.getMemory().AskProperty(_dynamicIOF); 
     198                Float iof = (Float) am.getMemory().getSemanticMemory().AskProperty(_dynamicIOF); 
    199199                if(iof == null) 
    200200                { 
     
    206206                } 
    207207                 
    208                 am.getMemory().getWM().Tell(am.getMemory(),_dynamicIOF,iof); 
     208                am.getMemory().getSemanticMemory().Tell(_dynamicIOF,iof); 
    209209        } 
    210210         
     
    216216                if(decr <= 0) return; 
    217217                 
    218                 Float ios = (Float) am.getMemory().AskProperty(_dynamicIOS); 
     218                Float ios = (Float) am.getMemory().getSemanticMemory().AskProperty(_dynamicIOS); 
    219219                if(ios == null) 
    220220                { 
     
    228228                else ios = new Float(0 - _baseIOS); 
    229229                 
    230                 am.getMemory().getWM().Tell(am.getMemory(),_dynamicIOS,ios); 
     230                am.getMemory().getSemanticMemory().Tell(_dynamicIOS,ios); 
    231231        } 
    232232         
     
    238238                if(incr <= 0) return; 
    239239                 
    240                 Float ios = (Float) am.getMemory().AskProperty(_dynamicIOS); 
     240                Float ios = (Float) am.getMemory().getSemanticMemory().AskProperty(_dynamicIOS); 
    241241                if(ios == null) 
    242242                { 
     
    248248                } 
    249249                 
    250                 am.getMemory().getWM().Tell(am.getMemory(),_dynamicIOS,ios); 
     250                am.getMemory().getSemanticMemory().Tell(_dynamicIOS,ios); 
    251251        } 
    252252         
     
    256256         */ 
    257257        public float GetImportanceOfFailure(AgentModel am) { 
    258                 Float aux = (Float) am.getMemory().AskProperty(this._dynamicIOF); 
     258                Float aux = (Float) am.getMemory().getSemanticMemory().AskProperty(this._dynamicIOF); 
    259259                if(aux != null) return aux.floatValue() + _baseIOF; 
    260260                else return _baseIOF; 
     
    266266         */ 
    267267        public float GetImportanceOfSuccess(AgentModel am) { 
    268                 Float aux = (Float) am.getMemory().AskProperty(this._dynamicIOS); 
     268                Float aux = (Float) am.getMemory().getSemanticMemory().AskProperty(this._dynamicIOS); 
    269269                if(aux != null) return aux.floatValue() + _baseIOS; 
    270270                else return _baseIOS; 
     
    414414                _baseIOF = Math.round(imp); 
    415415                 
    416                 Float iof = (Float) am.getMemory().AskProperty(_dynamicIOF); 
     416                Float iof = (Float) am.getMemory().getSemanticMemory().AskProperty(_dynamicIOF); 
    417417                if(iof != null) 
    418418                { 
     
    420420                        if(aux < 0) { 
    421421                                iof = new Float(0 - _baseIOF); 
    422                                 am.getMemory().getWM().Tell(am.getMemory(),this._dynamicIOF,iof); 
     422                                am.getMemory().getSemanticMemory().Tell(this._dynamicIOF,iof); 
    423423                        } 
    424424                } 
     
    441441                _baseIOS = Math.round(imp); 
    442442                 
    443                 Float ios = (Float) am.getMemory().AskProperty(_dynamicIOS); 
     443                Float ios = (Float) am.getMemory().getSemanticMemory().AskProperty(_dynamicIOS); 
    444444                if(ios != null) 
    445445                { 
     
    447447                        if(aux < 0) { 
    448448                                ios = new Float(0 - _baseIOS); 
    449                                 am.getMemory().getWM().Tell(am.getMemory(),this._dynamicIOS,ios); 
     449                                am.getMemory().getSemanticMemory().Tell(this._dynamicIOS,ios); 
    450450                        } 
    451451                } 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/deliberativeLayer/plan/Effect.java

    r191 r198  
    8282                        if(am != null) 
    8383                        { 
    84                                 am.getMemory().getWM().Tell(am.getMemory(),this._biasName, new Float(0)); 
     84                                am.getMemory().getSemanticMemory().Tell(this._biasName, new Float(0)); 
    8585                        } 
    8686                } 
     
    101101                float newbias; 
    102102                 
    103                 bias = ((Float) am.getMemory().AskProperty(_biasName)).floatValue(); 
     103                bias = ((Float) am.getMemory().getSemanticMemory().AskProperty(_biasName)).floatValue(); 
    104104                prob = bias + _baseprob; 
    105105                newprob = 0.6f * prob; 
    106106                newbias = newprob - _baseprob; 
    107                 am.getMemory().getWM().Tell(am.getMemory(),_biasName,new Float(newbias));    
     107                am.getMemory().getSemanticMemory().Tell(_biasName,new Float(newbias));    
    108108        } 
    109109         
     
    122122        public float GetProbability(AgentModel am) { 
    123123                if(am == null) return _baseprob; 
    124                 return _baseprob + ((Float) am.getMemory().AskProperty(_biasName)).floatValue(); 
     124                return _baseprob + ((Float) am.getMemory().getSemanticMemory().AskProperty(_biasName)).floatValue(); 
    125125        } 
    126126         
     
    229229                float newbias; 
    230230                 
    231                 bias = ((Float) am.getMemory().AskProperty(_biasName)).floatValue();  
     231                bias = ((Float) am.getMemory().getSemanticMemory().AskProperty(_biasName)).floatValue();  
    232232                prob = bias + _baseprob; 
    233233                newprob = 0.6f * prob + 0.4f; 
    234234                newbias = newprob - _baseprob; 
    235                 am.getMemory().getWM().Tell(am.getMemory(),_biasName,new Float(newbias));    
     235                am.getMemory().getSemanticMemory().Tell(_biasName,new Float(newbias));    
    236236        } 
    237237         
  • AgentMind/branches/FAtiMA2/src/FAtiMA/deliberativeLayer/plan/Step.java

    r191 r198  
    191191                float newbias; 
    192192                 
    193                 bias = (Float) am.getMemory().AskProperty(GetBiasName()); 
     193                bias = (Float) am.getMemory().getSemanticMemory().AskProperty(GetBiasName()); 
    194194                if(bias != null) 
    195195                { 
     
    204204                newbias = newprob - _baseprob; 
    205205                 
    206                 am.getMemory().getWM().Tell(am.getMemory(),GetBiasName(),new Float(newbias));    
     206                am.getMemory().getSemanticMemory().Tell(GetBiasName(),new Float(newbias));    
    207207        } 
    208208         
     
    216216                float newbias; 
    217217                 
    218                 bias = (Float) am.getMemory().AskProperty(GetBiasName()); 
     218                bias = (Float) am.getMemory().getSemanticMemory().AskProperty(GetBiasName()); 
    219219                if(bias != null) 
    220220                { 
     
    228228                newprob = 0.6f * prob + 0.4f; 
    229229                newbias = newprob - _baseprob; 
    230                 am.getMemory().getWM().Tell(am.getMemory(),GetBiasName(),new Float(newbias));    
     230                am.getMemory().getSemanticMemory().Tell(GetBiasName(),new Float(newbias));    
    231231        } 
    232232         
     
    239239                if(!_selfExecutable) 
    240240                { 
    241                         Float aux = (Float) am.getMemory().AskProperty(GetBiasName()); 
     241                        Float aux = (Float) am.getMemory().getSemanticMemory().AskProperty(GetBiasName()); 
    242242                        if(aux != null) 
    243243                        { 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/emotionalState/EmotionalState.java

    r191 r198  
    158158                                auxEmotion = new ActiveEmotion(potEm, potential, threshold, decay); 
    159159                                _emotionPool.put(potEm.GetHashKey(), auxEmotion); 
    160                                 am.getMemory().getSTM().AssociateEmotionToAction(am.getMemory(),  
     160                                am.getMemory().getEpisodicMemory().AssociateEmotionToAction(am.getMemory(),  
    161161                                                auxEmotion, 
    162162                                                auxEmotion.GetCause()); 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/memory/Memory.java

    r191 r198  
    3232package FAtiMA.memory; 
    3333 
    34 import java.util.ArrayList; 
    35 import java.util.Iterator; 
    36 import java.util.ListIterator; 
    3734 
    38 import FAtiMA.deliberativeLayer.goals.Goal; 
    39 import FAtiMA.knowledgeBase.KnowledgeBase; 
    40 import FAtiMA.memory.autobiographicalMemory.AutobiographicalMemory; 
    41 import FAtiMA.memory.shortTermMemory.ShortTermMemory; 
    42 import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    43 import FAtiMA.sensorEffector.Event; 
    44 import FAtiMA.sensorEffector.Parameter; 
    45 import FAtiMA.wellFormedNames.Name; 
    46 import FAtiMA.wellFormedNames.Substitution; 
    47 import FAtiMA.wellFormedNames.SubstitutionSet; 
    48 import FAtiMA.wellFormedNames.Symbol; 
     35import FAtiMA.memory.episodicMemory.EpisodicMemory; 
     36import FAtiMA.memory.semanticMemory.SemanticMemory; 
     37 
     38 
    4939 
    5040 
     
    6353        private static final long serialVersionUID = 1L; 
    6454         
    65         private AutobiographicalMemory _am; 
    66         private ShortTermMemory _stm; 
    67         private WorkingMemory _wm; 
    68         private KnowledgeBase _kb; 
    69          
    70         public static ArrayList<SearchKey> GenerateSearchKeys(Event e) 
    71         {        
    72                 ArrayList<SearchKey> keys = new ArrayList<SearchKey>(); 
    73                 ArrayList<String> params = new ArrayList<String>(); 
    74                 Parameter param; 
    75                  
    76                 keys.add(new SearchKey(SearchKey.SUBJECT,e.GetSubject())); 
    77                  
    78                 keys.add(new SearchKey(SearchKey.ACTION,e.GetAction())); 
    79                  
    80                 if(e.GetTarget() != null) 
    81                 { 
    82                         keys.add(new SearchKey(SearchKey.TARGET, e.GetTarget())); 
    83                 } 
    84                  
    85                 if(e.GetParameters().size() > 0) 
    86                 { 
    87                         for(ListIterator<Parameter> li = e.GetParameters().listIterator();li.hasNext();) 
    88                         { 
    89                                 param = (Parameter) li.next(); 
    90                                 params.add(param.GetValue().toString()); 
    91                         } 
    92                         keys.add(new SearchKey(SearchKey.PARAMETERS, params)); 
    93                 } 
    94                  
    95                 return keys; 
    96         }        
     55        private SemanticMemory _sm; 
     56        private EpisodicMemory _em; 
    9757         
    9858        public Memory() 
    9959        { 
    100                 _am = new AutobiographicalMemory(); 
    101                 _stm = new ShortTermMemory(); 
    102                 _wm = new WorkingMemory(); 
    103                 _kb = new KnowledgeBase(); 
     60                _sm = new SemanticMemory(); 
     61                _em = new EpisodicMemory(); 
    10462        } 
    10563         
    106         public Float AssessGoalProbability(Goal g) 
     64        public SemanticMemory getSemanticMemory() 
    10765        { 
    108                 int numberOfSuccess; 
    109                 int numberOfTries; 
    110                 ArrayList<SearchKey> searchKeys = GenerateSearchKeys(g.GetActivationEvent()); 
    111                  
    112                 numberOfTries = _am.CountEvent(searchKeys)  
    113                                                 + _stm.CountEvent(searchKeys); 
    114                 if(numberOfTries == 0) 
    115                 { 
    116                         return null; 
    117                 } 
    118                  
    119                 searchKeys = GenerateSearchKeys(g.GetSuccessEvent()); 
    120                 numberOfSuccess = _am.CountEvent(searchKeys)  
    121                                                         + _stm.CountEvent(searchKeys);                   
    122                 return new Float(numberOfSuccess/numberOfTries); 
     66                return _sm; 
    12367        } 
    12468         
    125         public float AssessGoalFamiliarity(Goal g) 
     69        public EpisodicMemory getEpisodicMemory() 
    12670        { 
    127                 float similarEvents = 0; 
    128                 float familiarity = 0; 
    129                  
    130                 similarEvents = _am.AssessGoalFamiliarity(g) 
    131                                                 + _stm.AssessGoalFamiliarity(g); 
    132                  
    133                 // familiarity function f(x) = 1 - 1/(x/2 +1) 
    134                 // where x represents the number of similar events founds 
    135                 familiarity = 1 - (1 / (similarEvents/2 + 1)); 
    136                  
    137                 return familiarity; 
     71                return _em; 
    13872        } 
    13973         
    140         /** 
    141          * This method provides a way to search for properties/predicates in the WorkingMemory  
    142      * that match with a specified name with unbound variables. 
    143      * 
    144      * In order to understand this method, let’s examine the following example. Suppose that  
    145      * the memory only contains properties about two characters: Luke and John. 
    146      * Furthermore, it only stores two properties: their name and strength. So the KB will  
    147      * only store the following objects: 
    148      * - Luke(Name) : Luke 
    149      * - Luke(Strength) : 8 
    150      * - John(Name) : John  
    151      * - John(Strength) : 4 
    152      *  
    153      * The next table shows the result of calling the method with several distinct names.  
    154      * The function works by finding substitutions for the unbound variables, which make  
    155      * the received name equal to the name of an object stored in memory. 
    156      *  
    157      * Name             Substitutions returned 
    158      * Luke([x])            {{[x]/Name},{[x]/Strength}} 
    159      * [x](Strength)    {{[x]/John},{[x]/Luke}} 
    160      * [x]([y])         {{[x]/John,[y]/Name},{[x]/John,[y]/Strength},{[x]/Luke,[y]/Name},{[x]/Luke,[y]/Strength}} 
    161      * John(Name)           {{}} 
    162      * John(Height)         null 
    163      * Paul([x])            null 
    164      * 
    165      * In the first example, there are two possible substitutions that make “Luke([x])” 
    166      * equal to the objects stored above. The third example has two unbound variables, 
    167      * so the returned set contains all possible combinations of variable attributions. 
    168      *  
    169      * If this method receives a ground name, as seen on examples 4 and 5, it checks 
    170      * if the received name exists in memory. If so, a set with the empty substitution is 
    171      * returned, i.e. the empty substitution makes the received name equal to some object 
    172      * in memory. Otherwise, the function returns null, i.e. there is no substitution 
    173      * that applied to the name will make it equal to an object in memory. This same result 
    174      * is returned in the last example, since there is no object named Paul, and therefore no  
    175      * substitution of [x] will match the received name with an existing object. 
    176          * @param name - a name (that correspond to a predicate or property) 
    177          * @return a list of SubstitutionSets that make the received name to match predicates or  
    178      *         properties that do exist in the WorkingMemory 
    179          */ 
    180         public ArrayList<SubstitutionSet> GetPossibleBindings(Name name) { 
    181                 ArrayList<SubstitutionSet> bindingSets = null; 
    182                  
    183                 bindingSets = MatchLiteralList(name.GetLiteralList(), 0, _wm.GetWorkingMemory()); 
    184                  
    185                 if (bindingSets == null || bindingSets.size() == 0) 
    186                         bindingSets = (MatchLiteralList(name.GetLiteralList(), 0, _kb.GetKnowledgeBase())); 
    187                 else 
    188                 { 
    189                         ArrayList<SubstitutionSet> bindingSets2 = MatchLiteralList(name.GetLiteralList(), 0, _kb.GetKnowledgeBase()); 
    190                         if (bindingSets2 != null) 
    191                         { 
    192                                 ListIterator<SubstitutionSet> li = bindingSets2.listIterator(); 
    193  
    194                                 synchronized (this) { 
    195                                         while (li.hasNext()) { 
    196                                                  
    197                                                 SubstitutionSet ss = li.next(); 
    198                                                 if( !bindingSets.contains(ss) ) 
    199                                                         bindingSets.add(ss); 
    200                                         } 
    201                                 } 
    202                         } 
    203                 } 
    204                  
    205                 return bindingSets; 
    206         } 
    20774         
    208          /** 
    209      * Asks the Memory the Truth value of the received predicate 
    210      * @param predicate - The predicate to search in the Memory 
    211      * @return Under the Closed World Assumption, the predicate is considered  
    212      * true if it is stored in the Memory and false otherwise. 
    213      */ 
    214      
    215         public boolean AskPredicate(Name predicate)  
    216         { 
    217         KnowledgeSlot ks = (KnowledgeSlot) Ask(predicate, _wm.GetWorkingMemory()); 
    218         if (ks != null && ks.getValue() != null && ks.getValue().toString().equals("True")) 
    219         { 
    220                 _wm.RearrangeWorkingMemory(predicate); 
    221             return true; 
    222         } 
    223         else 
    224         { 
    225                 ks= (KnowledgeSlot) Ask(predicate, _kb.GetKnowledgeBase()); 
    226                 if (ks != null && ks.getValue() != null && ks.getValue().toString().equals("True")) 
    227             { 
    228                         _wm.Tell(this,predicate, ks.getValue()); 
    229                 return true; 
    230             } 
    231         } 
    232         return false; 
    233         } 
    234          
    235         /** 
    236          * Asks the Memory the value of a given property 
    237          * @param property - the property to search in the Memory 
    238          * @return the value stored inside the property, if the property exists. If the  
    239      *         property does not exist, it returns null 
    240          */ 
    241         public Object AskProperty(Name property) { 
    242                 KnowledgeSlot prop = (KnowledgeSlot) Ask(property, _wm.GetWorkingMemory()); 
    243                 if (prop == null) 
    244                 { 
    245                         prop = (KnowledgeSlot) Ask(property, _kb.GetKnowledgeBase()); 
    246                         if (prop == null) 
    247                                 return null; 
    248                         else 
    249                                 _wm.Tell(this, property, prop.getValue()); 
    250                 } 
    251                 else 
    252                 { 
    253                         _wm.RearrangeWorkingMemory(property); 
    254                 } 
    255                 return prop.getValue(); 
    256         } 
    257          
    258         private Object Ask(Name name, KnowledgeSlot slots) { 
    259                 KnowledgeSlot aux = slots; 
    260                 KnowledgeSlot currentSlot; 
    261                 ArrayList<Symbol> fetchList = name.GetLiteralList(); 
    262                 ListIterator<Symbol> li = fetchList.listIterator(); 
    263                 Symbol l; 
    264  
    265                 synchronized (this) { 
    266                         while (li.hasNext()) { 
    267                                         currentSlot = aux; 
    268                                         l = li.next(); 
    269                                         if (currentSlot.containsKey(l.toString())) { 
    270                                                 aux = currentSlot.get(l.toString()); 
    271                                         }  
    272                                         else return null; 
    273                         } 
    274                         return aux; 
    275                 } 
    276         } 
    277  
    278         private ArrayList<SubstitutionSet> MatchLiteralList(ArrayList<Symbol> literals, int index, KnowledgeSlot kSlot) { 
    279                 Symbol l; 
    280                 String key; 
    281                 ArrayList<SubstitutionSet> bindingSets; 
    282                 ArrayList<SubstitutionSet> newBindingSets; 
    283                 SubstitutionSet subSet; 
    284                 ListIterator<SubstitutionSet> li; 
    285                 Iterator<String> it; 
    286  
    287                 newBindingSets = new ArrayList<SubstitutionSet>(); 
    288  
    289                 if (index >= literals.size()) { 
    290                         newBindingSets.add(new SubstitutionSet()); 
    291                         return newBindingSets; 
    292                 } 
    293  
    294                 synchronized (this) { 
    295                         l = (Symbol) literals.get(index++); 
    296  
    297                         if (l.isGrounded()) { 
    298                                 if (kSlot.containsKey(l.toString())) { 
    299                                         return MatchLiteralList(literals, index, kSlot.get(l 
    300                                                         .toString())); 
    301                                 } else 
    302                                         return null; 
    303                         } 
    304  
    305                         it = kSlot.getKeyIterator(); 
    306                         while (it.hasNext()) { 
    307                                 key = (String) it.next(); 
    308                                 bindingSets = MatchLiteralList(literals, index, kSlot 
    309                                                 .get(key)); 
    310                                 if (bindingSets != null) { 
    311                                         li = bindingSets.listIterator(); 
    312                                         while (li.hasNext()) { 
    313                                                 subSet = (SubstitutionSet) li.next(); 
    314                                                 subSet.AddSubstitution(new Substitution(l, new Symbol( 
    315                                                                 key))); 
    316                                                 newBindingSets.add(subSet); 
    317                                         } 
    318                                 } 
    319                         } 
    320                 } 
    321  
    322                 if (newBindingSets.size() == 0) 
    323                         return null; 
    324                 else 
    325                         return newBindingSets; 
    326         } 
    327          
    328         /** 
    329      * Removes a predicate from the Semantic Memory 
    330          * @param predicate - the predicate to be removed 
    331          */ 
    332         public void Retract(Name predicate)  
    333         { 
    334                 _kb.Retract(predicate); 
    335                 _wm.Retract(predicate); 
    336         } 
    337          
    338         public KnowledgeSlot GetObjectDetails(String objectName) 
    339         { 
    340                 KnowledgeSlot object = (_wm.GetWorkingMemory()).get(objectName); 
    341                 if(object == null) 
    342                         object = (_kb.GetKnowledgeBase()).get(objectName); 
    343                 return object; 
    344         } 
    345          
    346         public KnowledgeBase getKB() 
    347         { 
    348                 return _kb; 
    349         } 
    350          
    351         public AutobiographicalMemory getAM() 
    352         { 
    353                 return _am; 
    354         } 
    355          
    356         public ShortTermMemory getSTM() 
    357         { 
    358                 return _stm; 
    359         } 
    360          
    361         public WorkingMemory getWM() 
    362         { 
    363                 return _wm; 
    364         } 
    36575         
    36676} 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/motivationalSystem/MotivationalState.java

    r191 r198  
    130130                        String lSignalName = ((Parameter)e.GetParameters().get(1)).toString(); 
    131131                        Name lSignalValueProperty = Name.ParseName(lSignalName + "(value)"); 
    132                         float lSignalValue = ((Float)am.getMemory().AskProperty(lSignalValueProperty)).floatValue(); 
     132                        float lSignalValue = ((Float)am.getMemory().getSemanticMemory().AskProperty(lSignalValueProperty)).floatValue(); 
    133133                         
    134134                         
  • AgentMind/branches/FAtiMA2/src/FAtiMA/sensorEffector/IONRemoteAgent.java

    r191 r198  
    274274                { 
    275275                        //the agent accepts the coping strategy 
    276                         Object coping = _agent.getMemory().AskProperty( 
     276                        Object coping = _agent.getMemory().getSemanticMemory().AskProperty( 
    277277                                        Name.ParseName(_agent.getName()+"(copingStrategy)")); 
    278278                        if(coping != null) 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/sensorEffector/RemoteAgent.java

    r191 r198  
    426426                        /* for the next context variables we need to retrieve them from the KB */ 
    427427                         
    428                         Object yourole = am.getMemory().AskProperty(Name.ParseName(speechAct.getReceiver() + "(role)")); 
     428                        Object yourole = am.getMemory().getSemanticMemory().AskProperty(Name.ParseName(speechAct.getReceiver() + "(role)")); 
    429429                        if(yourole != null) 
    430430                        { 
     
    432432                        } 
    433433                         
    434                         Object you = am.getMemory().AskProperty(Name.ParseName(speechAct.getReceiver() + "(displayName)")); 
     434                        Object you = am.getMemory().getSemanticMemory().AskProperty(Name.ParseName(speechAct.getReceiver() + "(displayName)")); 
    435435                        if(you != null) 
    436436                        { 
     
    438438                        } 
    439439                         
    440                         Object episode = am.getMemory().AskProperty(Name.ParseName("Episode(name)")); 
     440                        Object episode = am.getMemory().getSemanticMemory().AskProperty(Name.ParseName("Episode(name)")); 
    441441                        if(episode != null) 
    442442                        { 
     
    453453                        String displayName; 
    454454                        String role; 
    455                         ArrayList<SubstitutionSet> binds = am.getMemory().GetPossibleBindings(n1); 
     455                        ArrayList<SubstitutionSet> binds = am.getMemory().getSemanticMemory().GetPossibleBindings(n1); 
    456456                         
    457457                        if(binds != null) 
     
    462462                                        auxName = (Name) n1.clone(); 
    463463                                        auxName.MakeGround(ss.GetSubstitutions()); 
    464                                         role = (String) am.getMemory().AskProperty(auxName); 
     464                                        role = (String) am.getMemory().getSemanticMemory().AskProperty(auxName); 
    465465                                         
    466466                                        auxName = (Name) n2.clone(); 
    467467                                        auxName.MakeGround(ss.GetSubstitutions()); 
    468                                         displayName = (String) am.getMemory().AskProperty(auxName); 
     468                                        displayName = (String) am.getMemory().getSemanticMemory().AskProperty(auxName); 
    469469                                         
    470470                                        if(displayName != null && role != null) 
     
    478478                        { 
    479479                                String summaryInfo = "<ABMemory><Receiver>" + you + "</Receiver>"; 
    480                                 summaryInfo += am.getMemory().getAM().SummarizeLastEvent(am.getMemory()); 
     480                                summaryInfo += am.getMemory().getEpisodicMemory().SummarizeLastEvent(am.getMemory()); 
    481481                                summaryInfo += "</ABMemory>"; 
    482482                                AgentLogger.GetInstance().log(summaryInfo); 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/sensorEffector/WorldSimulatorRemoteAgent.java

    r191 r198  
    213213                        { 
    214214                                //the agent accepts the coping strategy 
    215                                 Object coping = _agent.getMemory().AskProperty( 
     215                                Object coping = _agent.getMemory().getSemanticMemory().AskProperty( 
    216216                                                Name.ParseName(_agent.getName()+"(copingStrategy)")); 
    217217                                if(coping != null) 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/socialRelations/LikeRelation.java

    r191 r198  
    4040                Name relationProperty = Name.ParseName("Like(" + this._subj1 + "," 
    4141                                + this._subj2 + ")"); 
    42                 Float result = (Float) m.AskProperty( 
     42                Float result = (Float) m.getSemanticMemory().AskProperty( 
    4343                                relationProperty); 
    4444                //If relation doesn't exists, create it in a neutral state 
    4545                if (result == null) { 
    46                         m.getKB().Tell(relationProperty, new Float(0)); 
     46                        m.getSemanticMemory().Tell(relationProperty, new Float(0)); 
    4747                        return 0; 
    4848                } 
     
    5353                Name relationProperty = Name.ParseName("Like(" + this._subj1 + "," 
    5454                                + this._subj2 + ")"); 
    55                 m.getKB().Tell(relationProperty, new Float(like)); 
     55                m.getSemanticMemory().Tell(relationProperty, new Float(like)); 
    5656        } 
    5757 
     
    7676 
    7777                Name relationProperty = Name.ParseName("Like(" + subject1 + ",[X])"); 
    78                 ArrayList<SubstitutionSet> bindingSets = m.GetPossibleBindings(relationProperty); 
     78                ArrayList<SubstitutionSet> bindingSets = m.getSemanticMemory().GetPossibleBindings(relationProperty); 
    7979 
    8080                if (bindingSets != null) { 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/socialRelations/RespectRelation.java

    r191 r198  
    4646        { 
    4747                Name respectProperty = Name.ParseName("Respect(" + this._subj1 + "," + this._subj2 + ")"); 
    48                 Float result = (Float) m.AskProperty(respectProperty); 
     48                Float result = (Float) m.getSemanticMemory().AskProperty(respectProperty); 
    4949                //If relation doesn't exists, create it in a neutral state 
    5050                if(result == null) 
    5151                { 
    52                         m.getKB().Tell(respectProperty, new Float(0)); 
     52                        m.getSemanticMemory().Tell(respectProperty, new Float(0)); 
    5353                        return 0; 
    5454                } 
     
    5959        { 
    6060                Name respectProperty = Name.ParseName("Respect(" + this._subj1 + "," + this._subj2 + ")"); 
    61                 m.getKB().Tell(respectProperty, new Float(like)); 
     61                m.getSemanticMemory().Tell(respectProperty, new Float(like)); 
    6262        } 
    6363         
     
    8282 
    8383                Name relationProperty = Name.ParseName("Respect(" + subject1 + ",[X])"); 
    84                 ArrayList<SubstitutionSet> bindingSets = m.GetPossibleBindings(relationProperty); 
     84                ArrayList<SubstitutionSet> bindingSets = m.getSemanticMemory().GetPossibleBindings(relationProperty); 
    8585 
    8686                if (bindingSets != null) { 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/util/parsers/StripsOperatorsLoaderHandler.java

    r191 r198  
    112112                { 
    113113                        //inference operator, we must add it to the KnowledgeBase 
    114                         _am.getMemory().getKB().AddInferenceOperator(_currentOperator); 
     114                        _am.getMemory().getSemanticMemory().AddInferenceOperator(_currentOperator); 
    115115                } 
    116116                else 
  • AgentMind/branches/FAtiMA2/src/FAtiMA/wellFormedNames/ComposedName.java

    r190 r198  
    148148                    //we must retrieve its value from the KnowledgeBase 
    149149                    if (!this._grounded) return null; 
    150                     return m.AskProperty(this); 
     150                    return m.getSemanticMemory().AskProperty(this); 
    151151                } 
    152152                else return this.toString(); 
Note: See TracChangeset for help on using the changeset viewer.