Changeset 772


Ignore:
Timestamp:
12/15/2010 12:36:33 PM (10 years ago)
Author:
myl
Message:

Solved the bugs for saving and reloading agent states.

Location:
AgentMind/branches/FAtiMA-Modular
Files:
29 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA-Modular/AgentLauncher/src/AgentLauncher.java

    r769 r772  
    3434                //String cultureFile = ConfigurationManager.getMindPath() + ConfigurationManager.getAgentProperties().get("cultureName") + ".xml";  
    3535                 
    36                 //extraFiles.add(cultureFile); 
    37                 //aG.addComponent(new CulturalDimensionsComponent(cultureFile)); 
    38                 aG.addComponent(new SocialRelationsComponent(extraFiles)); 
    39                 aG.addComponent(new MotivationalComponent(extraFiles)); 
    40                 aG.addComponent(new ToMComponent(ConfigurationManager.getName())); 
    41                 aG.addComponent(new AdvancedMemoryComponent()); 
     36                if (!aG.getLoaded()) 
     37                { 
     38                        //extraFiles.add(cultureFile); 
     39                        //aG.addComponent(new CulturalDimensionsComponent(cultureFile)); 
     40                        aG.addComponent(new SocialRelationsComponent(extraFiles)); 
     41                        aG.addComponent(new MotivationalComponent(extraFiles)); 
     42                        aG.addComponent(new ToMComponent(ConfigurationManager.getName())); 
     43                        aG.addComponent(new AdvancedMemoryComponent()); 
     44                } 
    4245                aG.StartAgent(); 
    4346        } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/AdvancedMemoryComponent.java

    r770 r772  
    153153                        System.out.println("gAttribute " + attributeStr); 
    154154                } 
    155                 this._gmPanel.PanelAttributes(_gAttributes); 
     155                //this._gmPanel.PanelAttributes(_gAttributes); 
    156156        } 
    157157 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/CCQuery.java

    r750 r772  
    3232import java.beans.PropertyChangeListener; 
    3333import java.beans.PropertyChangeSupport; 
     34import java.io.Serializable; 
    3435import java.util.ArrayList; 
    3536import java.util.Hashtable; 
     
    3738import FAtiMA.Core.memory.episodicMemory.ActionDetail; 
    3839 
    39 public class CCQuery { 
     40public class CCQuery implements Serializable { 
     41         
     42        private static final long serialVersionUID = 1L; 
    4043         
    4144        private int _numField = 10; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/CommonQuery.java

    r749 r772  
    33import java.beans.PropertyChangeListener; 
    44import java.beans.PropertyChangeSupport; 
     5import java.io.Serializable; 
    56import java.util.ArrayList; 
    67import java.util.Hashtable; 
    78 
    89 
    9 public class CommonQuery { 
     10public class CommonQuery implements Serializable { 
     11         
     12        private static final long serialVersionUID = 1L; 
    1013         
    1114        private int _maxNumMatch; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/GeneralMemoryPanel.java

    r751 r772  
    2525        private AdvancedMemoryComponent _generalMemory; 
    2626        private ArrayList<String> _gAttributes = new ArrayList<String>(); 
     27        private ArrayList<GER> _gers; 
    2728         
    2829        private JPanel _aux; 
     
    3637         
    3738        _gerDisplayList = new ArrayList<GERDisplay>(); 
     39        _gers = new ArrayList<GER>(); 
    3840         
    3941        _gersPanel = new JPanel(); 
     
    4850        } 
    4951 
    50         public void PanelAttributes(ArrayList<String> gAttributes) 
     52        public void attributesPanel() 
    5153        {         
    52                 _gersPanel.removeAll(); 
    53                 _gerDisplayList.clear(); 
    54                  
    5554                _aux = new JPanel(); 
    5655        _aux.setLayout(new BoxLayout(_aux,BoxLayout.X_AXIS)); 
     
    5958                 
    6059        JLabel lbl; 
    61         _gAttributes = gAttributes; 
    62          
    63         if (_gAttributes.contains("subject")) 
     60        GER ger = new GER(); 
     61         
     62        if (_gers.size() > 0) 
     63        { 
     64                ger = _gers.get(0); 
     65        } 
     66         
     67        if (!ger.getSubject().equals("")) 
    6468        { 
    6569                lbl = new JLabel("Subject"); // Who? 
     
    6872                lbl.setMaximumSize(new Dimension(50,30)); 
    6973                _aux.add(lbl); 
    70         } 
    71          
    72         if (_gAttributes.contains("action")) 
     74                _gAttributes.add("subject"); 
     75        } 
     76         
     77        if (!ger.getAction().equals("")) 
    7378        { 
    7479                lbl = new JLabel("Action"); // What? 
     
    7782                lbl.setMaximumSize(new Dimension(80,30)); 
    7883                _aux.add(lbl); 
    79         } 
    80          
    81         if (_gAttributes.contains("intention")) 
     84                _gAttributes.add("action"); 
     85        } 
     86         
     87        if (!ger.getIntention().equals("")) 
    8288        { 
    8389                lbl = new JLabel("Intention"); // What? 
     
    8692                lbl.setMaximumSize(new Dimension(80,30)); 
    8793                _aux.add(lbl); 
    88         } 
    89          
    90         if (_gAttributes.contains("target")) 
     94                _gAttributes.add("intention"); 
     95        } 
     96         
     97        if (!ger.getTarget().equals("")) 
    9198        { 
    9299                lbl = new JLabel("Target"); // Whom? 
     
    95102                lbl.setMaximumSize(new Dimension(80,30)); 
    96103                _aux.add(lbl); 
    97         } 
    98          
    99         if (_gAttributes.contains("object")) 
     104                _gAttributes.add("target"); 
     105        } 
     106         
     107        if (!ger.getObject().equals("")) 
    100108        { 
    101109                lbl = new JLabel("Object"); // What? 
     
    104112                lbl.setMaximumSize(new Dimension(80,30)); 
    105113                _aux.add(lbl); 
    106         } 
    107          
    108         if (_gAttributes.contains("desirability")) 
     114                _gAttributes.add("object"); 
     115        } 
     116         
     117        if (!ger.getDesirability().equals("")) 
    109118        { 
    110119                lbl = new JLabel("Desirability"); // Desirable? 
     
    113122                lbl.setMaximumSize(new Dimension(80,30)); 
    114123                _aux.add(lbl); 
    115         } 
    116          
    117         if (_gAttributes.contains("praiseworthiness")) 
     124                _gAttributes.add("desirability"); 
     125        } 
     126         
     127        if (!ger.getPraiseworthiness().equals("")) 
    118128        { 
    119129                lbl = new JLabel("Praiseworthiness"); // Praiseworthy? 
     
    122132                lbl.setMaximumSize(new Dimension(80,30)); 
    123133                _aux.add(lbl); 
    124         } 
    125          
    126         if (_gAttributes.contains("location")) 
     134                _gAttributes.add("praiseworthiness"); 
     135        } 
     136         
     137        if (!ger.getLocation().equals("")) 
    127138        { 
    128139                lbl = new JLabel("Location"); // Where? 
     
    131142                lbl.setMaximumSize(new Dimension(80,30)); 
    132143                _aux.add(lbl); 
    133         } 
    134          
    135         if (_gAttributes.contains("time")) 
     144                _gAttributes.add("location"); 
     145        } 
     146         
     147        if (!ger.getTime().equals("")) 
    136148        { 
    137149                lbl = new JLabel("Time"); // When? 
     
    140152                lbl.setMaximumSize(new Dimension(80,30)); 
    141153                _aux.add(lbl); 
     154                _gAttributes.add("time"); 
    142155        } 
    143156         
     
    158171    public boolean Update(AgentModel am)  
    159172    { 
    160             ListIterator<GER> li = _generalMemory.getGeneralisation().getAllGERs().listIterator(); 
     173        _gers = _generalMemory.getGeneralisation().getAllGERs(); 
     174            ListIterator<GER> li = _gers.listIterator(); 
    161175        
    162176        GER ger; 
    163         GERDisplay gerDisplay; 
    164          
     177        GERDisplay gerDisplay;         
    165178        int index; 
     179         
     180        _gersPanel.removeAll(); 
     181        _gerDisplayList.clear(); 
     182                _gAttributes.clear(); 
     183                 
     184                // create the attributes panel 
     185        attributesPanel(); 
    166186         
    167187        while (li.hasNext()) { 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/Generalisation.java

    r751 r772  
    11/**  
    22 * Generalisation.java - Generate an abstraction from all events in the episodic memory 
    3  * using association rules learning - the Apriori algorithm. Currently 5 item-set is used  
    4  * (subject, action, target, desirability, praiseworthiness) with coverage 3 
     3 * using association rules learning - the Apriori algorithm. Users can chose the attributes on which to generalise on.  
     4 * Currently, a minimum coverage of 3 is used. And since we have not implemented the deletion of events from EM,  
     5 * every time generalise is called, the new GERs will replace the old one. 
    56 *     
    67 * This program is free software; you can redistribute it and/or modify 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/RuleEngine.java

    r727 r772  
    11package FAtiMA.advancedMemoryComponent; 
    22 
     3import java.io.FileInputStream; 
     4import java.io.IOException; 
     5import java.io.ObjectInputStream; 
     6import java.io.ObjectOutputStream; 
    37import java.io.Serializable; 
    48import java.util.ArrayList; 
     
    2731        private static final long serialVersionUID = 1L; 
    2832         
    29         protected KnowledgeBuilder _kbuilder;    
     33        protected KnowledgeBuilder _kbuilder; 
    3034        protected KnowledgeBase _kbase; 
    3135        protected StatefulKnowledgeSession _ksession; 
     36        protected String _rulePath; 
    3237         
    3338        public RuleEngine(String rulePath) 
    34         { 
     39        {                
     40                _rulePath = rulePath; 
     41                createKSession(); 
     42        } 
     43         
     44        private void createKSession() 
     45        {        
    3546                try { 
    3647                        // load up the knowledge base 
    3748                        _kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); 
    38                         _kbuilder.add(ResourceFactory.newClassPathResource(rulePath), ResourceType.DRL); 
     49                        _kbuilder.add(ResourceFactory.newClassPathResource(_rulePath), ResourceType.DRL); 
    3950                        KnowledgeBuilderErrors errors = _kbuilder.getErrors(); 
    4051                        if (errors.size() > 0) { 
     
    4859                        _ksession = _kbase.newStatefulKnowledgeSession(); 
    4960                         
    50                         //_ksession.addEventListener(new DebugAgendaEventListener()); 
    51                         //_ksession.addEventListener(new DebugWorkingMemoryEventListener()); 
    52                          
    53                         // setup the audit logging 
    54                         //KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory 
    55                         //              .newFileLogger(ksession, "event"); 
    56                         //logger.close();                
    5761                } catch (Throwable t) { 
    5862                        t.printStackTrace(); 
    59                 }                
     63                }                        
     64        } 
     65         
     66        private void writeObject(ObjectOutputStream out) throws IOException 
     67        { 
     68                out.writeObject(_rulePath); 
     69                 
     70        } 
     71         
     72        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException 
     73        { 
     74                _rulePath = (String) in.readObject(); 
     75                createKSession(); 
    6076        } 
    6177         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/SAQuery.java

    r727 r772  
    3232import java.beans.PropertyChangeListener; 
    3333import java.beans.PropertyChangeSupport; 
     34import java.io.Serializable; 
    3435import java.util.ArrayList; 
    3536import java.util.Hashtable; 
     
    3940import FAtiMA.Core.memory.episodicMemory.ActionDetail; 
    4041 
    41 public class SAQuery { 
     42public class SAQuery implements Serializable { 
    4243 
     44        private static final long serialVersionUID = 1L; 
     45         
    4346        private String _id; 
    4447        private String _question; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.MotivationalSystem/src/FAtiMA/motivationalSystem/ActionEffectsOnDrives.java

    r686 r772  
    11package FAtiMA.motivationalSystem; 
    22 
     3import java.io.Serializable; 
    34import java.util.ArrayList; 
    45import java.util.Collection; 
     
    67import FAtiMA.Core.wellFormedNames.Name; 
    78 
    8 public class ActionEffectsOnDrives { 
     9public class ActionEffectsOnDrives implements Serializable{ 
    910         
    1011        private Name _actionName; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.MotivationalSystem/src/FAtiMA/motivationalSystem/EffectOnDrive.java

    r686 r772  
    11package FAtiMA.motivationalSystem; 
     2 
     3import java.io.Serializable; 
    24 
    35import FAtiMA.Core.wellFormedNames.Symbol; 
     
    57 
    68 
    7 public class EffectOnDrive { 
     9public class EffectOnDrive implements Serializable { 
    810         
    911        private float _value; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.MotivationalSystem/src/FAtiMA/motivationalSystem/ExpectedGoalEffectsOnDrives.java

    r686 r772  
    11package FAtiMA.motivationalSystem; 
    22 
     3import java.io.Serializable; 
    34import java.util.ArrayList; 
    45import java.util.Collection; 
    56 
    6 public class ExpectedGoalEffectsOnDrives { 
     7public class ExpectedGoalEffectsOnDrives implements Serializable{ 
    78         
    89        private String _goalName; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.SocialRelations/src/FAtiMA/socialRelations/SocialRelationsComponent.java

    r770 r772  
    22 
    33import java.io.File; 
     4import java.io.Serializable; 
    45import java.util.ArrayList; 
    56 
     
    2425 
    2526 
    26 public class SocialRelationsComponent implements IAppraisalComponent, IModelOfOtherComponent, IProcessEmotionComponent { 
     27public class SocialRelationsComponent implements Serializable, IAppraisalComponent, IModelOfOtherComponent, IProcessEmotionComponent { 
    2728         
    2829        public static final String NAME = "SocialRelations"; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.ToM/src/FAtiMA/ToM/ToMComponent.java

    r770 r772  
    11package FAtiMA.ToM; 
    22 
     3import java.io.Serializable; 
    34import java.util.ArrayList; 
    45import java.util.HashMap; 
     
    2223import FAtiMA.Core.wellFormedNames.Symbol; 
    2324 
    24 public class ToMComponent implements IAppraisalComponent, IProcessPerceptionsComponent, IGetModelStrategy, IGetUtilityForOthers { 
     25public class ToMComponent implements Serializable, IAppraisalComponent, IProcessPerceptionsComponent, IGetModelStrategy, IGetUtilityForOthers { 
    2526         
    2627        public static final String NAME = "ToM"; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/AgentCore.java

    r756 r772  
    99import java.io.ObjectInputStream; 
    1010import java.io.ObjectOutputStream; 
     11import java.io.Serializable; 
    1112import java.util.ArrayList; 
    1213import java.util.Collection; 
     
    5556 
    5657 
    57 public class AgentCore implements AgentModel, IGetModelStrategy { 
     58public class AgentCore implements Serializable, AgentModel, IGetModelStrategy { 
    5859 
    5960        public static final String MIND_PATH = "data/characters/minds/"; 
     
    9596        private String _saveDirectory; 
    9697        private boolean _saveRequest = false; 
     98        private boolean _loaded = false; 
    9799 
    98100        private IGetModelStrategy _strat; 
     
    135137                                 
    136138                try{ 
    137                         AgentLogger.GetInstance().initialize(_name,_showStateWindow); 
    138                          
    139                         _showStateWindow = ConfigurationManager.getDisplayMode(); 
    140                         _displayName = ConfigurationManager.getDisplayName(); 
    141                         _role = ConfigurationManager.getRole(); 
    142                         _sex = ConfigurationManager.getSex(); 
    143                          
    144                         if(_showStateWindow && !VersionChecker.runningOnAndroid()){ 
    145                                 _agentDisplay = new AgentDisplay(this); 
     139                        if (Boolean.parseBoolean(ConfigurationManager.getLoad())) 
     140                        { 
     141                                _loaded = true; 
     142                                AgentCoreLoad(ConfigurationManager.getPlatform(), ConfigurationManager.getHost(), ConfigurationManager.getPort(), ConfigurationManager.getSaveDirectory(), agentName); 
    146143                        } 
    147  
    148                         // Load Plan Operators 
    149                         ActionLibrary.GetInstance().LoadActionsFile(ConfigurationManager.getActionsFile(), this); 
    150                         EmotionalPlanner planner = new EmotionalPlanner(ActionLibrary.GetInstance().GetActions()); 
    151  
    152                         // Load GoalLibrary 
    153                         GoalLibrary goalLibrary = new GoalLibrary(ConfigurationManager.getGoalsFile()); 
    154  
    155                         //For efficiency reasons these two are not real processes 
    156                         _reactiveLayer = new ReactiveProcess(); 
    157                         addComponent(_reactiveLayer); 
    158  
    159                         _deliberativeLayer = new DeliberativeProcess(goalLibrary,planner); 
    160                         addComponent(_deliberativeLayer); 
    161                          
    162                         addComponent(new OCCComponent()); 
    163  
    164                         //TODO:PARSETHEGOALS 
    165                         loadPersonality(ConfigurationManager.getPersonalityFile(),ConfigurationManager.getPlatform(),new ArrayList<String>()); 
    166                         //Start the remote agent socket 
    167                          
    168                         _remoteAgent = createNewRemoteAgent(ConfigurationManager.getPlatform(), ConfigurationManager.getHost(), ConfigurationManager.getPort(), ConfigurationManager.getAgentProperties()); 
     144                        else 
     145                        { 
     146                                _loaded = false; 
     147                                AgentLogger.GetInstance().initialize(_name,_showStateWindow); 
     148                                 
     149                                _showStateWindow = ConfigurationManager.getDisplayMode(); 
     150                                _displayName = ConfigurationManager.getDisplayName(); 
     151                                _role = ConfigurationManager.getRole(); 
     152                                _sex = ConfigurationManager.getSex(); 
     153                                _saveDirectory = ConfigurationManager.getSaveDirectory(); 
     154                                 
     155                                if(_showStateWindow && !VersionChecker.runningOnAndroid()){ 
     156                                        _agentDisplay = new AgentDisplay(this); 
     157                                } 
     158         
     159                                // Load Plan Operators 
     160                                ActionLibrary.GetInstance().LoadActionsFile(ConfigurationManager.getActionsFile(), this); 
     161                                EmotionalPlanner planner = new EmotionalPlanner(ActionLibrary.GetInstance().GetActions()); 
     162         
     163                                // Load GoalLibrary 
     164                                GoalLibrary goalLibrary = new GoalLibrary(ConfigurationManager.getGoalsFile()); 
     165         
     166                                //For efficiency reasons these two are not real processes 
     167                                _reactiveLayer = new ReactiveProcess(); 
     168                                addComponent(_reactiveLayer); 
     169         
     170                                _deliberativeLayer = new DeliberativeProcess(goalLibrary,planner); 
     171                                addComponent(_deliberativeLayer); 
     172                                 
     173                                addComponent(new OCCComponent()); 
     174         
     175                                //TODO:PARSETHEGOALS 
     176                                loadPersonality(ConfigurationManager.getPersonalityFile(),ConfigurationManager.getPlatform(),new ArrayList<String>()); 
     177                                //Start the remote agent socket 
     178                                 
     179                                _remoteAgent = createNewRemoteAgent(ConfigurationManager.getPlatform(), ConfigurationManager.getHost(), ConfigurationManager.getPort(), ConfigurationManager.getAgentProperties()); 
     180                        } 
    169181                         
    170182                }catch (Exception e) { 
     
    188200                } 
    189201        } 
    190  
    191          
    192          
    193         public AgentCore(short agentPlatform, String host, int port, String directory, String fileName) 
     202         
     203        public void AgentCoreLoad(short agentPlatform, String host, int port, String directory, String fileName) 
    194204        { 
    195205                try{ 
    196206                        _shutdown = false; 
    197207                        _numberOfCycles = 0; 
     208                        LoadAgentState(directory + fileName); 
    198209                        AgentLogger.GetInstance().initialize(fileName,_showStateWindow); 
    199210 
    200                         LoadAgentState(directory + fileName); 
    201  
     211                        if(_showStateWindow && !VersionChecker.runningOnAndroid()){ 
     212                                _agentDisplay = new AgentDisplay(this); 
     213                                for (IComponent c: this.getComponents()) 
     214                                { 
     215                                        AgentDisplayPanel panel = c.createDisplayPanel(this); 
     216                                        if(panel != null) 
     217                                        { 
     218                                                this._agentDisplay.AddPanel(panel, c.name(),""); 
     219                                        } 
     220                                } 
     221                                 
     222                        } 
     223                         
    202224                        // creating a new episode when the agent loads 13/09/10 
    203  
    204225                        _memory.getEpisodicMemory().StartEpisode(_memory); 
    205226                        _remoteAgent = this.createNewRemoteAgent(agentPlatform, host, port, new HashMap<String,String>()); 
    206                         _remoteAgent.LoadState(fileName+"-RemoteAgent.dat"); 
     227                        _remoteAgent.LoadState(directory + fileName + "-RemoteAgent.dat"); 
    207228                } 
    208229                catch (Exception e) { 
     
    352373        } 
    353374 
     375        public boolean getLoaded() 
     376        { 
     377                return _loaded; 
     378        } 
    354379 
    355380        /** 
     
    751776                // Meiyii 13/09/10 
    752777                _memory.getEpisodicMemory().MoveSTEMtoAM(); 
     778                //_memory.getMemoryWriter().xmlMemoryOutput(_saveDirectory + "XMLMemory"); 
    753779 
    754780                AgentSimulationTime.SaveState(fileName+"-Timer.dat"); 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/OCCAffectDerivation/OCCComponent.java

    r770 r772  
    11package FAtiMA.Core.OCCAffectDerivation; 
    22 
     3import java.io.Serializable; 
    34import java.util.ArrayList; 
    45 
     
    1617import FAtiMA.Core.wellFormedNames.Name; 
    1718 
    18 public class OCCComponent implements IAffectDerivationComponent, IModelOfOtherComponent { 
     19public class OCCComponent implements Serializable, IAffectDerivationComponent, IModelOfOtherComponent { 
    1920         
    2021        public static final String NAME = "OCC"; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/DefaultDetectThreatStrategy.java

    r667 r772  
    11package FAtiMA.Core.deliberativeLayer; 
     2 
     3import java.io.Serializable; 
    24 
    35import FAtiMA.Core.conditions.Condition; 
    46 
    5 public class DefaultDetectThreatStrategy implements IDetectThreatStrategy { 
     7public class DefaultDetectThreatStrategy implements Serializable, IDetectThreatStrategy { 
    68         
    79        public DefaultDetectThreatStrategy() 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/DefaultStrategy.java

    r732 r772  
    11package FAtiMA.Core.deliberativeLayer; 
     2 
     3import java.io.Serializable; 
    24 
    35import FAtiMA.Core.AgentModel; 
    46import FAtiMA.Core.deliberativeLayer.goals.ActivePursuitGoal; 
    57 
    6 public class DefaultStrategy implements IUtilityStrategy, IProbabilityStrategy, IGetUtilityForOthers 
     8public class DefaultStrategy implements Serializable, IUtilityStrategy, IProbabilityStrategy, IGetUtilityForOthers 
    79{        
    810        public float getUtility(AgentModel am, ActivePursuitGoal g) 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/deliberativeLayer/DeliberativeProcess.java

    r770 r772  
    118118package FAtiMA.Core.deliberativeLayer; 
    119119 
     120import java.io.Serializable; 
    120121import java.util.ArrayList; 
    121122import java.util.HashMap; 
     
    160161 * @author João Dias 
    161162 */ 
    162 public class DeliberativeProcess implements IComponent, IBehaviourComponent, IModelOfOtherComponent, IAppraisalComponent, IOptionsStrategy, IExpectedUtilityStrategy { 
     163public class DeliberativeProcess implements Serializable, IComponent, IBehaviourComponent, IModelOfOtherComponent, IAppraisalComponent, IOptionsStrategy, IExpectedUtilityStrategy { 
    163164         
    164165        /** 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/emotionalState/AppraisalFrame.java

    r757 r772  
    2828package FAtiMA.Core.emotionalState; 
    2929 
     30import java.io.Serializable; 
    3031import java.util.Collection; 
    3132import java.util.HashMap; 
     
    3435import FAtiMA.Core.sensorEffector.Event; 
    3536 
    36 public class AppraisalFrame { 
     37public class AppraisalFrame implements Serializable { 
    3738         
    3839         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/Memory.java

    r717 r772  
    5757        private SemanticMemory _sm; 
    5858        private EpisodicMemory _em; 
     59        private MemoryWriter _mw; 
    5960         
    6061        public Memory() 
     
    6263                _sm = new SemanticMemory(); 
    6364                _em = new EpisodicMemory(); 
     65                _mw = new MemoryWriter(); 
    6466        } 
    6567         
     
    7476        } 
    7577         
     78        public MemoryWriter getMemoryWriter() 
     79        { 
     80                return _mw; 
     81        } 
    7682} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/ActionDetail.java

    r769 r772  
    554554                action += "<Desirability>" + this.getDesirability() + "</Desirability>"; 
    555555                action += "<Praiseworthiness>" + this.getPraiseworthiness() + "</Praiseworthiness>"; 
    556                 //action += "<Evaluation>" + this.getEvaluation() + "</Evaluation>"; 
    557556                action += "<Time>" + this.getTime().getRealTime() + "</Time>"; 
    558557                action += "<Location>" + this.getLocation() + "</Location>"; 
    559                  
    560558                action += "</Event>\n"; 
    561559                 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/EpisodicMemory.java

    r768 r772  
    327327                return _am.SummarizeEpisode(m, episode); 
    328328        } 
     329         
     330        public String toXML() 
     331        { 
     332                String emStr =""; 
     333                 
     334                return emStr; 
     335        } 
    329336} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/episodicMemory/ShortTermEpisodicMemory.java

    r768 r772  
    264264        { 
    265265                ActionDetail detail; 
    266                 String record = "<Record>"; 
     266                String record = "<STEpisodicMemory>"; 
    267267                for(ListIterator<ActionDetail> li = _details.listIterator();li.hasNext();) 
    268268                { 
     
    270270                        record += detail.toXML(); 
    271271                } 
    272                 record += "</Record>\n"; 
     272                record += "</STEpisodicMemory>\n"; 
    273273                 
    274274                return record; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/semanticMemory/KnowledgeBase.java

    r667 r772  
    353353            return _kB.toString(); 
    354354        } 
     355         
     356        public String toXML() 
     357        { 
     358                KnowledgeSlot slot; 
     359                String facts = "<KBFact>"; 
     360                for(ListIterator<KnowledgeSlot> li = _factList.listIterator();li.hasNext();) 
     361                { 
     362                        slot = li.next(); 
     363                        facts += slot.toXML(); 
     364                } 
     365                facts += "</KBFact>\n"; 
     366                 
     367                return facts; 
     368        } 
    355369} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/semanticMemory/KnowledgeSlot.java

    r667 r772  
    202202            return aux; 
    203203        } 
     204         
     205        public String toXML() { 
     206            Iterator<Object> it; 
     207            String aux; 
     208            if(_value == null) { 
     209                aux = _name + ":"; 
     210            } 
     211            else { 
     212                aux = _name + ":" + _value; 
     213            } 
     214          
     215            it = _children.values().iterator(); 
     216            if(it.hasNext()) { 
     217                 
     218                aux = aux + " {" + it.next(); 
     219                while(it.hasNext()) { 
     220                        aux = aux + "," + it.next(); 
     221                    } 
     222                aux = aux + "}"; 
     223            } 
     224            return aux; 
     225        } 
    204226} 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/memory/semanticMemory/WorkingMemory.java

    r667 r772  
    409409        { 
    410410                KnowledgeSlot slot; 
    411                 String facts = "<Fact>"; 
     411                String facts = "<WMFact>"; 
    412412                for(ListIterator<KnowledgeSlot> li = _factList.listIterator();li.hasNext();) 
    413413                { 
    414414                        slot = li.next(); 
    415                         facts += slot.toString(); 
    416                 } 
    417                 facts += "</Fact>\n"; 
     415                        facts += slot.toXML(); 
     416                } 
     417                facts += "</WMFact>\n"; 
    418418                 
    419419                return facts; 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/reactiveLayer/ReactiveProcess.java

    r770 r772  
    6262 
    6363 
     64import java.io.Serializable; 
     65 
    6466import FAtiMA.Core.AgentModel; 
    6567import FAtiMA.Core.IAppraisalComponent; 
     
    7880 * @author João Dias 
    7981 */ 
    80 public class ReactiveProcess implements IComponent, IBehaviourComponent, IModelOfOtherComponent, IAppraisalComponent { 
     82public class ReactiveProcess implements Serializable, IComponent, IBehaviourComponent, IModelOfOtherComponent, IAppraisalComponent { 
    8183         
    8284    /** 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA/src/FAtiMA/Core/util/ConfigurationManager.java

    r742 r772  
    3333        private static final String ACTIONS_FILE = "actionsFile";        
    3434        private static final String GOALS_FILE = "goalsFile"; 
    35          
     35        private static final String LOAD = "load"; 
    3636         
    3737        private String mindPath; 
     
    138138        } 
    139139 
     140        public static String getLoad(){ 
     141                return getInstance().getConfigurationValue(LOAD); 
     142        } 
     143         
    140144        public static HashMap<String,String> getAgentProperties(){ 
    141145                return getInstance().agentProperties;  
  • AgentMind/branches/FAtiMA-Modular/data/characters/minds/LIRECScenarios.xml

    r765 r772  
    6161                        <Objects> 
    6262                                <Object name="Amy"/> 
    63                                 <Object name="Tom"/> 
     63                                <!--Object name="Tom"/--> 
    6464                                <Object name="orange"/> 
    6565                                <Object name="banana"/> 
     
    7171                           port="46874" displayMode="True" sex="F" actionsFile="LIRECActions"  
    7272                           goalsFile="LIRECGoalLibrary" cultureName="NoCulture"  
    73                            saveDirectory="data/characters/minds/state/" load="False"> 
     73                           saveDirectory="data/characters/minds/state/" load="True"> 
    7474                        <Properties>                             
    7575                                <Property name="time" value="Morning"/> 
Note: See TracChangeset for help on using the changeset viewer.