<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:298612256;
        mso-list-type:hybrid;
        mso-list-template-ids:-386634706 -1 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>What ways have people used to automatically generate X3D (VRML) for testing?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I can think of a few approaches:</p><p class=MsoNormal><o:p> </o:p></p><ol style='margin-top:0in' start=1 type=1><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Schema or language driven fuzzy testing, possibly with a probabilistic language or schema.</li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Assume the X3D is being generated by separate sensors, one per tag or class.  Sensors or queue servers will also generate references between inputs to create a hierarchy or graph. References will have a type associated with them. Fragments will be bound at references with DEF or USE attributes, if possible. Program the sensors and queue servers with existing X3D files. Thus X3D files will be emulated/simulated with multisensor input data with references between the input data.   This might be similar to a discrete event model generating work for a system.  Brian, is this the idea behind the universal translator?</li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Same as 2, but everything is thrown into a soup instead of queues, and the servers are given locomotion and grasping capabilities.  I call this the “Enzyme Approach.”  I believe this may be a P-system approach as well.</li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Some kind of combination between 2 and 3. Unsure what this is so far.</li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Do some kind of 3D image reconstruction/vision software.</li><li class=MsoListParagraph style='margin-left:0in;mso-list:l0 level1 lfo1'>Others?</li></ol><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am starting to take the approach 2, and wonder if anyone has feedback on the approach, or any other approach used, especially for generating good test cases.  References on automatically generating XML examples are welcome.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>One thing I am think of is that I will need multiple queue servers for each number of children of a particular node, all serving the same queue.   What do you think?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Any output from the above techniques will be checked with schema, schematron and validated with X3DJSAIL.  It is possible that the result of validation will be fed back into the X3D generation programs (how?).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If I do do 2, how can I possibly tune the queues for best performance?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>