<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4109657034997162885</id><updated>2011-04-21T19:39:43.080+01:00</updated><category term='reading'/><title type='text'>Peter's Honours Project Log</title><subtitle type='html'>Keeping track of problems and progress during my Final Year computing science project, Reinforcement Learning in a Simulated World.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>35</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-702402309007243517</id><published>2008-04-29T14:58:00.002+01:00</published><updated>2008-04-29T22:27:48.435+01:00</updated><title type='text'>Success!</title><content type='html'>I finally solved the user-created &lt;span style="font-style: italic;"&gt;Schema&lt;/span&gt; problem last night. The issue was that the &lt;span style="font-style: italic;"&gt;MainBody&lt;/span&gt; field in &lt;span style="font-style: italic;"&gt;LearnerUI&lt;/span&gt; was created, but not &lt;span style="font-style: italic;"&gt;initialised&lt;/span&gt; until the actual simulation was started (as opposed to the main GUI). This explains why &lt;span style="font-style: italic;"&gt;Schemas&lt;/span&gt; with no &lt;span style="font-style: italic;"&gt;States&lt;/span&gt; worked, and why it was possible to edit &lt;span style="font-style: italic;"&gt;Schemas&lt;/span&gt; while the simulation was running.&lt;br /&gt;&lt;br /&gt;I changed the &lt;span style="font-style: italic;"&gt;LearnerUI&lt;/span&gt; class to initialise the &lt;span style="font-style: italic;"&gt;MainBody&lt;/span&gt; immediately, and also changed &lt;span style="font-style: italic;"&gt;MainBody &lt;/span&gt;so that the initial &lt;span style="font-style: italic;"&gt;Schemas&lt;/span&gt; are not added until the start of the simulation.&lt;br /&gt;&lt;br /&gt;It's a little annoying that the problem was so simple, but it's working now anyway.&lt;br /&gt;&lt;br /&gt;The code is (mostly) commented and a few tweaks to the "One Step" feature should be all that needs to be done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-702402309007243517?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/702402309007243517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=702402309007243517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/702402309007243517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/702402309007243517'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/success.html' title='Success!'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-5954402431385461829</id><published>2008-04-28T12:52:00.002+01:00</published><updated>2008-04-28T12:58:29.050+01:00</updated><title type='text'>Meeting 14</title><content type='html'>Had a meeting this morning to discuss the final report. I'm aiming to have it completed by this time next week so that it could be handed in as is, or tweaked based on Frank's advice.&lt;br /&gt;&lt;br /&gt;This is the last meeting before the software submission deadline on Friday. It's a soft deadline, so I don't have to hand anything in, but I want to get the code finished and concentrate on the report.&lt;br /&gt;&lt;br /&gt;Also, I've tracked the user-created &lt;span style="font-style: italic;"&gt;Schema&lt;/span&gt; problem back to a null-pointer exception, most likely involving the &lt;span style="font-style: italic;"&gt;MainBody&lt;/span&gt;. My early testing looks promising. There's a chance I'll get this issue fixed after all!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-5954402431385461829?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/5954402431385461829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=5954402431385461829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/5954402431385461829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/5954402431385461829'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/meeting-14.html' title='Meeting 14'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-1906718386661909440</id><published>2008-04-22T14:26:00.000+01:00</published><updated>2008-04-28T01:34:12.683+01:00</updated><title type='text'>Meeting 13</title><content type='html'>Daniel is giving his presentation in the same session as mine on Thursday. We felt it best to collude slightly so that we weren't giving presentations so similar that we were repeating each other, but also so we weren't contradicting each other and confusing the audience.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Myself and Frank solved the "stepping" issue by placing the switch in the &lt;span style="font-style: italic;"&gt;MainBody&lt;/span&gt; class, rather than &lt;span style="font-style: italic;"&gt;Processor&lt;/span&gt;. The code needs cleaning-up, but the feature is working now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-1906718386661909440?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/1906718386661909440/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=1906718386661909440' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1906718386661909440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1906718386661909440'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/meeting-13.html' title='Meeting 13'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-7771031698930614840</id><published>2008-04-22T01:22:00.001+01:00</published><updated>2008-04-28T01:27:23.305+01:00</updated><title type='text'>Parsing the Exported Schema Library</title><content type='html'>I've just implemented the XML schema importing. I used the in-built java SAX parser and wrote an XML event handler myself to pull the appropriate variable data and create the &lt;span style="font-style: italic;"&gt;Schema&lt;/span&gt; objects.&lt;br /&gt;&lt;br /&gt;The problem executing the imported &lt;span style="font-style: italic;"&gt;Schemas&lt;/span&gt; is still there though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-7771031698930614840?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/7771031698930614840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=7771031698930614840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7771031698930614840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7771031698930614840'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/parsing-xml-schema-library.html' title='Parsing the Exported Schema Library'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-1840775856851593965</id><published>2008-04-21T17:13:00.000+01:00</published><updated>2008-04-28T01:22:47.410+01:00</updated><title type='text'>Meeting 12</title><content type='html'>Had a meeting this afternoon to catch up on progress made over the holidays and to discuss what more can be done before the deadline.&lt;br /&gt;&lt;br /&gt;Other than the importing of Schemas, which should be implemented by tomorrow, there isn't much. Frank would like me to add a feature to allow "stepping through" the simulation one movement at a time like a debugger. I can see how to implement this using a simple boolean switch, but I'm not sure where it needs to go. At the moment, the simulation continues a step at a time, but the graphics aren't updated to match.&lt;br /&gt;&lt;br /&gt;I have another meeting scheduled tomorrow with Daniel to discuss our presentations later this week. He might have a better understanding of the graphics code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-1840775856851593965?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/1840775856851593965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=1840775856851593965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1840775856851593965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1840775856851593965'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/meeting-12.html' title='Meeting 12'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-1073274724244726811</id><published>2008-04-20T02:48:00.001+01:00</published><updated>2008-04-21T03:04:10.549+01:00</updated><title type='text'>Exporting the Schema Library</title><content type='html'>The last planned feature is almost fully implemented. The library is successfully written to an XML Schema validated file. I'm still reading up on SAX and DOM parsers so Importing hasn't been implemented yet, but I don't foresee any problems with the parsing.&lt;br /&gt;&lt;br /&gt;While writing the output methods, I removed a few unnecessary methods from the &lt;span style="font-style: italic;"&gt;Schema&lt;/span&gt; class and discovered that the &lt;span style="font-style: italic;"&gt;schemasValue&lt;/span&gt;, and &lt;span style="font-style: italic;"&gt;activeSchemas&lt;/span&gt; hashtables haven't been included in the output. These have never shown up in exception stack-traces before, but they could be related to the Schema execution problem somehow. Either way, I need to edit the code to account for them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-1073274724244726811?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/1073274724244726811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=1073274724244726811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1073274724244726811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1073274724244726811'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/exporting-schema-library.html' title='Exporting the Schema Library'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-1228062428354785653</id><published>2008-04-17T01:32:00.000+01:00</published><updated>2008-04-19T02:08:12.027+01:00</updated><title type='text'>Editing Schemas Update</title><content type='html'>I haven't fixed the XML Schema, but it seems too trivial a detail to devote much more time to at the moment. I &lt;span style="font-style: italic;"&gt;have&lt;/span&gt; added functionality to the &lt;span style="font-style: italic;"&gt;EditSchemaDialog&lt;/span&gt; to allow the user to edit the &lt;span style="font-style: italic;"&gt;activeStates&lt;/span&gt; table for each &lt;span style="font-style: italic;"&gt;State&lt;/span&gt;. I've also re-written the &lt;span style="font-style: italic;"&gt;NewSchemaDialog&lt;/span&gt; to match, and cleaned up the &lt;span style="font-style: italic;"&gt;Schema&lt;/span&gt; creation code.&lt;br /&gt;&lt;br /&gt;Other than adding support for XML, I don't intend to add any more new features to the GUI. There are only a couple of weeks until the Software Submission deadline, and I feel that they would be best used testing and fixing bugs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-1228062428354785653?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/1228062428354785653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=1228062428354785653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1228062428354785653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1228062428354785653'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/editing-schemas-update.html' title='Editing Schemas Update'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-9119242539701453738</id><published>2008-04-13T20:53:00.001+01:00</published><updated>2008-04-19T01:03:40.608+01:00</updated><title type='text'>XML Schema Issue</title><content type='html'>I would still like the option to export the Schema Library to an XML file so I've been working on writing an XML Schema file to validate against.&lt;br /&gt;&lt;br /&gt;I'm familiar with XML, but I've never worked with &lt;a href="http://www.w3.org/TR/xmlschema-0/"&gt;XML Schema&lt;/a&gt; before. I understand it for the most part, but I've run into an error when it comes to validating. The validator output is not very helpful! All I can tell for now is that: &lt;blockquote&gt;Element 'element' is invalid, misplaced, or occurs too often.&lt;/blockquote&gt;&lt;br /&gt;I'm not sure that the XML Schema is required to parse an XML document successfully, but I'd prefer to have it just in case. Of course, this is a relatively minor feature so I don't want to spend a huge amount of time on it at the moment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-9119242539701453738?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/9119242539701453738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=9119242539701453738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/9119242539701453738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/9119242539701453738'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/xml-schema-issue.html' title='XML Schema Issue'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-4938463163023186584</id><published>2008-04-10T15:59:00.000+01:00</published><updated>2008-04-17T18:36:27.900+01:00</updated><title type='text'>Editing Schemas</title><content type='html'>I've spent the last few days writing a dialog to display the details of a selected Schema and allow the user to edit them. As far as I can tell, the result of editing a Schema (especially a State) is the same as creating a new one from scratch.&lt;br /&gt;&lt;br /&gt;Putting time and effort into features which ultimately don't work seems a bit pointless, but as Frank pointed out, it's an extra feature that I can "show off" in the software demonstration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-4938463163023186584?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/4938463163023186584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=4938463163023186584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/4938463163023186584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/4938463163023186584'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/editing-schemas.html' title='Editing Schemas'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-48943185412473758</id><published>2008-04-07T16:31:00.001+01:00</published><updated>2008-04-07T16:33:45.310+01:00</updated><title type='text'>Testing Schemas</title><content type='html'>I'm still having problems with the creating new schemas. In order to test, I've set the "Import" button to recreate a &lt;span style="font-style: italic;"&gt;Schema &lt;/span&gt;object from the library and add it manually. I found that a created &lt;span style="font-style: italic;"&gt;Schema &lt;/span&gt;with a &lt;span style="font-style: italic;"&gt;Response &lt;/span&gt;but no &lt;span style="font-style: italic;"&gt;States &lt;/span&gt;executes correctly, leading me to believe that the problem is in the &lt;span style="font-style: italic;"&gt;State &lt;/span&gt;object.&lt;br /&gt;&lt;br /&gt;However, a &lt;span style="font-style: italic;"&gt;Schema &lt;/span&gt;with &lt;span style="font-style: italic;"&gt;Response &lt;/span&gt;and both states fails to execute. In the first instance, State 1 had a null value for &lt;span style="font-style: italic;"&gt;activeStates&lt;/span&gt;, State 2 was "full". A second &lt;span style="font-style: italic;"&gt;Schema &lt;/span&gt;with &lt;span style="font-style: italic;"&gt;Response &lt;/span&gt;and both States "full" also failed to execute.&lt;br /&gt;&lt;br /&gt;I'm putting all my effort into creating &lt;span style="font-style: italic;"&gt;Schemas &lt;/span&gt;at the moment. Creating and parsing XML is relatively easy, but useless if the &lt;span style="font-style: italic;"&gt;Schema &lt;/span&gt;objects created from it won't execute. The next thing I'm going to try is editing existing &lt;span style="font-style: italic;"&gt;Schemas&lt;/span&gt;. If I can change objects that already exist and work, it might shed some light on why creating schema objects from scratch doesn't.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-48943185412473758?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/48943185412473758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=48943185412473758' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/48943185412473758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/48943185412473758'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/testing-schemas.html' title='Testing Schemas'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-524359054574021242</id><published>2008-04-06T17:52:00.002+01:00</published><updated>2008-04-06T17:58:18.931+01:00</updated><title type='text'>A small measure of success</title><content type='html'>After ignoring the Import/Export issue for the last few days, I've finally implemented a method of setting the block position while the simulation is running.&lt;br /&gt;&lt;br /&gt;It needs some more robust error-handling, but as I'm so far behind schedule any progress is welcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-524359054574021242?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/524359054574021242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=524359054574021242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/524359054574021242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/524359054574021242'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/small-measure-of-success.html' title='A small measure of success'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-7376041376161682037</id><published>2008-04-01T05:31:00.002+01:00</published><updated>2008-04-01T05:43:13.724+01:00</updated><title type='text'>Progress?</title><content type='html'>Not really.&lt;br /&gt;&lt;br /&gt;I'm still stuck with the problem caused when executing user-generated &lt;span style="font-style: italic;"&gt;Schemas&lt;/span&gt;. I think I've narrowed the problem down to the &lt;span style="font-style: italic;"&gt;State&lt;/span&gt; class, but I can't get any further! I've spent the last 3 days focusing on this and to say I'm frustrated is an understatement!&lt;br /&gt;&lt;br /&gt;I'm going to leave this for now and work on setting the position of the block via the GUI. Once that's done I'll try to formalise what I know about the schema &lt;span style="font-style: italic;"&gt;&lt;/span&gt;problem and see if Frank and Daniel have any ideas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-7376041376161682037?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/7376041376161682037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=7376041376161682037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7376041376161682037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7376041376161682037'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/04/progress.html' title='Progress?'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-1074441385730391829</id><published>2008-03-31T21:14:00.003+01:00</published><updated>2008-03-31T21:32:33.800+01:00</updated><title type='text'>Generating XML - An easier way?</title><content type='html'>As a personal project, I once hacked together a small program to convert my old plain text IM logs to the &lt;a href="http://www.adiumx.com/"&gt;Adium&lt;/a&gt; XML format. This was only a converter, it didn't deal with parsing the XML, just outputting it to a file. After some searching I found the &lt;a href="http://xmlenc.sourceforge.net/"&gt;xmlenc&lt;/a&gt; library on SourceForge. It seems to be much lighter and easier to use than SAX or DOM, while being far more stable than anything I have time to write myself.&lt;br /&gt;&lt;br /&gt;A friend has recommended that I try &lt;a href="http://xstream.codehaus.org/"&gt;XStream&lt;/a&gt;. I've never heard of this before, but it looks good after a quick scan of the website. The main advantage here seems to be that it will read the file back in again, creating objects automatically.&lt;br /&gt;&lt;br /&gt;I'm leaning toward the familiar at the moment. That might change after some more reading though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-1074441385730391829?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/1074441385730391829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=1074441385730391829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1074441385730391829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1074441385730391829'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/03/generating-xml-easier-way.html' title='Generating XML - An easier way?'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-1607365834377926854</id><published>2008-03-27T17:17:00.001Z</published><updated>2008-03-31T01:46:04.053+01:00</updated><title type='text'>Meeting 11</title><content type='html'>Short meeting today just to check on progress and assign tasks. Our next meeting will not be for a few weeks, as it is the Easter break and Frank is organising the &lt;a href="http://www.aisb.org.uk/convention/aisb08/"&gt;AISB&lt;/a&gt; conference.&lt;br /&gt;&lt;br /&gt;Due to the break, I have been at my parents house and not had much time to dedicate to project work. I &lt;span style="font-style: italic;"&gt;have&lt;/span&gt; cleaned up the variable torque code by passing a floating point value rather than an integer. This has the effect of doubling or halving the torque value by simple multiplication instead of the round-about method I originally implemented.&lt;br /&gt;&lt;br /&gt;I have the following tasks to complete as soon as possible.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Clean-up of the schema library Import/Export code&lt;/li&gt;&lt;/ul&gt;The main issue is that Schemas which have been manually added or imported from a file cause an exception when executed. This is priority 1 for now.&lt;br /&gt;&lt;br /&gt;It would be nice (but not essential) to export the schema library as XML. I have used a nice tag generation library in personal projects, but there might be a simpler way. The SAX and DOM parsers are probably worth looking at.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Specify the block position through the GUI&lt;/li&gt;&lt;/ul&gt;As my learning task now only requires one "interesting" object, I would like to add a GUI feature which would let the user position the block manually. Most likely through the use of co-ordinates.&lt;br /&gt;&lt;br /&gt;In addition to the above, there is also basic error-handling to be implemented in most cases.&lt;br /&gt;&lt;br /&gt;These features don't really affect the learning simulation, but will allow me to show some success during the software demonstration in a few weeks time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-1607365834377926854?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/1607365834377926854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=1607365834377926854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1607365834377926854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1607365834377926854'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/03/meeting-11.html' title='Meeting 11'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-1530345264419358025</id><published>2008-03-23T16:12:00.002Z</published><updated>2008-03-31T00:32:04.449+01:00</updated><title type='text'>Meeting 10</title><content type='html'>Finished adding the mechanism to allow strong and weak arm movements. Currently, the torque to be applied to a movement is calculated by a method in the &lt;span style="font-style: italic;"&gt;UpperArm &lt;/span&gt;and &lt;span style="font-style: italic;"&gt;LowerArm &lt;/span&gt;classes. I have modified each class to apply a multiplier to the torque value before executing the movement. The multiplier is specified by an integer value in a &lt;span style="font-style: italic;"&gt;Response &lt;/span&gt;object, which is attached to a &lt;span style="font-style: italic;"&gt;Schema &lt;/span&gt;as normal. This could do with being cleaned up a little, but will have to wait until I have more time.&lt;br /&gt;&lt;br /&gt;We also discussed a new file format for the schema library. This is primarily to include new aspects of the Schema class, but will hopefully provide an opportunity to fix the schema importing issue that has been bugging me for weeks! Frank suggested a new comma-separated values approach, whereas I would prefer to go with XML. The CSV format is easier to read manually, but I believe XML would be easier to parse inside the program.&lt;br /&gt;&lt;br /&gt;Either way, I want to get these issues dealt with as soon as possible as I am now behind schedule as far as the project plan is concerned. I aimed to have the coding finished by the end of this week to leave me free to concentrate on the report. That will now have to wait.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-1530345264419358025?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/1530345264419358025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=1530345264419358025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1530345264419358025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/1530345264419358025'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/03/meeting-10.html' title='Meeting 10'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-5147423168344623779</id><published>2008-03-21T00:00:00.000Z</published><updated>2008-03-23T16:07:14.348Z</updated><title type='text'>First unforseen failure</title><content type='html'>It seems that something has corrupted the &lt;span style="font-style: italic;"&gt;UpperArm&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;LowerArm&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Response &lt;/span&gt;classes since I last worked on them yesterday. This is the first issue I've had with Netbeans, although I haven't found anything related to this on any Netbeans forums. It seems like simple bad luck! Haven't lost too much though. Subversion is doing its job!&lt;br /&gt;&lt;br /&gt;It's a bit of a pain, coming just before my meeting with Frank tomorrow morning.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-5147423168344623779?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/5147423168344623779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=5147423168344623779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/5147423168344623779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/5147423168344623779'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/03/first-unforseen-failure.html' title='First unforseen failure'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-6580627478586448518</id><published>2008-03-17T14:27:00.000Z</published><updated>2008-03-23T15:59:51.277Z</updated><title type='text'>Interesting Rate never changes?</title><content type='html'>Changing the torque values is coming along nicely. I've not looked at the issue involving manually creating schemas, but I've noticed that the &lt;span style="font-style: italic;"&gt;interestingRate&lt;/span&gt; field in &lt;span style="font-style: italic;"&gt;Schema&lt;/span&gt; is always 0. How does the learning mechanism work?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-6580627478586448518?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/6580627478586448518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=6580627478586448518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/6580627478586448518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/6580627478586448518'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/03/interesting-rate-never-changes.html' title='Interesting Rate never changes?'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-171102930207381785</id><published>2008-03-14T20:51:00.003Z</published><updated>2008-04-19T23:49:46.071+01:00</updated><title type='text'>Meeting 9</title><content type='html'>First one-to-one meeting with Frank. I explained the schema loading problem in detail, but he was unable to spot an obvious problem. It's beginning to annoy me as I originally wanted to have feature freeze by March 21st, and the ability to import schemas is central to making the learning simulation usable. Despite its importance, I'm putting this work on hold for the week to start on the learning task, which I've had to delay for a while as a result.&lt;br /&gt;&lt;br /&gt;The first part of the learning task involves adding a method to change the torque value applied to the arm. This will allow the arm to move with varying degrees of force before striking an object. With Frank's help, I've isolated the code where the torque value is generated and decided that the best way to change it is by adding a new "torque multiplier" argument to the appropriate methods in the &lt;span style="font-style: italic;"&gt;UpperArm&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;LowerArm&lt;/span&gt; classes. The multiplier will then be passed through from an updated Response object, which will contain the multiplier value.&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As was the case last week, I'm confident of getting this done by the next meeting. The Easter break is fast approaching and I'm hoping to stay as close to schedule as possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-171102930207381785?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/171102930207381785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=171102930207381785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/171102930207381785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/171102930207381785'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/03/meeting-9.html' title='Meeting 9'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-2202709391595544666</id><published>2008-03-07T23:46:00.003Z</published><updated>2008-03-08T01:10:51.769Z</updated><title type='text'>Meeting 8</title><content type='html'>Still working on loading the schema library. I'm often finding that there's "gaps" in the data being read from the file. This is probably caused by a bug in the &lt;span style="font-style: italic;"&gt;Schema.toString&lt;/span&gt; method, but I can't pin it down at the moment. I'd really like to use XML when exporting the library, rather than the comma separated values I have at the moment. I feel this would make things far easier when reading the file back into the program, but like everything else it depends on how much time I have.&lt;br /&gt;&lt;br /&gt;My learning task was described in more details, and can be broken down into two main parts. I'm expected to get the first part done by the next meeting. I'm fairly confident I can achieve this although I will be using a lot more of the graphics and physics code than I have up until now. Joey has written up a document formally explaining the aims, and Frank has offered to point me in the direction of the relevant code.&lt;br /&gt;&lt;br /&gt;Until now, myself and Daniel have been combining our code to create a stable, usable simulation. This will no longer be the case, as we are now working in different directions. Daniel will continue to work on the vision tasks, while I polish the GUI and work on causing secondary actions with the arm. As a result of this we will be holding separate weekly meetings with Frank from now on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-2202709391595544666?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/2202709391595544666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=2202709391595544666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/2202709391595544666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/2202709391595544666'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/03/meeting-8.html' title='Meeting 8'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-7375037431237465289</id><published>2008-03-05T00:31:00.000Z</published><updated>2008-03-07T00:44:15.556Z</updated><title type='text'>Integration Issues</title><content type='html'>There seems to be a problem with the Subversion repository. The code Daniel committed as Revision 9 has overwritten some of my Revision 8 changes. It's an easy enough, but time consuming fix. Especially when the point of the repository was to avoid this in the first place.&lt;br /&gt;&lt;br /&gt;I'm also finding a compiler error in the &lt;span style="font-style: italic;"&gt;Processor&lt;/span&gt; class. Arguments are being passed to a method without having been initialised, and I can't see what they are supposed to be. I'm still struggling to find consistent internet access, so I might not get a solution to this until our weekly meeting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-7375037431237465289?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/7375037431237465289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=7375037431237465289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7375037431237465289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7375037431237465289'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/03/integration-issues.html' title='Integration Issues'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-5331954310510526286</id><published>2008-03-02T16:22:00.000Z</published><updated>2008-03-07T00:23:08.505Z</updated><title type='text'>Creating new Schemas</title><content type='html'>Have just integrated the schema creation process into the GUI. My internet access has been restricted recently so I haven't committed changes to the Subversion repository in a while. I'm waiting on Daniel to commit his code before merging mine. The dialog has no real error checking, and the logic for choosing a &lt;span style="font-style: italic;"&gt;Schema&lt;/span&gt; constructor is a little rough, but it works! Loading schemas from a file should be relatively simple now that I can make use of these methods.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-5331954310510526286?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/5331954310510526286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=5331954310510526286' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/5331954310510526286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/5331954310510526286'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/03/creating-new-schemas.html' title='Creating new Schemas'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-7491213776621179996</id><published>2008-02-29T00:06:00.001Z</published><updated>2008-03-07T00:07:55.726Z</updated><title type='text'>Meeting 7</title><content type='html'>Finally, some progress! The export to file feature is working, albeit without the &lt;span style="font-style: italic;"&gt;JFileChooser&lt;/span&gt; component. I still want to implement this in the future if time allows. My next task is to finish the import feature, which should be made easier by implementing a process allowing schemas to be added manually. The main problem I'm finding with this is deciding which &lt;span style="font-style: italic;"&gt;Schema&lt;/span&gt; constructor should be called, depending on the values given in the GUI.&lt;br /&gt;&lt;br /&gt;Once the GUI is in a stable condition, Frank has suggested that I attempt to implement a learning task where the arm will strike an object from above with varying levels of force to create a noise. The faster the arm moves before the collision, the louder the noise it will make. I can see some problems arising from my lack of familiarity with the graphics and physics models, but it should be an interesting task to undertake.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-7491213776621179996?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/7491213776621179996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=7491213776621179996' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7491213776621179996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7491213776621179996'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/meeting-7.html' title='Meeting 7'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-6085241430030647545</id><published>2008-02-21T23:00:00.000Z</published><updated>2008-03-06T23:02:27.850Z</updated><title type='text'>Meeting 6</title><content type='html'>Not made a great deal of progress regarding loading and saving the schema library since the last meeting. Changing the &lt;span style="font-style: italic;"&gt;JFileChooser&lt;/span&gt; properties from the Netbeans GUI builder is the main problem I've encountered so far. I would prefer to use the &lt;span style="font-style: italic;"&gt;JFileChooser&lt;/span&gt; as it includes a lot of error-handling methods, but a simple text dialog box would be acceptable for now.&lt;br /&gt;&lt;br /&gt;I have also run into a problem with creating schemas manually in the GUI. Currently the &lt;span style="font-style: italic;"&gt;Schema&lt;/span&gt; object constructors require &lt;span style="font-style: italic;"&gt;State&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Response&lt;/span&gt; objects to be passed as arguments, complicating the GUI dialog. My solution to this for now is to create new &lt;span style="font-style: italic;"&gt;Schema&lt;/span&gt; constructors with take all the values stored by the schema and create the appropriate &lt;span style="font-style: italic;"&gt;States&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Responses&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-6085241430030647545?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/6085241430030647545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=6085241430030647545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/6085241430030647545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/6085241430030647545'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/meeting-6.html' title='Meeting 6'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-2269221031179059175</id><published>2008-02-18T14:02:00.002Z</published><updated>2008-02-18T14:12:01.801Z</updated><title type='text'>Meeting 5</title><content type='html'>&lt;p class="MsoNormal"&gt;Had  a short meeting this morning to check on progress.&lt;br /&gt;&lt;br /&gt;Daniel has written some interesting methods in the &lt;i&gt;Processor &lt;/i&gt;class to help with manually choosing a schema to execute. There was a discussion about the file format in which to save the schema library. It was decided that plain text is more suitable than a serialised object given the ability to edit the file by hand if needs be. As I am writing the load/save feature, creating a file format has also been assigned to me.&lt;br /&gt;&lt;br /&gt;I was also asked to implement a method of adding a schema to the library manually. This should be relatively simple, and I hope to have this done by the next meeting.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-2269221031179059175?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/2269221031179059175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=2269221031179059175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/2269221031179059175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/2269221031179059175'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/meeting-5.html' title='Meeting 5'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-7096703882838859575</id><published>2008-02-15T00:09:00.003Z</published><updated>2008-02-15T00:16:08.474Z</updated><title type='text'>Meeting 4</title><content type='html'>Daniel provided an archive containing the newest revision of his code. I've now merged my code and commited it to the subversion repository [revision 2]. My tasks for this week are to continue working on the GUI and, if possible, clean-up the &lt;span style="font-style: italic;"&gt;ListModel &lt;/span&gt;syncing.&lt;br /&gt;&lt;br /&gt;The main GUI task is to allow the loading and saving of schemas. Daniel is handling the backend and will most likely be dumping the schema library to a text file which can be parsed back in again. The frontend should be simple enough(!) as there is the &lt;span style="font-style: italic;"&gt;JFileChooser &lt;/span&gt;Swing component already written. Although I've never used this component the Swing API looks like it has &lt;a href="http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html"&gt;a helpful tutorial&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-7096703882838859575?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/7096703882838859575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=7096703882838859575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7096703882838859575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7096703882838859575'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/meeting-4.html' title='Meeting 4'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-7317632101085355907</id><published>2008-02-14T23:53:00.003Z</published><updated>2008-02-15T00:05:13.368Z</updated><title type='text'>ListModel problem solved (for now)</title><content type='html'>After looking at Daniel's newest version of the code, where the &lt;span style="font-style: italic;"&gt;Vectors &lt;/span&gt;containing &lt;span style="font-style: italic;"&gt;Schemas &lt;/span&gt;have been replaced by &lt;span style="font-style: italic;"&gt;ArrayLists&lt;/span&gt;, I have given up on automatically syncing the two data structures. The quick-and-dirty fix is simply to find every action which changes the &lt;span style="font-style: italic;"&gt;ArrayList&lt;/span&gt;, and perform the equivilent action in the &lt;span style="font-style: italic;"&gt;ListModel&lt;/span&gt;. This works well for the moment, and any progress is good, but I'd like to re-visit this and find a more elegant way to do it. One thought I have at the moment is to write an add/remove method in the &lt;span style="font-style: italic;"&gt;Processor &lt;/span&gt;class which would take a schema as a parameter and add/remove is from both structures. Something like this should act to keep things in sync, so long as it is used everytime in place of modifying the structures directly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-7317632101085355907?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/7317632101085355907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=7317632101085355907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7317632101085355907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7317632101085355907'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/listmodel-problem-solved-for-now.html' title='ListModel problem solved (for now)'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-6679792567777712498</id><published>2008-02-14T03:07:00.000Z</published><updated>2008-02-14T03:07:19.267Z</updated><title type='text'>Vectors and ListModels</title><content type='html'>For the last few days I've been trying to show the library of schemas and the current active schemas in &lt;span style="font-style: italic;"&gt;jLists &lt;/span&gt;on the GUI. Each list of schemas is currently stored in a public &lt;span style="font-style: italic;"&gt;Vector &lt;/span&gt;in the &lt;span style="font-style: italic;"&gt;Const &lt;/span&gt;class, so accessing and displaying them from the GUI should be easy.&lt;br /&gt;&lt;br /&gt;That seems to be only partly correct...&lt;br /&gt;&lt;br /&gt;Accessing the &lt;span style="font-style: italic;"&gt;Vector &lt;/span&gt;is fine, but displaying it in the &lt;span style="font-style: italic;"&gt;jList &lt;/span&gt;is causing a major problem. I think the problem is caused by using passing the &lt;span style="font-style: italic;"&gt;Vector &lt;/span&gt;directly to the &lt;span style="font-style: italic;"&gt;jList &lt;/span&gt;constructer. This is allowed, but doesn't seem to take into account changes to the &lt;span style="font-style: italic;"&gt;Vector &lt;/span&gt;itself. The solution looks like defining a &lt;span style="font-style: italic;"&gt;ListModel&lt;/span&gt;, and making changes to that rather than the &lt;span style="font-style: italic;"&gt;Vector&lt;/span&gt;.  The problem with this is that apart from writing my own &lt;span style="font-style: italic;"&gt;ListModel &lt;/span&gt;class, there doesn't seem to be a way to use a &lt;span style="font-style: italic;"&gt;Vector &lt;/span&gt;to create a &lt;span style="font-style: italic;"&gt;ListModel&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;After spending a few days on this, I'm starting to consider just writing my own &lt;span style="font-style: italic;"&gt;ListModel&lt;/span&gt;. Hopefully this will be simple enough, although I'd rather use a tested solution than hack together a link between such important components.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-6679792567777712498?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/6679792567777712498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=6679792567777712498' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/6679792567777712498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/6679792567777712498'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/vectors-and-listmodels.html' title='Vectors and ListModels'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-6792756168222189976</id><published>2008-02-11T01:21:00.000Z</published><updated>2008-02-11T01:23:23.268Z</updated><title type='text'>Subversion</title><content type='html'>&lt;a href="https://www.abdn.ac.uk/svn/csc245_piaget/"&gt;Our Subversion repository&lt;/a&gt; has been created! There's nothing in it yet, but that should change in a couple of days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-6792756168222189976?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/6792756168222189976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=6792756168222189976' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/6792756168222189976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/6792756168222189976'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/subversion.html' title='Subversion'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-8334405378092367605</id><published>2008-02-10T14:57:00.000Z</published><updated>2008-02-10T15:04:56.207Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='reading'/><title type='text'>Another Paper</title><content type='html'>&lt;a href="http://pigeonrat.psych.ucla.edu/200C/Brooks%201991%20Intel%20without%20rep.pdf"&gt;Intelligence without representation, Rodney A. Brooks (PDF)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Abstract:&lt;/span&gt;&lt;br /&gt;Brooks, R.A., Intelligence without representation, Artificial Intelligence 47 (1991) 139-159.&lt;br /&gt;&lt;br /&gt;Artificial intelligence research has foundered on the issue of representation. When intelligence is approached in an incremental manner, with strict reliance on interfacing to the real world through perception and action, reliance on representation disappears. In this paper we outline our approach to incrementally building complete intelligent Creatures. The fundamental decomposition of the intelligent system is not into independent information processing units which must interface with each other via representations. Instead, the intelligent system is decomposed into independent and parallel activity producers which all interface directly to the world through perception and action, rather than interface to each other particularly much. The notions of central and peripheral systems evaporate-- everything is both central and peripheral. Based on these principles we have built a very successful series of mobile robots which operate without supervision as Creatures in standard office environments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-8334405378092367605?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/8334405378092367605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=8334405378092367605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/8334405378092367605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/8334405378092367605'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/another-paper.html' title='Another Paper'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-3816862815233064621</id><published>2008-02-09T23:39:00.000Z</published><updated>2008-02-10T00:00:55.824Z</updated><title type='text'>Meeting 3</title><content type='html'>The GUI is progressing nicely after talking with Frank. The Start and Pause buttons are working. The Stop function is still causing problems, probably due to threading issues. Daniel is still working on the eye and arm code. Once the GUI is usable, my next task is to implement the third stage of Piagetian development. This involves the arm striking an object to produce an interesting result. The Project Plan has been handed in. Frank is going to talk to Ernesto Compatangelo about setting up a Subversion repository on the DIT servers. I've also got a fair bit of reading to do, but I'll create separate posts for each paper.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-3816862815233064621?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/3816862815233064621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=3816862815233064621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/3816862815233064621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/3816862815233064621'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/meeting-3.html' title='Meeting 3'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-2431828084207203864</id><published>2008-02-03T18:10:00.000Z</published><updated>2008-02-03T18:16:43.852Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='reading'/><title type='text'>Some more reading</title><content type='html'>&lt;a href="http://www.cs.utexas.edu/users/qr/papers/Chaput-phdtr-04.html"&gt;The Constructivist Learning Architecture: A Model of Cognitive Development for Robust Autonomous Robots&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Abstract:&lt;/b&gt;&lt;br /&gt;Autonomous robots are used more and more in remote and inaccessible places where they cannot be easily repaired if damaged or improperly programmed. A system is needed that would allow these robots to repair themselves by recovering gracefully from damage and adapting to unforeseen changes. Newborn infants employ such a system to adapt to a new and dynamic world by building a hierarchical model of their environment. This model allows them to respond robustly to changes by falling back to an earlier stage of knowledge, rather than failing completely. A computational model that replicates these phenomena in infants would a mobile robot the same adaptability and robustness that infants have. This dissertation presents such a model, the Constructivist Learning Architecture (CLA), that builds a hierarchical knowledge base using a set of interconnected self-organizing learning modules. This dissertation then demonstrates that CLA (1) replicates current studies in infant cognitive development, (2) builds sensorimotor schemas for robot control, (3) learns a goal-directed task from delayed rewards, and (4) can fall back and recover gracefully from damage. CLA is a new approach to robot control that allows robots to recover from damage or adapt to unforeseen changes in the environment. CLA is also a new approach to cognitive modeling that can be used to better understand how people learn for their environment in infancy and adulthood.&lt;br /&gt;&lt;br /&gt;It looks interesting, but a bit too much to read in one go. Parts 5 and 6 seem to be most relevent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-2431828084207203864?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/2431828084207203864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=2431828084207203864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/2431828084207203864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/2431828084207203864'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/some-more-reading.html' title='Some more reading'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-8210809437559526365</id><published>2008-02-01T01:59:00.000Z</published><updated>2008-02-01T02:01:08.067Z</updated><title type='text'>Threaded GUI Issues</title><content type='html'>Having some trouble getting the &lt;i&gt;LearnerMainFrame&lt;/i&gt; class to play nicely with my new GUI class (&lt;i&gt;LearnerUI&lt;/i&gt;). Controlling multiple threads is the main problem at the moment. Im going to check out the &lt;i&gt;SwingWorker&lt;/i&gt; class. It looks like it should do what I want, which is simply to start and stop (and if possible, pause) the &lt;i&gt;LearnerMainFrame&lt;/i&gt; without killing the &lt;i&gt;LearnerUI&lt;/i&gt; instance.&lt;br /&gt;&lt;br /&gt;I'm considering  changing the &lt;i&gt;LearnerMainFrame&lt;/i&gt; class to add new methods start, stop and pause methods, but I'm a little wary about making changes to common code without a real VCS. I raised the issue of setting up a &lt;a href="http://subversion.tigris.org/"&gt;Subversion &lt;/a&gt;repository in Meeting 1, but it was considered unnecessary at this stage. I'll raise it again next week.&lt;br /&gt;&lt;br /&gt;Like the rest of the project, the GUI has become far more complicated. I'm hoping it becomes a little easier once I get used to using Swing again!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-8210809437559526365?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/8210809437559526365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=8210809437559526365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/8210809437559526365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/8210809437559526365'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/02/threaded-gui-issues.html' title='Threaded GUI Issues'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-7298085794562266878</id><published>2008-01-31T18:21:00.000Z</published><updated>2008-01-31T18:39:26.527Z</updated><title type='text'>Meeting 2</title><content type='html'>Vision code is now working with random schemas. Daniel is taking starting work on the arm until the GUI is ready.&lt;br /&gt;&lt;br /&gt;I've had trouble installing the &lt;a href="http://www.eclipse.org/vep/WebContent/main.php"&gt;Eclipse Visual Editor&lt;/a&gt; plugin (It doesn't seem to be supported in Eclipse 3.3). I've installed &lt;a href="http://www.netbeans.org/"&gt;Netbeans 6&lt;/a&gt; to use the &lt;a href="http://www.netbeans.org/features/java/swing.html"&gt;Matisse GUI builder&lt;/a&gt;. It's impressed me so far. I might switch permanently to Netbeans once the GUI is stable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-7298085794562266878?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/7298085794562266878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=7298085794562266878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7298085794562266878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7298085794562266878'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/01/meeting-2.html' title='Meeting 2'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-8115259131774942851</id><published>2008-01-30T20:51:00.000Z</published><updated>2008-01-30T21:08:39.903Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='reading'/><title type='text'>Piaget</title><content type='html'>&lt;a href="http://books.google.co.uk/books?id=jYsEzeKHLNUC"&gt;&lt;i&gt;Made-Up Minds&lt;/i&gt;, Gary L. Drescher&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Chapter 2:&lt;/span&gt;&lt;br /&gt;A synopsis of Piaget's theory of the development of sensorimotor intelligence.&lt;br /&gt;Six stages within the sensorimotor period, each characterised by schemas that embody a new elaboration of problem solving.&lt;br /&gt;&lt;br /&gt;Piaget's ideas always made sense to me, and look like they would carry over to this project. Especially the idea of schemas representing actions. My first year developmental psychology notes could be useful here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-8115259131774942851?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/8115259131774942851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=8115259131774942851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/8115259131774942851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/8115259131774942851'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/01/piaget.html' title='Piaget'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4109657034997162885.post-7094464953327813981</id><published>2008-01-30T18:39:00.000Z</published><updated>2008-01-30T19:51:29.632Z</updated><title type='text'>First Post!</title><content type='html'>Firstly, I'm not much of a "Blogging" person. I definitely see the advantages to keeping notes on the progress of this project, but we'll see how long this lasts.&lt;br /&gt;&lt;br /&gt;Secondly, acknowledgements. I have been given some code to start working on. It seems pretty robust so- far! The graphics/physics model was taken from &lt;a href="http://uk.geocities.com/olivier_rebellion/"&gt;Olivier Renault&lt;/a&gt;'s &lt;a href="http://uk.geocities.com/olivier_rebellion/Polycolly.zip"&gt;PollyColly&lt;/a&gt; C++ demos and rewritten in Java by &lt;a href="http://www.csd.abdn.ac.uk/%7Efguerin/"&gt;Frank Guerin&lt;/a&gt;. The business logic was then added by Joey Lam.&lt;br /&gt;&lt;br /&gt;My first task is to write a GUI to show what's happening inside the business logic, and to allow schemas to be saved and loaded so that the "learning" doesn't have to start from scratch with every execution.&lt;br /&gt;&lt;br /&gt;The next task after that is to write the code that actually does the learning  regarding the movement of the arm. This will make heavy use of schemas and the "vision" code written by Daniel McKenzie.&lt;br /&gt;&lt;br /&gt;I'm probably getting ahead of myself...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4109657034997162885-7094464953327813981?l=myhonoursproject.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://myhonoursproject.blogspot.com/feeds/7094464953327813981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4109657034997162885&amp;postID=7094464953327813981' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7094464953327813981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4109657034997162885/posts/default/7094464953327813981'/><link rel='alternate' type='text/html' href='http://myhonoursproject.blogspot.com/2008/01/first-post.html' title='First Post!'/><author><name>Peter</name><uri>http://www.blogger.com/profile/13384637327304647442</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
