File:  [LON-CAPA] / doc / gutshtml / SessionThre1.html
Revision 1.2: download - view: text, annotated - select for diffs
Tue Jul 22 14:47:00 2003 UTC (20 years, 9 months ago) by bowersj2
Branches: MAIN
CVS tags: version_2_9_X, version_2_9_99_0, version_2_9_1, version_2_9_0, version_2_8_X, version_2_8_99_1, version_2_8_99_0, version_2_8_2, version_2_8_1, version_2_8_0, version_2_7_X, version_2_7_99_1, version_2_7_99_0, version_2_7_1, version_2_7_0, version_2_6_X, version_2_6_99_1, version_2_6_99_0, version_2_6_3, version_2_6_2, version_2_6_1, version_2_6_0, version_2_5_X, version_2_5_99_1, version_2_5_99_0, version_2_5_2, version_2_5_1, version_2_5_0, version_2_4_X, version_2_4_99_0, version_2_4_2, version_2_4_1, version_2_4_0, version_2_3_X, version_2_3_99_0, version_2_3_2, version_2_3_1, version_2_3_0, version_2_2_X, version_2_2_99_1, version_2_2_99_0, version_2_2_2, version_2_2_1, version_2_2_0, version_2_1_X, version_2_1_99_3, version_2_1_99_2, version_2_1_99_1, version_2_1_99_0, version_2_1_3, version_2_1_2, version_2_1_1, version_2_1_0, version_2_12_X, version_2_11_X, version_2_11_4_uiuc, version_2_11_4_msu, version_2_11_4, version_2_11_3_uiuc, version_2_11_3_msu, version_2_11_3, version_2_11_2_uiuc, version_2_11_2_msu, version_2_11_2_educog, version_2_11_2, version_2_11_1, version_2_11_0_RC3, version_2_11_0_RC2, version_2_11_0_RC1, version_2_11_0, version_2_10_X, version_2_10_1, version_2_10_0_RC2, version_2_10_0_RC1, version_2_10_0, version_2_0_X, version_2_0_99_1, version_2_0_2, version_2_0_1, version_2_0_0, version_1_99_3, version_1_99_2, version_1_99_1_tmcc, version_1_99_1, version_1_99_0_tmcc, version_1_99_0, version_1_3_X, version_1_3_3, version_1_3_2, version_1_3_1, version_1_3_0, version_1_2_X, version_1_2_99_1, version_1_2_99_0, version_1_2_1, version_1_2_0, version_1_1_X, version_1_1_99_5, version_1_1_99_4, version_1_1_99_3, version_1_1_99_2, version_1_1_99_1, version_1_1_99_0, version_1_1_3, version_1_1_2, version_1_1_1, version_1_1_0, version_1_0_99_3, version_1_0_99_2, version_1_0_99_1, version_1_0_99, version_1_0_3, version_1_0_2, version_1_0_1, version_1_0_0, version_0_99_5, version_0_99_4, loncapaMITrelate_1, language_hyphenation_merge, language_hyphenation, bz6209-base, bz6209, HEAD, GCI_3, GCI_2, GCI_1, BZ4492-merge, BZ4492-feature_horizontal_radioresponse, BZ4492-feature_Support_horizontal_radioresponse, BZ4492-Support_horizontal_radioresponse
Convert GUTs HTML to PROPER line endings.

    1: <html>
    2: <head>
    3: <meta name=Title
    4: content="Session Three: Publication, Content Maps, Course Maps (Gerd)">
    5: <meta http-equiv=Content-Type content="text/html; charset=macintosh">
    6: <title>Session Three: Publication, Content Maps, Course Maps (Gerd)</title>
    7: <style><!--
    8: .Section1
    9: 	{page:Section1;}
   10: .Section2
   11: 	{page:Section2;}
   12: -->
   13: </style>
   14: </head>
   15: <body bgcolor=#FFFFFF class="Normal" lang=EN-US>
   16: <div class=Section1> 
   17:   <h2>Session Three: Publication, Content Maps, Course Maps (Gerd)</h2>
   18:   <h3><a name="_Toc514840855"></a><a name="_Toc421867109">Publication of a Resource</a></h3>
   19:   <p>Authors can only write-access the<i> </i><span
   20: style='font-family:"Courier New";font-style:normal'>/~</span><span
   21: style='font-family:"Courier New"'><i>authorname</i></span><span
   22: style='font-family:"Courier New"'>/</span> space. They can copy resources into 
   23:     the resource area through the publication step, and move them back through 
   24:     a recover step. Authors do not have direct write-access to their resource 
   25:     space. </p>
   26:   <div class=Section9>
   27:     <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt'>
   28:       <p style='border:none;padding:0in'><span
   29: style='font-size:14.0pt'><b>Construction space</b></span><span
   30: style='font-size:14.0pt'> </span><span style='font-size:14.0pt;font-family:
   31: Wingdings'>ˆ</span><span style='font-size:14.0pt'> Publication Step </span><span
   32: style='font-size:14.0pt;font-family:Wingdings'>ˆ</span><span style='font-size:
   33: 14.0pt'> <b>Resource space</b></span></p>
   34:       <p style='border:none;padding:0in'><span style='font-size:14.0pt'> </span><span
   35: style='font-size:14.0pt;font-family:Wingdings'>§</span><span style='font-size:
   36: 14.0pt'> Retrieve </span><span style='font-size:14.0pt;font-family:Wingdings'>§</span> 
   37:       </p>
   38:     </div>
   39:     <p>During the publication step, several events will be triggered. Metadata 
   40:       is gathered, where a wizard manages default entries on a hierarchical per-directory 
   41:       base: The wizard imports the metadata (including access privileges and royalty 
   42:       information) from the most recent published resource in the current directory, 
   43:       and if that is not available, from the next directory above, etc. The Network 
   44:       keeps all previous versions of a resource and makes them available by an 
   45:       explicit version number, which is inserted between the file name and extension, 
   46:       for example <span style='font-family:"Courier New"'>foo.2.html</span>, while 
   47:       the most recent version does not carry a version number (<span
   48: style='font-family:"Courier New"'>foo.html</span>). Servers subscribing to a changed 
   49:       resource are notified that a new version is available.</p>
   50:     <h3><a name="_Toc514840857"></a><a name="_Toc421867110">Content Re-usage and 
   51:       Granularity</a></h3>
   52:     <p>Any faculty participating in the Network can publish their own learning 
   53:       resources into the common pool. To that end, the Network provides a Òconstruction 
   54:       spaceÓ which is only accessible to the author, and a publication process, 
   55:       which transfers the material to the shared pool Ð during the publication 
   56:       process, metadata about the resource is gathered, and system-wide update 
   57:       notification and versioning mechanisms are triggered..</p>
   58:     <p>Learning resources could be simple paragraphs of text, movies, applets, 
   59:       individualizing homework problems, etc. In addition to providing a distributed 
   60:       digital library with mechanisms to store and catalog these resources, the 
   61:       Network enables faculty to combine and sequence these resources at several 
   62:       levels: An instructor from Community College A could combine a text paragraph 
   63:       from University B with a movie from College C and an online homework problem 
   64:       from Publisher D, to form one page. Another instructor from High School 
   65:       E can take that page from Community College A and combine it with other 
   66:       pages into a module, unit or chapter. Those in turn can be combined into 
   67:       whole coursepacks. Faculty can design their own curricula from existing 
   68:       and newly created resources instead of having to buy into a complete off-the-shelf 
   69:       product.</p>
   70:     <p><b>Fig. 2.3.1</b><span style='font-weight:normal'> shows a general overview 
   71:       of the resource assembly mechanism and the different levels of content granularity 
   72:       supported by the current implementation of this principle. The topmost puzzle 
   73:       piece represents a resource at the fragment level Ð one GIF, one movie, 
   74:       one paragraph of text, one problem, or one regular web page. Attached to 
   75:       the resource is metadata gathered at the publication time of the resource.</span></p>
   76:     <p>Using the resource assembly tool described below, these fragments and pages 
   77:       can be assembled into a page. A page is a resource of the grain size which 
   78:       would be rendered as one page on the web and/or on the printer.</p>
   79:     <p>Using the same tool, fragments (which would then be rendered as standalone 
   80:       pages), pages and sequences can be assembled into sequences. Sequences are 
   81:       resources which are rendered a sequence of pages, not necessarily linear. 
   82:       Examples are one lesson, one chapter, or one learning cycle</p>
   83:     <p>On the third granularity level, fragments (rendered as standalone pages), 
   84:       pages, and sequences can be assembled into courses. Courses are a sequence 
   85:       which represents the entirety of the resources belonging to a learning unit 
   86:       into which learners can be enrolled. Examples are a University one-semester 
   87:       course, a</p>
   88:     <p>workshop, or a High School class.</p>
   89:     <p align=center style='text-align:center'><img border=0
   90: width=291 height=436 id="_x0000_i1029" src="handout_files/image005.png"></p>
   91:     <p><span style='font-size:14.0pt'><b>Fig. 2.1.1</b></span><span
   92: style='font-size:14.0pt'> Ð Resource Assembly</span></p>
   93:     <h3><a name="_Toc514840858"></a><a name="_Toc421867111">Maps</a></h3>
   94:     <p>To increase the utility of the materials, the number of hard-coded hyperlinks 
   95:       between the resources should be minimized. The actual combining and sequencing 
   96:       is part of the system functionality and driven by external &quot;roadmaps&quot;, 
   97:       which are constructed by the instructors. With this mechanism, one and the 
   98:       same resource can be part of different courses in different contexts. The 
   99:       soft-linking makes it possible to import only the desired set of resources 
  100:       without effectively importing additional parts another instructors resources 
  101:       through hard-linked menus or &quot;next page&quot; buttons that might resided 
  102:       on those resources.</p>
  103:     <h3><a name="_Toc514840859"></a><a name="_Toc421867112">Curriculum Adaptivity</a></h3>
  104:     <p>Maps allow for conditional choices and branching points. The actual path 
  105:       through and presentation of the learning resources is determined by instructor-specified 
  106:       combinations of learner choices and system-generated adaptations (for example, 
  107:       if the learner does not pass a test, additional resources may be included). 
  108:       Each learner can have an individualized curriculum according to preferences, 
  109:       capabilities and skills.</p>
  110:     <p>These maps can be generated at different levels of granularity with a graphical 
  111:       tool, or in an automated way through custom scripts.</p>
  112:     <h3><a name="_Toc514840860"></a><a name="_Toc421867113">Resource Assembly 
  113:       Tool</a></h3>
  114:     <p>The Network provides the Resource Assembly Tool as one means to generate 
  115:       maps. The Resource Assembly Tool provides a graphical user interface inside 
  116:       of a standard web browser. The current implementation is written in JavaScript. 
  117:     </p>
  118:     <p><b>Fig. 2.3.2</b><span style='font-weight:normal'> shows screenshots of 
  119:       the current implementation. The interface usually consists of two browser 
  120:       windows, one resizable one with a frameset that contains the menu and the 
  121:       map under construction, and a multipurpose non-resizable window that displays 
  122:       information and input forms.</span></p>
  123:     <p>When a new map is started, it only has a start and a finish resources. 
  124:       The author can then enlarge the map area and insert resources into it.</p>
  125:     <p>In <b>Fig. 2.3.2A</b><span style='font-weight:normal'>, the author is editing 
  126:       information about a resource in the map after clicking on the box representing 
  127:       the resource in the map. In the dialog, the author can enter a map-internal 
  128:       title for the resource, which is displayed to the learners when navigating 
  129:       the maps. In the same dialog, the author will specify the URL of the resource, 
  130:       which can either be internal to the Network, or any URL of a web page outside 
  131:       of it. For internal resources, the author can also browse the Network filesystem 
  132:       or search the resource metadata to locate an appropriate resource.</span></p>
  133:     <p><span style='font-size:14.0pt'><b><img border=0 width=431
  134: height=327 id="_x0000_i1030" src="handout_files/image006.jpg">Fig. 2.3.2A</b></span><span
  135: style='font-size:14.0pt'> Ð </span><span style='font-size:12.0pt'>Example, Graphical 
  136:       User Interface of Resource Assembly Tool</span></p>
  137:     <p>The resource priority can be chosen. A resource can be Òregular,Ó ÒmandatoryÓ 
  138:       or Òoptional.Ó These resource priorities are only used in book-keeping of 
  139:       earned points by the learners. Within the map, resources of different priorities 
  140:       are displayed in different colors.</p>
  141:     <p>The dialog also allows for two modes of removing the resource from the 
  142:       map: deleting it from the map including every link to and from it, and deleting 
  143:       it while reconnecting any links that went through the resource. As an example, 
  144:       resources A and B might both connect to resource C, and resource C might 
  145:       connect to D. When removing C from the map using the first option, A and 
  146:       B will not be connected to D anymore. Using the second option, in the end, 
  147:       A will connect to D, and B will connect to D. In the latter case, the Resource 
  148:       Assembly tool will also handle link conditions correctly: if A connected 
  149:       to C under condition 1, and C connected to D under condition 2, then in 
  150:       the end A will connect to D under a new condition which is (1 AND 2).</p>
  151:     <p>Finally, this dialog allows the author to connect the resource to another 
  152:       resource (or itself) through a new link. When selecting this option, the 
  153:       Resource Assembly Tool goes into link mode, and will link the current resource 
  154:       to the next resource clicked on (unless the action is cancelled).</p>
  155:     <p><img border=0 width=431 height=327 id="_x0000_i1031"
  156: src="handout_files/image007.jpg"></p>
  157:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.2B</b></span><span
  158: style='font-size:14.0pt'> Ð </span><span style='font-size:12.0pt'>Example, Graphical 
  159:       User Interface of Resource Assembly Tool</span></p>
  160:     <p><b>Fig. 2.3.2B</b><span style='font-weight:normal'> shows the Resource 
  161:       Assembly Tool in info mode, that is, when no specific component of the map 
  162:       is edited, and if the Tool is not in link mode. In info mode, the contents 
  163:       of the dialog window change dynamically as the mouse is moved over the components 
  164:       of the map. In this case, the mouse pointer is over the link condition between 
  165:       two resources. The dialog window shows the titles of the connected resources, 
  166:       as well as the condition priority. In this scenario, the condition priority 
  167:       is set such that the link cannot be taken (Òis blockedÓ) if the condition 
  168:       is false. The condition priority can also be set such that the link is recommended 
  169:       if the condition is true (possibly giving the learner several options where 
  170:       to go next), or that the link has to be taken (Òis forcedÓ) over any other 
  171:       possible link if the condition is true. Within the map, conditions of different 
  172:       priorities are displayed in different colors. If the author now were to 
  173:       click on the condition, the Tool would go into edit mode, and the condition 
  174:       could be edited.</span></p>
  175:     <p><b>Fig. 2.3.2C</b><span style='font-weight:normal'> shows the Tool in edit 
  176:       mode for the link between the resource titles displayed. The author can 
  177:       remove the link, or insert a new resource into the link.</span></p>
  178:     <p>Obviously, by this mechanism, rather complex maps can be generated. These 
  179:       are different from binary trees, both because branches can loop back, and 
  180:       because branches can be re-united Ð in fact, most branches re-unite in the 
  181:       finish resources. Into each link, a condition with one of three different 
  182:       priorities can be attached. Whether or not a certain resource in the map 
  183:       can be displayed depends on whether or not it can be reached through any 
  184:       path along allowed links, starting with the start resource of the course. 
  185:       If a resource is not linked to, it is assumed to be accessible if the map 
  186:       which it is part of is accessible.</p>
  187:     <p><img border=0 width=431 height=327 id="_x0000_i1032"
  188: src="handout_files/image008.jpg"></p>
  189:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.2C</b></span><span
  190: style='font-size:14.0pt'> Ð </span><span style='font-size:12.0pt'>Example, Graphical 
  191:       User Interface of Resource Assembly Tool </span></p>
  192:     <h3><a name="_Toc514840861"></a><a name="_Toc421867114">Map Representation 
  193:       and Storage Format</a></h3>
  194:     <p><b>Fig. 2.3.3</b><span style='font-weight:normal'> shows the XML representation 
  195:       of the resource map constructed in </span><b>Fig. 2.3.2</b><span
  196: style='font-weight:normal'>, which is the format in which maps are stored. In 
  197:       the figure, however, additional graphical map layout information generated 
  198:       by the Resource Assembly Tool is not displayed. This graphical information 
  199:       is optional to re-generate the same graphical layout when the map is brought 
  200:       up again in the Resource Assembly Tool, and is not needed for any other 
  201:       system functionality.</span></p>
  202:     <p>Maps can be generated by tools other than the Resource Assembly Tool. In 
  203:       particular, an author might have some other representation of a course sequence, 
  204:       which can be converted into a map using scripts. If this map then were to 
  205:       be brought up in the Resource Assembly Tool, the Tool would automatically 
  206:       generate a graphical layout for it. Each entry of the map (resources, conditions 
  207:       and links) is stored in a separate tag. </p>
  208:     <p>Resources and conditions have to have unique ID numbers. These numbers 
  209:       are automatically generated by the Resource Assembly Tool when the entry 
  210:       is first created, or added to the entries when a map generated outside the 
  211:       Resource Assembly Tool is first retrieved. They can also be assigned by 
  212:       custom scripts or added in by hand.</p>
  213:     <p>In this example, <b>Fig. 2.3.3</b><span style='font-weight:
  214: normal'>, entry 1 is the start resource of the map Ð when this map is accessed, 
  215:       the source (src) URL of this tag will be the first resource rendered. Entry 
  216:       2 is the finish resource of this map. This resource will be the last resource 
  217:       in the sequence of resources. Entry 6 is a problem resource with the given 
  218:       URL and title, as well as the priority ÒmandatoryÓ. Entry 19 is a condition, 
  219:       which is used by the link between entries 6, the problem, and 9, a sequence. 
  220:       <i>The final syntax for conditions has not yet been determined.</i></span></p>
  221:     <table border=1 cellspacing=0 cellpadding=0>
  222:       <tr> 
  223:         <td width=443 valign=top class="Normal"> 
  224:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>
  225:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot; 
  226:             </span></p>
  227:           <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/korte/phy231welcome.html&quot; 
  228:             </span></p>
  229:           <p class=Preformatted><span style='font-size:8.0pt'> type=&quot;start&quot; 
  230:             </span></p>
  231:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>
  232:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot; 
  233:             </span></p>
  234:           <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;&quot; 
  235:             type=&quot;finish&quot; </span></p>
  236:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>
  237:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;6&quot; 
  238:             </span></p>
  239:           <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/korte/tests/units.problem&quot; 
  240:             </span></p>
  241:           <p class=Preformatted><span style='font-size:8.0pt'> type=&quot;mandatory&quot; 
  242:             </span></p>
  243:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Physical 
  244:             Units Test&quot;&gt;&lt;/resource&gt;</span></p>
  245:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;9&quot; 
  246:             </span></p>
  247:           <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/korte/chapters/onedim.sequence&quot; 
  248:             </span></p>
  249:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Motion 
  250:             in One Dimension&quot;&gt;&lt;/resource&gt;</span></p>
  251:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;11&quot; 
  252:             </span></p>
  253:           <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/bauer/bridges/units.sequence&quot; 
  254:             </span></p>
  255:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Physical 
  256:             Units Refresher&quot;&gt;&lt;/resource&gt;</span></p>
  257:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;19&quot; 
  258:             </span></p>
  259:           <p class=Preformatted><span style='font-size:8.0pt'> type=&quot;stop&quot; 
  260:             </span></p>
  261:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./res/msu/korte/tests/units.problem].status=solved&quot;&gt;</span></p>
  262:           <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
  263:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot; 
  264:             to=&quot;6&quot;&gt;&lt;/link&gt;</span></p>
  265:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
  266:             to=&quot;9&quot; condition=&quot;19&quot;&gt;&lt;/link&gt;</span></p>
  267:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
  268:             to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>
  269:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot; 
  270:             to=&quot;6&quot;&gt;&lt;/link&gt;</span></p>
  271:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>
  272:         </td>
  273:       </tr>
  274:     </table>
  275:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.3</b></span><span
  276: style='font-size:14.0pt'> Ð XML representation of the map in Fig. 2.3.2C (non-graphical 
  277:       information only).</span></p>
  278:     <h3><a name="_Toc514840866"></a><a name="_Toc514840862"></a><a
  279: name="_Toc514920452"></a><a name="_Toc421867115">Example of Nested Maps</a></h3>
  280:     <p><b>Fig. 2.3.4 </b><span style='font-weight:normal'>shows the XML representation 
  281:       of three maps which are imported into each other. </span><b>Fig. 2.3.4B</b><span style='font-weight:normal'> 
  282:       is the sequence that is referenced as resource 9 in the course map </span><b>Fig. 
  283:       2.3.4A</b><span
  284: style='font-weight:normal'>. In the resulting map, the entry point of resource 
  285:       9 in </span><b>Fig. 2.3.4A</b><span style='font-weight:normal'> is in fact 
  286:       the entry point of the start resource of </span><b>Fig. 2.3.4B</b><span
  287: style='font-weight:normal'>, namely, resource 1 there. The exit point of resource 
  288:       9 in </span><b>Fig. 2.3.4A</b><span style='font-weight:normal'> is the exit 
  289:       point of the finish resource of </span><b>Fig. 2.3.4B</b><span
  290: style='font-weight:normal'>, namely, resource 2 there.</span></p>
  291:     <p><b>Fig. 2.3.4C</b><span style='font-weight:normal'> is the page which is 
  292:       referenced as resource 24 in </span><b>Fig. 2.3.4B</b><span
  293: style='font-weight:normal'>.</span></p>
  294:     <p>A course can easily contain several hundreds of these nested maps. Since 
  295:       the accessibility of each individual resource in the course depends on the 
  296:       state of all possible paths linking it to the start resource of the course 
  297:       across all intermediate maps, the computation and disk-I/O effort per single 
  298:       transaction could quickly become prohibitive. Thus, all maps and conditions 
  299:       are compiled into a pre-processed binary data structure at the start of 
  300:       a session.</p>
  301:     <table border=1 cellspacing=0 cellpadding=0>
  302:       <tr> 
  303:         <td width=442 valign=top class="Normal"> 
  304:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>
  305:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot; 
  306:             src=&quot;&quot; type=&quot;start&quot; title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>
  307:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot; 
  308:             src=&quot;&quot; type=&quot;finish&quot; title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>
  309:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;5&quot; 
  310:             src=&quot;/res/msu/korte/tests/pretest.problem&quot; type=&quot;mandatory&quot; 
  311:             </span></p>
  312:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Pretest&quot;&gt;&lt;/resource&gt;</span></p>
  313:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;9&quot; 
  314:             src=&quot;/res/msu/korte/parts/part1.sequence&quot; type=&quot;mandatory&quot; 
  315:             </span></p>
  316:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Part 
  317:             1&quot;&gt;&lt;/resource&gt;</span></p>
  318:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;11&quot; 
  319:             src=&quot;/res/msu/korte/tests/midterm.sequence&quot; type=&quot;mandatory&quot; 
  320:             </span></p>
  321:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Midterm&quot;&gt;&lt;/resource&gt;</span></p>
  322:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;15&quot; 
  323:             src=&quot;/res/msu/korte/parts/part2.sequence&quot; type=&quot;mandatory&quot; 
  324:             </span></p>
  325:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Part 
  326:             2&quot;&gt;&lt;/resource&gt;</span></p>
  327:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;19&quot; 
  328:             type=&quot;stop&quot; </span></p>
  329:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./msu/korte/tests/pretest.problem].status=solved&quot;&gt;</span></p>
  330:           <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
  331:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;20&quot; 
  332:             src=&quot;/res/msu/korte/refresh/refresher.sequence&quot; </span></p>
  333:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Refresher&quot;&gt;&lt;/resource&gt;</span></p>
  334:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;29&quot; 
  335:             src=&quot;/res/msu/korte/tests/final.sequence&quot; type=&quot;mandatory&quot; 
  336:             </span></p>
  337:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Final 
  338:             Exam&quot;&gt;&lt;/resource&gt;</span></p>
  339:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;30&quot; 
  340:             type=&quot;stop&quot; </span></p>
  341:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./msu/korte/tests/midterm.sequence].percent&gt;60&quot;&gt;</span></p>
  342:           <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
  343:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;36&quot; 
  344:             src=&quot;/res/msu/korte/refresh/review.sequence&quot;</span></p>
  345:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Review&quot;&gt;&lt;/resource&gt;</span></p>
  346:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;43&quot; 
  347:             type=&quot;force&quot; </span></p>
  348:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./msu/korte/tests/midterm.sequence].percent&lt;10&quot;&gt;</span></p>
  349:           <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
  350:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;58&quot; 
  351:             src=&quot;/res/msu/korte/chapters/applications.sequence&quot; type=&quot;optional&quot; 
  352:             </span></p>
  353:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Applications&quot;&gt;&lt;/resource&gt;</span></p>
  354:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;70&quot; 
  355:             type=&quot;stop&quot; </span></p>
  356:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./msu/korte/tests/final.sequence].percent&gt;60&quot;&gt;</span></p>
  357:           <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
  358:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot; 
  359:             to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>
  360:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;9&quot; 
  361:             to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>
  362:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot; 
  363:             to=&quot;15&quot; condition=&quot;30&quot;&gt;&lt;/link&gt;</span></p>
  364:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
  365:             to=&quot;9&quot; condition=&quot;19&quot;&gt;&lt;/link&gt;</span></p>
  366:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
  367:             to=&quot;20&quot;&gt;&lt;/link&gt;</span></p>
  368:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;20&quot; 
  369:             to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>
  370:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot; 
  371:             to=&quot;36&quot; condition=&quot;43&quot;&gt;&lt;/link&gt;</span></p>
  372:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;36&quot; 
  373:             to=&quot;9&quot;&gt;&lt;/link&gt;</span></p>
  374:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;36&quot; 
  375:             to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>
  376:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;15&quot; 
  377:             to=&quot;29&quot;&gt;&lt;/link&gt;</span></p>
  378:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;29&quot; 
  379:             to=&quot;2&quot; condition=&quot;70&quot;&gt;&lt;/link&gt;</span></p>
  380:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot; 
  381:             to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>
  382:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>
  383:         </td>
  384:       </tr>
  385:     </table>
  386:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.4A</b></span><span
  387: style='font-size:14.0pt'> Ð Example of a course map that has nested sequences</span></p>
  388:     <br clear=ALL
  389: style='page-break-before:always'>
  390:     <table border=1 cellspacing=0 cellpadding=0>
  391:       <tr> 
  392:         <td width=442 valign=top class="Normal"> 
  393:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>
  394:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot; 
  395:             src=&quot;&quot; type=&quot;start&quot; title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>
  396:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot; 
  397:             src=&quot;&quot; type=&quot;finish&quot; title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>
  398:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;5&quot; 
  399:             src=&quot;/res/msu/korte/parts/part1intro.html&quot; </span></p>
  400:           <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Part 
  401:             1 Introduction&quot;&gt;&lt;/resource&gt;</span></p>
  402:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;6&quot; 
  403:             src=&quot;/res/msu/korte/parts/part1dir.xml&quot; title=&quot;Directions&quot;&gt;&lt;/resource&gt;</span></p>
  404:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;12&quot; 
  405:             src=&quot;/res/msu/korte/tests/part11.problem&quot; title=&quot;Problem 
  406:             1&quot;&gt;&lt;/resource&gt;</span></p>
  407:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;13&quot; 
  408:             src=&quot;/res/msu/korte/tests/part13.problem&quot; title=&quot;Problem 
  409:             3&quot;&gt;&lt;/resource&gt;</span></p>
  410:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;19&quot; 
  411:             src=&quot;/res/msu/korte/tests/part12.problem&quot; title=&quot;Problem 
  412:             2&quot;&gt;&lt;/resource&gt;</span></p>
  413:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;24&quot; 
  414:             src=&quot;/res/msu/korte/parts/summary.page&quot; title=&quot;Summary&quot;&gt;&lt;/resource&gt;</span></p>
  415:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;47&quot; 
  416:             type=&quot;stop&quot;</span></p>
  417:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./msu/korte/tests/part11.problem].status=solved&quot;&gt;</span></p>
  418:           <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
  419:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;48&quot; 
  420:             type=&quot;stop&quot; </span></p>
  421:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./msu/korte/tests/part12.problem].status=solved&quot;&gt;</span></p>
  422:           <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
  423:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;49&quot; 
  424:             type=&quot;stop&quot; </span></p>
  425:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./msu/korte/tests/part13.problem].status=solved&quot;&gt;</span></p>
  426:           <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
  427:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
  428:             to=&quot;6&quot;&gt;&lt;/link&gt;</span></p>
  429:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot; 
  430:             to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>
  431:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
  432:             to=&quot;12&quot;&gt;&lt;/link&gt;</span></p>
  433:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
  434:             to=&quot;13&quot;&gt;&lt;/link&gt;</span></p>
  435:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
  436:             to=&quot;19&quot;&gt;&lt;/link&gt;</span></p>
  437:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;12&quot; 
  438:             to=&quot;24&quot; condition=&quot;47&quot;&gt;&lt;/link&gt;</span></p>
  439:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;19&quot; 
  440:             to=&quot;24&quot; condition=&quot;48&quot;&gt;&lt;/link&gt;</span></p>
  441:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;13&quot; 
  442:             to=&quot;24&quot; condition=&quot;49&quot;&gt;&lt;/link&gt;</span></p>
  443:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;24&quot; 
  444:             to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>
  445:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>
  446:         </td>
  447:       </tr>
  448:     </table>
  449:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.4B</b></span><span
  450: style='font-size:14.0pt'> Ð Example of a sequence (</span><span
  451: style='font-size:14.0pt;font-family:"Courier New"'>part1.sequence</span><span
  452: style='font-size:14.0pt'>) that has nested pages</span></p>
  453:     <table border=1 cellspacing=0 cellpadding=0>
  454:       <tr> 
  455:         <td width=443 valign=top class="Normal"> 
  456:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>
  457:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot; 
  458:             src=&quot;&quot; type=&quot;start&quot; title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>
  459:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot; 
  460:             src=&quot;&quot; type=&quot;finish&quot; title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>
  461:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;5&quot; 
  462:             src=&quot;/res/msu/smith/racecar.problem&quot;&gt;&lt;/resource&gt;</span></p>
  463:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;6&quot; 
  464:             src=&quot;/res/msu/smith/toofast.html&quot;&gt;&lt;/resource&gt;</span></p>
  465:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;8&quot; 
  466:             src=&quot;/res/msu/smith/tooslow.html&quot;&gt;&lt;/resource&gt;</span></p>
  467:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;15&quot; 
  468:             src=&quot;/res/msu/smith/accelerate.html&quot;&gt;&lt;/resource&gt;</span></p>
  469:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;40&quot; 
  470:             type=&quot;force&quot; </span></p>
  471:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./msu/smith/racecar.problem].status=solved&quot;&gt;&lt;/condition&gt;</span></p>
  472:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;41&quot; 
  473:             type=&quot;stop&quot; </span></p>
  474:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./msu/smith/racecar.problem].answer=friction&quot;&gt;&lt;/condition&gt;</span></p>
  475:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;42&quot; 
  476:             type=&quot;stop&quot; </span></p>
  477:           <p class=Preformatted><span style='font-size:8.0pt'> value=&quot;user.assessments[this./msu/smith/racecar.problem].answer=sliding&quot;&gt;&lt;/condition&gt;</span></p>
  478:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;43&quot; 
  479:             type=&quot;stop&quot; </span></p>
  480:           <p class=Preformatted><span style='font-size:8.0pt'>value=&quot;user.assessments[this./msu/smith/racecar.problem].answer=nonconstant&quot;&gt;&lt;/condition&gt;</span></p>
  481:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot; 
  482:             to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>
  483:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
  484:             to=&quot;6&quot; condition=&quot;41&quot;&gt;&lt;/link&gt;</span></p>
  485:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
  486:             to=&quot;8&quot; condition=&quot;42&quot;&gt;&lt;/link&gt;</span></p>
  487:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
  488:             to=&quot;15&quot; condition=&quot;43&quot;&gt;&lt;/link&gt;</span></p>
  489:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
  490:             to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>
  491:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;8&quot; 
  492:             to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>
  493:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;15&quot; 
  494:             to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>
  495:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
  496:             to=&quot;2&quot; condition=&quot;40&quot;&gt;&lt;/link&gt;</span></p>
  497:           <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>
  498:         </td>
  499:       </tr>
  500:     </table>
  501:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.4C</b></span><span
  502: style='font-size:14.0pt'> Ð Example of a page (</span><span style='font-size:
  503: 14.0pt;font-family:"Courier New"'>summary.page</span><span style='font-size:
  504: 14.0pt'>)</span></p>
  505:     <br clear=ALL
  506: style='page-break-before:always'>
  507:     <p><span style='font-size:14.0pt'><img border=0 width=432
  508: height=456 id="_x0000_i1033" src="handout_files/image009.jpg"></span></p>
  509:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.5 Ð </b></span><span
  510: style='font-size:14.0pt'>Flow chart of the course initialization routine run when 
  511:       a learner first accesses a course during a session (see Figs. 2.1.6A and 
  512:       2.1.8A for the procedures </span><span style='font-size:14.0pt;font-family:
  513: "Courier New"'>loadmap</span><span style='font-size:14.0pt'> and </span><span
  514: style='font-size:14.0pt;font-family:"Courier New"'>traceroute</span><span
  515: style='font-size:14.0pt'>)</span></p>
  516:     <h3><a name="_Toc514840863"></a><a name="_Toc514920453"></a><a
  517: name="_Toc421867116">Initialization of a Course for a Learner</a></h3>
  518:     <p>When a learner first enters a course during a session, the system will 
  519:       initialize this course for the learner. In particular, at this point, the 
  520:       course map and all nested (embedded) maps and resources are evaluated, and 
  521:       the information is compiled into two binary structures, which are stored 
  522:       with the session information: the resource properties hash, and the link 
  523:       conditions array. This information will be used over the duration of the 
  524:       session for several purposes: navigation (which resource is the next, which 
  525:       one the previous?), for access control (can the resource be reached under 
  526:       the link conditions given the current state of the student?), and to register 
  527:       assessment results within the context of a certain course and map (there 
  528:       might be several instances of the same problem resource within a course).</p>
  529:     <h3><a name="_Toc514840864"></a><a name="_Toc514920454"></a><a
  530: name="_Toc421867117">Evaluation of the Map Structure for a Course</a></h3>
  531:     <p>The URL of the course is passed to the procedure <span
  532: style='font-family:"Courier New"'>readmap</span> (<b>Fig. 2.3.5</b><span
  533: style='font-weight:normal'>). Procedure </span><span style='font-family:"Courier New"'>readmap</span> 
  534:       first initializes the resource properties as an empty hash, seeds the link 
  535:       conditions array with a 0<sup>th</sup> element, which is set to ÒtrueÓ, 
  536:       priority ÒnormalÓ, and sets the map counter to 0 (<b>Fig. 2.3.5, Step R1</b><span
  537: style='font-weight:normal'>). While the resource properties hash, the link conditions 
  538:       array and the map counter are global variable of the initialization process, 
  539:       all other variables are local to the procedures (an important property for 
  540:       these routines to run recursively). The procedure </span><span
  541: style='font-family:"Courier New"'>readmap</span> then calls procedure <span
  542: style='font-family:"Courier New"'>loadmap</span> for the URL of the course (<b>Fig. 
  543:       2.3.5, Step R2</b><span style='font-weight:normal'>).</span></p>
  544:     <p><b>Figs. 2.1.6, 2.1.7</b><span style='font-weight:normal'> show a dump 
  545:       of excerpts of the binary structure generated in </span><span
  546: style='font-family:"Courier New"'>loadmap</span> for the nested maps of example 
  547:       <b>Fig. 2.3.4</b><span style='font-weight:normal'>.</span></p>
  548:     <p>Procedure <span style='font-family:"Courier New"'>loadmap</span> (<b>Fig. 
  549:       2.3.6A</b><span style='font-weight:normal'>) first checks if the map URL 
  550:       has already been processed (multiple inclusion of the same map in a course 
  551:       structure) (</span><b>Fig. 2.3.6A, Step L1</b><span style='font-weight:normal'>) 
  552:       Ð if it was, it has been assigned a map counter value in the resource properties 
  553:       hash. If the map has been processed, there is no need to process it again, 
  554:       and </span><span style='font-family:"Courier New"'>loadmap</span> returns.</p>
  555:     <p>If the map has not been processed yet, the map counter is incremented and 
  556:       the map is registered under the current value in the resource properties 
  557:       hash (<b>Fig. 2.3.6A, Step L2</b><span style='font-weight:normal'>). The 
  558:       file is then opened (</span><b>Fig. 2.3.6A, Step L3</b><span
  559: style='font-weight:normal'>), which might entail prior replication, and the contents 
  560:       are parsed. If there are no further entries, </span><span
  561: style='font-family:"Courier New"'>loadmap</span> returns (<b>Fig. 2.3.6A, Step 
  562:       L4</b><span style='font-weight:normal'>).</span></p>
  563:     <p>The new entry tag is then read (<b>Fig. 2.3.6A, Step L5</b><span
  564: style='font-weight:normal'>) and the type is determined (</span><b>Fig. 2.3.6A, 
  565:       Step L6</b><span style='font-weight:normal'>). </span></p>
  566:     <p>If the entry is a resource (<b>Step L7</b><span
  567: style='font-weight:normal'>), a resource ID is formed by combining the map counter 
  568:       and the resource ID within the map. For example, the ÒPart I IntroductionÓ 
  569:       resource of part1.sequence (</span><b>Fig. 2.3.4B</b><span
  570: style='font-weight:normal'>) was assigned the resource ID 2.5, since it has the 
  571:       internal resource ID 5 in the 2<sup>nd</sup> map processed (see </span><b>Fig. 
  572:       2.3.6B</b><span style='font-weight:normal'> under Òids_Ó). If the same URL 
  573:       is found again, additional IDs are assigned to it. It is necessary to store 
  574:       the IDs under the URL in the resource properties hash for reverse lookup 
  575:       if a user simply requests a URL. If the resource is a start or finish resources, 
  576:       the resource ID is registered as the start or finish resource of the map, 
  577:       respectively (</span><b>Fig. 2.3.6B</b><span style='font-weight:normal'>, 
  578:       Òmap_start_Ó, Òmap_finish_Ó). The properties of the resource (URL, Title, 
  579:       Priority, etc) are now stored under the resource ID, see for example </span><b>Fig. 
  580:       2.3.6B</b><span
  581: style='font-weight:normal'> Òtitle_2.5Ó.</span></p>
  582:     <p>If the resource is not a map itself (<b>Fig. 2.3.6A</b><span
  583: style='font-weight:normal'>, </span><b>Step L8</b><span style='font-weight:
  584: normal'>), the next entry is read. Otherwise, procedure </span><span
  585: style='font-family:"Courier New"'>loadmap </span>calls itself recursively to process 
  586:       that map (<b>Step L9</b><span style='font-weight:normal'>).</span></p>
  587:     <p>If in <b>Step L6</b><span style='font-weight:normal'>, the type of the 
  588:       entry was determined to be a condition, a condition ID is formed (</span><b>Step 
  589:       L10</b><span style='font-weight:normal'>) by again combining the map counter 
  590:       with the internal ID. The condition is also added to the end of the condition 
  591:       array (see </span><b>Fig. 10</b><span style='font-weight:normal'>), which 
  592:       is a compilation of all conditions in the course (</span><b>Step L11</b><span
  593: style='font-weight:normal'>). The conditions in this array are evaluated when 
  594:       a transaction occurs that could change the state of the student, and the 
  595:       state of each condition is stored by the index number in the session environment. 
  596:       A reference to the index number in the condition array is stored under the 
  597:       condition ID (</span><b>Fig. 2.3.6D</b><span style='font-weight:normal'>, 
  598:       Òcondid_Ó).</span></p>
  599:     <p>If the entry is a link (<b>Step L6</b><span
  600: style='font-weight:normal'>), a link ID is generated (</span><b>Step L12</b><span
  601: style='font-weight:normal'>). This ID is formed by combining the map counter and 
  602:       another counter which is incremented for every new link within the map. 
  603:       Under this ID, the IDs of the originating and the destination resource of 
  604:       the link are stored, as well as that of the link condition (</span><b>Fig. 
  605:       2.3.6D</b><span
  606: style='font-weight:normal'>). For the originating resource, in </span><b>Step 
  607:       L13 </b><span style='font-weight:normal'>the link ID is added to the list 
  608:       of outgoing links (</span><b>Fig. 2.3.6C</b><span style='font-weight:normal'>, 
  609:       Òto_Ó), and for the destination resource, the link ID is added to the list 
  610:       of incoming links (</span><b>Fig. 2.3.6C</b><span style='font-weight:normal'>, 
  611:       Òfrom_Ó).</span></p>
  612:     <p>After the last entry has been processed, procedure <span
  613: style='font-family:"Courier New"'>loadmap</span> returns. After the last map has 
  614:       been processed, the original course-level instance of <span
  615: style='font-family:"Courier New"'>loadmap</span> returns to <span
  616: style='font-family:"Courier New"'>readmap</span> (<b>Fig. 2.3.5</b><span
  617: style='font-weight:normal'>, </span><b>Step R2</b><span style='font-weight:
  618: normal'>).</span></p>
  619:     <p><img border=0 width=432 height=547 id="_x0000_i1034"
  620: src="handout_files/image010.jpg"></p>
  621:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.6A</b></span><span
  622: style='font-size:14.0pt'> Ð Flow chart of procedure </span><span
  623: style='font-size:14.0pt;font-family:"Courier New"'>loadmap</span></p>
  624:     <br clear=ALL
  625: style='page-break-before:always'>
  626:     <table border=1 cellspacing=0 cellpadding=0>
  627:       <tr> 
  628:         <td width=443 valign=top class="Normal"> 
  629:           <p style='line-height:90%'><span style='font-size:8.0pt;
  630:   font-family:"Courier New"'>ids_/res/msu/korte/chapters/applications.sequence: 
  631:             1.58</span></p>
  632:           <p style='line-height:90%'><span style='font-size:8.0pt;
  633:   font-family:"Courier New"'>ids_/res/msu/korte/parts/part1.sequence: 1.9</span></p>
  634:           <p style='line-height:90%'><span style='font-size:8.0pt;
  635:   font-family:"Courier New"'>ids_/res/msu/korte/parts/part1dir.xml: 2.6</span></p>
  636:           <p style='line-height:90%'><span style='font-size:8.0pt;
  637:   font-family:"Courier New"'>ids_/res/msu/korte/parts/part1intro.html: 2.5</span></p>
  638:           <p style='line-height:90%'><span style='font-size:8.0pt;
  639:   font-family:"Courier New"'>ids_/res/msu/korte/parts/part2.sequence: 1.15</span></p>
  640:           <p style='line-height:90%'><span style='font-size:8.0pt;
  641:   font-family:"Courier New"'>ids_/res/msu/korte/parts/summary.page: 2.24</span></p>
  642:           <p style='line-height:90%'><span style='font-size:8.0pt;
  643:   font-family:"Courier New"'>ids_/res/msu/korte/refresh/refresher.sequence: 1.20</span></p>
  644:           <p style='line-height:90%'><span style='font-size:8.0pt;
  645:   font-family:"Courier New"'>ids_/res/msu/korte/refresh/review.sequence: 1.36</span></p>
  646:           <p style='line-height:90%'><span style='font-size:8.0pt;
  647:   font-family:"Courier New"'>ids_/res/msu/korte/tests/final.sequence: 1.29</span></p>
  648:           <p style='line-height:90%'><span style='font-size:8.0pt;
  649:   font-family:"Courier New"'>ids_/res/msu/korte/tests/midterm.sequence: 1.11</span></p>
  650:           <p style='line-height:90%'><span style='font-size:8.0pt;
  651:   font-family:"Courier New"'>ids_/res/msu/korte/tests/part11.problem: 2.12</span></p>
  652:           <p style='line-height:90%'><span style='font-size:8.0pt;
  653:   font-family:"Courier New"'>ids_/res/msu/korte/tests/part12.problem: 2.19</span></p>
  654:           <p style='line-height:90%'><span style='font-size:8.0pt;
  655:   font-family:"Courier New"'>ids_/res/msu/korte/tests/part13.problem: 2.13</span></p>
  656:           <p style='line-height:90%'><span style='font-size:8.0pt;
  657:   font-family:"Courier New"'>ids_/res/msu/korte/tests/pretest.problem: 1.5</span></p>
  658:           <p style='line-height:90%'><span style='font-size:8.0pt;
  659:   font-family:"Courier New"'>ids_/res/msu/smith/accelerate.html: 3.15</span></p>
  660:           <p style='line-height:90%'><span style='font-size:8.0pt;
  661:   font-family:"Courier New"'>ids_/res/msu/smith/racecar.problem: 3.5</span></p>
  662:           <p style='line-height:90%'><span style='font-size:8.0pt;
  663:   font-family:"Courier New"'>ids_/res/msu/smith/toofast.html: 3.6</span></p>
  664:           <p style='line-height:90%'><span style='font-size:8.0pt;
  665:   font-family:"Courier New"'>ids_/res/msu/smith/tooslow.html: 3.8</span></p>
  666:           <p style='line-height:90%'><span style='font-size:8.0pt;
  667:   font-family:"Courier New"'><b>É</b></span></p>
  668:           <p style='line-height:90%'><span style='font-size:8.0pt;
  669:   font-family:"Courier New"'>map_start_/res/msu/korte/foo.sequence: 1.1</span></p>
  670:           <p style='line-height:90%'><span style='font-size:8.0pt;
  671:   font-family:"Courier New"'>map_start_/res/msu/korte/parts/part1.sequence: 2.1</span></p>
  672:           <p style='line-height:90%'><span style='font-size:8.0pt;
  673:   font-family:"Courier New"'>map_start_/res/msu/korte/parts/summary.page: 3.1</span></p>
  674:           <p style='line-height:90%'><span style='font-size:8.0pt;
  675:   font-family:"Courier New"'><b>É</b></span></p>
  676:           <p style='line-height:90%'><span style='font-size:8.0pt;
  677:   font-family:"Courier New"'>map_finish_/res/msu/korte/foo.sequence: 1.2</span></p>
  678:           <p style='line-height:90%'><span style='font-size:8.0pt;
  679:   font-family:"Courier New"'>map_finish_/res/msu/korte/parts/part1.sequence: 2.2</span></p>
  680:           <p style='line-height:90%'><span style='font-size:8.0pt;
  681:   font-family:"Courier New"'>map_finish_/res/msu/korte/parts/summary.page: 3.2</span></p>
  682:           <p style='line-height:90%'><span style='font-size:8.0pt;
  683:   font-family:"Courier New"'><b>É</b></span></p>
  684:           <p style='line-height:90%'><span style='font-size:8.0pt;
  685:   font-family:"Courier New"'>title_1.11: Midterm</span></p>
  686:           <p style='line-height:90%'><span style='font-size:8.0pt;
  687:   font-family:"Courier New"'>title_1.15: Part 2</span></p>
  688:           <p style='line-height:90%'><span style='font-size:8.0pt;
  689:   font-family:"Courier New"'>title_1.20: Refresher</span></p>
  690:           <p style='line-height:90%'><span style='font-size:8.0pt;
  691:   font-family:"Courier New"'>title_1.29: Final Exam</span></p>
  692:           <p style='line-height:90%'><span style='font-size:8.0pt;
  693:   font-family:"Courier New"'>title_1.36: Review</span></p>
  694:           <p style='line-height:90%'><span style='font-size:8.0pt;
  695:   font-family:"Courier New"'>title_1.5: Pretest</span></p>
  696:           <p style='line-height:90%'><span style='font-size:8.0pt;
  697:   font-family:"Courier New"'>title_1.58: Applications</span></p>
  698:           <p style='line-height:90%'><span style='font-size:8.0pt;
  699:   font-family:"Courier New"'>title_1.9: Part 1</span></p>
  700:           <p style='line-height:90%'><span style='font-size:8.0pt;
  701:   font-family:"Courier New"'>title_2.12: Problem 1</span></p>
  702:           <p style='line-height:90%'><span style='font-size:8.0pt;
  703:   font-family:"Courier New"'>title_2.13: Problem 3</span></p>
  704:           <p style='line-height:90%'><span style='font-size:8.0pt;
  705:   font-family:"Courier New"'>title_2.19: Problem 2</span></p>
  706:           <p style='line-height:90%'><span style='font-size:8.0pt;
  707:   font-family:"Courier New"'>title_2.24: Summary</span></p>
  708:           <p style='line-height:90%'><span style='font-size:8.0pt;
  709:   font-family:"Courier New"'>title_2.5: Part 1 Introduction</span></p>
  710:           <p style='line-height:90%'><span style='font-size:8.0pt;
  711:   font-family:"Courier New"'>title_2.6: Directions</span></p>
  712:           <p style='line-height:90%'><span style='font-size:8.0pt;
  713:   font-family:"Courier New"'><b>É</b></span></p>
  714:         </td>
  715:       </tr>
  716:     </table>
  717:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.6B</b></span><span
  718: style='font-size:14.0pt'> Ð Dump of the resource properties hash. Excerpt of the 
  719:       resource properties gathered in procedure </span><span style='font-size:
  720: 14.0pt;font-family:"Courier New"'>loadmap</span></p>
  721:     <table border=1 cellspacing=0 cellpadding=0>
  722:       <tr> 
  723:         <td width=443 valign=top class="Normal"> 
  724:           <p style='line-height:90%'><span style='font-size:8.0pt;
  725:   font-family:"Courier New"'>to_1.1: 1.1</span></p>
  726:           <p style='line-height:90%'><span style='font-size:8.0pt;
  727:   font-family:"Courier New"'>to_1.11: 1.3,1.7,1.12</span></p>
  728:           <p style='line-height:90%'><span style='font-size:8.0pt;
  729:   font-family:"Courier New"'>to_1.15: 1.10</span></p>
  730:           <p style='line-height:90%'><span style='font-size:8.0pt;
  731:   font-family:"Courier New"'>to_1.20: 1.6</span></p>
  732:           <p style='line-height:90%'><span style='font-size:8.0pt;
  733:   font-family:"Courier New"'>to_1.29: 1.11</span></p>
  734:           <p style='line-height:90%'><span style='font-size:8.0pt;
  735:   font-family:"Courier New"'>to_1.36: 1.8,1.9</span></p>
  736:           <p style='line-height:90%'><span style='font-size:8.0pt;
  737:   font-family:"Courier New"'>to_1.5: 1.4,1.5</span></p>
  738:           <p style='line-height:90%'><span style='font-size:8.0pt;
  739:   font-family:"Courier New"'>to_1.9: 1.2</span></p>
  740:           <p style='line-height:90%'><span style='font-size:8.0pt;
  741:   font-family:"Courier New"'>to_2.1: 2.2</span></p>
  742:           <p style='line-height:90%'><span style='font-size:8.0pt;
  743:   font-family:"Courier New"'>to_2.12: 2.6</span></p>
  744:           <p style='line-height:90%'><span style='font-size:8.0pt;
  745:   font-family:"Courier New"'>to_2.13: 2.8</span></p>
  746:           <p style='line-height:90%'><span style='font-size:8.0pt;
  747:   font-family:"Courier New"'>to_2.19: 2.7</span></p>
  748:           <p style='line-height:90%'><span style='font-size:8.0pt;
  749:   font-family:"Courier New"'>to_2.24: 2.9</span></p>
  750:           <p style='line-height:90%'><span style='font-size:8.0pt;
  751:   font-family:"Courier New"'>to_2.5: 2.1</span></p>
  752:           <p style='line-height:90%'><span style='font-size:8.0pt;
  753:   font-family:"Courier New"'>to_2.6: 2.3,2.4,2.5</span></p>
  754:           <p style='line-height:90%'><span style='font-size:8.0pt;
  755:   font-family:"Courier New"'>to_3.1: 3.1</span></p>
  756:           <p style='line-height:90%'><span style='font-size:8.0pt;
  757:   font-family:"Courier New"'>to_3.15: 3.7</span></p>
  758:           <p style='line-height:90%'><span style='font-size:8.0pt;
  759:   font-family:"Courier New"'>to_3.5: 3.2,3.3,3.4,3.8</span></p>
  760:           <p style='line-height:90%'><span style='font-size:8.0pt;
  761:   font-family:"Courier New"'>to_3.6: 3.5</span></p>
  762:           <p style='line-height:90%'><span style='font-size:8.0pt;
  763:   font-family:"Courier New"'>to_3.8: 3.6</span></p>
  764:           <p style='line-height:90%'><span style='font-size:8.0pt;
  765:   font-family:"Courier New"'><b>É</b></span></p>
  766:           <p style='line-height:90%'><span style='font-size:8.0pt;
  767:   font-family:"Courier New"'>from_1.11: 1.2,1.9,1.12</span></p>
  768:           <p style='line-height:90%'><span style='font-size:8.0pt;
  769:   font-family:"Courier New"'>from_1.15: 1.3</span></p>
  770:           <p style='line-height:90%'><span style='font-size:8.0pt;
  771:   font-family:"Courier New"'>from_1.2: 1.11</span></p>
  772:           <p style='line-height:90%'><span style='font-size:8.0pt;
  773:   font-family:"Courier New"'>from_1.20: 1.5</span></p>
  774:           <p style='line-height:90%'><span style='font-size:8.0pt;
  775:   font-family:"Courier New"'>from_1.29: 1.10</span></p>
  776:           <p style='line-height:90%'><span style='font-size:8.0pt;
  777:   font-family:"Courier New"'>from_1.36: 1.7</span></p>
  778:           <p style='line-height:90%'><span style='font-size:8.0pt;
  779:   font-family:"Courier New"'>from_1.5: 1.1,1.6</span></p>
  780:           <p style='line-height:90%'><span style='font-size:8.0pt;
  781:   font-family:"Courier New"'>from_1.9: 1.4,1.8</span></p>
  782:           <p style='line-height:90%'><span style='font-size:8.0pt;
  783:   font-family:"Courier New"'>from_2.12: 2.3</span></p>
  784:           <p style='line-height:90%'><span style='font-size:8.0pt;
  785:   font-family:"Courier New"'>from_2.13: 2.4</span></p>
  786:           <p style='line-height:90%'><span style='font-size:8.0pt;
  787:   font-family:"Courier New"'>from_2.19: 2.5</span></p>
  788:           <p style='line-height:90%'><span style='font-size:8.0pt;
  789:   font-family:"Courier New"'>from_2.2: 2.9</span></p>
  790:           <p style='line-height:90%'><span style='font-size:8.0pt;
  791:   font-family:"Courier New"'>from_2.24: 2.6,2.7,2.8</span></p>
  792:           <p style='line-height:90%'><span style='font-size:8.0pt;
  793:   font-family:"Courier New"'>from_2.5: 2.2</span></p>
  794:           <p style='line-height:90%'><span style='font-size:8.0pt;
  795:   font-family:"Courier New"'>from_2.6: 2.1</span></p>
  796:           <p style='line-height:90%'><span style='font-size:8.0pt;
  797:   font-family:"Courier New"'>from_3.15: 3.4</span></p>
  798:           <p style='line-height:90%'><span style='font-size:8.0pt;
  799:   font-family:"Courier New"'>from_3.2: 3.5,3.6,3.7,3.8</span></p>
  800:           <p style='line-height:90%'><span style='font-size:8.0pt;
  801:   font-family:"Courier New"'>from_3.5: 3.1</span></p>
  802:           <p style='line-height:90%'><span style='font-size:8.0pt;
  803:   font-family:"Courier New"'>from_3.6: 3.2</span></p>
  804:           <p style='line-height:90%'><span style='font-size:8.0pt;
  805:   font-family:"Courier New"'>from_3.8: 3.3</span></p>
  806:           <p style='line-height:90%'><span style='font-size:8.0pt;
  807:   font-family:"Courier New"'><b>É</b></span></p>
  808:         </td>
  809:       </tr>
  810:     </table>
  811:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.6C</b></span><span
  812: style='font-size:14.0pt'> Ð Dump of the resource properties hash. Excerpt of information 
  813:       gathered about links between resources in subroutine </span><span
  814: style='font-size:14.0pt;font-family:"Courier New"'>loadmap</span><span
  815: style='font-size:14.0pt'>.</span></p>
  816:     <table border=1 cellspacing=0 cellpadding=0>
  817:       <tr> 
  818:         <td width=148 valign=top class="Normal"> 
  819:           <p style='line-height:90%'><span style='font-size:8.0pt;
  820:   font-family:"Courier New"'>goesto_1.1: 1.5</span></p>
  821:           <p style='line-height:90%'><span style='font-size:8.0pt;
  822:   font-family:"Courier New"'>goesto_1.10: 1.29</span></p>
  823:           <p style='line-height:90%'><span style='font-size:8.0pt;
  824:   font-family:"Courier New"'>goesto_1.11: 1.2</span></p>
  825:           <p style='line-height:90%'><span style='font-size:8.0pt;
  826:   font-family:"Courier New"'>goesto_1.12: 1.11</span></p>
  827:           <p style='line-height:90%'><span style='font-size:8.0pt;
  828:   font-family:"Courier New"'>goesto_1.2: 1.11</span></p>
  829:           <p style='line-height:90%'><span style='font-size:8.0pt;
  830:   font-family:"Courier New"'>goesto_1.3: 1.15</span></p>
  831:           <p style='line-height:90%'><span style='font-size:8.0pt;
  832:   font-family:"Courier New"'>goesto_1.4: 1.9</span></p>
  833:           <p style='line-height:90%'><span style='font-size:8.0pt;
  834:   font-family:"Courier New"'>goesto_1.5: 1.20</span></p>
  835:           <p style='line-height:90%'><span style='font-size:8.0pt;
  836:   font-family:"Courier New"'>goesto_1.6: 1.5</span></p>
  837:           <p style='line-height:90%'><span style='font-size:8.0pt;
  838:   font-family:"Courier New"'>goesto_1.7: 1.36</span></p>
  839:           <p style='line-height:90%'><span style='font-size:8.0pt;
  840:   font-family:"Courier New"'>goesto_1.8: 1.9</span></p>
  841:           <p style='line-height:90%'><span style='font-size:8.0pt;
  842:   font-family:"Courier New"'>goesto_1.9: 1.11</span></p>
  843:           <p style='line-height:90%'><span style='font-size:8.0pt;
  844:   font-family:"Courier New"'>goesto_2.1: 2.6</span></p>
  845:           <p style='line-height:90%'><span style='font-size:8.0pt;
  846:   font-family:"Courier New"'>goesto_2.2: 2.5</span></p>
  847:           <p style='line-height:90%'><span style='font-size:8.0pt;
  848:   font-family:"Courier New"'>goesto_2.3: 2.12</span></p>
  849:           <p style='line-height:90%'><span style='font-size:8.0pt;
  850:   font-family:"Courier New"'>goesto_2.4: 2.13</span></p>
  851:           <p style='line-height:90%'><span style='font-size:8.0pt;
  852:   font-family:"Courier New"'>goesto_2.5: 2.19</span></p>
  853:           <p style='line-height:90%'><span style='font-size:8.0pt;
  854:   font-family:"Courier New"'>goesto_2.6: 2.24</span></p>
  855:           <p style='line-height:90%'><span style='font-size:8.0pt;
  856:   font-family:"Courier New"'>goesto_2.7: 2.24</span></p>
  857:           <p style='line-height:90%'><span style='font-size:8.0pt;
  858:   font-family:"Courier New"'>goesto_2.8: 2.24</span></p>
  859:           <p style='line-height:90%'><span style='font-size:8.0pt;
  860:   font-family:"Courier New"'>goesto_2.9: 2.2</span></p>
  861:           <p style='line-height:90%'><span style='font-size:8.0pt;
  862:   font-family:"Courier New"'>goesto_3.1: 3.5</span></p>
  863:           <p style='line-height:90%'><span style='font-size:8.0pt;
  864:   font-family:"Courier New"'>goesto_3.2: 3.6</span></p>
  865:           <p style='line-height:90%'><span style='font-size:8.0pt;
  866:   font-family:"Courier New"'>goesto_3.3: 3.8</span></p>
  867:           <p style='line-height:90%'><span style='font-size:8.0pt;
  868:   font-family:"Courier New"'>goesto_3.4: 3.15</span></p>
  869:           <p style='line-height:90%'><span style='font-size:8.0pt;
  870:   font-family:"Courier New"'>goesto_3.5: 3.2</span></p>
  871:           <p style='line-height:90%'><span style='font-size:8.0pt;
  872:   font-family:"Courier New"'>goesto_3.6: 3.2</span></p>
  873:           <p style='line-height:90%'><span style='font-size:8.0pt;
  874:   font-family:"Courier New"'>goesto_3.7: 3.2</span></p>
  875:           <p style='line-height:90%'><span style='font-size:8.0pt;
  876:   font-family:"Courier New"'>goesto_3.8: 3.2</span></p>
  877:           <p style='line-height:90%'><span style='font-size:8.0pt;
  878:   font-family:"Courier New"'><b>É</b></span></p>
  879:         </td>
  880:         <td width=148 valign=top class="Normal"> 
  881:           <p style='line-height:90%'><span style='font-size:8.0pt;
  882:   font-family:"Courier New"'>comesfrom_1.1: 1.1</span></p>
  883:           <p style='line-height:90%'><span style='font-size:8.0pt;
  884:   font-family:"Courier New"'>comesfrom_1.10: 1.15</span></p>
  885:           <p style='line-height:90%'><span style='font-size:8.0pt;
  886:   font-family:"Courier New"'>comesfrom_1.11: 1.29</span></p>
  887:           <p style='line-height:90%'><span style='font-size:8.0pt;
  888:   font-family:"Courier New"'>comesfrom_1.12: 1.11</span></p>
  889:           <p style='line-height:90%'><span style='font-size:8.0pt;
  890:   font-family:"Courier New"'>comesfrom_1.2: 1.9</span></p>
  891:           <p style='line-height:90%'><span style='font-size:8.0pt;
  892:   font-family:"Courier New"'>comesfrom_1.3: 1.11</span></p>
  893:           <p style='line-height:90%'><span style='font-size:8.0pt;
  894:   font-family:"Courier New"'>comesfrom_1.4: 1.5</span></p>
  895:           <p style='line-height:90%'><span style='font-size:8.0pt;
  896:   font-family:"Courier New"'>comesfrom_1.5: 1.5</span></p>
  897:           <p style='line-height:90%'><span style='font-size:8.0pt;
  898:   font-family:"Courier New"'>comesfrom_1.6: 1.20</span></p>
  899:           <p style='line-height:90%'><span style='font-size:8.0pt;
  900:   font-family:"Courier New"'>comesfrom_1.7: 1.11</span></p>
  901:           <p style='line-height:90%'><span style='font-size:8.0pt;
  902:   font-family:"Courier New"'>comesfrom_1.8: 1.36</span></p>
  903:           <p style='line-height:90%'><span style='font-size:8.0pt;
  904:   font-family:"Courier New"'>comesfrom_1.9: 1.36</span></p>
  905:           <p style='line-height:90%'><span style='font-size:8.0pt;
  906:   font-family:"Courier New"'>comesfrom_2.1: 2.5</span></p>
  907:           <p style='line-height:90%'><span style='font-size:8.0pt;
  908:   font-family:"Courier New"'>comesfrom_2.2: 2.1</span></p>
  909:           <p style='line-height:90%'><span style='font-size:8.0pt;
  910:   font-family:"Courier New"'>comesfrom_2.3: 2.6</span></p>
  911:           <p style='line-height:90%'><span style='font-size:8.0pt;
  912:   font-family:"Courier New"'>comesfrom_2.4: 2.6</span></p>
  913:           <p style='line-height:90%'><span style='font-size:8.0pt;
  914:   font-family:"Courier New"'>comesfrom_2.5: 2.6</span></p>
  915:           <p style='line-height:90%'><span style='font-size:8.0pt;
  916:   font-family:"Courier New"'>comesfrom_2.6: 2.12</span></p>
  917:           <p style='line-height:90%'><span style='font-size:8.0pt;
  918:   font-family:"Courier New"'>comesfrom_2.7: 2.19</span></p>
  919:           <p style='line-height:90%'><span style='font-size:8.0pt;
  920:   font-family:"Courier New"'>comesfrom_2.8: 2.13</span></p>
  921:           <p style='line-height:90%'><span style='font-size:8.0pt;
  922:   font-family:"Courier New"'>comesfrom_2.9: 2.24</span></p>
  923:           <p style='line-height:90%'><span style='font-size:8.0pt;
  924:   font-family:"Courier New"'>comesfrom_3.1: 3.1</span></p>
  925:           <p style='line-height:90%'><span style='font-size:8.0pt;
  926:   font-family:"Courier New"'>comesfrom_3.2: 3.5</span></p>
  927:           <p style='line-height:90%'><span style='font-size:8.0pt;
  928:   font-family:"Courier New"'>comesfrom_3.3: 3.5</span></p>
  929:           <p style='line-height:90%'><span style='font-size:8.0pt;
  930:   font-family:"Courier New"'>comesfrom_3.4: 3.5</span></p>
  931:           <p style='line-height:90%'><span style='font-size:8.0pt;
  932:   font-family:"Courier New"'>comesfrom_3.5: 3.6</span></p>
  933:           <p style='line-height:90%'><span style='font-size:8.0pt;
  934:   font-family:"Courier New"'>comesfrom_3.6: 3.8</span></p>
  935:           <p style='line-height:90%'><span style='font-size:8.0pt;
  936:   font-family:"Courier New"'>comesfrom_3.7: 3.15</span></p>
  937:           <p style='line-height:90%'><span style='font-size:8.0pt;
  938:   font-family:"Courier New"'>comesfrom_3.8: 3.5</span></p>
  939:           <p style='line-height:90%'><span style='font-size:8.0pt;
  940:   font-family:"Courier New"'><b>É</b></span></p>
  941:         </td>
  942:         <td width=148 valign=top class="Normal"> 
  943:           <p style='line-height:90%'><span style='font-size:8.0pt;
  944:   font-family:"Courier New"'>undercond_1.1: 0</span></p>
  945:           <p style='line-height:90%'><span style='font-size:8.0pt;
  946:   font-family:"Courier New"'>undercond_1.10: 0</span></p>
  947:           <p style='line-height:90%'><span style='font-size:8.0pt;
  948:   font-family:"Courier New"'>undercond_1.11: 1.70</span></p>
  949:           <p style='line-height:90%'><span style='font-size:8.0pt;
  950:   font-family:"Courier New"'>undercond_1.12: 0</span></p>
  951:           <p style='line-height:90%'><span style='font-size:8.0pt;
  952:   font-family:"Courier New"'>undercond_1.2: 0</span></p>
  953:           <p style='line-height:90%'><span style='font-size:8.0pt;
  954:   font-family:"Courier New"'>undercond_1.3: 1.30</span></p>
  955:           <p style='line-height:90%'><span style='font-size:8.0pt;
  956:   font-family:"Courier New"'>undercond_1.4: 1.19</span></p>
  957:           <p style='line-height:90%'><span style='font-size:8.0pt;
  958:   font-family:"Courier New"'>undercond_1.5: 0</span></p>
  959:           <p style='line-height:90%'><span style='font-size:8.0pt;
  960:   font-family:"Courier New"'>undercond_1.6: 0</span></p>
  961:           <p style='line-height:90%'><span style='font-size:8.0pt;
  962:   font-family:"Courier New"'>undercond_1.7: 1.43</span></p>
  963:           <p style='line-height:90%'><span style='font-size:8.0pt;
  964:   font-family:"Courier New"'>undercond_1.8: 0</span></p>
  965:           <p style='line-height:90%'><span style='font-size:8.0pt;
  966:   font-family:"Courier New"'>undercond_1.9: 0</span></p>
  967:           <p style='line-height:90%'><span style='font-size:8.0pt;
  968:   font-family:"Courier New"'>undercond_2.1: 0</span></p>
  969:           <p style='line-height:90%'><span style='font-size:8.0pt;
  970:   font-family:"Courier New"'>undercond_2.2: 0</span></p>
  971:           <p style='line-height:90%'><span style='font-size:8.0pt;
  972:   font-family:"Courier New"'>undercond_2.3: 0</span></p>
  973:           <p style='line-height:90%'><span style='font-size:8.0pt;
  974:   font-family:"Courier New"'>undercond_2.4: 0</span></p>
  975:           <p style='line-height:90%'><span style='font-size:8.0pt;
  976:   font-family:"Courier New"'>undercond_2.5: 0</span></p>
  977:           <p style='line-height:90%'><span style='font-size:8.0pt;
  978:   font-family:"Courier New"'>undercond_2.6: 2.47</span></p>
  979:           <p style='line-height:90%'><span style='font-size:8.0pt;
  980:   font-family:"Courier New"'>undercond_2.7: 2.48</span></p>
  981:           <p style='line-height:90%'><span style='font-size:8.0pt;
  982:   font-family:"Courier New"'>undercond_2.8: 2.49</span></p>
  983:           <p style='line-height:90%'><span style='font-size:8.0pt;
  984:   font-family:"Courier New"'>undercond_2.9: 0</span></p>
  985:           <p style='line-height:90%'><span style='font-size:8.0pt;
  986:   font-family:"Courier New"'>undercond_3.1: 0</span></p>
  987:           <p style='line-height:90%'><span style='font-size:8.0pt;
  988:   font-family:"Courier New"'>undercond_3.2: 3.41</span></p>
  989:           <p style='line-height:90%'><span style='font-size:8.0pt;
  990:   font-family:"Courier New"'>undercond_3.3: 3.42</span></p>
  991:           <p style='line-height:90%'><span style='font-size:8.0pt;
  992:   font-family:"Courier New"'>undercond_3.4: 3.43</span></p>
  993:           <p style='line-height:90%'><span style='font-size:8.0pt;
  994:   font-family:"Courier New"'>undercond_3.5: 0</span></p>
  995:           <p style='line-height:90%'><span style='font-size:8.0pt;
  996:   font-family:"Courier New"'>undercond_3.6: 0</span></p>
  997:           <p style='line-height:90%'><span style='font-size:8.0pt;
  998:   font-family:"Courier New"'>undercond_3.7: 0</span></p>
  999:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1000:   font-family:"Courier New"'>undercond_3.8: 3.40</span></p>
 1001:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1002:   font-family:"Courier New"'><b>É</b></span></p>
 1003:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1004:   font-family:"Courier New"'>condid_1.19: 8</span></p>
 1005:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1006:   font-family:"Courier New"'>condid_1.30: 9</span></p>
 1007:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1008:   font-family:"Courier New"'>condid_1.43: 10</span></p>
 1009:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1010:   font-family:"Courier New"'>condid_1.70: 11</span></p>
 1011:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1012:   font-family:"Courier New"'>condid_2.47: 5</span></p>
 1013:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1014:   font-family:"Courier New"'>condid_2.48: 6</span></p>
 1015:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1016:   font-family:"Courier New"'>condid_2.49: 7</span></p>
 1017:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1018:   font-family:"Courier New"'>condid_3.40: 1</span></p>
 1019:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1020:   font-family:"Courier New"'>condid_3.41: 2</span></p>
 1021:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1022:   font-family:"Courier New"'>condid_3.42: 3</span></p>
 1023:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1024:   font-family:"Courier New"'>condid_3.43: 4</span></p>
 1025:           <p style='line-height:90%'><span style='font-size:8.0pt;
 1026:   font-family:"Courier New"'><b>É</b></span></p>
 1027:         </td>
 1028:       </tr>
 1029:     </table>
 1030:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.6D</b></span><span
 1031: style='font-size:14.0pt'> Ð Dump of the resource properties hash. Excerpt of information 
 1032:       gathered about links and link conditions between resources in subroutine 
 1033:       </span><span style='font-size:14.0pt;font-family:"Courier New"'>loadmap</span><span
 1034: style='font-size:14.0pt'>.</span></p>
 1035:     <span style='font-size:14.0pt;font-family:"Times New Roman"'><br clear=ALL
 1036: style='page-break-before:always'>
 1037:     </span> 
 1038:     <table border=1 cellspacing=0 cellpadding=0>
 1039:       <tr> 
 1040:         <td width=443 valign=top class="Normal"> 
 1041:           <p><span style='font-size:12.0pt'>0 : true:normal</span></p>
 1042:           <p><span style='font-size:12.0pt'>1 : user.assessments[this./msu/smith/racecar.problem].status=solved:force</span></p>
 1043:           <p><span style='font-size:12.0pt'>2 : user.assessments[this./msu/smith/racecar.problem].answer=friction:stop</span></p>
 1044:           <p><span style='font-size:12.0pt'>3 : user.assessments[this./msu/smith/racecar.problem].answer=sliding:stop</span></p>
 1045:           <p><span style='font-size:12.0pt'>4 : user.assessments[this./msu/smith/racecar.problem].answer=nonconstant:stop</span></p>
 1046:           <p><span style='font-size:12.0pt'>5 : user.assessments[this./msu/korte/tests/part11.problem].status=solved:stop</span></p>
 1047:           <p><span style='font-size:12.0pt'>6 : user.assessments[this./msu/korte/tests/part12.problem].status=solved:stop</span></p>
 1048:           <p><span style='font-size:12.0pt'>7 : user.assessments[this./msu/korte/tests/part13.problem].status=solved:stop</span></p>
 1049:           <p><span style='font-size:12.0pt'>8 : user.assessments[this./msu/korte/tests/pretest.problem].status=solved:stop</span></p>
 1050:           <p><span style='font-size:12.0pt'>9 : user.assessments[this./msu/korte/tests/midterm.sequence].percent&gt;60:stop</span></p>
 1051:           <p><span style='font-size:12.0pt'>10 : user.assessments[this./msu/korte/tests/midterm.sequence].percent&lt;10:force</span></p>
 1052:           <p><span style='font-size:12.0pt'>11 : user.assessments[this./msu/korte/tests/final.sequence].percent&gt;60:stop</span></p>
 1053:           <p><span style='font-size:18.0pt'><b>É</b></span></p>
 1054:         </td>
 1055:       </tr>
 1056:     </table>
 1057:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.7</b></span><span
 1058: style='font-size:14.0pt'> Ð Excerpt of the dump of the condition array constructed 
 1059:       in procedure </span><span style='font-size:14.0pt;font-family:"Courier New"'>loadmap 
 1060:       </span><i>(the final syntax of conditions has not yet been determined)</i></p>
 1061:     <h3><a name="_Toc514920455"></a><a name="_Toc421867118">Paths and Path Conditions</a></h3>
 1062:     <p>The next mayor step will be to determine all possible paths and conditions 
 1063:       leading up to a resource for access control.</p>
 1064:     <p><span style='font-family:"Courier New"'>readmap</span> checks if the course 
 1065:       has a start resource from its map_start entry in the resource properties 
 1066:       (Step R2), and if does not, continue to store the two global binary data 
 1067:       structures (<b>Steps R5,R6</b><span style='font-weight:normal'>) Ð in this 
 1068:       special case, all resources which are part of any maps in the course are 
 1069:       assumed to be accessible.</span></p>
 1070:     <p>If the course has a start resource, <span style='font-family:
 1071: "Courier New"'>readmap</span> calls the procedure <span style='font-family:
 1072: "Courier New"'>traceroute</span> (<b>Fig. 2.3.8A</b><span style='font-weight:
 1073: normal'>) with the following parameters (</span><b>Step R4</b><span
 1074: style='font-weight:normal'>): The cumulative condition along this path or route 
 1075:       so far is set to ÒtrueÓ (the map is accessible); the resource ID of the 
 1076:       start resource of the course map; and an empty list for all resources processed 
 1077:       so far along this route. It is again important to note that all variables 
 1078:       except the global binary structures are local to </span><span style='font-family:"Courier New"'>traceroute</span>, 
 1079:       since <span style='font-family:"Courier New"'>traceroute</span> will recursively 
 1080:       call itself whenever there is a branching to follow all possible paths of 
 1081:       the maps.</p>
 1082:     <p><span style='font-family:"Courier New"'>traceroute</span> will establish 
 1083:       a section within the resource properties hash that builds up all conditions 
 1084:       leading up to a resource. <b>Fig. 2.3.8B</b><span style='font-weight:
 1085: normal'> shows an excerpt of the final result. For example, resource 2.5, the 
 1086:       introduction to part 1, can be reached under condition 8 (see </span><b>Fig. 
 1087:       2.3.7</b><span style='font-weight:normal'>), meaning, after solving the 
 1088:       pretest problem.</span></p>
 1089:     <p><span style='font-family:"Courier New"'>traceroute</span> first checks 
 1090:       if the resource has already been processed on this route by its resource 
 1091:       ID (<b>Fig. 2.3.8A</b><span style='font-weight:normal'>, </span><b>Step 
 1092:       T1</b><span style='font-weight:normal'>) Ð this test avoids that </span><span
 1093: style='font-family:"Courier New"'>traceroute</span> runs into endless loops when 
 1094:       the links on the map loop. Next, the resource ID is added to the list of 
 1095:       processed resources on this route (<b>Step T2</b><span style='font-weight:normal'>).</span></p>
 1096:     <p>The resource conditions are now ORÕd with the cumulative conditions on 
 1097:       this route (<b>Step T3</b><span style='font-weight:normal'>) Ð the route 
 1098:       represents another way of getting to the resource. A small routine with 
 1099:       simplification rules for boolean expressions is called to simplify the potentially 
 1100:       very long expression.</span></p>
 1101:     <p>In the next step, it is determined if the resource is itself a map (<b>Step 
 1102:       T4</b><span style='font-weight:normal'>). If it is, the exit route conditions 
 1103:       can differ from the entry route condition by all additional conditions along 
 1104:       the paths in the embedded maps (for non-map resources, entry and exit route 
 1105:       conditions are the same). If however the embedded map does not have a start 
 1106:       resource (</span><b>Step T5</b><span style='font-weight:normal'>), that 
 1107:       is not the case Ð again, the missing of entry point to an embedded link 
 1108:       structure is interpreted as the resources being openly accessible.</span></p>
 1109:     <p>If the embedded map does have a start resource, <span
 1110: style='font-family:"Courier New"'>traceroute</span> is called recursively with 
 1111:       the current route conditions, the ID of the start resource of that map, 
 1112:       and the list of already processed resource IDs (<b>Step T6</b><span style='font-weight:
 1113: normal'>). Upon return, if the embedded map does not have a finish resource, the 
 1114:       entry and exit conditions of this map are assumed to be the same (</span><b>Step 
 1115:       T7</b><span style='font-weight:normal'>). If the map had a finish resource, 
 1116:       the route condition so far is set to the resource condition of the finish 
 1117:       resource of the embedded map (</span><b>Step T8</b><span style='font-weight:normal'>) 
 1118:       Ð in order go on from here, the user would have had to reach the finish 
 1119:       resource of the embedded map.</span></p>
 1120:     <p>Now the route conditions are correctly set for exiting the resource and 
 1121:       going on from here. <span style='font-family:"Courier New"'>traceroute </span>now 
 1122:       loops over all outgoing links of the resource (<b>Step T9</b><span
 1123: style='font-weight:normal'>). If the link does have a link condition (</span><b>Step 
 1124:       T10</b><span style='font-weight:normal'>), then for this path, the cumulative 
 1125:       route condition so far AND the link condition (</span><b>Step T11</b><span
 1126: style='font-weight:normal'>). If there is no link condition, then there is no 
 1127:       change in route conditions (</span><b>Step T12</b><span style='font-weight:
 1128: normal'>).</span></p>
 1129:     <p>To further process the routes along this link, <span
 1130: style='font-family:"Courier New"'>traceroute</span> is called recursively with 
 1131:       the resource ID of the destination resource of the link, the new route conditions, 
 1132:       and the list of already processed resources (<b>Step T13</b><span
 1133: style='font-weight:normal'>). </span><span style='font-family:"Courier New"'>traceroute</span> 
 1134:       returns after processing the last outgoing link of the resource it had been 
 1135:       called for.</p>
 1136:     <p><b>Fig. 2.3.8B</b><span style='font-weight:normal'> shows part of the output 
 1137:       of </span><span style='font-family:"Courier New"'>traceroute</span> for 
 1138:       the example <b>Fig. 2.3.4</b><span style='font-weight:normal'>.</span></p>
 1139:     <br clear=ALL
 1140: style='page-break-before:always'>
 1141:     <p><span style='font-size:14.0pt'><img border=0 width=432
 1142: height=557 id="_x0000_i1035" src="handout_files/image011.jpg"></span></p>
 1143:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.8A</b></span><span
 1144: style='font-size:14.0pt'> Ð Flow chart of procedure </span><span
 1145: style='font-size:14.0pt;font-family:"Courier New"'>traceroute</span></p>
 1146:     <br clear=ALL
 1147: style='page-break-before:always'>
 1148:     <table border=1 cellspacing=0 cellpadding=0>
 1149:       <tr> 
 1150:         <td width=443 valign=top class="Normal"> 
 1151:           <p>conditions_1.1: 0</p>
 1152:           <p>conditions_1.11:</p>
 1153:           <p>(((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)|(8&amp;6&amp;2)|(8&amp;6&amp;3)|(8&amp;6&amp;4)|(8&amp;6&amp;1))</p>
 1154:           <p>conditions_1.15:</p>
 1155:           <p>((((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)|(8&amp;6&amp;2)|(8&amp;6&amp;3)|(8&amp;6&amp;4)|(8&amp;6&amp;1)))&amp;9</p>
 1156:           <p>conditions_1.2:</p>
 1157:           <p>(((((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)|(8&amp;6&amp;2)|(8&amp;6&amp;3)|(8&amp;6&amp;4)|(8&amp;6&amp;1)))&amp;9)&amp;11</p>
 1158:           <p>conditions_1.20: 0</p>
 1159:           <p>conditions_1.29:</p>
 1160:           <p>((((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)|(8&amp;6&amp;2)|(8&amp;6&amp;3)|(8&amp;6&amp;4)|(8&amp;6&amp;1)))&amp;9</p>
 1161:           <p>conditions_1.36:</p>
 1162:           <p>((((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)|(8&amp;6&amp;2)|(8&amp;6&amp;3)|(8&amp;6&amp;4)|(8&amp;6&amp;1)))&amp;10</p>
 1163:           <p>conditions_1.5: 0</p>
 1164:           <p>conditions_1.9: 8</p>
 1165:           <p>conditions_2.1: 8</p>
 1166:           <p>conditions_2.12: 8</p>
 1167:           <p>conditions_2.13: 8</p>
 1168:           <p>conditions_2.19: 8</p>
 1169:           <p>conditions_2.2:</p>
 1170:           <p>(((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)))|((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)|(8&amp;6&amp;2)|(8&amp;6&amp;3)|(8&amp;6&amp;4)|(8&amp;6&amp;1))</p>
 1171:           <p>conditions_2.24: ((8&amp;5)|(8&amp;7)|(8&amp;6))</p>
 1172:           <p>conditions_2.5: 8</p>
 1173:           <p>conditions_2.6: 8</p>
 1174:           <p>conditions_3.1: ((8&amp;5)|(8&amp;7)|(8&amp;6))</p>
 1175:           <p>conditions_3.15: ((8&amp;5&amp;4)|(8&amp;7&amp;4)|(8&amp;6&amp;4))</p>
 1176:           <p>conditions_3.2: ((8&amp;5&amp;2)|(8&amp;5&amp;3)|(8&amp;5&amp;4)|(8&amp;5&amp;1)|(8&amp;7&amp;2)|(8&amp;7&amp;3)|(8&amp;7&amp;4)|(8&amp;7&amp;1)|(8&amp;6&amp;2)|(8&amp;6&amp;3)|(8&amp;6&amp;4)|(8&amp;6&amp;1))</p>
 1177:           <p>conditions_3.5: ((8&amp;5)|(8&amp;7)|(8&amp;6))</p>
 1178:           <p>conditions_3.6: ((8&amp;5&amp;2)|(8&amp;7&amp;2)|(8&amp;6&amp;2))</p>
 1179:           <p>conditions_3.8: ((8&amp;5&amp;3)|(8&amp;7&amp;3)|(8&amp;6&amp;3))</p>
 1180:         </td>
 1181:       </tr>
 1182:     </table>
 1183:     <p><span style='font-size:14.0pt'><b>Fig. 2.3.8B Ð </b></span><span
 1184: style='font-size:14.0pt'>Dump of resource properties hash. Excerpt of cumulative 
 1185:       link conditions to reach a certain resource.</span></p>
 1186:     <h3><a name="_Toc514840865"></a><a name="_Toc514920456"></a><a
 1187: name="_Toc421867119">Multivalued Boolean Evaluation of Link Priorities</a></h3>
 1188:     <p>When a user accessed a resource on a map and desires to access the ÒnextÓ 
 1189:       resource, the request is processed by a number of steps. From the data examplified 
 1190:       in <b>Fig. 2.3.6C</b><span style='font-weight:normal'>, it is determined 
 1191:       which outgoing links exist. From the data in </span><b>Fig. 2.3.6D</b><span style='font-weight:normal'> 
 1192:       it is determined to which resources those links lead. For each of the resources, 
 1193:       the expressions in </span><b>Fig. 2.3.8A</b><span style='font-weight:normal'> 
 1194:       are evaluated as follows. Stored in the session environment is the evaluation 
 1195:       of the table </span><b>Fig. 10</b><span
 1196: style='font-weight:normal'>, where the boolean part is evaluated as Ò0Ó or Ò1Ó. 
 1197:       In addition, a multivalued boolean value is computed incorporating the condition 
 1198:       priority. A false blocking condition is assigned the value zero, all other 
 1199:       false conditions the value 1. A true forced condition is assigned the value 
 1200:       3, all other true conditions the value 2. </span></p>
 1201:     <p>In the expressions <b>Fig. 2.3.8A</b><span style='font-weight:
 1202: normal'> an Ò&amp;Ó (ÒANDÓ) is processed as the minimum (min) operation, a Ò|Ó 
 1203:       (ÒORÓ) is processed as the maximum (max) operation. The outcome Ò0Ó means 
 1204:       ÒblockedÓ, the outcome Ò1Ó mean Ònot recommendedÓ, the outcome Ò2Ó recommended, 
 1205:       and the outcome Ò3Ó forced.</span></p>
 1206:   </div>
 1207:   <p>&nbsp;</p>
 1208: </div>
 1209: <br
 1210: clear=ALL style='page-break-before:always;'>
 1211: <div class=Section2> </div>
 1212: </body>
 1213: </html>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>