Changeset 13


Ignore:
Timestamp:
03/18/2009 05:03:53 PM (11 years ago)
Author:
myl
Message:

Added a working memory (holds new data or data retrieved from knowledge base) in the short term memory package. Restructured the KnowledgeBase? and moved the KnowledgeSlot? into main memory package. Ask functions and get bindings are now perform in Memory.java

Location:
AgentMind/trunk/AgentMind
Files:
38 edited
1 moved

Legend:

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

    r5 r13  
    3131import FAtiMA.exceptions.UnknownGoalException; 
    3232import FAtiMA.knowledgeBase.KnowledgeBase; 
    33 import FAtiMA.knowledgeBase.KnowledgeSlot; 
     33import FAtiMA.memory.KnowledgeSlot; 
    3434import FAtiMA.memory.Memory; 
    3535import FAtiMA.memory.autobiographicalMemory.AutobiographicalMemory; 
     
    5151import FAtiMA.util.parsers.ScenarioLoaderHandler; 
    5252import FAtiMA.wellFormedNames.Name; 
     53import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    5354 
    5455public class Agent { 
     
    7576                        SAXParserFactory factory = SAXParserFactory.newInstance(); 
    7677                        SAXParser parser = factory.newSAXParser(); 
    77                         parser.parse(new File(MIND_PATH + "Scenarios.xml"), scenHandler); 
    78                         //parser.parse(new File(MIND_PATH + "LIRECScenarios.xml"), scenHandler); 
     78                        //parser.parse(new File(MIND_PATH + "Scenarios.xml"), scenHandler); 
     79                        parser.parse(new File(MIND_PATH + "LIRECScenarios.xml"), scenHandler); 
    7980                        args = scenHandler.getAgentArguments(); 
    8081                } 
     
    570571                                                         
    571572                                                    //registering an Action Context property in the KB 
    572                                                         KnowledgeBase.GetInstance().Tell(ACTION_CONTEXT,e.toName().toString()); 
     573                                                        WorkingMemory.GetInstance().Tell(ACTION_CONTEXT,e.toName().toString()); 
    573574                                                         
    574575                                                        if(SpeechAct.isSpeechAct(e.GetAction())) 
     
    589590                                        //update any inferred property to the outside and appraise the events 
    590591                                        if(ShortTermMemory.GetInstance().HasNewData() || 
    591                                                         KnowledgeBase.GetInstance().HasNewKnowledge()) 
     592                                                        WorkingMemory.GetInstance().HasNewKnowledge()) 
    592593                                        { 
    593594                                                 
    594595                                                //calling the KnowledgeBase inference process 
    595                                                 KnowledgeBase.GetInstance().PerformInference(); 
     596                                                WorkingMemory.GetInstance().PerformInference(); 
    596597                                                 
    597598                                                synchronized (KnowledgeBase.GetInstance()) 
    598599                                                { 
    599                                                         ArrayList facts = KnowledgeBase.GetInstance().GetNewFacts(); 
     600                                                        ArrayList facts = WorkingMemory.GetInstance().GetNewFacts(); 
    600601                                                         
    601602                                                        for(ListIterator li = facts.listIterator();li.hasNext();) 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/DialogManager.java

    r1 r13  
    3636 
    3737import FAtiMA.knowledgeBase.KnowledgeBase; 
     38import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    3839import FAtiMA.sensorEffector.Event; 
    3940import FAtiMA.sensorEffector.SpeechAct; 
     
    7576                if(!speechEvent.GetAction().equals(SpeechAct.Reinforce)) 
    7677                { 
    77                         KnowledgeBase.GetInstance().Tell(SPEECH_CONTEXT, speechEvent.toName().toString()); 
     78                        WorkingMemory.GetInstance().Tell(SPEECH_CONTEXT, speechEvent.toName().toString()); 
     79                        System.out.println("UpdateDialogState"); 
    7880                } 
    7981                this._canSpeak = true; 
     
    98100                        if(AgentSimulationTime.GetInstance().Time() > this._contextExpireTime) 
    99101                        { 
    100                                 KnowledgeBase.GetInstance().Tell(SPEECH_CONTEXT, ""); 
     102                                WorkingMemory.GetInstance().Tell(SPEECH_CONTEXT, ""); 
     103                                System.out.println("SpeechContext to KB"); 
    101104                                this._contextExpireTime = 0; 
    102105                                this._andCounting = false; 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/Display/KnowledgeBasePanel.java

    r1 r13  
    4040import FAtiMA.Agent; 
    4141import FAtiMA.knowledgeBase.KnowledgeBase; 
    42 import FAtiMA.knowledgeBase.KnowledgeSlot; 
     42import FAtiMA.memory.KnowledgeSlot; 
    4343 
    4444 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/Display/SocialRelationsPanel.java

    r5 r13  
    2222        JPanel _relationsPanel; 
    2323 
    24         protected Hashtable _realationsDisplay; 
     24        protected Hashtable _relationsDisplay; 
    2525 
    2626        public SocialRelationsPanel() { 
     
    2828                this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); 
    2929 
    30                 _realationsDisplay = new Hashtable(); 
     30                _relationsDisplay = new Hashtable(); 
    3131 
    3232                _relationsPanel = new JPanel(); 
     
    4949                // relations to disapear) 
    5050                // so we have to clear all relations and start displaying them all again 
    51                 if (_realationsDisplay.size() != relations.size()) { 
     51                if (_relationsDisplay.size() != relations.size()) { 
    5252                        _relationsPanel.removeAll(); // removes all displayed emotions 
    5353                                                                                        // from the panel 
    54                         _realationsDisplay.clear(); 
     54                        _relationsDisplay.clear(); 
    5555                        Iterator it = relations.iterator(); 
    5656                        while (it.hasNext()) { 
     
    5858                                RelationDisplay display = new RelationDisplay(r); 
    5959                                _relationsPanel.add(display.getPanel()); 
    60                                 _realationsDisplay.put(r.getHashKey(), display); 
     60                                _relationsDisplay.put(r.getHashKey(), display); 
    6161                        } 
    6262                        updated = true; 
     
    6666                while (it.hasNext()) { 
    6767                        Relation r = (Relation) it.next(); 
    68                         RelationDisplay display = (RelationDisplay) _realationsDisplay 
     68                        RelationDisplay display = (RelationDisplay) _relationsDisplay 
    6969                                        .get(r.getHashKey()); 
    7070                        display.setValue(r.getValue()); 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/Condition.java

    r5 r13  
    6464import java.util.ListIterator; 
    6565 
    66 import FAtiMA.knowledgeBase.KnowledgeBase; 
     66//import FAtiMA.knowledgeBase.KnowledgeBase; 
     67import FAtiMA.memory.Memory; 
    6768import FAtiMA.memory.autobiographicalMemory.AutobiographicalMemory; 
    6869import FAtiMA.wellFormedNames.IGroundable; 
     
    239240                } 
    240241 
    241                 bindingSets = KnowledgeBase.GetInstance().GetPossibleBindings(_name); 
     242                bindingSets = Memory.GetInstance().GetPossibleBindings(_name); 
    242243                if (bindingSets == null) 
    243244                        return null; 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/NewEventCondition.java

    r5 r13  
    4646                        newEvent._parameters.add(((Symbol)li.next()).clone()); 
    4747                } 
    48                  
     48         
    4949                return newEvent; 
    5050        } 
     
    8080                } 
    8181         
    82                 conditionVerified = (_positive == ShortTermMemory.GetInstance().ContainsRecentEvent(GetSearchKeys())); 
     82                ArrayList searchKeys = GetSearchKeys(); 
     83                conditionVerified = (_positive == (ShortTermMemory.GetInstance().ContainsRecentEvent(searchKeys) 
     84                                                                || AutobiographicalMemory.GetInstance().ContainsRecentEvent(searchKeys))); 
    8385                 
    8486                if(conditionVerified){ 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/PastEventCondition.java

    r5 r13  
    4242import FAtiMA.memory.SearchKey; 
    4343import FAtiMA.memory.autobiographicalMemory.AutobiographicalMemory; 
     44import FAtiMA.memory.shortTermMemory.ShortTermMemory; 
    4445import FAtiMA.sensorEffector.Event; 
    4546import FAtiMA.sensorEffector.Parameter; 
     
    228229        protected ArrayList GetPossibleBindings() 
    229230        { 
    230                 return AutobiographicalMemory.GetInstance(). 
    231                                 SearchForPastEvents(GetSearchKeys()); 
     231                return AutobiographicalMemory.GetInstance().SearchForPastEvents(GetSearchKeys());                
    232232        } 
    233233         
     
    237237     * @return A list with all SubstitutionsSets that make the condition valid 
    238238         * @see AutobiographicalMemory 
    239          */ 
    240         public ArrayList GetValidBindings() { 
     239         */public ArrayList GetValidBindings() { 
    241240                ActionDetail detail; 
    242241                Substitution sub; 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/PredicateCondition.java

    r1 r13  
    5757import org.xml.sax.Attributes; 
    5858 
    59 import FAtiMA.knowledgeBase.KnowledgeBase; 
     59import FAtiMA.memory.Memory; 
    6060import FAtiMA.wellFormedNames.Name; 
    6161import FAtiMA.wellFormedNames.Substitution; 
     
    121121                boolean result; 
    122122                if(!_name.isGrounded()) return false; 
    123                 result = KnowledgeBase.GetInstance().AskPredicate(_name);  
     123                result = Memory.GetInstance().AskPredicate(_name);  
    124124                return _positive == result; 
    125125        } 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/PropertyCondition.java

    r1 r13  
    5959 
    6060import FAtiMA.knowledgeBase.KnowledgeBase; 
     61import FAtiMA.memory.Memory; 
    6162import FAtiMA.util.AgentLogger; 
    6263import FAtiMA.wellFormedNames.Name; 
     
    284285                        return null; 
    285286                if (!value.isGrounded()) { 
    286                         val = groundValue.evaluate(KnowledgeBase.GetInstance()); 
     287                        val = groundValue.evaluate(Memory.GetInstance()); 
    287288                        if (val != null) { 
    288289                                bindings = new ArrayList(); 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/PropertyEqual.java

    r1 r13  
    5151 
    5252import FAtiMA.knowledgeBase.KnowledgeBase; 
     53import FAtiMA.memory.Memory; 
    5354import FAtiMA.util.AgentLogger; 
    5455import FAtiMA.wellFormedNames.Name; 
     
    8990        Object propertyValue; 
    9091        Object value; 
    91         KnowledgeBase kb = KnowledgeBase.GetInstance(); 
     92        //KnowledgeBase kb = KnowledgeBase.GetInstance(); 
     93        Memory memory = Memory.GetInstance(); 
    9294 
    9395        if (!super.CheckCondition()) 
    9496            return false; 
    95         propertyValue = this._name.evaluate(kb); 
    96         value = this._value.evaluate(kb); 
     97        propertyValue = this._name.evaluate(memory); 
     98        value = this._value.evaluate(memory); 
    9799 
    98100        if (propertyValue == null || value == null) 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/PropertyGreater.java

    r1 r13  
    5454 
    5555import FAtiMA.knowledgeBase.KnowledgeBase; 
     56import FAtiMA.memory.Memory; 
    5657import FAtiMA.util.AgentLogger; 
    5758import FAtiMA.wellFormedNames.Name; 
     
    9798                        return false; 
    9899                 
    99                 KnowledgeBase kb = KnowledgeBase.GetInstance(); 
    100                 propertyValue = this._name.evaluate(kb); 
    101                 value = this._value.evaluate(kb); 
     100                //KnowledgeBase kb = KnowledgeBase.GetInstance(); 
     101                Memory memory = Memory.GetInstance(); 
     102                propertyValue = this._name.evaluate(memory); 
     103                value = this._value.evaluate(memory); 
    102104 
    103105                if (propertyValue == null || value == null) 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/PropertyGreaterEqual.java

    r1 r13  
    3232 
    3333import FAtiMA.knowledgeBase.KnowledgeBase; 
     34import FAtiMA.memory.Memory; 
    3435import FAtiMA.util.AgentLogger; 
    3536import FAtiMA.wellFormedNames.Name; 
     
    7576                        return false; 
    7677                 
    77                 KnowledgeBase kb = KnowledgeBase.GetInstance(); 
    78                 propertyValue = this._name.evaluate(kb); 
    79                 value = this._value.evaluate(kb); 
     78                //KnowledgeBase kb = KnowledgeBase.GetInstance(); 
     79                Memory memory = Memory.GetInstance(); 
     80                propertyValue = this._name.evaluate(memory); 
     81                value = this._value.evaluate(memory); 
    8082 
    8183                if (propertyValue == null || value == null) 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/PropertyLesser.java

    r1 r13  
    5656 
    5757import FAtiMA.knowledgeBase.KnowledgeBase; 
     58import FAtiMA.memory.Memory; 
    5859import FAtiMA.util.AgentLogger; 
    5960import FAtiMA.wellFormedNames.Name; 
     
    9798                if (!super.CheckCondition()) 
    9899                        return false; 
    99                 KnowledgeBase kb = KnowledgeBase.GetInstance(); 
    100                 propertyValue = this._name.evaluate(kb); 
    101                 value = this._value.evaluate(kb); 
     100                //KnowledgeBase kb = KnowledgeBase.GetInstance(); 
     101                Memory memory = Memory.GetInstance(); 
     102                propertyValue = this._name.evaluate(memory); 
     103                value = this._value.evaluate(memory); 
    102104 
    103105                if (propertyValue == null || value == null || propertyValue =="null" || value == "null") 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/PropertyLesserEqual.java

    r1 r13  
    3232 
    3333import FAtiMA.knowledgeBase.KnowledgeBase; 
     34import FAtiMA.memory.Memory; 
    3435import FAtiMA.util.AgentLogger; 
    3536import FAtiMA.wellFormedNames.Name; 
     
    7374                if (!super.CheckCondition()) 
    7475                        return false; 
    75                 KnowledgeBase kb = KnowledgeBase.GetInstance(); 
    76                 propertyValue = this._name.evaluate(kb); 
    77                 value = this._value.evaluate(kb); 
     76                //KnowledgeBase kb = KnowledgeBase.GetInstance(); 
     77                Memory memory = Memory.GetInstance(); 
     78                propertyValue = this._name.evaluate(memory); 
     79                value = this._value.evaluate(memory); 
    7880 
    7981                if (propertyValue == null || value == null || propertyValue =="null" || value == "null") 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/PropertyNotEqual.java

    r1 r13  
    7676 
    7777import FAtiMA.knowledgeBase.KnowledgeBase; 
     78import FAtiMA.memory.Memory; 
    7879import FAtiMA.util.AgentLogger; 
    7980import FAtiMA.wellFormedNames.Inequality; 
     
    117118                if (!super.CheckCondition()) 
    118119                        return false; 
    119                 KnowledgeBase kb = KnowledgeBase.GetInstance(); 
    120                 propertyValue = this._name.evaluate(kb); 
    121                 value = this._value.evaluate(kb); 
     120                //KnowledgeBase kb = KnowledgeBase.GetInstance(); 
     121                Memory memory = Memory.GetInstance(); 
     122                propertyValue = this._name.evaluate(memory); 
     123                value = this._value.evaluate(memory); 
    122124 
    123125                if (propertyValue == null || value == null)  
     
    162164                 
    163165                //if the name is not grounded we try to get all possible bindings for it 
    164                 bindingSets = KnowledgeBase.GetInstance().GetPossibleBindings(_name); 
     166                bindingSets = Memory.GetInstance().GetPossibleBindings(_name); 
    165167                if (bindingSets == null) 
    166168                        return null; 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/RecentEventCondition.java

    r5 r13  
    3939import java.util.ListIterator; 
    4040 
     41import FAtiMA.memory.ActionDetail; 
    4142import FAtiMA.memory.SearchKey; 
    4243import FAtiMA.memory.autobiographicalMemory.AutobiographicalMemory; 
     
    192193                 
    193194                //Meiyii 12/03/09 Search for recent events in STM 
    194                 return _positive == ShortTermMemory.GetInstance().ContainsRecentEvent(GetSearchKeys());  
     195                 
     196                ArrayList searchKeys = GetSearchKeys(); 
     197                return _positive == (ShortTermMemory.GetInstance().ContainsRecentEvent(searchKeys) 
     198                                                                || AutobiographicalMemory.GetInstance().ContainsRecentEvent(searchKeys));  
    195199        } 
    196200         
    197201        protected ArrayList GetPossibleBindings() 
    198202        { 
     203                ArrayList searchKeys = GetSearchKeys(); 
     204                 
     205                ArrayList events = AutobiographicalMemory.GetInstance().SearchForRecentEvents(searchKeys); 
     206                events.addAll(ShortTermMemory.GetInstance().SearchForRecentEvents(searchKeys)); 
     207                 
    199208                //Meiyii 12/03/09 Search for recent events in STM 
    200                 return ShortTermMemory.GetInstance(). 
    201                                 SearchForRecentEvents(GetSearchKeys()); 
     209                return events; 
    202210        } 
    203211         
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/RitualCondition.java

    r5 r13  
    3838import FAtiMA.memory.SearchKey; 
    3939import FAtiMA.memory.Memory; 
     40import FAtiMA.memory.autobiographicalMemory.AutobiographicalMemory; 
    4041import FAtiMA.memory.shortTermMemory.ShortTermMemory; 
    4142import FAtiMA.sensorEffector.Event; 
     
    214215                } 
    215216                 
    216                  
    217                 return ShortTermMemory.GetInstance().ContainsRecentEvent(keys); 
     217                return (ShortTermMemory.GetInstance().ContainsRecentEvent(keys)  
     218                        || AutobiographicalMemory.GetInstance().ContainsRecentEvent(keys)); 
    218219                 
    219220        } 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/culture/CulturalDimensions.java

    r5 r13  
    55import java.util.Random; 
    66 
     7import FAtiMA.memory.KnowledgeSlot; 
    78import FAtiMA.memory.Memory; 
    89import FAtiMA.deliberativeLayer.goals.ActivePursuitGoal; 
    910import FAtiMA.knowledgeBase.KnowledgeBase; 
    10 import FAtiMA.knowledgeBase.KnowledgeSlot; 
    1111import FAtiMA.motivationalSystem.MotivationalState; 
    1212import FAtiMA.motivationalSystem.Motivator; 
     
    124124                String agentName = Memory.GetInstance().getSelf(); 
    125125                Name likeProperty = Name.ParseName("Like("+ agentName + "," + targetAgent +")"); 
    126                 Float likeValue = (Float) KnowledgeBase.GetInstance().AskProperty(likeProperty); 
     126                Float likeValue = (Float) Memory.GetInstance().AskProperty(likeProperty); 
    127127 
    128128                if(likeValue == null){   
     
    138138 
    139139                Name selfPowerPropertyName = Name.ParseName(agentName+"(power)"); 
    140                 String selfPowerProperty = (String)KnowledgeBase.GetInstance().AskProperty(selfPowerPropertyName); 
     140                String selfPowerProperty = (String)Memory.GetInstance().AskProperty(selfPowerPropertyName); 
    141141                Name targetPowerPropertyName = Name.ParseName(targetAgent+"(power)"); 
    142                 String targetPowerProperty = (String)KnowledgeBase.GetInstance().AskProperty(targetPowerPropertyName); 
     142                String targetPowerProperty = (String)Memory.GetInstance().AskProperty(targetPowerPropertyName); 
    143143 
    144144                if(selfPowerProperty == null || targetPowerProperty == null){ 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/deliberativeLayer/goals/ActivePursuitGoal.java

    r5 r13  
    8787import FAtiMA.exceptions.UnreachableGoalException; 
    8888import FAtiMA.knowledgeBase.KnowledgeBase; 
     89import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    8990import FAtiMA.memory.Memory; 
    9091import FAtiMA.motivationalSystem.MotivationalState; 
     
    372373        public float getUncertainty() 
    373374        { 
    374                 Float aux = (Float) KnowledgeBase.GetInstance().AskProperty(this.getName()); 
     375                Float aux = (Float) Memory.GetInstance().AskProperty(this.getName()); 
    375376                if(aux != null) return aux.floatValue(); 
    376377                else return 0.0f; 
     
    379380        public void setUncertainty(float uncertainty) 
    380381        {        
    381                 KnowledgeBase.GetInstance().Tell(this.getName(), new Float(uncertainty)); 
     382                WorkingMemory.GetInstance().Tell(this.getName(), new Float(uncertainty)); 
     383                System.out.println("Set uncertainty"); 
    382384        } 
    383385         
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/deliberativeLayer/goals/Goal.java

    r5 r13  
    6363import FAtiMA.exceptions.UnreachableGoalException; 
    6464import FAtiMA.knowledgeBase.KnowledgeBase; 
     65import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    6566import FAtiMA.memory.Memory; 
    6667import FAtiMA.sensorEffector.Event; 
     
    169170                if(decr <= 0) return; 
    170171                 
    171                 Float iof = (Float) KnowledgeBase.GetInstance().AskProperty(_dynamicIOF); 
     172                Float iof = (Float) Memory.GetInstance().AskProperty(_dynamicIOF); 
    172173                if(iof == null) 
    173174                { 
     
    180181                else iof = new Float(0 - _baseIOF); 
    181182                 
    182                 KnowledgeBase.GetInstance().Tell(_dynamicIOF,iof); 
     183                WorkingMemory.GetInstance().Tell(_dynamicIOF,iof); 
     184                System.out.println("Decrease importance of failure"); 
    183185        } 
    184186         
     
    190192                if(incr <= 0) return; 
    191193                 
    192                 Float iof = (Float) KnowledgeBase.GetInstance().AskProperty(_dynamicIOF); 
     194                Float iof = (Float) Memory.GetInstance().AskProperty(_dynamicIOF); 
    193195                if(iof == null) 
    194196                { 
     
    200202                } 
    201203                 
    202                 KnowledgeBase.GetInstance().Tell(_dynamicIOF,iof); 
     204                WorkingMemory.GetInstance().Tell(_dynamicIOF,iof); 
     205                System.out.println("Increase importance of failure"); 
    203206        } 
    204207         
     
    210213                if(decr <= 0) return; 
    211214                 
    212                 Float ios = (Float) KnowledgeBase.GetInstance().AskProperty(_dynamicIOS); 
     215                Float ios = (Float) Memory.GetInstance().AskProperty(_dynamicIOS); 
    213216                if(ios == null) 
    214217                { 
     
    222225                else ios = new Float(0 - _baseIOS); 
    223226                 
    224                 KnowledgeBase.GetInstance().Tell(_dynamicIOS,ios); 
     227                WorkingMemory.GetInstance().Tell(_dynamicIOS,ios); 
     228                System.out.println("Decrease importance of success"); 
    225229        } 
    226230         
     
    232236                if(incr <= 0) return; 
    233237                 
    234                 Float ios = (Float) KnowledgeBase.GetInstance().AskProperty(_dynamicIOS); 
     238                Float ios = (Float) Memory.GetInstance().AskProperty(_dynamicIOS); 
    235239                if(ios == null) 
    236240                { 
     
    242246                } 
    243247                 
    244                 KnowledgeBase.GetInstance().Tell(_dynamicIOS,ios); 
     248                WorkingMemory.GetInstance().Tell(_dynamicIOS,ios); 
     249                System.out.println("Increase importance of success"); 
    245250        } 
    246251         
     
    250255         */ 
    251256        public float GetImportanceOfFailure() { 
    252                 Float aux = (Float) KnowledgeBase.GetInstance().AskProperty(this._dynamicIOF); 
     257                Float aux = (Float) Memory.GetInstance().AskProperty(this._dynamicIOF); 
    253258                if(aux != null) return aux.floatValue() + _baseIOF; 
    254259                else return _baseIOF; 
     
    260265         */ 
    261266        public float GetImportanceOfSuccess() { 
    262                 Float aux = (Float) KnowledgeBase.GetInstance().AskProperty(this._dynamicIOS); 
     267                Float aux = (Float) Memory.GetInstance().AskProperty(this._dynamicIOS); 
    263268                if(aux != null) return aux.floatValue() + _baseIOS; 
    264269                else return _baseIOS; 
     
    420425                _baseIOF = Math.round(imp); 
    421426                 
    422                 Float iof = (Float) KnowledgeBase.GetInstance().AskProperty(_dynamicIOF); 
     427                Float iof = (Float) Memory.GetInstance().AskProperty(_dynamicIOF); 
     428                System.out.println("Set importance of failure"); 
    423429                if(iof != null) 
    424430                { 
     
    447453                _baseIOS = Math.round(imp); 
    448454                 
    449                 Float ios = (Float) KnowledgeBase.GetInstance().AskProperty(_dynamicIOS); 
     455                Float ios = (Float) Memory.GetInstance().AskProperty(_dynamicIOS); 
     456                System.out.println("Set importance of success"); 
    450457                if(ios != null) 
    451458                { 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/deliberativeLayer/plan/Effect.java

    r1 r13  
    4444import FAtiMA.conditions.Condition; 
    4545import FAtiMA.knowledgeBase.KnowledgeBase; 
     46import FAtiMA.memory.Memory; 
     47import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    4648import FAtiMA.wellFormedNames.IGroundable; 
    4749import FAtiMA.wellFormedNames.Name; 
     
    8183                        this._biasName = Name.ParseName("ProbBias(" + stepName + idCounter++ + ")"); 
    8284                        KnowledgeBase.GetInstance().Tell(this._biasName, new Float(0)); 
     85                        System.out.println("Effect "); 
    8386                } 
    8487        } 
     
    98101                float newbias; 
    99102                 
    100                 bias = ((Float) KnowledgeBase.GetInstance().AskProperty(_biasName)).floatValue(); 
     103                bias = ((Float) Memory.GetInstance().AskProperty(_biasName)).floatValue(); 
    101104                prob = bias + _baseprob; 
    102105                newprob = 0.6f * prob; 
    103106                newbias = newprob - _baseprob; 
    104                 KnowledgeBase.GetInstance().Tell(_biasName,new Float(newbias));    
     107                WorkingMemory.GetInstance().Tell(_biasName,new Float(newbias));    
     108                System.out.println("Decrease probability effect"); 
    105109        } 
    106110         
     
    118122         */ 
    119123        public float GetProbability() { 
    120                 return _baseprob + ((Float) KnowledgeBase.GetInstance().AskProperty(_biasName)).floatValue(); 
     124                return _baseprob + ((Float) Memory.GetInstance().AskProperty(_biasName)).floatValue(); 
    121125        } 
    122126         
     
    225229                float newbias; 
    226230                 
    227                 bias = ((Float) KnowledgeBase.GetInstance().AskProperty(_biasName)).floatValue();  
     231                bias = ((Float) Memory.GetInstance().AskProperty(_biasName)).floatValue();  
    228232                prob = bias + _baseprob; 
    229233                newprob = 0.6f * prob + 0.4f; 
    230234                newbias = newprob - _baseprob; 
    231                 KnowledgeBase.GetInstance().Tell(_biasName,new Float(newbias));    
     235                WorkingMemory.GetInstance().Tell(_biasName,new Float(newbias));    
     236                System.out.println("Increase probability effect"); 
    232237        } 
    233238         
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/deliberativeLayer/plan/Step.java

    r5 r13  
    6464import FAtiMA.exceptions.UnknownSpeechActException; 
    6565import FAtiMA.exceptions.UnspecifiedVariableException; 
    66 import FAtiMA.knowledgeBase.KnowledgeBase; 
     66//import FAtiMA.knowledgeBase.KnowledgeBase; 
     67import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    6768import FAtiMA.memory.Memory; 
    6869import FAtiMA.motivationalSystem.MotivationalState; 
     
    194195                float newbias; 
    195196                 
    196                 bias = (Float) KnowledgeBase.GetInstance().AskProperty(GetBiasName()); 
     197                bias = (Float) Memory.GetInstance().AskProperty(GetBiasName()); 
    197198                if(bias != null) 
    198199                { 
     
    207208                newbias = newprob - _baseprob; 
    208209                 
    209                 KnowledgeBase.GetInstance().Tell(GetBiasName(),new Float(newbias));    
     210                WorkingMemory.GetInstance().Tell(GetBiasName(),new Float(newbias));   
     211                System.out.println("Decrease probability step"); 
    210212        } 
    211213         
     
    219221                float newbias; 
    220222                 
    221                 bias = (Float) KnowledgeBase.GetInstance().AskProperty(GetBiasName()); 
     223                bias = (Float) Memory.GetInstance().AskProperty(GetBiasName()); 
    222224                if(bias != null) 
    223225                { 
     
    231233                newprob = 0.6f * prob + 0.4f; 
    232234                newbias = newprob - _baseprob; 
    233                 KnowledgeBase.GetInstance().Tell(GetBiasName(),new Float(newbias));    
     235                WorkingMemory.GetInstance().Tell(GetBiasName(),new Float(newbias));    
     236                System.out.println("Increase probability step"); 
    234237        } 
    235238         
     
    242245                if(!_selfExecutable) 
    243246                { 
    244                         Float aux = (Float) KnowledgeBase.GetInstance().AskProperty(GetBiasName()); 
     247                        Float aux = (Float) Memory.GetInstance().AskProperty(GetBiasName()); 
    245248                        if(aux != null) 
    246249                        { 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/knowledgeBase/KnowledgeBase.java

    r1 r13  
    8383import FAtiMA.deliberativeLayer.plan.Effect; 
    8484import FAtiMA.deliberativeLayer.plan.Step; 
     85import FAtiMA.memory.KnowledgeSlot; 
    8586import FAtiMA.util.AgentLogger; 
    8687import FAtiMA.util.ApplicationLogger; 
     
    200201         
    201202        /** 
     203     * Gets the list of inference operators 
     204     * @return inference operators 
     205     */ 
     206        public ArrayList GetInferenceOperators() 
     207        {  
     208                return _inferenceOperators; 
     209        } 
     210         
     211        /** 
    202212         * Gets the number of elements (predicates or properties) stored in the KnowledgeBase 
    203213         * @return the number of elements stored in the KB 
     
    209219     
    210220    /** 
    211      * Gets a value that indicates whether new Knowledge has been added to the KnowledgeBase since 
    212      * the last inference process 
    213      * @return true if there is new Knowledge in the KB, false otherwise 
    214      */ 
    215     public boolean HasNewKnowledge() 
    216     { 
    217         return this._newKnowledge; 
    218     } 
    219      
    220     public ArrayList GetNewFacts() 
    221     { 
    222         return this._newFacts; 
    223     } 
    224      
    225     /** 
    226      *  This method should be called every simulation cycle, and will try to apply InferenceOperators. 
    227      *  Note, that if new knowledge results from this process, it will be added immediately to the 
    228      *  KB. However, the inference will not continue (by trying to use the new knowledge to activate 
    229      *  more operators) until the method PerformInference is called in next cycle. 
    230      *  
    231      * @return true if the Inference resulted in new Knowledge being added, false if no 
    232      * new knowledge was infered 
    233      */ 
    234     public boolean PerformInference() 
    235     { 
    236         Step infOp; 
    237         Step groundInfOp; 
    238         ArrayList substitutionSets; 
    239         SubstitutionSet sSet; 
    240          
    241         _newKnowledge = false; 
    242         _newFacts.clear(); 
    243          
    244                 for(ListIterator li = _inferenceOperators.listIterator();li.hasNext();) 
    245                 { 
    246                         infOp = (Step) li.next(); 
    247                         substitutionSets = Condition.CheckActivation(infOp.getPreconditions()); 
    248                         if(substitutionSets != null) 
    249                         { 
    250                                 for(ListIterator li2 = substitutionSets.listIterator();li2.hasNext();) 
    251                                 { 
    252                                         sSet = (SubstitutionSet) li2.next(); 
    253                                         groundInfOp = (Step) infOp.clone(); 
    254                                         groundInfOp.MakeGround(sSet.GetSubstitutions()); 
    255                                         InferEffects(groundInfOp); 
    256                                 } 
    257                         } 
    258                 } 
    259          
    260         return _newKnowledge; 
    261     } 
    262      
    263     private void InferEffects(Step infOp) 
    264     { 
    265         Effect eff; 
    266         for(ListIterator li = infOp.getEffects().listIterator();li.hasNext();) 
    267         { 
    268                 eff = (Effect) li.next(); 
    269                 if(eff.isGrounded()) 
    270                 { 
    271                         Tell(eff.GetEffect().getName(),eff.GetEffect().GetValue().toString()); 
    272                          
    273                 } 
    274         } 
    275     } 
    276      
    277  
    278     /** 
    279      * Asks the KnowledgeBase the Truth value of the received predicate 
    280      * @param predicate - The predicate to search in the KnowledgeBase 
    281      * @return Under the Closed World Assumption, the predicate is considered  
    282      * true if it is stored in the KB and false otherwise. 
    283      */ 
    284      
    285         public boolean AskPredicate(Name predicate)  
    286         { 
    287         KnowledgeSlot ks = (KnowledgeSlot) Ask(predicate); 
    288         if (ks != null && ks.getValue() != null && ks.getValue().toString().equals("True")) 
    289         { 
    290             return true; 
    291         } 
    292         else 
    293         { 
    294             return false; 
    295         } 
    296         } 
    297  
    298         /** 
    299          * Asks the KnowledgeBase the value of a given property 
    300          * @param property - the property to search in the KnowledgeBase 
    301          * @return the value stored inside the property, if the property exists. If the  
    302      *         property does not exist, it returns null 
    303          */ 
    304         public Object AskProperty(Name property) { 
    305                 KnowledgeSlot prop = (KnowledgeSlot) Ask(property); 
    306                 if (prop == null) 
    307                         return null; 
    308                 else 
    309                         return prop.getValue(); 
    310         } 
    311  
    312         /** 
    313          * Inserts a Predicate in the KnowledgeBase 
    314          * @param predicate - the predicate to be inserted 
    315          */ 
    316         public void Assert(Name predicate) { 
    317                 this.Tell(predicate,new Symbol("True")); 
     221         * Gets the knowledge base slots 
     222         * @return the knowledge base slots 
     223         */ 
     224    // Added 18/03/09 
     225        public KnowledgeSlot GetKnowledgeBase() 
     226        { 
     227                return _kB; 
    318228        } 
    319229 
     
    329239                        this._newKnowledge = false; 
    330240                } 
    331         } 
    332  
    333         /** 
    334          * This method provides a way to search for properties/predicates in the KnowledgeBase  
    335      * that match with a specified name with unbound variables. 
    336      * 
    337      * In order to understand this method, let’s examine the following example. Suppose that  
    338      * the memory only contains properties about two characters: Luke and John. 
    339      * Furthermore, it only stores two properties: their name and strength. So the KB will  
    340      * only store the following objects: 
    341      * - Luke(Name) : Luke 
    342      * - Luke(Strength) : 8 
    343      * - John(Name) : John  
    344      * - John(Strength) : 4 
    345      *  
    346      * The next table shows the result of calling the method with several distinct names.  
    347      * The function works by finding substitutions for the unbound variables, which make  
    348      * the received name equal to the name of an object stored in memory. 
    349      *  
    350      * Name             Substitutions returned 
    351      * Luke([x])            {{[x]/Name},{[x]/Strength}} 
    352      * [x](Strength)    {{[x]/John},{[x]/Luke}} 
    353      * [x]([y])         {{[x]/John,[y]/Name},{[x]/John,[y]/Strength},{[x]/Luke,[y]/Name},{[x]/Luke,[y]/Strength}} 
    354      * John(Name)           {{}} 
    355      * John(Height)         null 
    356      * Paul([x])            null 
    357      * 
    358      * In the first example, there are two possible substitutions that make “Luke([x])” 
    359      * equal to the objects stored above. The third example has two unbound variables, 
    360      * so the returned set contains all possible combinations of variable attributions. 
    361      *  
    362      * If this method receives a ground name, as seen on examples 4 and 5, it checks 
    363      * if the received name exists in memory. If so, a set with the empty substitution is 
    364      * returned, i.e. the empty substitution makes the received name equal to some object 
    365      * in memory. Otherwise, the function returns null, i.e. there is no substitution 
    366      * that applied to the name will make it equal to an object in memory. This same result 
    367      * is returned in the last example, since there is no object named Paul, and therefore no  
    368      * substitution of [x] will match the received name with an existing object. 
    369          * @param name - a name (that correspond to a predicate or property) 
    370          * @return a list of SubstitutionSets that make the received name to match predicates or  
    371      *         properties that do exist in the KnowledgeBase 
    372          */ 
    373         public ArrayList GetPossibleBindings(Name name) { 
    374                 ArrayList bindingSets = null; 
    375  
    376                 bindingSets = MatchLiteralList(name.GetLiteralList(), 0, _kB); 
    377                  
    378                 if (bindingSets == null || bindingSets.size() == 0) 
    379                         return null; 
    380                 else 
    381                         return bindingSets; 
    382  
    383241        } 
    384242 
     
    466324                                ksAux.setValue(value); 
    467325                                _newFacts.add(ksAux); 
     326                                 
     327                                System.out.println("New facts: " + ksAux.toString()); 
    468328                        } 
    469329                         
     
    474334                                _factList.add(ks); 
    475335                                _newFacts.add(ks); 
     336                                System.out.println("New property knowledge: " + ks.toString()); 
    476337                        } 
    477338                        else 
     
    485346                                        { 
    486347                                                ks.setValue(value); 
     348                                                System.out.println("New property value: " + ks.toString()); 
    487349                                        } 
    488350                                } 
     
    491353        } 
    492354         
    493         public KnowledgeSlot GetObjectDetails(String objectName) 
    494         { 
    495                 return _kB.get(objectName); 
    496         } 
    497          
    498         /*public float GetInterpersonalRelationShip(String target) 
    499         { 
    500                 Float result; 
    501                 String self = AutobiographicalMemory.GetInstance().getSelf(); 
    502                 Name likeProperty = Name.ParseName("Like(" + self + "," + target + ")"); 
    503                 result = (Float) AskProperty(likeProperty); 
    504                 if(result == null) 
    505                 { 
    506                         Tell(likeProperty, new Float(0)); 
    507                         return 0; 
    508                 } 
    509                 return result.floatValue(); 
    510         } 
    511          
    512         public void SetInterpersonalRelationShip(String target, float like) 
    513         { 
    514                 String self = AutobiographicalMemory.GetInstance().getSelf(); 
    515                 Name likeProperty = Name.ParseName("Like(" + self + "," + target + ")"); 
    516                 Tell(likeProperty, new Float(like)); 
    517         } 
    518          
    519         public float GetRespect(String target) 
    520         { 
    521                 Float result; 
    522                 String self = AutobiographicalMemory.GetInstance().getSelf(); 
    523                 Name respectProperty = Name.ParseName("Respect(" + self + "," + target + ")"); 
    524                 result = (Float) AskProperty(respectProperty); 
    525                 if(result == null) 
    526                 { 
    527                         Tell(respectProperty, new Float(0)); 
    528                         return 0; 
    529                 } 
    530                 return result.floatValue(); 
    531         } 
    532          
    533         public void SetRespect(String target, float like) 
    534         { 
    535                 String self = AutobiographicalMemory.GetInstance().getSelf(); 
    536                 Name respectProperty = Name.ParseName("Respect(" + self + "," + target + ")"); 
    537                 Tell(respectProperty, new Float(like)); 
    538         }*/ 
    539          
    540355        public ListIterator GetFactList() { 
    541356            return _factList.listIterator(); 
    542357        } 
    543358 
    544         private Object Ask(Name name) { 
    545                 KnowledgeSlot aux = _kB; 
    546                 KnowledgeSlot currentSlot; 
    547                 ArrayList fetchList = name.GetLiteralList(); 
    548                 ListIterator li = fetchList.listIterator(); 
    549                 Symbol l; 
    550  
    551                 synchronized (this) { 
    552                         while (li.hasNext()) { 
    553                                         currentSlot = aux; 
    554                                         l = (Symbol) li.next(); 
    555                                         if (currentSlot.containsKey(l.toString())) { 
    556                                                 aux = currentSlot.get(l.toString()); 
    557                                         }  
    558                                         else return null; 
    559                         } 
    560                         return aux; 
    561                 } 
    562         } 
    563  
    564         private ArrayList MatchLiteralList(ArrayList literals, int index, KnowledgeSlot kSlot) { 
    565                 Symbol l; 
    566                 String key; 
    567                 ArrayList bindingSets; 
    568                 ArrayList newBindingSets; 
    569                 SubstitutionSet subSet; 
    570                 ListIterator li; 
    571                 Iterator it; 
    572  
    573                 newBindingSets = new ArrayList(); 
    574  
    575                 if (index >= literals.size()) { 
    576                         newBindingSets.add(new SubstitutionSet()); 
    577                         return newBindingSets; 
    578                 } 
    579  
    580                 synchronized (this) { 
    581                         l = (Symbol) literals.get(index++); 
    582  
    583                         if (l.isGrounded()) { 
    584                                 if (kSlot.containsKey(l.toString())) { 
    585                                         return MatchLiteralList(literals, index, kSlot.get(l 
    586                                                         .toString())); 
    587                                 } else 
    588                                         return null; 
    589                         } 
    590  
    591                         it = kSlot.getKeyIterator(); 
    592                         while (it.hasNext()) { 
    593                                 key = (String) it.next(); 
    594                                 bindingSets = MatchLiteralList(literals, index, kSlot 
    595                                                 .get(key)); 
    596                                 if (bindingSets != null) { 
    597                                         li = bindingSets.listIterator(); 
    598                                         while (li.hasNext()) { 
    599                                                 subSet = (SubstitutionSet) li.next(); 
    600                                                 subSet.AddSubstitution(new Substitution(l, new Symbol( 
    601                                                                 key))); 
    602                                                 newBindingSets.add(subSet); 
    603                                         } 
    604                                 } 
    605                         } 
    606                 } 
    607  
    608                 if (newBindingSets.size() == 0) 
    609                         return null; 
    610                 else 
    611                         return newBindingSets; 
    612         } 
    613          
    614359        /** 
    615360         * Converts the Information stored in the KB to one String 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/memory/ActionDetail.java

    r5 r13  
    4747import FAtiMA.emotionalState.BaseEmotion; 
    4848import FAtiMA.knowledgeBase.KnowledgeBase; 
    49 import FAtiMA.knowledgeBase.KnowledgeSlot; 
    5049import FAtiMA.memory.Memory; 
    5150import FAtiMA.sensorEffector.Event; 
     
    9796                if(this._subject != null) 
    9897                { 
    99                         _subjectDetails = KnowledgeBase.GetInstance().GetObjectDetails(this._subject); 
     98                        _subjectDetails = Memory.GetInstance().GetObjectDetails(this._subject); 
    10099                } 
    101100                 
    102101                if(this._target != null) 
    103102                { 
    104                         _targetDetails = KnowledgeBase.GetInstance().GetObjectDetails(this._target); 
     103                        _targetDetails = Memory.GetInstance().GetObjectDetails(this._target); 
    105104                } 
    106105                 
     
    468467        { 
    469468                String action = "<Event>"; 
     469                action += "<EventID>" + this.getID() + "</EventID>"; 
    470470                action += "<Emotion>" + EmotionType.GetName(this.getEmotion().GetType()) + " " + this.getEmotion().GetPotential() + "</Emotion>"; 
    471471                action += "<Subject>" + this.getSubject() + "</Subject>"; 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/memory/KnowledgeSlot.java

    r4 r13  
    3333 */ 
    3434 
    35 package FAtiMA.knowledgeBase; 
     35package FAtiMA.memory; 
    3636 
    3737import java.io.Serializable; 
    3838import java.util.HashMap; 
    3939import java.util.Iterator; 
     40 
     41import FAtiMA.knowledgeBase.KnowledgeBase; 
    4042 
    4143/** 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/memory/autobiographicalMemory/AutobiographicalMemory.java

    r5 r13  
    3737 *                                                 provides a method that verifies if new data was added since last time it 
    3838 *                                                 was verified 
    39  * Meiyii Lim: 12/03/2009 - remove the search for recent event in AM, it is now performed in STM, 
     39 * Meiyii Lim: 13/03/2009 - search for recent events is now also performed in STM, 
    4040 *                                                      AM now stores only external events that have an emotional impact on the agent 
    4141 *                                                      and internal events (ie. goal activation, success and failure)  
     
    6868         * Singleton pattern  
    6969         */ 
    70         private static AutobiographicalMemory _memoryInstance; 
     70        private static AutobiographicalMemory _amInstance; 
    7171         
    7272        public static AutobiographicalMemory GetInstance() 
    7373        { 
    74                 if(_memoryInstance == null) 
    75                 { 
    76                         _memoryInstance = new AutobiographicalMemory(); 
    77                 } 
    78                  
    79                 return _memoryInstance; 
     74                if(_amInstance == null) 
     75                { 
     76                        _amInstance = new AutobiographicalMemory(); 
     77                } 
     78                 
     79                return _amInstance; 
    8080        }  
    8181         
     
    9393                ObjectOutputStream s = new ObjectOutputStream(out); 
    9494                 
    95                 s.writeObject(_memoryInstance); 
     95                s.writeObject(_amInstance); 
    9696                s.flush(); 
    9797                s.close(); 
     
    117117                        FileInputStream in = new FileInputStream(fileName); 
    118118                ObjectInputStream s = new ObjectInputStream(in); 
    119                 _memoryInstance = (AutobiographicalMemory) s.readObject(); 
     119                _amInstance = (AutobiographicalMemory) s.readObject(); 
    120120                s.close(); 
    121121                in.close(); 
     
    225225                //familiarity function f(x) = 1 - 1/(x/2 +1) 
    226226                // where x represents the number of similar events founds 
    227                 familiarity = 1 - (1 / (similarEvents/2 + 1)); 
     227                // familiarity = 1 - (1 / (similarEvents/2 + 1)); 
    228228                 
    229229                return familiarity; 
     
    247247                                } 
    248248                        } 
    249                          
    250249                        return count; 
     250                } 
     251        } 
     252         
     253        public ArrayList SearchForRecentEvents(ArrayList searchKeys) 
     254        { 
     255                MemoryEpisode currentEpisode; 
     256                 
     257                synchronized (this) { 
     258                        if(this._memoryEvents.size() > 0) 
     259                        { 
     260                                currentEpisode = (MemoryEpisode) this._memoryEvents.get(this._memoryEvents.size()-1); 
     261                                return currentEpisode.GetDetailsByKeys(searchKeys); 
     262                        } 
     263                        return new ArrayList(); 
    251264                } 
    252265        } 
     
    281294                         
    282295                        return foundPastEvents; 
     296                } 
     297        } 
     298         
     299        public boolean ContainsRecentEvent(ArrayList searchKeys) 
     300        { 
     301                MemoryEpisode currentEpisode; 
     302                 
     303                synchronized (this) { 
     304                        if(this._memoryEvents.size() > 0) 
     305                        { 
     306                                currentEpisode = (MemoryEpisode) this._memoryEvents.get(this._memoryEvents.size()-1);                            
     307                                 
     308                                return currentEpisode.VerifiesKeys(searchKeys); 
     309                        } 
     310                        return false; 
    283311                } 
    284312        } 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/memory/autobiographicalMemory/SummaryGenerator.java

    r5 r13  
    202202        public static String translateNameToDisplayName(String name) 
    203203        { 
    204                 Object displayName = KnowledgeBase.GetInstance().AskProperty(Name.ParseName(name + "(displayName)")); 
     204                Object displayName = Memory.GetInstance().AskProperty(Name.ParseName(name + "(displayName)")); 
    205205                if(displayName != null) 
    206206                { 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/motivationalSystem/MotivationalState.java

    r5 r13  
    195195                        String lSignalName = ((Parameter)e.GetParameters().get(1)).toString(); 
    196196                        Name lSignalValueProperty = Name.ParseName(lSignalName + "(value)"); 
    197                         float lSignalValue = ((Float)KnowledgeBase.GetInstance().AskProperty(lSignalValueProperty)).floatValue(); 
     197                        float lSignalValue = ((Float)Memory.GetInstance().AskProperty(lSignalValueProperty)).floatValue(); 
    198198                         
    199199                         
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/sensorEffector/IONRemoteAgent.java

    r1 r13  
    6060import FAtiMA.Agent; 
    6161import FAtiMA.culture.SymbolTranslator; 
    62 import FAtiMA.knowledgeBase.KnowledgeBase; 
     62//import FAtiMA.knowledgeBase.KnowledgeBase; 
     63import FAtiMA.memory.Memory; 
     64import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    6365import FAtiMA.util.AgentLogger; 
    6466import FAtiMA.wellFormedNames.Name; 
     
    151153                 
    152154                String value = st.nextToken(); 
    153                 KnowledgeBase.GetInstance().Tell(propertyName, value); 
     155                WorkingMemory.GetInstance().Tell(propertyName, value); 
     156                System.out.println("Property changed perception IonRemoteAgent"); 
    154157                 
    155158                /*String subject = st.nextToken(); 
     
    177180                Name propertyName = Name.ParseName(subject + "(" + property + ")"); 
    178181                AgentLogger.GetInstance().logAndPrint("Removing Property: " + propertyName); 
    179                 KnowledgeBase.GetInstance().Retract(propertyName); 
     182                Memory.GetInstance().Retract(propertyName); 
    180183        } 
    181184         
     
    285288                { 
    286289                        //the agent accepts the coping strategy 
    287                         Object coping = KnowledgeBase.GetInstance().AskProperty( 
     290                        Object coping = Memory.GetInstance().AskProperty( 
    288291                                        Name.ParseName(_agent.name()+"(copingStrategy)")); 
    289292                        if(coping != null) 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/sensorEffector/RemoteAgent.java

    r5 r13  
    9595import FAtiMA.memory.Memory; 
    9696import FAtiMA.memory.autobiographicalMemory.AutobiographicalMemory; 
     97import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    9798import FAtiMA.motivationalSystem.MotivationalState; 
    9899import FAtiMA.socialRelations.LikeRelation; 
     
    430431                         
    431432                        /* for the next context variables we need to retrieve them from the KB */ 
    432                         KnowledgeBase kb = KnowledgeBase.GetInstance(); 
    433                          
    434                         Object yourole = kb.AskProperty(Name.ParseName(speechAct.getReceiver() + "(role)")); 
     433                        Memory memory = Memory.GetInstance(); 
     434                         
     435                        Object yourole = memory.AskProperty(Name.ParseName(speechAct.getReceiver() + "(role)")); 
    435436                        if(yourole != null) 
    436437                        { 
     
    438439                        } 
    439440                         
    440                         Object you = kb.AskProperty(Name.ParseName(speechAct.getReceiver() + "(displayName)")); 
     441                        Object you = memory.AskProperty(Name.ParseName(speechAct.getReceiver() + "(displayName)")); 
    441442                        if(you != null) 
    442443                        { 
     
    444445                        } 
    445446                         
    446                         Object episode = kb.AskProperty(Name.ParseName("Episode(name)")); 
     447                        Object episode = memory.AskProperty(Name.ParseName("Episode(name)")); 
    447448                        if(episode != null) 
    448449                        { 
     
    459460                        String displayName; 
    460461                        String role; 
    461                         ArrayList binds = kb.GetPossibleBindings(n1); 
     462                        ArrayList binds = memory.GetPossibleBindings(n1); 
    462463                         
    463464                        if(binds != null) 
     
    468469                                        auxName = (Name) n1.clone(); 
    469470                                        auxName.MakeGround(ss.GetSubstitutions()); 
    470                                         role = (String) kb.AskProperty(auxName); 
     471                                        role = (String) memory.AskProperty(auxName); 
    471472                                         
    472473                                        auxName = (Name) n2.clone(); 
    473474                                        auxName.MakeGround(ss.GetSubstitutions()); 
    474                                         displayName = (String) kb.AskProperty(auxName); 
     475                                        displayName = (String) memory.AskProperty(auxName); 
    475476                                         
    476477                                        if(displayName != null && role != null) 
     
    771772                        AgentLogger.GetInstance().log("Look-At:" + propertyName.toString()); 
    772773                         
    773                         KnowledgeBase.GetInstance().Tell(propertyName, properties[1]); 
     774                        WorkingMemory.GetInstance().Tell(propertyName, properties[1]); 
     775                        System.out.println("LookAtPerception remoteAgent"); 
    774776                         
    775777                        //If the agent looks at another agent it initializes it's needs 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/sensorEffector/WorldSimulatorRemoteAgent.java

    r1 r13  
    1111import FAtiMA.Agent; 
    1212import FAtiMA.culture.SymbolTranslator; 
    13 import FAtiMA.knowledgeBase.KnowledgeBase; 
     13//import FAtiMA.knowledgeBase.KnowledgeBase; 
     14import FAtiMA.memory.Memory; 
     15import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    1416import FAtiMA.util.AgentLogger; 
    1517import FAtiMA.wellFormedNames.Name; 
     
    8082                 
    8183                String value = st.nextToken(); 
    82                 KnowledgeBase.GetInstance().Tell(propertyName, value); 
     84                WorkingMemory.GetInstance().Tell(propertyName, value); 
     85                System.out.println("Property changed perception World SimulatorRemoteAgent"); 
    8386                 
    8487                /*String value = null; 
     
    204207                        { 
    205208                                //the agent accepts the coping strategy 
    206                                 Object coping = KnowledgeBase.GetInstance().AskProperty( 
     209                                Object coping = Memory.GetInstance().AskProperty( 
    207210                                                Name.ParseName(_agent.name()+"(copingStrategy)")); 
    208211                                if(coping != null) 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/socialRelations/LikeRelation.java

    r1 r13  
    44import java.util.ListIterator; 
    55 
    6 import FAtiMA.knowledgeBase.KnowledgeBase; 
     6//import FAtiMA.knowledgeBase.KnowledgeBase; 
    77import FAtiMA.util.enumerables.RelationType; 
    88import FAtiMA.wellFormedNames.Name; 
    99import FAtiMA.wellFormedNames.Substitution; 
    1010import FAtiMA.wellFormedNames.SubstitutionSet; 
     11import FAtiMA.memory.shortTermMemory.WorkingMemory; 
     12import FAtiMA.memory.Memory; 
    1113 
    1214public class LikeRelation extends Relation { 
     
    4042                Name relationProperty = Name.ParseName("Like(" + this._subj1 + "," 
    4143                                + this._subj2 + ")"); 
    42                 Float result = (Float) KnowledgeBase.GetInstance().AskProperty( 
    43                                 relationProperty); 
     44                Float result = (Float) Memory.GetInstance().AskProperty(relationProperty); 
    4445                //If relation doesn't exists, create it in a neutral state 
    4546                if (result == null) { 
    46                         KnowledgeBase.GetInstance().Tell(relationProperty, new Float(0)); 
     47                        WorkingMemory.GetInstance().Tell(relationProperty, new Float(0)); 
     48                        System.out.println("get value LikeRelation"); 
    4749                        return 0; 
    4850                } 
     
    5355                Name relationProperty = Name.ParseName("Like(" + this._subj1 + "," 
    5456                                + this._subj2 + ")"); 
    55                 KnowledgeBase.GetInstance().Tell(relationProperty, new Float(like)); 
     57                WorkingMemory.GetInstance().Tell(relationProperty, new Float(like)); 
     58                System.out.println("Set value LikeRelation"); 
    5659        } 
    5760 
     
    7679 
    7780                Name relationProperty = Name.ParseName("Like(" + subject1 + ",[X])"); 
    78                 ArrayList bindingSets = KnowledgeBase.GetInstance() 
     81                ArrayList bindingSets = Memory.GetInstance() 
    7982                                .GetPossibleBindings(relationProperty); 
    8083 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/socialRelations/RespectRelation.java

    r1 r13  
    44import java.util.ListIterator; 
    55 
    6 import FAtiMA.knowledgeBase.KnowledgeBase; 
     6//import FAtiMA.knowledgeBase.KnowledgeBase; 
    77import FAtiMA.util.enumerables.RelationType; 
    88import FAtiMA.wellFormedNames.Name; 
    99import FAtiMA.wellFormedNames.Substitution; 
    1010import FAtiMA.wellFormedNames.SubstitutionSet; 
     11import FAtiMA.memory.Memory; 
     12import FAtiMA.memory.shortTermMemory.WorkingMemory; 
    1113 
    1214public class RespectRelation extends Relation{ 
     
    4648        { 
    4749                Name respectProperty = Name.ParseName("Respect(" + this._subj1 + "," + this._subj2 + ")"); 
    48                 Float result = (Float) KnowledgeBase.GetInstance().AskProperty(respectProperty); 
     50                Float result = (Float) Memory.GetInstance().AskProperty(respectProperty); 
    4951                //If relation doesn't exists, create it in a neutral state 
    5052                if(result == null) 
    5153                { 
    52                         KnowledgeBase.GetInstance().Tell(respectProperty, new Float(0)); 
     54                        WorkingMemory.GetInstance().Tell(respectProperty, new Float(0)); 
     55                        System.out.println("Get value RespectRelation"); 
    5356                        return 0; 
    5457                } 
     
    5962        { 
    6063                Name respectProperty = Name.ParseName("Respect(" + this._subj1 + "," + this._subj2 + ")"); 
    61                 KnowledgeBase.GetInstance().Tell(respectProperty, new Float(like)); 
     64                WorkingMemory.GetInstance().Tell(respectProperty, new Float(like)); 
     65                System.out.println("Set value RespectRelation"); 
    6266        } 
    6367         
     
    8286 
    8387                Name relationProperty = Name.ParseName("Respect(" + subject1 + ",[X])"); 
    84                 ArrayList bindingSets = KnowledgeBase.GetInstance() 
     88                ArrayList bindingSets = Memory.GetInstance() 
    8589                                .GetPossibleBindings(relationProperty); 
    8690 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/wellFormedNames/ComposedName.java

    r1 r13  
    5050import java.util.StringTokenizer; 
    5151 
    52 import FAtiMA.knowledgeBase.KnowledgeBase; 
    53  
     52import FAtiMA.memory.Memory; 
    5453 
    5554/** 
     
    142141         * @return  the result of evaluation the ComposedName 
    143142         */ 
    144         public Object evaluate(KnowledgeBase kb)  
     143        public Object evaluate(Memory memory)  
    145144        { 
    146145                if(_evaluate) 
     
    149148                    //we must retrieve its value from the KnowledgeBase 
    150149                    if (!this._grounded) return null; 
    151                     return kb.AskProperty(this); 
     150                    return memory.AskProperty(this); 
    152151                } 
    153152                else return this.toString(); 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/wellFormedNames/Name.java

    r1 r13  
    4141import java.util.StringTokenizer; 
    4242 
    43 import FAtiMA.knowledgeBase.KnowledgeBase; 
    44  
     43import FAtiMA.memory.Memory; 
    4544 
    4645/** 
     
    175174         *                 it returns the value associated to the name in the KB 
    176175         */ 
    177         public abstract Object evaluate(KnowledgeBase kb); 
     176        public abstract Object evaluate(Memory memory); 
    178177 
    179178        /** 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/wellFormedNames/Symbol.java

    r3 r13  
    4242import java.util.ListIterator; 
    4343 
    44 import FAtiMA.knowledgeBase.KnowledgeBase; 
     44import FAtiMA.memory.Memory; 
    4545 
    4646 
     
    123123     * @return the Symbol's name 
    124124     */ 
    125     public Object evaluate(KnowledgeBase kb) 
     125    public Object evaluate(Memory memory) 
    126126    { 
    127127        if (!this._grounded) return null; 
  • AgentMind/trunk/AgentMind/UserOptionsMeal.txt

    r1 r13  
    11user GreetBack Abbuk 
     2user GreetWrongly Abbuk 
    23user GreetBack Errep 
    34user GreetBack Evui 
  • AgentMind/trunk/AgentMind/WorldTest/src/WorldTest.java

    r4 r13  
    2828public class WorldTest { 
    2929         
    30         //public static final String SCENARIOS_PATH = "data/characters/minds/LIRECScenarios.xml"; 
    31         public static final String SCENARIOS_PATH = "data/characters/minds/Scenarios.xml"; 
     30        public static final String SCENARIOS_PATH = "data/characters/minds/LIRECScenarios.xml"; 
     31        //public static final String SCENARIOS_PATH = "data/characters/minds/Scenarios.xml"; 
    3232        private ServerSocket _ss; 
    3333        private ArrayList _objects; 
  • AgentMind/trunk/AgentMind/data/characters/minds/roles/Abbuk/Abbuk.xml

    r1 r13  
    2525        </EmotionalThresholds> 
    2626         
     27        <!--EmotionalThresholds> 
     28                <EmotionalThreshold emotion="Love" threshold="0" decay="0"/> 
     29                <EmotionalThreshold emotion="Hate" threshold="0" decay="0"/> 
     30                <EmotionalThreshold emotion="Hope" threshold="0" decay="0"/> 
     31                <EmotionalThreshold emotion="Fear" threshold="0" decay="0"/> 
     32                <EmotionalThreshold emotion="Satisfaction" threshold="0" decay="0"/> 
     33                <EmotionalThreshold emotion="Relief" threshold="0" decay="0"/> 
     34                <EmotionalThreshold emotion="Fears-Confirmed" threshold="0" decay="0"/> 
     35                <EmotionalThreshold emotion="Disappointment" threshold="0" decay="0"/> 
     36                <EmotionalThreshold emotion="Joy" threshold="0" decay="0"/> 
     37                <EmotionalThreshold emotion="Distress" threshold="0" decay="0"/> 
     38                <EmotionalThreshold emotion="Happy-For" threshold="0" decay="0"/> 
     39                <EmotionalThreshold emotion="Pitty" threshold="0" decay="0"/> 
     40                <EmotionalThreshold emotion="Resentment" threshold="0" decay="0"/> 
     41                <EmotionalThreshold emotion="Gloating" threshold="0" decay="0"/> 
     42                <EmotionalThreshold emotion="Pride" threshold="0" decay="0"/> 
     43                <EmotionalThreshold emotion="Shame" threshold="0" decay="0"/> 
     44                <EmotionalThreshold emotion="Gratification" threshold="0" decay="0"/> 
     45                <EmotionalThreshold emotion="Remorse" threshold="0" decay="0"/> 
     46                <EmotionalThreshold emotion="Admiration" threshold="0" decay="0"/> 
     47                <EmotionalThreshold emotion="Reproach" threshold="0" decay="0"/> 
     48                <EmotionalThreshold emotion="Gratitude" threshold="0" decay="0"/> 
     49                <EmotionalThreshold emotion="Anger" threshold="0" decay="0"/> 
     50        </EmotionalThresholds--> 
     51         
    2752        <MotivationalParameters> 
    2853                <MotivationalParameter motivator="Affiliation" decayFactor="7.5" weight="0.288" intensity="3"/> 
     
    3661                <!--Goal name="Eat([food])" importanceOfSuccess="4" importanceOfFailure="3"/--> 
    3762                <!--Goal name="Drink([liquid])" importanceOfSuccess="4" importanceOfFailure="3"/--> 
    38                 <Goal name="AskToPick([target])" importanceOfSuccess="4" importanceOfFailure="3"/> 
     63                <Goal name="AttendTo([target])" importanceOfSuccess="4" importanceOfFailure="3"/> 
     64                <Goal name="Greet([target])" importanceOfSuccess="4" importanceOfFailure="3"/> 
     65                <Goal name="RestOn([place])" importanceOfSuccess="4" importanceOfFailure="3"/> 
     66                <Goal name="IntroduceSelfTo([target])" importanceOfSuccess="4" importanceOfFailure="3"/> 
     67                <!--Goal name="AskToPick([target])" importanceOfSuccess="4" importanceOfFailure="3"/> 
    3968                <Goal name="Invite([target],[activity])" importanceOfSuccess="4" importanceOfFailure="3"/> 
    40                 <Goal name="EatWith([target],[food])" importanceOfSuccess="4" importanceOfFailure="3"/>  
     69                <Goal name="EatWith([target],[food])" importanceOfSuccess="4" importanceOfFailure="3"/-->        
    4170        </Goals> 
    4271         
    4372        <InterpersonalRelations> 
    4473                <Relation target="user" like="2" respect="-1"/> 
    45                 <Relation target="Errep" like="-2" respect="-3"/> 
    46                 <Relation target="Evui" like="1" respect="-5"/> 
    47                 <Relation target="Cerkith" like="2" respect="3"/> 
    48                 <Relation target="Ardoot" like="0" respect="1"/> 
    49                 <Relation target="Tigrit" like="3" respect="1"/> 
    50                 <Relation target="Ikop" like="0" respect="2"/> 
    5174        </InterpersonalRelations> 
    5275         
Note: See TracChangeset for help on using the changeset viewer.