Changeset 40


Ignore:
Timestamp:
04/01/2009 03:09:58 PM (11 years ago)
Author:
myl
Message:

The changes are highlighted in the interface now. The goals can be reset when the location change. Currently the recentEventCondition is tested against both STM and AM. If it is tested only against the STM, the goals decay over time and are reset automatically. However, this is not ideal for the scenarios because goals like greet should not be repeated after a while half way through the scenario. If the condition is tested only against the AM, the goals is reset continuously because the AM will be empty until the STM buffer is full and events are being transferred over.

Location:
AgentMind/trunk/AgentMind
Files:
19 edited

Legend:

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

    r39 r40  
    592592                                try { 
    593593                                         
    594                                         Thread.sleep(2000); 
     594                                        //Thread.sleep(2000); 
    595595                                         
    596596                                    if(_remoteAgent.isShutDown()) { 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/Display/STMRecordDisplay.java

    r38 r40  
    4646public class STMRecordDisplay { 
    4747 
    48         JPanel _panel; 
    49     JPanel _details; 
     48        private JPanel _panel; 
     49    private JPanel _details; 
     50    private static int _lastID = 0; 
    5051     
    5152    public STMRecordDisplay(STMemoryRecord records) { 
     
    129130                 
    130131                JScrollPane propertiesScroll = new JScrollPane(prop); 
     132                propertiesScroll.setAutoscrolls(true); 
    131133                 
    132134                ListIterator li = records.getDetails().listIterator(); 
     135         
    133136                while(li.hasNext()) 
    134137                { 
    135                         prop.add(new RecordDetailPanel((ActionDetail)li.next())); 
     138                        ActionDetail actionDetail = (ActionDetail) li.next(); 
     139                        RecordDetailPanel recordDetailPanel = new RecordDetailPanel(actionDetail); 
     140                        if (actionDetail.getID() > _lastID) 
     141                                recordDetailPanel.setBackground(new Color(255,255,0)); 
     142                                 
     143                        prop.add(recordDetailPanel); 
     144                        if(!li.hasNext()) 
     145                                _lastID = actionDetail.getID(); 
    136146                } 
    137                  
     147         
    138148                _details.add(propertiesScroll); 
    139149         
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/Display/ShortTermMemoryPanel.java

    r38 r40  
    3030package FAtiMA.Display; 
    3131 
     32import java.awt.Color; 
    3233import java.awt.Dimension; 
    3334import java.util.ArrayList; 
     
    6061    private ArrayList _knowledgeFactList; 
    6162    private JPanel _knowledgeFactsPanel; 
    62      
    63     private ArrayList _workingFactList; 
     63    
    6464    private JPanel _workingFactsPanel; 
     65    private JPanel _workingFactsSubPanel1; 
     66    private JPanel _workingFactsSubPanel2; 
    6567     
    6668    public ShortTermMemoryPanel() { 
     
    8991                knowledgeFactScroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);                    
    9092                this.add(knowledgeFactScroll); 
    91                  
    92                 _workingFactList = new ArrayList(); 
    9393                 
    9494                _workingFactsPanel = new JPanel(); 
    9595                _workingFactsPanel.setBorder(BorderFactory.createTitledBorder("Working Memory")); 
    96                 _workingFactsPanel.setLayout(new BoxLayout(_workingFactsPanel,BoxLayout.Y_AXIS)); 
     96                _workingFactsPanel.setLayout(new BoxLayout(_workingFactsPanel,BoxLayout.X_AXIS)); 
    9797                _workingFactsPanel.setMaximumSize(new Dimension(850,300)); 
    9898                _workingFactsPanel.setMinimumSize(new Dimension(850,300)); 
    9999             
     100                _workingFactsSubPanel1 = new JPanel(); 
     101                _workingFactsSubPanel1.setLayout(new BoxLayout(_workingFactsSubPanel1,BoxLayout.Y_AXIS)); 
     102                _workingFactsSubPanel1.setMaximumSize(new Dimension(400,650)); 
     103                _workingFactsSubPanel1.setMinimumSize(new Dimension(400,650)); 
     104                 
     105                 
     106                _workingFactsSubPanel2 = new JPanel(); 
     107                _workingFactsSubPanel2.setLayout(new BoxLayout(_workingFactsSubPanel2,BoxLayout.Y_AXIS)); 
     108                _workingFactsSubPanel2.setMaximumSize(new Dimension(400,650)); 
     109                _workingFactsSubPanel2.setMinimumSize(new Dimension(400,650));           
     110                 
     111                _workingFactsPanel.add(_workingFactsSubPanel1); 
     112                _workingFactsPanel.add(_workingFactsSubPanel2); 
     113                 
    100114                JScrollPane workingFactScroll = new JScrollPane(_workingFactsPanel); 
     115                workingFactScroll.setAutoscrolls(true); 
    101116                workingFactScroll.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);      
    102117                this.add(workingFactScroll); 
     
    139154            if(index >= _knowledgeFactList.size()) { 
    140155                kDisplay = new KnowledgeFactDisplay(slot.getName(),slot.getValue().toString()); 
     156                kDisplay.GetPanel().setBackground(new Color(255,255,0)); 
    141157                _knowledgeFactList.add(kDisplay); 
    142158                _knowledgeFactsPanel.add(kDisplay.GetPanel()); 
     
    145161         
    146162        li = WorkingMemory.GetInstance().GetFactList(); 
    147         _workingFactList.clear();  
    148         _workingFactsPanel.removeAll(); 
     163        ArrayList changeList = WorkingMemory.GetInstance().GetChangeList(); 
     164        _workingFactsSubPanel1.removeAll(); 
     165        _workingFactsSubPanel2.removeAll(); 
     166        short half = (WorkingMemory.MAXENTRY)/2; 
    149167         
    150168        while (li.hasNext()) { 
    151             index = li.nextIndex(); 
     169                index = li.nextIndex(); 
    152170            slot = (KnowledgeSlot) li.next(); 
    153             kDisplay = new KnowledgeFactDisplay(slot.getName(),slot.getValue().toString()); 
    154             _workingFactList.add(kDisplay); 
    155             _workingFactsPanel.add(kDisplay.GetPanel()); 
     171            kDisplay = new KnowledgeFactDisplay(slot.getName(),slot.getValue().toString());              
     172            if (changeList.contains(slot)) 
     173                kDisplay.GetPanel().setBackground(new Color(255,255,0)); 
     174            if(index >= half) 
     175                _workingFactsSubPanel2.add(kDisplay.GetPanel()); 
     176            else 
     177                _workingFactsSubPanel1.add(kDisplay.GetPanel()); 
    156178        } 
     179        WorkingMemory.GetInstance().ClearChangeList(); 
    157180   
    158181        return true; 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/conditions/RecentEventCondition.java

    r13 r40  
    192192                if(!_name.isGrounded()) return false; 
    193193                 
    194                 //Meiyii 12/03/09 Search for recent events in STM 
    195                  
    196                 ArrayList searchKeys = GetSearchKeys(); 
    197                 return _positive == (ShortTermMemory.GetInstance().ContainsRecentEvent(searchKeys) 
    198                                                                 || AutobiographicalMemory.GetInstance().ContainsRecentEvent(searchKeys));  
     194                //Meiyii 12/03/09 Search for recent events in both STM and AM 
     195                // If recentEventCondition is tested only against STM, goal will be reset after  
     196                // the event has been transferred to AM (this is useful if we want goal to decay over time) 
     197                // If recentEventCondition is tested only against AM, goal will be reset  
     198                // continuously before the event is being transferred from STM to AM  
     199                return _positive == ShortTermMemory.GetInstance().ContainsRecentEvent(GetSearchKeys()) 
     200                        || AutobiographicalMemory.GetInstance().ContainsRecentEvent(GetSearchKeys());  
    199201        } 
    200202         
    201203        protected ArrayList GetPossibleBindings() 
    202204        { 
    203                 ArrayList searchKeys = GetSearchKeys(); 
    204                  
    205                 ArrayList events = AutobiographicalMemory.GetInstance().SearchForRecentEvents(searchKeys); 
    206                 events.addAll(ShortTermMemory.GetInstance().SearchForRecentEvents(searchKeys)); 
    207                  
    208                 //Meiyii 12/03/09 Search for recent events in STM 
     205                //Meiyii 12/03/09 Search for recent events in both STM and AM 
     206                ArrayList events = ShortTermMemory.GetInstance().SearchForRecentEvents(GetSearchKeys()); 
     207                events.addAll(AutobiographicalMemory.GetInstance().SearchForRecentEvents(GetSearchKeys()));      
    209208                return events; 
    210209        } 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/deliberativeLayer/plan/Effect.java

    r13 r40  
    106106                newbias = newprob - _baseprob; 
    107107                WorkingMemory.GetInstance().Tell(_biasName,new Float(newbias));    
    108                 System.out.println("Decrease probability effect"); 
     108                //System.out.println("Decrease probability effect"); 
    109109        } 
    110110         
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/memory/autobiographicalMemory/AutobiographicalMemory.java

    r13 r40  
    137137        { 
    138138                MemoryEpisode event; 
    139                 String oldLocation; 
     139                String oldLocation;      
     140                boolean found = false; 
    140141                 
    141142                synchronized (this) { 
    142                         if(this._memoryEvents.size() == 0) 
     143                        // this code delay the creation of episode until an event is transferred from STM 
     144                        /*if(this._memoryEvents.size() == 0) 
    143145                        { 
    144146                                event = new MemoryEpisode(action.getLocation(), action.getTime()); 
     
    159161                                } 
    160162                        } 
    161                         event.AddActionDetail(action); 
    162                 } 
     163                        event.AddActionDetail(action);*/                         
     164                         
     165                        // add events from STM to the relevant episode 
     166                        for (int i = this._memoryEvents.size()-1; i >= 0 && !found; i--) 
     167                        { 
     168                                event = (MemoryEpisode) this._memoryEvents.get(i); 
     169                                if (event.getLocation().equals(action.getLocation())) 
     170                                { 
     171                                        if (event.getTime() == null) 
     172                                                event.setTime(action.getTime()); 
     173                                        event.AddActionDetail(action); 
     174                                        found = true; 
     175                                } 
     176                        } 
     177                } 
     178        } 
     179         
     180        /** 
     181         * Creates a new episode when location changes 
     182         * @param newLocation - the new location of the agent 
     183         */ 
     184        public void NewEpisode(String newLocation) 
     185        {        
     186                MemoryEpisode event; 
     187                String oldLocation; 
     188                 
     189                synchronized (this) { 
     190                        if(this._memoryEvents.size() == 0) 
     191                        { 
     192                                event = new MemoryEpisode(newLocation); 
     193                                this._memoryEvents.add(event); 
     194                        } 
     195                        else  
     196                        { 
     197                                event = (MemoryEpisode) this._memoryEvents.get(this._memoryEvents.size()-1); 
     198                                oldLocation = event.getLocation(); 
     199                                if(oldLocation == null) { 
     200                                        event.setLocation(newLocation); 
     201                                } 
     202                                else if(!event.getLocation().equals(newLocation)) 
     203                                { 
     204                                        event = new MemoryEpisode(newLocation); 
     205                                        this._memoryEvents.add(event); 
     206                                } 
     207                        } 
     208                }                
    163209        } 
    164210         
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/memory/autobiographicalMemory/MemoryEpisode.java

    r35 r40  
    8383        } 
    8484         
     85        public MemoryEpisode(String location) 
     86        { 
     87                this._location = location; 
     88                this._time = null; 
     89                this._people = new ArrayList(); 
     90                this._objects = new ArrayList(); 
     91                //this._detailsByKey = new HashMap(); 
     92                this._details = new ArrayList(); 
     93                this._numberOfDominantActions = 3; 
     94                //this._dominantActions = new ArrayList(this._numberOfDominantActions);  
     95        } 
     96         
     97         
    8598        /*public String getAbstract()  
    8699        { 
    87100                return this._abstract; 
    88101        }*/ 
     102         
     103        public void setTime(Time time) 
     104        { 
     105                this._time = time; 
     106        } 
    89107         
    90108        public Time getTime() 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/memory/shortTermMemory/STMemoryRecord.java

    r35 r40  
    9090        } 
    9191         
     92        public ActionDetail GetNewestRecord() 
     93        { 
     94                return (ActionDetail) this._details.get(_details.size()-1); 
     95        } 
     96         
    9297        public ActionDetail GetOldestRecord() 
    9398        { 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/memory/shortTermMemory/ShortTermMemory.java

    r35 r40  
    131131        private STMemoryRecord _records; 
    132132        private boolean _newData;        
     133        private String _previousLocation; 
    133134         
    134135        private ShortTermMemory() 
     
    136137                this._records = new STMemoryRecord(); 
    137138                this._newData = false; 
     139                this._previousLocation = ""; 
    138140        } 
    139141         
     
    143145                 
    144146                String newLocation = (String) Memory.GetInstance().AskProperty(locationKey); 
    145                 //System.out.println("Records count: " + _records.GetCount()); 
    146                  
     147                 
     148                // 31/03/2009 - Create a new episode if the location changes to allow goals reset 
     149                // If this if block is commented, goals decay over time and reset automatically 
     150                if (!newLocation.equals(_previousLocation)) 
     151                { 
     152                        AutobiographicalMemory.GetInstance().NewEpisode(newLocation); 
     153                } 
     154 
    147155                synchronized (this) { 
    148156                        if(this._records.GetCount() >= STMemoryRecord.MAXRECORDS) 
     
    158166                                                (detail.getEmotion().GetType()) != EmotionType.NEUTRAL)) 
    159167                                { 
    160                                         AutobiographicalMemory.GetInstance().StoreAction(detail); 
    161                                         //System.out.println("Record transferred to AM: " + detail.toXML()); 
     168                                        AutobiographicalMemory.GetInstance().StoreAction(detail);                                        
    162169                                } 
    163170                                _records.DeleteOldestRecord(); 
    164                                 //System.out.println("Record deleted: " + detail.toXML()); 
    165                         } 
    166                         _records.AddActionDetail(e, newLocation); 
     171                        } 
     172                        _records.AddActionDetail(e, newLocation);        
     173                        _previousLocation = newLocation; 
    167174                         
    168175                        this._newData = true; 
  • AgentMind/trunk/AgentMind/FAtiMA/src/FAtiMA/memory/shortTermMemory/WorkingMemory.java

    r35 r40  
    7878 
    7979        private static final long serialVersionUID = 1L; 
    80         public static final short MAXENTRY = 12; 
     80        public static final short MAXENTRY = 20; 
    8181         
    8282        /** 
     
    149149        private boolean _newKnowledge; 
    150150        private ArrayList _newFacts; 
     151        private ArrayList _changeList; 
    151152 
    152153        /** 
     
    158159                _newKnowledge = false; 
    159160                _newFacts = new ArrayList(); 
     161                _changeList = new ArrayList(WorkingMemory.MAXENTRY); 
    160162        } 
    161163     
     
    255257                        this._newFacts.clear(); 
    256258                        this._newKnowledge = false; 
     259                        this._changeList.clear(); 
    257260                } 
    258261        } 
     
    349352                                ks.setValue(value); 
    350353                                _factList.add(ks); 
     354                                _changeList.add(ks); // new info 
    351355                                _newFacts.add(ks); 
    352356                                System.out.println("New property knowledge: " + ks.toString()); 
     
    362366                                        { 
    363367                                                ks.setValue(value); 
     368                                                _changeList.add(ks); // property value change 
    364369                                                System.out.println("New property value: " + ks.toString()); 
    365370                                        }  
     
    399404                                 
    400405                                KnowledgeBase.GetInstance().Tell(tempName, temp.getValue()); 
    401                                 _factList.remove(0);                                     
    402                                  
     406                                _factList.remove(0);                             
    403407                        } 
    404408                } 
     
    431435        } 
    432436         
     437        public ArrayList GetChangeList() { 
     438            return _changeList; 
     439        } 
     440         
     441        public void ClearChangeList() { 
     442            _changeList.clear(); 
     443        } 
     444         
    433445        /** 
    434446         * Converts the Information stored in the WM to one String 
  • AgentMind/trunk/AgentMind/WorldTest/src/RemoteAgent.java

    r33 r40  
    304304                                        { 
    305305                                                _world.GetUserInterface().WriteLine(_agentName + " says to " + receiver + ": " + utterance); 
     306                                                if (_world.GetGreta() != null) 
     307                                                        _world.GetGreta().Send(utterance); 
    306308                                        } 
    307309                                        else 
  • AgentMind/trunk/AgentMind/WorldTest/src/UserInterface.java

    r38 r40  
    9999        _locationOptions.addItem("StudyRoom"); 
    100100        _locationOptions.addItem("Kitchen"); 
    101         _locationOptions.addItem("BedRoom"); 
    102         _locationOptions.addItem("Garden"); 
    103101        _locationOptions.addActionListener(new ActionListener(){ 
    104102                        public void actionPerformed(ActionEvent e) { 
     
    114112                _userOptions = new JComboBox(); 
    115113                _userOptions.addItem("Amy"); 
    116                 _userOptions.addItem("Jenny"); 
     114                /*_userOptions.addItem("Jenny"); 
    117115                _userOptions.addItem("Susan"); 
    118                 /*_userOptions.addItem("John"); 
     116                _userOptions.addItem("John"); 
    119117                _userOptions.addItem("Luke"); 
    120                 _userOptions.addItem("Paulie");*/ 
     118                _userOptions.addItem("Paulie"); 
     119                _userOptions.addItem("LukePaulie");*/ 
    121120                _userOptions.addActionListener(new ActionListener(){ 
    122121                        public void actionPerformed(ActionEvent e) { 
  • AgentMind/trunk/AgentMind/WorldTest/src/WorldTest.java

    r34 r40  
    2525 * TODO To change the template for this generated type comment go to 
    2626 * Window - Preferences - Java - Code Style - Code Templates 
     27 *  
     28 * Meiyii Lim: 31/03/2009 - Added socket connection to Greta 
     29 *  
    2730 */ 
    2831public class WorldTest { 
     
    3134        //public static final String SCENARIOS_PATH = "data/characters/minds/Scenarios.xml"; 
    3235        private ServerSocket _ss; 
     36        private ServerSocket _ssToGreta; 
    3337        private ArrayList _objects; 
    3438        private ArrayList _agents; 
     
    3842        private UserInterface _userInterface; 
    3943        private String _userOptionsFile; 
     44        private GretaAgent _ga; 
    4045         
    4146        static public void main(String args[]) throws Exception { 
     
    102107                        this._actions = op.getOperators(); 
    103108                        _ss = new ServerSocket(port); 
    104          
     109                         
     110                        //_ssToGreta = new ServerSocket(100);    
    105111                } 
    106112                catch (Exception e){ 
     
    134140         
    135141        public void run() { 
    136                 Socket s; 
    137                 RemoteAgent ra; 
     142                Socket s1, s2; 
     143                RemoteAgent ra;          
     144                 
    138145                while(true) { 
    139146                        try { 
    140                                 s = _ss.accept(); 
    141                                 ra = new RemoteAgent(this,s); 
     147                                /*s1 = _ssToGreta.accept(); 
     148                                _ga = new GretaAgent(this,s1); 
     149                                _ga.start(); 
     150                                _ga.Send("Connected!");*/ 
     151                                 
     152                                s2 = _ss.accept(); 
     153                                ra = new RemoteAgent(this,s2); 
    142154                                ra.start(); 
    143155                                _agents.add(ra); 
     
    269281                for( int i = 0, limit = _agents.size(); i != limit; ++i ){ 
    270282                        SendPerceptionToAll( "PROPERTY-CHANGED " + ((RemoteAgent)_agents.get(i)).Name() + " location " + location ); 
     283                        SendPerceptionToAll( "ACTION-FINISHED " + ((RemoteAgent)_agents.get(i)).Name() + " MoveTo " + location ); 
    271284                } 
    272285        } 
     
    275288        public void ChangeUser( String previousUser, String user ){ 
    276289                for( int i = 0, limit = _agents.size(); i != limit; ++i ){ 
    277                         SendPerceptionToAll( "PROPERTY-CHANGED " + user + "(isPresent) True"); 
    278290                        if(!previousUser.equals(null)) 
    279                                 SendPerceptionToAll( "PROPERTY-CHANGED " + previousUser + "(isPresent) False"); 
     291                        { 
     292                                if(previousUser.equalsIgnoreCase("LukePaulie")) 
     293                                { 
     294                                        SendPerceptionToAll( "PROPERTY-CHANGED Luke(isPresent) False"); 
     295                                        SendPerceptionToAll( "PROPERTY-CHANGED Paulie(isPresent) False"); 
     296                                } 
     297                                else 
     298                                { 
     299                                        SendPerceptionToAll( "PROPERTY-CHANGED " + previousUser + "(isPresent) False"); 
     300                                } 
     301                        } 
     302                         
     303                        if(user.equalsIgnoreCase("LukePaulie")) 
     304                        { 
     305                                SendPerceptionToAll( "PROPERTY-CHANGED Luke(isPresent) True"); 
     306                                SendPerceptionToAll( "PROPERTY-CHANGED Paulie(isPresent) True"); 
     307                        } 
     308                        else 
     309                        { 
     310                                SendPerceptionToAll( "PROPERTY-CHANGED " + user + "(isPresent) True"); 
     311                        } 
    280312                } 
    281313        } 
     
    290322        } 
    291323 
     324        public synchronized void removeGreta(){ 
     325                _userInterface.WriteLine(_ga + " disconnected\n"); 
     326                _ga = null; 
     327        } 
     328         
     329        public GretaAgent GetGreta(){ 
     330                return _ga; 
     331        } 
     332         
    292333        public String GetUserOptionsFile() { 
    293334                return this._userOptionsFile; 
  • AgentMind/trunk/AgentMind/data/characters/minds/LIRECActions.xml

    r35 r40  
    184184        </Action> 
    185185         
     186        <Action name="SpeechAct([target],dontTell)"> 
     187                <PreConditions> 
     188                        <Property name="[target]" operator="!=" value="[AGENT]"/> 
     189                        <RecentEvent occurred="True" subject="[target]" action="Ask" target="[AGENT]" parameters="*"/> 
     190                </PreConditions> 
     191                <Effects> 
     192                        <Effect probability="1"> 
     193                                <Property name="SpeechContext()" operator="=" value="#EVENT([AGENT],SpeechAct,[target],dontTell)"/> 
     194                        </Effect> 
     195                </Effects> 
     196                <EffectsOnDrives> 
     197                        <Motivator drive="Affiliation" target="[AGENT]" value="+3"/> 
     198                        <Motivator drive="Affiliation" target="[target]" value="+3"/> 
     199                </EffectsOnDrives> 
     200        </Action> 
     201         
    186202        <Action name="SpeechAct([target],[info],[friend])"> 
    187203                <PreConditions> 
     
    202218        <!-- User's actions --> 
    203219        <!-- User greets correctly --> 
    204         <Action name="GreetBack([target])" probability="0.8"> 
     220        <Action name="GreetBack([target])" probability="0.5"> 
    205221                <PreConditions> 
    206222                        <Property name="[target]" operator="!=" value="[AGENT]" /> 
  • AgentMind/trunk/AgentMind/data/characters/minds/LIRECGoalLibrary.xml

    r35 r40  
    9494                        <Property name="[target](isPerson)" operator="=" value="True" /> 
    9595                        <Property name="[target]" operator="!=" value="[SELF]" /> 
     96                        <Property name="[target](isPresent)" operator="=" value="True" /> 
    9697                        <RecentEvent occurred="False" subject="[target]" action="Accept" target="[SELF]" parameters="*"/> 
    9798                        <RecentEvent occurred="True" subject="[target]" action="Reject" target="[SELF]" parameters="*"/> 
     
    111112                        <Property name="[target](isPerson)" operator="=" value="True" /> 
    112113                        <Property name="[target]" operator="!=" value="[SELF]" /> 
     114                        <Property name="[target](isPresent)" operator="=" value="True" /> 
    113115                        <RecentEvent occurred="True" subject="[target]" action="Choose" target="[SELF]" parameters="[item]"/> 
    114116                </PreConditions>         
     
    127129                        <Property name="[target](isPerson)" operator="=" value="True" /> 
    128130                        <Property name="[target]" operator="!=" value="[SELF]" /> 
     131                        <Property name="[target](isPresent)" operator="=" value="True" /> 
    129132                        <RecentEvent occurred="True" subject="[target]" action="Accept" target="[SELF]" parameters="[item]"/> 
    130133                </PreConditions>         
     
    144147                        <Property name="[target](isPerson)" operator="=" value="True" /> 
    145148                        <Property name="[target]" operator="!=" value="[SELF]" /> 
     149                        <Property name="[target](isPresent)" operator="=" value="True" /> 
    146150                        <Property name="[target]([info],isSensitive)" operator="=" value="[friend]" /> 
    147151                        <RecentEvent occurred="True" subject="[target]" action="TellSensitiveInfo" target="[SELF]" parameters="[friend],[info]"/> 
     
    161165                        <Property name="[target](isPerson)" operator="=" value="True" /> 
    162166                        <Property name="[target]" operator="!=" value="[SELF]" /> 
     167                        <Property name="[target](isPresent)" operator="=" value="True" /> 
    163168                        <Property name="[friend](isPerson)" operator="=" value="True" /> 
    164169                        <Property name="[friend]([info],isSensitive)" operator="=" value="[target]" /> 
     
    175180        </ActivePursuitGoal> 
    176181         
    177         <ActivePursuitGoal name="ReplyTellInfo([target],[friend],[info])"> 
    178                 <PreConditions>                  
    179                         <Property name="[target](isPerson)" operator="=" value="True" /> 
    180                         <Property name="[target]" operator="!=" value="[SELF]" /> 
    181                         <!--Property name="[friend]([info],isSensitive)" operator="=" value="[agentX]" /> 
    182                         <Property name="[agentX](isPresent)" operator="=" value="False" /--> 
     182        <ActivePursuitGoal name="DontTellInfo([target],[friend],[info])"> 
     183                <PreConditions>                  
     184                        <Property name="[target](isPerson)" operator="=" value="True" /> 
     185                        <Property name="[target]" operator="!=" value="[SELF]" /> 
     186                        <Property name="[target](isPresent)" operator="=" value="True" /> 
     187                        <Property name="[friend]([info],isSensitive)" operator="=" value="[agentX]" /> 
     188                        <Property name="[agentX](isPresent)" operator="=" value="True" /> 
    183189                        <Property name="[friend](isPerson)" operator="=" value="True" /> 
    184190                        <Property name="[friend]([info],isSensitive)" operator="!=" value="[target]" /> 
     191                        <RecentEvent occurred="False" subject="[SELF]" action="SpeechAct" target="[target]" parameters="[info],[friend]"/> 
    185192                        <RecentEvent occurred="True" subject="[target]" action="Ask" target="[SELF]" parameters="[friend],[info]"/> 
    186193                </PreConditions>         
    187194                <SucessConditions> 
     195                        <RecentEvent occurred="True" subject="[SELF]" action="SpeechAct" target="[target]" parameters="dontTell"/> 
     196                </SucessConditions>              
     197                <ExpectedEffects> 
     198                        <OnSelect drive="Affiliation" target="[SELF]" value="+3"/> 
     199                        <OnIgnore drive="Affiliation" target="[SELF]" value="-3"/> 
     200                        <OnSelect drive="Affiliation" target="[target]" value="+3"/>                     
     201                </ExpectedEffects>                       
     202        </ActivePursuitGoal> 
     203         
     204        <ActivePursuitGoal name="ReplyTellInfo([target],[friend],[info])"> 
     205                <PreConditions>                  
     206                        <Property name="[target](isPerson)" operator="=" value="True" /> 
     207                        <Property name="[target]" operator="!=" value="[SELF]" /> 
     208                        <Property name="[target](isPresent)" operator="=" value="True" /> 
     209                        <Property name="[friend]([info],isSensitive)" operator="=" value="[agentX]" /> 
     210                        <Property name="[agentX](isPresent)" operator="=" value="False" /> 
     211                        <Property name="[friend](isPerson)" operator="=" value="True" /> 
     212                        <Property name="[friend]([info],isSensitive)" operator="!=" value="[target]" /> 
     213                        <RecentEvent occurred="False" subject="[SELF]" action="SpeechAct" target="[target]" parameters="dontTell"/> 
     214                        <RecentEvent occurred="True" subject="[target]" action="Ask" target="[SELF]" parameters="[friend],[info]"/> 
     215                </PreConditions>         
     216                <SucessConditions> 
    188217                        <RecentEvent occurred="True" subject="[SELF]" action="SpeechAct" target="[target]" parameters="[info],[friend]"/> 
    189218                </SucessConditions>              
  • AgentMind/trunk/AgentMind/data/characters/minds/LIRECScenarios.xml

    r35 r40  
    77                        <Objects> 
    88                                <Object name="Amy"/> 
    9                                 <Object name="Jenny"/> 
    10                                 <Object name="Susan"/> 
     9                                <!--Object name="Jenny"/> 
     10                                <Object name="Susan"/--> 
    1111                                <Object name="apple"/> 
    1212                                <Object name="orange"/> 
  • AgentMind/trunk/AgentMind/data/characters/minds/language/agent/en/language-set-1/templates.tdl

    r34 r40  
    5151-> Utterance(value: "I am afraid I don't know anything about that.") 
    5252 
    53 Type(value:hideInfo) 
    54 -> Utterance(value: "Why don't you ask him yourself?") 
     53Type(value:dontTell) 
     54-> Utterance(value: "I suggest you ask him later.") 
    5555 
    5656Type(value:goodbye) it(value:$O) 
  • AgentMind/trunk/AgentMind/data/characters/minds/roles/Greta/Greta.xml

    r35 r40  
    4545        <InterpersonalRelations> 
    4646                <Relation target="Amy" like="3" respect="1"/> 
    47                 <Relation target="Jenny" like="3" respect="1"/> 
     47                <!--Relation target="Jenny" like="3" respect="1"/--> 
    4848        </InterpersonalRelations> 
    4949</Character> 
  • AgentMind/trunk/AgentMind/data/characters/minds/roles/Sarah/Sarah.xml

    r35 r40  
    3838                <Goal name="SwearSecrecy([target],[friend][info])" importanceOfSuccess="4" importanceOfFailure="3"/> 
    3939                <Goal name="ReplyHideInfo([target],[friend],[info])" importanceOfSuccess="4" importanceOfFailure="3"/> 
     40                <Goal name="DontTellInfo([target],[friend],[info])" importanceOfSuccess="4" importanceOfFailure="3"/> 
    4041                <Goal name="ReplyTellInfo([target],[friend],[info])" importanceOfSuccess="4" importanceOfFailure="3"/> 
    4142                <Goal name="Goodbye([target],[item])" importanceOfSuccess="4" importanceOfFailure="3"/> 
Note: See TracChangeset for help on using the changeset viewer.