<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">
<link rel=File-List href="cid:filelist.xml@01C57E50.FBAAB7C0">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:ActiveWritingStyle Lang="EN-US" VendorID="64" DLLVersion="131078" 
   NLCheck="1">1</w:ActiveWritingStyle>
  <w:GrammarState>Clean</w:GrammarState>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:EnvelopeVis/>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;
        text-underline:single;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Courier New";
        mso-fareast-font-family:"Times New Roman";}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 77.95pt 1.0in 77.95pt;
        mso-header-margin:.5in;
        mso-footer-margin:.5in;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:1922761668;
        mso-list-type:hybrid;
        mso-list-template-ids:411749074 -373764430 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:24.0pt;
        mso-level-number-position:left;
        margin-left:24.0pt;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */ 
 table.MsoNormalTable
        {mso-style-name:"Table Normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0in 5.4pt 0in 5.4pt;
        mso-para-margin:0in;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>

<div class=Section1>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Hello,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span>I am trying to scan and
encode objects that aren't of the predefined types and which will have
different (more) slots describing properties of the visual objects.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>To accomplish <span class=GramE>this a</span> new <font color=blue><span
style='color:blue'>icon-feature</span></font> subclass was created (called <font
color=blue><span style='color:blue'>aircraft-icon</span></font>) and it was
given an initial additional slot called <font color=blue><span
style='color:blue'>direction</span></font> (indicating the orientation of the
aircraft icon with respect to a fixed location).<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>(<span class=GramE>defclass</span> aircraft-icon (actr:icon-feature)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span>((actr<span class=GramE>:direction</span>
:accessor actr:direction :initarg :direction<o:p></o:p></span></font></p>

<p class=MsoPlainText style='text-indent:.5in'><font size=2 face="Courier New"><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'> </span><span
class=GramE>:initform</span> 0))<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span>(<span class=GramE>:default</span>-initargs<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>   </span><span class=GramE>:kind</span>
'actr:visual-object))<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Additionally, <font color=blue><span style='color:blue'>build-group-features-for</span></font>
methods were specialized on this new aircraft-icon to compute and fill in the
visicon properly (with the new slot). <o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>When I run such a system, I can initiate visual-location requests like:<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>+visual-location><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span><span class=GramE>isa</span><span
style='mso-spacerun:yes'>    </span>visual-location<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span><span class=GramE>kind</span><span
style='mso-spacerun:yes'>   </span>visual-object<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span><span class=GramE>value</span><span
style='mso-spacerun:yes'>  </span>:friendly <span
style='mso-spacerun:yes'>  </span><-- that slot is set in the
build-group-features-for<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>This works, and I can then do a move-attention in the visual module
given the retrieved visual-location.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'> </span><o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>However, there is no direction slot in the chunk. If I change the slot
setting of, <span class=GramE>say, :height</span> in build-groups-features-for
to the result of computing the aircraft direction, then the chunk will have the
direction instead of height specified.<span style='mso-spacerun:yes'> 
</span>But there won’t be a direction slot at all.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>To get the direction slot, I changed my definition of the aircraft-icon
class to set the default value for kind to something other than visual-object<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>(<span class=GramE>defclass</span> aircraft-icon (actr:icon-feature)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span>((actr<span class=GramE>:direction</span>
:accessor actr:direction :initarg :direction<o:p></o:p></span></font></p>

<p class=MsoPlainText style='text-indent:.5in'><font size=2 face="Courier New"><span
style='font-size:10.0pt'><span style='mso-spacerun:yes'> </span><span
class=GramE>:initform</span> 0))<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span>(<span class=GramE>:default</span>-initargs<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>   </span><span class=GramE>:kind</span>
<font color=blue><span style='color:blue'>'actr::aircraft-object</span></font>))<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><span class=GramE><font size=2 face="Courier New"><span
style='font-size:10.0pt'>and</span></font></span> then, in my model, put <o:p></o:p></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span>(<span class=GramE>chunk-type</span>
(aircraft-object (:include visual-object)) direction)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span>(<span class=GramE>define-chunks</span>
(aircraft-object isa chunk))<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>With this change I know do visual-requests where the KIND slot is
aircraft-object and when I run my model, the visual chunk returned does have
the direction slot in it.<span style='mso-spacerun:yes'>  </span>However,
it was always NIL (even though it was set properly in the visicon –
inspecting that when all was done had the correct values in the visicon objects).<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>I then proceeded to add a method <font color=blue><span
style='color:blue'>feat-to-dmo</span></font> specialized on the aircraft-icon
class identical to the default with one exception – I added <span
class=GramE>a direction</span> filler.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>(<span class=GramE>defmethod</span> actr::feat-to-dmo ((feat
aircraft-icon))<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>   </span>(<span class=GramE>setf</span>
(actr::attended-p feat) t)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>   </span>(<span class=GramE>actr</span>::make-dme
(actr::dmo-id feat) (actr::kind feat)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>                  
</span><span class=GramE>`(</span>actr::screen-pos ,(actr::id (actr::xy-to-dmo
(actr::xy-loc feat) t))<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>                                     
</span><span class=GramE>actr::value ,(</span>actr::val feat)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>                                     
</span><span class=GramE>actr::color ,(</span>actr::color feat)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>                                     
</span><span class=GramE>actr::height ,(</span>actr::height feat)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>                                     
</span><span class=GramE>actr::width ,(</span>actr::width feat)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>                                     
</span><span class=GramE><font color=blue><span style='color:blue'>actr::direction
,(</span></font></span><font color=blue><span style='color:blue'>actr::direction
feat</span></font>)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>                                     
</span>)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>                  
</span><span class=GramE>:obj</span> (actr::screen-obj feat)<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span
style='mso-spacerun:yes'>                  
</span><span class=GramE>:where</span> :external))<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Now, everything works.<span style='mso-spacerun:yes'>  </span>But
I am wondering if what I have done is the proper method for manipulating
specialized icon objects in the vision module. My questions (in summary):<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText style='margin-left:24.0pt;text-indent:-.25in;mso-list:
l0 level1 lfo1;tab-stops:list 24.0pt'><![if !supportLists]><font size=2
face="Courier New"><span style='font-size:10.0pt;mso-fareast-font-family:"Courier New"'><span
style='mso-list:Ignore'>1)<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>    </span></font></span></span></font><![endif]>Is
this the proper way to be adding new visual object types to the system for
accessing special slots and such?<span style='mso-spacerun:yes'>  </span>(<span
class=GramE>ie</span> adding that feat-to-dmo method specialized on
aircraft-icon??) <o:p></o:p></p>

<p class=MsoPlainText style='margin-left:24.0pt;text-indent:-.25in;mso-list:
l0 level1 lfo1;tab-stops:list 24.0pt'><![if !supportLists]><font size=2
face="Courier New"><span style='font-size:10.0pt;mso-fareast-font-family:"Courier New"'><span
style='mso-list:Ignore'>2)<font size=1 face="Times New Roman"><span
style='font:7.0pt "Times New Roman"'>    </span></font></span></span></font><![endif]>Those
two lines that I placed in my model seem like they should be somewhere in the code
where the aircraft-icon feature is defined. However, unless I put them in the
model, anytime (clear-all) is called, the chunk types go away and they no
longer exist for use in the productions.<span style='mso-spacerun:yes'> 
</span>I could put and <span class=GramE>advice function</span> around the
function reset-vision-module (which is where all the basic vision chunks are
defined) but that doesn’t seem to be a clean way to change things. <o:p></o:p></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Sorry for the long winded question.<span
style='mso-spacerun:yes'>  </span>I’m new to this and want to know
how to do these things properly.<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'>Thank you,<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><span style='mso-spacerun:yes'>  </span>Shawn Nicholson<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>=======================================<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>Shawn Nicholson<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>Research Engineer<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>D.N. American<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>shawn.nicholson@dnamerican.com<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>Ph: (304) 363-6757<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>Public PGP/GPG Key ID: 0x24A58D96<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'>=======================================<o:p></o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt;mso-no-proof:yes'><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=2 face="Courier New"><span style='font-size:
10.0pt'><o:p> </o:p></span></font></p>

</div>

</body>

</html>