Changeset 1523


Ignore:
Timestamp:
02/23/2012 04:01:10 PM (6 years ago)
Author:
joao.dias
Message:

Added functionality to send FAtiMA's semantic memory properties to the external world. This is performed when FAtiMA receives a message CMD GET-PROPERTIES.

Location:
AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/semanticMemory/KnowledgeBase.java

    r1447 r1523  
    390390                { 
    391391                        slot = li.next(); 
    392                         facts += slot.toXML(); 
     392                        facts += slot.toString(); 
    393393                } 
    394394                facts += "</KBFact>\n"; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/semanticMemory/KnowledgeSlot.java

    r1447 r1523  
    279279         
    280280        public String toXML() { 
    281             Iterator<Object> it; 
    282             String aux; 
    283             if(_value == null) { 
    284                 aux = _name + ":"; 
    285             } 
    286             else { 
    287                 aux = _name + ":" + _value; 
    288             } 
    289           
    290             it = _children.values().iterator(); 
    291             if(it.hasNext()) { 
    292                  
    293                 aux = aux + " {" + it.next(); 
    294                 while(it.hasNext()) { 
    295                         aux = aux + "," + it.next(); 
    296                     } 
    297                 aux = aux + "}"; 
    298             } 
    299             return aux; 
     281                String property = "<Property persistent=\""; 
     282                property += this._persistent + "\" "; 
     283                property += "name=\"" + this._displayName + "\" "; 
     284                property += "value=\"" + this._value + "\"/>"; 
     285                 
     286            return property; 
    300287        } 
    301288                 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/semanticMemory/WorkingMemory.java

    r1504 r1523  
    434434                { 
    435435                        slot = li.next(); 
    436                         facts += slot.toXML(); 
     436                        facts += slot.toString(); 
    437437                } 
    438438                facts += "</WMFact>\n"; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/sensorEffector/RemoteAgent.java

    r1506 r1523  
    9191import FAtiMA.Core.componentTypes.IProcessExternalRequestComponent; 
    9292import FAtiMA.Core.emotionalState.EmotionalState; 
     93import FAtiMA.Core.memory.semanticMemory.KnowledgeSlot; 
    9394import FAtiMA.Core.util.AgentLogger; 
    9495import FAtiMA.Core.util.parsers.SocketListener; 
     
    106107public abstract class RemoteAgent extends SocketListener { 
    107108         
    108          
    109         protected static final String SHUTDOWN = "SHUTDOWN"; 
     109        //Command messages, these correspond to requests from the external world (ION,WorldSim) 
     110        //examples are CMD Start, CMD Stop, CMD Reset, CMD GET-STATE, etc etc. 
    110111        protected static final String CMD = "CMD"; 
     112        protected static final String GET_STATE = "GET-STATE"; 
     113        protected static final String SET_STATE = "SET-STATE"; 
     114        protected static final String DA_QUERY = "DA_QUERY"; 
     115        protected static final String START = "Start"; 
     116        protected static final String STOP = "Stop"; 
     117        protected static final String RESET = "Reset"; 
     118        protected static final String SAVE = "Save"; 
     119        protected static final String GET_PROPERTIES = "GET-PROPERTIES"; 
     120         
    111121        protected static final String AGENTS = "AGENTS"; 
    112122        protected static final String LOOK_AT = "LOOK-AT"; 
     
    124134        protected static final String STOP_TIME = "STOP-TIME"; 
    125135        protected static final String RESUME_TIME = "RESUME-TIME"; 
    126         protected static final String GET_STATE = "GET-STATE"; 
    127         protected static final String SET_STATE = "SET-STATE"; 
     136        protected static final String SHUTDOWN = "SHUTDOWN"; 
     137         
    128138        protected static final String CANCEL_ACTION = "CANCEL-ACTION"; 
    129139        protected static final String IDENTIFY_USER = "IDENTIFY-USER"; 
     
    679689        } 
    680690         
    681          
    682          
    683691        protected void CmdPerception(String perc) 
    684692        { 
    685693                //corresponds to an external command from the stagemanager 
    686694                String action = perc; 
    687                 if(action.equals("Start"))  
     695                if(action.equals(START))  
    688696                { 
    689697                        _running = true; 
    690698                        AgentSimulationTime.GetInstance().Resume(); 
    691699                } 
    692                 else if(action.equals("Stop"))  
     700                else if(action.equals(STOP))  
    693701                { 
    694702                        _running = false; 
    695703                        AgentSimulationTime.GetInstance().Stop(); 
    696704                } 
    697                 else if(action.equals("Reset"))  
     705                else if(action.equals(RESET))  
    698706                { 
    699707                        _agent.Reset(); 
     
    702710                        //_running = true; 
    703711                } 
    704                 else if(action.equals("Save")) 
     712                else if(action.equals(SAVE)) 
    705713                { 
    706714                        _agent.RequestAgentSave(); 
     715                } 
     716                else if(action.equals(GET_PROPERTIES)) 
     717                { 
     718                        String semanticMemory = "<SemanticMemory>"; 
     719                        semanticMemory+= "<STM>"; 
     720                        for(KnowledgeSlot ks: _agent.getMemory().getSemanticMemory().GetFactList()) 
     721                        { 
     722                                semanticMemory+= ks.toXML(); 
     723                        } 
     724                        semanticMemory+= "</STM>"; 
     725                        semanticMemory+= "<LTM>"; 
     726                        for(KnowledgeSlot ks: _agent.getMemory().getSemanticMemory().GetKnowledgeBaseFacts()) 
     727                        { 
     728                                semanticMemory+= ks.toXML(); 
     729                        } 
     730                        semanticMemory+= "</LTM></SemanticMemory>"; 
     731                         
     732                        this.Send(semanticMemory); 
    707733                } 
    708734                else if(action.startsWith("DA_QUERY")) 
Note: See TracChangeset for help on using the changeset viewer.