Diff for /doc/gutshtml/SessionThre1.html between versions 1.1 and 1.2

version 1.1, 2002/06/28 20:30:29 version 1.2, 2003/07/22 14:47:00
Line 1 Line 1
 <html> <head> <meta name=Title content="Session Three: Publication, Content Maps, Course Maps (Gerd)"> <meta http-equiv=Content-Type content="text/html; charset=macintosh"> <title>Session Three: Publication, Content Maps, Course Maps (Gerd)</title> <style><!-- .Section1 {page:Section1;} .Section2 {page:Section2;} --> </style> </head> <body bgcolor=#FFFFFF class="Normal" lang=EN-US> <div class=Section1>  <h2>Session Three: Publication, Content Maps, Course Maps (Gerd)</h2>  <h3><a name="_Toc514840855"></a><a name="_Toc421867109">Publication of a Resource</a></h3>  <p>Authors can only write-access the<i> </i><span style='font-family:"Courier New";font-style:normal'>/~</span><span style='font-family:"Courier New"'><i>authorname</i></span><span style='font-family:"Courier New"'>/</span> space. They can copy resources into    the resource area through the publication step, and move them back through    a recover step. Authors do not have direct write-access to their resource    space. </p>  <div class=Section9>    <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt'>      <p style='border:none;padding:0in'><span style='font-size:14.0pt'><b>Construction space</b></span><span style='font-size:14.0pt'> </span><span style='font-size:14.0pt;font-family: Wingdings'>ˆ</span><span style='font-size:14.0pt'> Publication Step </span><span style='font-size:14.0pt;font-family:Wingdings'>ˆ</span><span style='font-size: 14.0pt'> <b>Resource space</b></span></p>      <p style='border:none;padding:0in'><span style='font-size:14.0pt'> </span><span style='font-size:14.0pt;font-family:Wingdings'>§</span><span style='font-size: 14.0pt'> Retrieve </span><span style='font-size:14.0pt;font-family:Wingdings'>§</span>      </p>    </div>    <p>During the publication step, several events will be triggered. Metadata      is gathered, where a wizard manages default entries on a hierarchical per-directory      base: The wizard imports the metadata (including access privileges and royalty      information) from the most recent published resource in the current directory,      and if that is not available, from the next directory above, etc. The Network      keeps all previous versions of a resource and makes them available by an      explicit version number, which is inserted between the file name and extension,      for example <span style='font-family:"Courier New"'>foo.2.html</span>, while      the most recent version does not carry a version number (<span style='font-family:"Courier New"'>foo.html</span>). Servers subscribing to a changed      resource are notified that a new version is available.</p>    <h3><a name="_Toc514840857"></a><a name="_Toc421867110">Content Re-usage and      Granularity</a></h3>    <p>Any faculty participating in the Network can publish their own learning      resources into the common pool. To that end, the Network provides a Òconstruction      spaceÓ which is only accessible to the author, and a publication process,      which transfers the material to the shared pool Ð during the publication      process, metadata about the resource is gathered, and system-wide update      notification and versioning mechanisms are triggered..</p>    <p>Learning resources could be simple paragraphs of text, movies, applets,      individualizing homework problems, etc. In addition to providing a distributed      digital library with mechanisms to store and catalog these resources, the      Network enables faculty to combine and sequence these resources at several      levels: An instructor from Community College A could combine a text paragraph      from University B with a movie from College C and an online homework problem      from Publisher D, to form one page. Another instructor from High School      E can take that page from Community College A and combine it with other      pages into a module, unit or chapter. Those in turn can be combined into      whole coursepacks. Faculty can design their own curricula from existing      and newly created resources instead of having to buy into a complete off-the-shelf      product.</p>    <p><b>Fig. 2.3.1</b><span style='font-weight:normal'> shows a general overview      of the resource assembly mechanism and the different levels of content granularity      supported by the current implementation of this principle. The topmost puzzle      piece represents a resource at the fragment level Ð one GIF, one movie,      one paragraph of text, one problem, or one regular web page. Attached to      the resource is metadata gathered at the publication time of the resource.</span></p>    <p>Using the resource assembly tool described below, these fragments and pages      can be assembled into a page. A page is a resource of the grain size which      would be rendered as one page on the web and/or on the printer.</p>    <p>Using the same tool, fragments (which would then be rendered as standalone      pages), pages and sequences can be assembled into sequences. Sequences are      resources which are rendered a sequence of pages, not necessarily linear.      Examples are one lesson, one chapter, or one learning cycle</p>    <p>On the third granularity level, fragments (rendered as standalone pages),      pages, and sequences can be assembled into courses. Courses are a sequence      which represents the entirety of the resources belonging to a learning unit      into which learners can be enrolled. Examples are a University one-semester      course, a</p>    <p>workshop, or a High School class.</p>    <p align=center style='text-align:center'><img border=0 width=291 height=436 id="_x0000_i1029" src="handout_files/image005.png"></p>    <p><span style='font-size:14.0pt'><b>Fig. 2.1.1</b></span><span style='font-size:14.0pt'> Ð Resource Assembly</span></p>    <h3><a name="_Toc514840858"></a><a name="_Toc421867111">Maps</a></h3>    <p>To increase the utility of the materials, the number of hard-coded hyperlinks      between the resources should be minimized. The actual combining and sequencing      is part of the system functionality and driven by external &quot;roadmaps&quot;,      which are constructed by the instructors. With this mechanism, one and the      same resource can be part of different courses in different contexts. The      soft-linking makes it possible to import only the desired set of resources      without effectively importing additional parts another instructors resources      through hard-linked menus or &quot;next page&quot; buttons that might resided      on those resources.</p>    <h3><a name="_Toc514840859"></a><a name="_Toc421867112">Curriculum Adaptivity</a></h3>    <p>Maps allow for conditional choices and branching points. The actual path      through and presentation of the learning resources is determined by instructor-specified      combinations of learner choices and system-generated adaptations (for example,      if the learner does not pass a test, additional resources may be included).      Each learner can have an individualized curriculum according to preferences,      capabilities and skills.</p>    <p>These maps can be generated at different levels of granularity with a graphical      tool, or in an automated way through custom scripts.</p>    <h3><a name="_Toc514840860"></a><a name="_Toc421867113">Resource Assembly      Tool</a></h3>    <p>The Network provides the Resource Assembly Tool as one means to generate      maps. The Resource Assembly Tool provides a graphical user interface inside      of a standard web browser. The current implementation is written in JavaScript.    </p>    <p><b>Fig. 2.3.2</b><span style='font-weight:normal'> shows screenshots of      the current implementation. The interface usually consists of two browser      windows, one resizable one with a frameset that contains the menu and the      map under construction, and a multipurpose non-resizable window that displays      information and input forms.</span></p>    <p>When a new map is started, it only has a start and a finish resources.      The author can then enlarge the map area and insert resources into it.</p>    <p>In <b>Fig. 2.3.2A</b><span style='font-weight:normal'>, the author is editing      information about a resource in the map after clicking on the box representing      the resource in the map. In the dialog, the author can enter a map-internal      title for the resource, which is displayed to the learners when navigating      the maps. In the same dialog, the author will specify the URL of the resource,      which can either be internal to the Network, or any URL of a web page outside      of it. For internal resources, the author can also browse the Network filesystem      or search the resource metadata to locate an appropriate resource.</span></p>    <p><span style='font-size:14.0pt'><b><img border=0 width=431 height=327 id="_x0000_i1030" src="handout_files/image006.jpg">Fig. 2.3.2A</b></span><span style='font-size:14.0pt'> Ð </span><span style='font-size:12.0pt'>Example, Graphical      User Interface of Resource Assembly Tool</span></p>    <p>The resource priority can be chosen. A resource can be Òregular,Ó ÒmandatoryÓ      or Òoptional.Ó These resource priorities are only used in book-keeping of      earned points by the learners. Within the map, resources of different priorities      are displayed in different colors.</p>    <p>The dialog also allows for two modes of removing the resource from the      map: deleting it from the map including every link to and from it, and deleting      it while reconnecting any links that went through the resource. As an example,      resources A and B might both connect to resource C, and resource C might      connect to D. When removing C from the map using the first option, A and      B will not be connected to D anymore. Using the second option, in the end,      A will connect to D, and B will connect to D. In the latter case, the Resource      Assembly tool will also handle link conditions correctly: if A connected      to C under condition 1, and C connected to D under condition 2, then in      the end A will connect to D under a new condition which is (1 AND 2).</p>    <p>Finally, this dialog allows the author to connect the resource to another      resource (or itself) through a new link. When selecting this option, the      Resource Assembly Tool goes into link mode, and will link the current resource      to the next resource clicked on (unless the action is cancelled).</p>    <p><img border=0 width=431 height=327 id="_x0000_i1031" src="handout_files/image007.jpg"></p>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.2B</b></span><span style='font-size:14.0pt'> Ð </span><span style='font-size:12.0pt'>Example, Graphical      User Interface of Resource Assembly Tool</span></p>    <p><b>Fig. 2.3.2B</b><span style='font-weight:normal'> shows the Resource      Assembly Tool in info mode, that is, when no specific component of the map      is edited, and if the Tool is not in link mode. In info mode, the contents      of the dialog window change dynamically as the mouse is moved over the components      of the map. In this case, the mouse pointer is over the link condition between      two resources. The dialog window shows the titles of the connected resources,      as well as the condition priority. In this scenario, the condition priority      is set such that the link cannot be taken (Òis blockedÓ) if the condition      is false. The condition priority can also be set such that the link is recommended      if the condition is true (possibly giving the learner several options where      to go next), or that the link has to be taken (Òis forcedÓ) over any other      possible link if the condition is true. Within the map, conditions of different      priorities are displayed in different colors. If the author now were to      click on the condition, the Tool would go into edit mode, and the condition      could be edited.</span></p>    <p><b>Fig. 2.3.2C</b><span style='font-weight:normal'> shows the Tool in edit      mode for the link between the resource titles displayed. The author can      remove the link, or insert a new resource into the link.</span></p>    <p>Obviously, by this mechanism, rather complex maps can be generated. These      are different from binary trees, both because branches can loop back, and      because branches can be re-united Ð in fact, most branches re-unite in the      finish resources. Into each link, a condition with one of three different      priorities can be attached. Whether or not a certain resource in the map      can be displayed depends on whether or not it can be reached through any      path along allowed links, starting with the start resource of the course.      If a resource is not linked to, it is assumed to be accessible if the map      which it is part of is accessible.</p>    <p><img border=0 width=431 height=327 id="_x0000_i1032" src="handout_files/image008.jpg"></p>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.2C</b></span><span style='font-size:14.0pt'> Ð </span><span style='font-size:12.0pt'>Example, Graphical      User Interface of Resource Assembly Tool </span></p>    <h3><a name="_Toc514840861"></a><a name="_Toc421867114">Map Representation      and Storage Format</a></h3>    <p><b>Fig. 2.3.3</b><span style='font-weight:normal'> shows the XML representation      of the resource map constructed in </span><b>Fig. 2.3.2</b><span style='font-weight:normal'>, which is the format in which maps are stored. In      the figure, however, additional graphical map layout information generated      by the Resource Assembly Tool is not displayed. This graphical information      is optional to re-generate the same graphical layout when the map is brought      up again in the Resource Assembly Tool, and is not needed for any other      system functionality.</span></p>    <p>Maps can be generated by tools other than the Resource Assembly Tool. In      particular, an author might have some other representation of a course sequence,      which can be converted into a map using scripts. If this map then were to      be brought up in the Resource Assembly Tool, the Tool would automatically      generate a graphical layout for it. Each entry of the map (resources, conditions      and links) is stored in a separate tag. </p>    <p>Resources and conditions have to have unique ID numbers. These numbers      are automatically generated by the Resource Assembly Tool when the entry      is first created, or added to the entries when a map generated outside the      Resource Assembly Tool is first retrieved. They can also be assigned by      custom scripts or added in by hand.</p>    <p>In this example, <b>Fig. 2.3.3</b><span style='font-weight: normal'>, entry 1 is the start resource of the map Ð when this map is accessed,      the source (src) URL of this tag will be the first resource rendered. Entry      2 is the finish resource of this map. This resource will be the last resource      in the sequence of resources. Entry 6 is a problem resource with the given      URL and title, as well as the priority ÒmandatoryÓ. Entry 19 is a condition,      which is used by the link between entries 6, the problem, and 9, a sequence.      <i>The final syntax for conditions has not yet been determined.</i></span></p>    <table border=1 cellspacing=0 cellpadding=0>      <tr>        <td width=443 valign=top class="Normal">          <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/korte/phy231welcome.html&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> type=&quot;start&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;&quot;            type=&quot;finish&quot; </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;6&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/korte/tests/units.problem&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> type=&quot;mandatory&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Physical            Units Test&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;9&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/korte/chapters/onedim.sequence&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Motion            in One Dimension&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;11&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/bauer/bridges/units.sequence&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Physical            Units Refresher&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;19&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> type=&quot;stop&quot;            </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot;            to=&quot;6&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot;            to=&quot;9&quot; condition=&quot;19&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot;            to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot;            to=&quot;6&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>        </td>      </tr>    </table>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.3</b></span><span style='font-size:14.0pt'> Ð XML representation of the map in Fig. 2.3.2C (non-graphical      information only).</span></p>    <h3><a name="_Toc514840866"></a><a name="_Toc514840862"></a><a name="_Toc514920452"></a><a name="_Toc421867115">Example of Nested Maps</a></h3>    <p><b>Fig. 2.3.4 </b><span style='font-weight:normal'>shows the XML representation      of three maps which are imported into each other. </span><b>Fig. 2.3.4B</b><span style='font-weight:normal'>      is the sequence that is referenced as resource 9 in the course map </span><b>Fig.      2.3.4A</b><span style='font-weight:normal'>. In the resulting map, the entry point of resource      9 in </span><b>Fig. 2.3.4A</b><span style='font-weight:normal'> is in fact      the entry point of the start resource of </span><b>Fig. 2.3.4B</b><span style='font-weight:normal'>, namely, resource 1 there. The exit point of resource      9 in </span><b>Fig. 2.3.4A</b><span style='font-weight:normal'> is the exit      point of the finish resource of </span><b>Fig. 2.3.4B</b><span style='font-weight:normal'>, namely, resource 2 there.</span></p>    <p><b>Fig. 2.3.4C</b><span style='font-weight:normal'> is the page which is      referenced as resource 24 in </span><b>Fig. 2.3.4B</b><span style='font-weight:normal'>.</span></p>    <p>A course can easily contain several hundreds of these nested maps. Since      the accessibility of each individual resource in the course depends on the      state of all possible paths linking it to the start resource of the course      across all intermediate maps, the computation and disk-I/O effort per single      transaction could quickly become prohibitive. Thus, all maps and conditions      are compiled into a pre-processed binary data structure at the start of      a session.</p>    <table border=1 cellspacing=0 cellpadding=0>      <tr>        <td width=442 valign=top class="Normal">          <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot;            src=&quot;&quot; type=&quot;start&quot; title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot;            src=&quot;&quot; type=&quot;finish&quot; title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;5&quot;            src=&quot;/res/msu/korte/tests/pretest.problem&quot; type=&quot;mandatory&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Pretest&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;9&quot;            src=&quot;/res/msu/korte/parts/part1.sequence&quot; type=&quot;mandatory&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Part            1&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;11&quot;            src=&quot;/res/msu/korte/tests/midterm.sequence&quot; type=&quot;mandatory&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Midterm&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;15&quot;            src=&quot;/res/msu/korte/parts/part2.sequence&quot; type=&quot;mandatory&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Part            2&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;19&quot;            type=&quot;stop&quot; </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;20&quot;            src=&quot;/res/msu/korte/refresh/refresher.sequence&quot; </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Refresher&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;29&quot;            src=&quot;/res/msu/korte/tests/final.sequence&quot; type=&quot;mandatory&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Final            Exam&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;30&quot;            type=&quot;stop&quot; </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;36&quot;            src=&quot;/res/msu/korte/refresh/review.sequence&quot;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Review&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;43&quot;            type=&quot;force&quot; </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;58&quot;            src=&quot;/res/msu/korte/chapters/applications.sequence&quot; type=&quot;optional&quot;            </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Applications&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;70&quot;            type=&quot;stop&quot; </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot;            to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;9&quot;            to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot;            to=&quot;15&quot; condition=&quot;30&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot;            to=&quot;9&quot; condition=&quot;19&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot;            to=&quot;20&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;20&quot;            to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot;            to=&quot;36&quot; condition=&quot;43&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;36&quot;            to=&quot;9&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;36&quot;            to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;15&quot;            to=&quot;29&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;29&quot;            to=&quot;2&quot; condition=&quot;70&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot;            to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>        </td>      </tr>    </table>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.4A</b></span><span style='font-size:14.0pt'> Ð Example of a course map that has nested sequences</span></p>    <br clear=ALL style='page-break-before:always'>    <table border=1 cellspacing=0 cellpadding=0>      <tr>        <td width=442 valign=top class="Normal">          <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot;            src=&quot;&quot; type=&quot;start&quot; title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot;            src=&quot;&quot; type=&quot;finish&quot; title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;5&quot;            src=&quot;/res/msu/korte/parts/part1intro.html&quot; </span></p>          <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Part            1 Introduction&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;6&quot;            src=&quot;/res/msu/korte/parts/part1dir.xml&quot; title=&quot;Directions&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;12&quot;            src=&quot;/res/msu/korte/tests/part11.problem&quot; title=&quot;Problem            1&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;13&quot;            src=&quot;/res/msu/korte/tests/part13.problem&quot; title=&quot;Problem            3&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;19&quot;            src=&quot;/res/msu/korte/tests/part12.problem&quot; title=&quot;Problem            2&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;24&quot;            src=&quot;/res/msu/korte/parts/summary.page&quot; title=&quot;Summary&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;47&quot;            type=&quot;stop&quot;</span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;48&quot;            type=&quot;stop&quot; </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;49&quot;            type=&quot;stop&quot; </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot;            to=&quot;6&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot;            to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot;            to=&quot;12&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot;            to=&quot;13&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot;            to=&quot;19&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;12&quot;            to=&quot;24&quot; condition=&quot;47&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;19&quot;            to=&quot;24&quot; condition=&quot;48&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;13&quot;            to=&quot;24&quot; condition=&quot;49&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;24&quot;            to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>        </td>      </tr>    </table>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.4B</b></span><span style='font-size:14.0pt'> Ð Example of a sequence (</span><span style='font-size:14.0pt;font-family:"Courier New"'>part1.sequence</span><span style='font-size:14.0pt'>) that has nested pages</span></p>    <table border=1 cellspacing=0 cellpadding=0>      <tr>        <td width=443 valign=top class="Normal">          <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot;            src=&quot;&quot; type=&quot;start&quot; title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot;            src=&quot;&quot; type=&quot;finish&quot; title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;5&quot;            src=&quot;/res/msu/smith/racecar.problem&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;6&quot;            src=&quot;/res/msu/smith/toofast.html&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;8&quot;            src=&quot;/res/msu/smith/tooslow.html&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;15&quot;            src=&quot;/res/msu/smith/accelerate.html&quot;&gt;&lt;/resource&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;40&quot;            type=&quot;force&quot; </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;41&quot;            type=&quot;stop&quot; </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;42&quot;            type=&quot;stop&quot; </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;43&quot;            type=&quot;stop&quot; </span></p>          <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>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot;            to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot;            to=&quot;6&quot; condition=&quot;41&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot;            to=&quot;8&quot; condition=&quot;42&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot;            to=&quot;15&quot; condition=&quot;43&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot;            to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;8&quot;            to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;15&quot;            to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot;            to=&quot;2&quot; condition=&quot;40&quot;&gt;&lt;/link&gt;</span></p>          <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>        </td>      </tr>    </table>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.4C</b></span><span style='font-size:14.0pt'> Ð Example of a page (</span><span style='font-size: 14.0pt;font-family:"Courier New"'>summary.page</span><span style='font-size: 14.0pt'>)</span></p>    <br clear=ALL style='page-break-before:always'>    <p><span style='font-size:14.0pt'><img border=0 width=432 height=456 id="_x0000_i1033" src="handout_files/image009.jpg"></span></p>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.5 Ð </b></span><span style='font-size:14.0pt'>Flow chart of the course initialization routine run when      a learner first accesses a course during a session (see Figs. 2.1.6A and      2.1.8A for the procedures </span><span style='font-size:14.0pt;font-family: "Courier New"'>loadmap</span><span style='font-size:14.0pt'> and </span><span style='font-size:14.0pt;font-family:"Courier New"'>traceroute</span><span style='font-size:14.0pt'>)</span></p>    <h3><a name="_Toc514840863"></a><a name="_Toc514920453"></a><a name="_Toc421867116">Initialization of a Course for a Learner</a></h3>    <p>When a learner first enters a course during a session, the system will      initialize this course for the learner. In particular, at this point, the      course map and all nested (embedded) maps and resources are evaluated, and      the information is compiled into two binary structures, which are stored      with the session information: the resource properties hash, and the link      conditions array. This information will be used over the duration of the      session for several purposes: navigation (which resource is the next, which      one the previous?), for access control (can the resource be reached under      the link conditions given the current state of the student?), and to register      assessment results within the context of a certain course and map (there      might be several instances of the same problem resource within a course).</p>    <h3><a name="_Toc514840864"></a><a name="_Toc514920454"></a><a name="_Toc421867117">Evaluation of the Map Structure for a Course</a></h3>    <p>The URL of the course is passed to the procedure <span style='font-family:"Courier New"'>readmap</span> (<b>Fig. 2.3.5</b><span style='font-weight:normal'>). Procedure </span><span style='font-family:"Courier New"'>readmap</span>      first initializes the resource properties as an empty hash, seeds the link      conditions array with a 0<sup>th</sup> element, which is set to ÒtrueÓ,      priority ÒnormalÓ, and sets the map counter to 0 (<b>Fig. 2.3.5, Step R1</b><span style='font-weight:normal'>). While the resource properties hash, the link conditions      array and the map counter are global variable of the initialization process,      all other variables are local to the procedures (an important property for      these routines to run recursively). The procedure </span><span style='font-family:"Courier New"'>readmap</span> then calls procedure <span style='font-family:"Courier New"'>loadmap</span> for the URL of the course (<b>Fig.      2.3.5, Step R2</b><span style='font-weight:normal'>).</span></p>    <p><b>Figs. 2.1.6, 2.1.7</b><span style='font-weight:normal'> show a dump      of excerpts of the binary structure generated in </span><span style='font-family:"Courier New"'>loadmap</span> for the nested maps of example      <b>Fig. 2.3.4</b><span style='font-weight:normal'>.</span></p>    <p>Procedure <span style='font-family:"Courier New"'>loadmap</span> (<b>Fig.      2.3.6A</b><span style='font-weight:normal'>) first checks if the map URL      has already been processed (multiple inclusion of the same map in a course      structure) (</span><b>Fig. 2.3.6A, Step L1</b><span style='font-weight:normal'>)      Ð if it was, it has been assigned a map counter value in the resource properties      hash. If the map has been processed, there is no need to process it again,      and </span><span style='font-family:"Courier New"'>loadmap</span> returns.</p>    <p>If the map has not been processed yet, the map counter is incremented and      the map is registered under the current value in the resource properties      hash (<b>Fig. 2.3.6A, Step L2</b><span style='font-weight:normal'>). The      file is then opened (</span><b>Fig. 2.3.6A, Step L3</b><span style='font-weight:normal'>), which might entail prior replication, and the contents      are parsed. If there are no further entries, </span><span style='font-family:"Courier New"'>loadmap</span> returns (<b>Fig. 2.3.6A, Step      L4</b><span style='font-weight:normal'>).</span></p>    <p>The new entry tag is then read (<b>Fig. 2.3.6A, Step L5</b><span style='font-weight:normal'>) and the type is determined (</span><b>Fig. 2.3.6A,      Step L6</b><span style='font-weight:normal'>). </span></p>    <p>If the entry is a resource (<b>Step L7</b><span style='font-weight:normal'>), a resource ID is formed by combining the map counter      and the resource ID within the map. For example, the ÒPart I IntroductionÓ      resource of part1.sequence (</span><b>Fig. 2.3.4B</b><span style='font-weight:normal'>) was assigned the resource ID 2.5, since it has the      internal resource ID 5 in the 2<sup>nd</sup> map processed (see </span><b>Fig.      2.3.6B</b><span style='font-weight:normal'> under Òids_Ó). If the same URL      is found again, additional IDs are assigned to it. It is necessary to store      the IDs under the URL in the resource properties hash for reverse lookup      if a user simply requests a URL. If the resource is a start or finish resources,      the resource ID is registered as the start or finish resource of the map,      respectively (</span><b>Fig. 2.3.6B</b><span style='font-weight:normal'>,      Òmap_start_Ó, Òmap_finish_Ó). The properties of the resource (URL, Title,      Priority, etc) are now stored under the resource ID, see for example </span><b>Fig.      2.3.6B</b><span style='font-weight:normal'> Òtitle_2.5Ó.</span></p>    <p>If the resource is not a map itself (<b>Fig. 2.3.6A</b><span style='font-weight:normal'>, </span><b>Step L8</b><span style='font-weight: normal'>), the next entry is read. Otherwise, procedure </span><span style='font-family:"Courier New"'>loadmap </span>calls itself recursively to process      that map (<b>Step L9</b><span style='font-weight:normal'>).</span></p>    <p>If in <b>Step L6</b><span style='font-weight:normal'>, the type of the      entry was determined to be a condition, a condition ID is formed (</span><b>Step      L10</b><span style='font-weight:normal'>) by again combining the map counter      with the internal ID. The condition is also added to the end of the condition      array (see </span><b>Fig. 10</b><span style='font-weight:normal'>), which      is a compilation of all conditions in the course (</span><b>Step L11</b><span style='font-weight:normal'>). The conditions in this array are evaluated when      a transaction occurs that could change the state of the student, and the      state of each condition is stored by the index number in the session environment.      A reference to the index number in the condition array is stored under the      condition ID (</span><b>Fig. 2.3.6D</b><span style='font-weight:normal'>,      Òcondid_Ó).</span></p>    <p>If the entry is a link (<b>Step L6</b><span style='font-weight:normal'>), a link ID is generated (</span><b>Step L12</b><span style='font-weight:normal'>). This ID is formed by combining the map counter and      another counter which is incremented for every new link within the map.      Under this ID, the IDs of the originating and the destination resource of      the link are stored, as well as that of the link condition (</span><b>Fig.      2.3.6D</b><span style='font-weight:normal'>). For the originating resource, in </span><b>Step      L13 </b><span style='font-weight:normal'>the link ID is added to the list      of outgoing links (</span><b>Fig. 2.3.6C</b><span style='font-weight:normal'>,      Òto_Ó), and for the destination resource, the link ID is added to the list      of incoming links (</span><b>Fig. 2.3.6C</b><span style='font-weight:normal'>,      Òfrom_Ó).</span></p>    <p>After the last entry has been processed, procedure <span style='font-family:"Courier New"'>loadmap</span> returns. After the last map has      been processed, the original course-level instance of <span style='font-family:"Courier New"'>loadmap</span> returns to <span style='font-family:"Courier New"'>readmap</span> (<b>Fig. 2.3.5</b><span style='font-weight:normal'>, </span><b>Step R2</b><span style='font-weight: normal'>).</span></p>    <p><img border=0 width=432 height=547 id="_x0000_i1034" src="handout_files/image010.jpg"></p>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.6A</b></span><span style='font-size:14.0pt'> Ð Flow chart of procedure </span><span style='font-size:14.0pt;font-family:"Courier New"'>loadmap</span></p>    <br clear=ALL style='page-break-before:always'>    <table border=1 cellspacing=0 cellpadding=0>      <tr>        <td width=443 valign=top class="Normal">          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/chapters/applications.sequence:            1.58</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/parts/part1.sequence: 1.9</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/parts/part1dir.xml: 2.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/parts/part1intro.html: 2.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/parts/part2.sequence: 1.15</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/parts/summary.page: 2.24</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/refresh/refresher.sequence: 1.20</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/refresh/review.sequence: 1.36</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/tests/final.sequence: 1.29</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/tests/midterm.sequence: 1.11</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/tests/part11.problem: 2.12</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/tests/part12.problem: 2.19</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/tests/part13.problem: 2.13</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/korte/tests/pretest.problem: 1.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/smith/accelerate.html: 3.15</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/smith/racecar.problem: 3.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/smith/toofast.html: 3.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>ids_/res/msu/smith/tooslow.html: 3.8</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'><b>É</b></span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>map_start_/res/msu/korte/foo.sequence: 1.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>map_start_/res/msu/korte/parts/part1.sequence: 2.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>map_start_/res/msu/korte/parts/summary.page: 3.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'><b>É</b></span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>map_finish_/res/msu/korte/foo.sequence: 1.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>map_finish_/res/msu/korte/parts/part1.sequence: 2.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>map_finish_/res/msu/korte/parts/summary.page: 3.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'><b>É</b></span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_1.11: Midterm</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_1.15: Part 2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_1.20: Refresher</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_1.29: Final Exam</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_1.36: Review</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_1.5: Pretest</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_1.58: Applications</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_1.9: Part 1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_2.12: Problem 1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_2.13: Problem 3</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_2.19: Problem 2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_2.24: Summary</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_2.5: Part 1 Introduction</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>title_2.6: Directions</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'><b>É</b></span></p>        </td>      </tr>    </table>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.6B</b></span><span style='font-size:14.0pt'> Ð Dump of the resource properties hash. Excerpt of the      resource properties gathered in procedure </span><span style='font-size: 14.0pt;font-family:"Courier New"'>loadmap</span></p>    <table border=1 cellspacing=0 cellpadding=0>      <tr>        <td width=443 valign=top class="Normal">          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_1.1: 1.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_1.11: 1.3,1.7,1.12</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_1.15: 1.10</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_1.20: 1.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_1.29: 1.11</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_1.36: 1.8,1.9</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_1.5: 1.4,1.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_1.9: 1.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_2.1: 2.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_2.12: 2.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_2.13: 2.8</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_2.19: 2.7</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_2.24: 2.9</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_2.5: 2.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_2.6: 2.3,2.4,2.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_3.1: 3.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_3.15: 3.7</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_3.5: 3.2,3.3,3.4,3.8</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_3.6: 3.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>to_3.8: 3.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'><b>É</b></span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_1.11: 1.2,1.9,1.12</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_1.15: 1.3</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_1.2: 1.11</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_1.20: 1.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_1.29: 1.10</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_1.36: 1.7</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_1.5: 1.1,1.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_1.9: 1.4,1.8</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_2.12: 2.3</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_2.13: 2.4</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_2.19: 2.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_2.2: 2.9</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_2.24: 2.6,2.7,2.8</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_2.5: 2.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_2.6: 2.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_3.15: 3.4</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_3.2: 3.5,3.6,3.7,3.8</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_3.5: 3.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_3.6: 3.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>from_3.8: 3.3</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'><b>É</b></span></p>        </td>      </tr>    </table>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.6C</b></span><span style='font-size:14.0pt'> Ð Dump of the resource properties hash. Excerpt of information      gathered about links between resources in subroutine </span><span style='font-size:14.0pt;font-family:"Courier New"'>loadmap</span><span style='font-size:14.0pt'>.</span></p>    <table border=1 cellspacing=0 cellpadding=0>      <tr>        <td width=148 valign=top class="Normal">          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.1: 1.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.10: 1.29</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.11: 1.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.12: 1.11</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.2: 1.11</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.3: 1.15</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.4: 1.9</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.5: 1.20</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.6: 1.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.7: 1.36</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.8: 1.9</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_1.9: 1.11</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_2.1: 2.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_2.2: 2.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_2.3: 2.12</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_2.4: 2.13</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_2.5: 2.19</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_2.6: 2.24</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_2.7: 2.24</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_2.8: 2.24</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_2.9: 2.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_3.1: 3.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_3.2: 3.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_3.3: 3.8</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_3.4: 3.15</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_3.5: 3.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_3.6: 3.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_3.7: 3.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>goesto_3.8: 3.2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'><b>É</b></span></p>        </td>        <td width=148 valign=top class="Normal">          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.1: 1.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.10: 1.15</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.11: 1.29</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.12: 1.11</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.2: 1.9</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.3: 1.11</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.4: 1.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.5: 1.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.6: 1.20</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.7: 1.11</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.8: 1.36</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_1.9: 1.36</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_2.1: 2.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_2.2: 2.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_2.3: 2.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_2.4: 2.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_2.5: 2.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_2.6: 2.12</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_2.7: 2.19</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_2.8: 2.13</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_2.9: 2.24</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_3.1: 3.1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_3.2: 3.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_3.3: 3.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_3.4: 3.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_3.5: 3.6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_3.6: 3.8</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_3.7: 3.15</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>comesfrom_3.8: 3.5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'><b>É</b></span></p>        </td>        <td width=148 valign=top class="Normal">          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.1: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.10: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.11: 1.70</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.12: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.2: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.3: 1.30</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.4: 1.19</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.5: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.6: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.7: 1.43</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.8: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_1.9: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_2.1: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_2.2: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_2.3: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_2.4: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_2.5: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_2.6: 2.47</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_2.7: 2.48</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_2.8: 2.49</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_2.9: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_3.1: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_3.2: 3.41</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_3.3: 3.42</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_3.4: 3.43</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_3.5: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_3.6: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_3.7: 0</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>undercond_3.8: 3.40</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'><b>É</b></span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_1.19: 8</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_1.30: 9</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_1.43: 10</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_1.70: 11</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_2.47: 5</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_2.48: 6</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_2.49: 7</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_3.40: 1</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_3.41: 2</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_3.42: 3</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'>condid_3.43: 4</span></p>          <p style='line-height:90%'><span style='font-size:8.0pt;  font-family:"Courier New"'><b>É</b></span></p>        </td>      </tr>    </table>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.6D</b></span><span style='font-size:14.0pt'> Ð Dump of the resource properties hash. Excerpt of information      gathered about links and link conditions between resources in subroutine      </span><span style='font-size:14.0pt;font-family:"Courier New"'>loadmap</span><span style='font-size:14.0pt'>.</span></p>    <span style='font-size:14.0pt;font-family:"Times New Roman"'><br clear=ALL style='page-break-before:always'>    </span>    <table border=1 cellspacing=0 cellpadding=0>      <tr>        <td width=443 valign=top class="Normal">          <p><span style='font-size:12.0pt'>0 : true:normal</span></p>          <p><span style='font-size:12.0pt'>1 : user.assessments[this./msu/smith/racecar.problem].status=solved:force</span></p>          <p><span style='font-size:12.0pt'>2 : user.assessments[this./msu/smith/racecar.problem].answer=friction:stop</span></p>          <p><span style='font-size:12.0pt'>3 : user.assessments[this./msu/smith/racecar.problem].answer=sliding:stop</span></p>          <p><span style='font-size:12.0pt'>4 : user.assessments[this./msu/smith/racecar.problem].answer=nonconstant:stop</span></p>          <p><span style='font-size:12.0pt'>5 : user.assessments[this./msu/korte/tests/part11.problem].status=solved:stop</span></p>          <p><span style='font-size:12.0pt'>6 : user.assessments[this./msu/korte/tests/part12.problem].status=solved:stop</span></p>          <p><span style='font-size:12.0pt'>7 : user.assessments[this./msu/korte/tests/part13.problem].status=solved:stop</span></p>          <p><span style='font-size:12.0pt'>8 : user.assessments[this./msu/korte/tests/pretest.problem].status=solved:stop</span></p>          <p><span style='font-size:12.0pt'>9 : user.assessments[this./msu/korte/tests/midterm.sequence].percent&gt;60:stop</span></p>          <p><span style='font-size:12.0pt'>10 : user.assessments[this./msu/korte/tests/midterm.sequence].percent&lt;10:force</span></p>          <p><span style='font-size:12.0pt'>11 : user.assessments[this./msu/korte/tests/final.sequence].percent&gt;60:stop</span></p>          <p><span style='font-size:18.0pt'><b>É</b></span></p>        </td>      </tr>    </table>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.7</b></span><span style='font-size:14.0pt'> Ð Excerpt of the dump of the condition array constructed      in procedure </span><span style='font-size:14.0pt;font-family:"Courier New"'>loadmap      </span><i>(the final syntax of conditions has not yet been determined)</i></p>    <h3><a name="_Toc514920455"></a><a name="_Toc421867118">Paths and Path Conditions</a></h3>    <p>The next mayor step will be to determine all possible paths and conditions      leading up to a resource for access control.</p>    <p><span style='font-family:"Courier New"'>readmap</span> checks if the course      has a start resource from its map_start entry in the resource properties      (Step R2), and if does not, continue to store the two global binary data      structures (<b>Steps R5,R6</b><span style='font-weight:normal'>) Ð in this      special case, all resources which are part of any maps in the course are      assumed to be accessible.</span></p>    <p>If the course has a start resource, <span style='font-family: "Courier New"'>readmap</span> calls the procedure <span style='font-family: "Courier New"'>traceroute</span> (<b>Fig. 2.3.8A</b><span style='font-weight: normal'>) with the following parameters (</span><b>Step R4</b><span style='font-weight:normal'>): The cumulative condition along this path or route      so far is set to ÒtrueÓ (the map is accessible); the resource ID of the      start resource of the course map; and an empty list for all resources processed      so far along this route. It is again important to note that all variables      except the global binary structures are local to </span><span style='font-family:"Courier New"'>traceroute</span>,      since <span style='font-family:"Courier New"'>traceroute</span> will recursively      call itself whenever there is a branching to follow all possible paths of      the maps.</p>    <p><span style='font-family:"Courier New"'>traceroute</span> will establish      a section within the resource properties hash that builds up all conditions      leading up to a resource. <b>Fig. 2.3.8B</b><span style='font-weight: normal'> shows an excerpt of the final result. For example, resource 2.5, the      introduction to part 1, can be reached under condition 8 (see </span><b>Fig.      2.3.7</b><span style='font-weight:normal'>), meaning, after solving the      pretest problem.</span></p>    <p><span style='font-family:"Courier New"'>traceroute</span> first checks      if the resource has already been processed on this route by its resource      ID (<b>Fig. 2.3.8A</b><span style='font-weight:normal'>, </span><b>Step      T1</b><span style='font-weight:normal'>) Ð this test avoids that </span><span style='font-family:"Courier New"'>traceroute</span> runs into endless loops when      the links on the map loop. Next, the resource ID is added to the list of      processed resources on this route (<b>Step T2</b><span style='font-weight:normal'>).</span></p>    <p>The resource conditions are now ORÕd with the cumulative conditions on      this route (<b>Step T3</b><span style='font-weight:normal'>) Ð the route      represents another way of getting to the resource. A small routine with      simplification rules for boolean expressions is called to simplify the potentially      very long expression.</span></p>    <p>In the next step, it is determined if the resource is itself a map (<b>Step      T4</b><span style='font-weight:normal'>). If it is, the exit route conditions      can differ from the entry route condition by all additional conditions along      the paths in the embedded maps (for non-map resources, entry and exit route      conditions are the same). If however the embedded map does not have a start      resource (</span><b>Step T5</b><span style='font-weight:normal'>), that      is not the case Ð again, the missing of entry point to an embedded link      structure is interpreted as the resources being openly accessible.</span></p>    <p>If the embedded map does have a start resource, <span style='font-family:"Courier New"'>traceroute</span> is called recursively with      the current route conditions, the ID of the start resource of that map,      and the list of already processed resource IDs (<b>Step T6</b><span style='font-weight: normal'>). Upon return, if the embedded map does not have a finish resource, the      entry and exit conditions of this map are assumed to be the same (</span><b>Step      T7</b><span style='font-weight:normal'>). If the map had a finish resource,      the route condition so far is set to the resource condition of the finish      resource of the embedded map (</span><b>Step T8</b><span style='font-weight:normal'>)      Ð in order go on from here, the user would have had to reach the finish      resource of the embedded map.</span></p>    <p>Now the route conditions are correctly set for exiting the resource and      going on from here. <span style='font-family:"Courier New"'>traceroute </span>now      loops over all outgoing links of the resource (<b>Step T9</b><span style='font-weight:normal'>). If the link does have a link condition (</span><b>Step      T10</b><span style='font-weight:normal'>), then for this path, the cumulative      route condition so far AND the link condition (</span><b>Step T11</b><span style='font-weight:normal'>). If there is no link condition, then there is no      change in route conditions (</span><b>Step T12</b><span style='font-weight: normal'>).</span></p>    <p>To further process the routes along this link, <span style='font-family:"Courier New"'>traceroute</span> is called recursively with      the resource ID of the destination resource of the link, the new route conditions,      and the list of already processed resources (<b>Step T13</b><span style='font-weight:normal'>). </span><span style='font-family:"Courier New"'>traceroute</span>      returns after processing the last outgoing link of the resource it had been      called for.</p>    <p><b>Fig. 2.3.8B</b><span style='font-weight:normal'> shows part of the output      of </span><span style='font-family:"Courier New"'>traceroute</span> for      the example <b>Fig. 2.3.4</b><span style='font-weight:normal'>.</span></p>    <br clear=ALL style='page-break-before:always'>    <p><span style='font-size:14.0pt'><img border=0 width=432 height=557 id="_x0000_i1035" src="handout_files/image011.jpg"></span></p>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.8A</b></span><span style='font-size:14.0pt'> Ð Flow chart of procedure </span><span style='font-size:14.0pt;font-family:"Courier New"'>traceroute</span></p>    <br clear=ALL style='page-break-before:always'>    <table border=1 cellspacing=0 cellpadding=0>      <tr>        <td width=443 valign=top class="Normal">          <p>conditions_1.1: 0</p>          <p>conditions_1.11:</p>          <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>          <p>conditions_1.15:</p>          <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>          <p>conditions_1.2:</p>          <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>          <p>conditions_1.20: 0</p>          <p>conditions_1.29:</p>          <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>          <p>conditions_1.36:</p>          <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>          <p>conditions_1.5: 0</p>          <p>conditions_1.9: 8</p>          <p>conditions_2.1: 8</p>          <p>conditions_2.12: 8</p>          <p>conditions_2.13: 8</p>          <p>conditions_2.19: 8</p>          <p>conditions_2.2:</p>          <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>          <p>conditions_2.24: ((8&amp;5)|(8&amp;7)|(8&amp;6))</p>          <p>conditions_2.5: 8</p>          <p>conditions_2.6: 8</p>          <p>conditions_3.1: ((8&amp;5)|(8&amp;7)|(8&amp;6))</p>          <p>conditions_3.15: ((8&amp;5&amp;4)|(8&amp;7&amp;4)|(8&amp;6&amp;4))</p>          <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>          <p>conditions_3.5: ((8&amp;5)|(8&amp;7)|(8&amp;6))</p>          <p>conditions_3.6: ((8&amp;5&amp;2)|(8&amp;7&amp;2)|(8&amp;6&amp;2))</p>          <p>conditions_3.8: ((8&amp;5&amp;3)|(8&amp;7&amp;3)|(8&amp;6&amp;3))</p>        </td>      </tr>    </table>    <p><span style='font-size:14.0pt'><b>Fig. 2.3.8B Ð </b></span><span style='font-size:14.0pt'>Dump of resource properties hash. Excerpt of cumulative      link conditions to reach a certain resource.</span></p>    <h3><a name="_Toc514840865"></a><a name="_Toc514920456"></a><a name="_Toc421867119">Multivalued Boolean Evaluation of Link Priorities</a></h3>    <p>When a user accessed a resource on a map and desires to access the ÒnextÓ      resource, the request is processed by a number of steps. From the data examplified      in <b>Fig. 2.3.6C</b><span style='font-weight:normal'>, it is determined      which outgoing links exist. From the data in </span><b>Fig. 2.3.6D</b><span style='font-weight:normal'>      it is determined to which resources those links lead. For each of the resources,      the expressions in </span><b>Fig. 2.3.8A</b><span style='font-weight:normal'>      are evaluated as follows. Stored in the session environment is the evaluation      of the table </span><b>Fig. 10</b><span style='font-weight:normal'>, where the boolean part is evaluated as Ò0Ó or Ò1Ó.      In addition, a multivalued boolean value is computed incorporating the condition      priority. A false blocking condition is assigned the value zero, all other      false conditions the value 1. A true forced condition is assigned the value      3, all other true conditions the value 2. </span></p>    <p>In the expressions <b>Fig. 2.3.8A</b><span style='font-weight: normal'> an Ò&amp;Ó (ÒANDÓ) is processed as the minimum (min) operation, a Ò|Ó      (ÒORÓ) is processed as the maximum (max) operation. The outcome Ò0Ó means      ÒblockedÓ, the outcome Ò1Ó mean Ònot recommendedÓ, the outcome Ò2Ó recommended,      and the outcome Ò3Ó forced.</span></p>  </div>  <p>&nbsp;</p> </div> <br clear=ALL style='page-break-before:always;'> <div class=Section2> </div> </body> </html>  
   
   <html>
   <head>
   <meta name=Title
   content="Session Three: Publication, Content Maps, Course Maps (Gerd)">
   <meta http-equiv=Content-Type content="text/html; charset=macintosh">
   <title>Session Three: Publication, Content Maps, Course Maps (Gerd)</title>
   <style><!--
   .Section1
    {page:Section1;}
   .Section2
    {page:Section2;}
   -->
   </style>
   </head>
   <body bgcolor=#FFFFFF class="Normal" lang=EN-US>
   <div class=Section1> 
     <h2>Session Three: Publication, Content Maps, Course Maps (Gerd)</h2>
     <h3><a name="_Toc514840855"></a><a name="_Toc421867109">Publication of a Resource</a></h3>
     <p>Authors can only write-access the<i> </i><span
   style='font-family:"Courier New";font-style:normal'>/~</span><span
   style='font-family:"Courier New"'><i>authorname</i></span><span
   style='font-family:"Courier New"'>/</span> space. They can copy resources into 
       the resource area through the publication step, and move them back through 
       a recover step. Authors do not have direct write-access to their resource 
       space. </p>
     <div class=Section9>
       <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt'>
         <p style='border:none;padding:0in'><span
   style='font-size:14.0pt'><b>Construction space</b></span><span
   style='font-size:14.0pt'> </span><span style='font-size:14.0pt;font-family:
   Wingdings'>ˆ</span><span style='font-size:14.0pt'> Publication Step </span><span
   style='font-size:14.0pt;font-family:Wingdings'>ˆ</span><span style='font-size:
   14.0pt'> <b>Resource space</b></span></p>
         <p style='border:none;padding:0in'><span style='font-size:14.0pt'> </span><span
   style='font-size:14.0pt;font-family:Wingdings'>§</span><span style='font-size:
   14.0pt'> Retrieve </span><span style='font-size:14.0pt;font-family:Wingdings'>§</span> 
         </p>
       </div>
       <p>During the publication step, several events will be triggered. Metadata 
         is gathered, where a wizard manages default entries on a hierarchical per-directory 
         base: The wizard imports the metadata (including access privileges and royalty 
         information) from the most recent published resource in the current directory, 
         and if that is not available, from the next directory above, etc. The Network 
         keeps all previous versions of a resource and makes them available by an 
         explicit version number, which is inserted between the file name and extension, 
         for example <span style='font-family:"Courier New"'>foo.2.html</span>, while 
         the most recent version does not carry a version number (<span
   style='font-family:"Courier New"'>foo.html</span>). Servers subscribing to a changed 
         resource are notified that a new version is available.</p>
       <h3><a name="_Toc514840857"></a><a name="_Toc421867110">Content Re-usage and 
         Granularity</a></h3>
       <p>Any faculty participating in the Network can publish their own learning 
         resources into the common pool. To that end, the Network provides a Òconstruction 
         spaceÓ which is only accessible to the author, and a publication process, 
         which transfers the material to the shared pool Ð during the publication 
         process, metadata about the resource is gathered, and system-wide update 
         notification and versioning mechanisms are triggered..</p>
       <p>Learning resources could be simple paragraphs of text, movies, applets, 
         individualizing homework problems, etc. In addition to providing a distributed 
         digital library with mechanisms to store and catalog these resources, the 
         Network enables faculty to combine and sequence these resources at several 
         levels: An instructor from Community College A could combine a text paragraph 
         from University B with a movie from College C and an online homework problem 
         from Publisher D, to form one page. Another instructor from High School 
         E can take that page from Community College A and combine it with other 
         pages into a module, unit or chapter. Those in turn can be combined into 
         whole coursepacks. Faculty can design their own curricula from existing 
         and newly created resources instead of having to buy into a complete off-the-shelf 
         product.</p>
       <p><b>Fig. 2.3.1</b><span style='font-weight:normal'> shows a general overview 
         of the resource assembly mechanism and the different levels of content granularity 
         supported by the current implementation of this principle. The topmost puzzle 
         piece represents a resource at the fragment level Ð one GIF, one movie, 
         one paragraph of text, one problem, or one regular web page. Attached to 
         the resource is metadata gathered at the publication time of the resource.</span></p>
       <p>Using the resource assembly tool described below, these fragments and pages 
         can be assembled into a page. A page is a resource of the grain size which 
         would be rendered as one page on the web and/or on the printer.</p>
       <p>Using the same tool, fragments (which would then be rendered as standalone 
         pages), pages and sequences can be assembled into sequences. Sequences are 
         resources which are rendered a sequence of pages, not necessarily linear. 
         Examples are one lesson, one chapter, or one learning cycle</p>
       <p>On the third granularity level, fragments (rendered as standalone pages), 
         pages, and sequences can be assembled into courses. Courses are a sequence 
         which represents the entirety of the resources belonging to a learning unit 
         into which learners can be enrolled. Examples are a University one-semester 
         course, a</p>
       <p>workshop, or a High School class.</p>
       <p align=center style='text-align:center'><img border=0
   width=291 height=436 id="_x0000_i1029" src="handout_files/image005.png"></p>
       <p><span style='font-size:14.0pt'><b>Fig. 2.1.1</b></span><span
   style='font-size:14.0pt'> Ð Resource Assembly</span></p>
       <h3><a name="_Toc514840858"></a><a name="_Toc421867111">Maps</a></h3>
       <p>To increase the utility of the materials, the number of hard-coded hyperlinks 
         between the resources should be minimized. The actual combining and sequencing 
         is part of the system functionality and driven by external &quot;roadmaps&quot;, 
         which are constructed by the instructors. With this mechanism, one and the 
         same resource can be part of different courses in different contexts. The 
         soft-linking makes it possible to import only the desired set of resources 
         without effectively importing additional parts another instructors resources 
         through hard-linked menus or &quot;next page&quot; buttons that might resided 
         on those resources.</p>
       <h3><a name="_Toc514840859"></a><a name="_Toc421867112">Curriculum Adaptivity</a></h3>
       <p>Maps allow for conditional choices and branching points. The actual path 
         through and presentation of the learning resources is determined by instructor-specified 
         combinations of learner choices and system-generated adaptations (for example, 
         if the learner does not pass a test, additional resources may be included). 
         Each learner can have an individualized curriculum according to preferences, 
         capabilities and skills.</p>
       <p>These maps can be generated at different levels of granularity with a graphical 
         tool, or in an automated way through custom scripts.</p>
       <h3><a name="_Toc514840860"></a><a name="_Toc421867113">Resource Assembly 
         Tool</a></h3>
       <p>The Network provides the Resource Assembly Tool as one means to generate 
         maps. The Resource Assembly Tool provides a graphical user interface inside 
         of a standard web browser. The current implementation is written in JavaScript. 
       </p>
       <p><b>Fig. 2.3.2</b><span style='font-weight:normal'> shows screenshots of 
         the current implementation. The interface usually consists of two browser 
         windows, one resizable one with a frameset that contains the menu and the 
         map under construction, and a multipurpose non-resizable window that displays 
         information and input forms.</span></p>
       <p>When a new map is started, it only has a start and a finish resources. 
         The author can then enlarge the map area and insert resources into it.</p>
       <p>In <b>Fig. 2.3.2A</b><span style='font-weight:normal'>, the author is editing 
         information about a resource in the map after clicking on the box representing 
         the resource in the map. In the dialog, the author can enter a map-internal 
         title for the resource, which is displayed to the learners when navigating 
         the maps. In the same dialog, the author will specify the URL of the resource, 
         which can either be internal to the Network, or any URL of a web page outside 
         of it. For internal resources, the author can also browse the Network filesystem 
         or search the resource metadata to locate an appropriate resource.</span></p>
       <p><span style='font-size:14.0pt'><b><img border=0 width=431
   height=327 id="_x0000_i1030" src="handout_files/image006.jpg">Fig. 2.3.2A</b></span><span
   style='font-size:14.0pt'> Ð </span><span style='font-size:12.0pt'>Example, Graphical 
         User Interface of Resource Assembly Tool</span></p>
       <p>The resource priority can be chosen. A resource can be Òregular,Ó ÒmandatoryÓ 
         or Òoptional.Ó These resource priorities are only used in book-keeping of 
         earned points by the learners. Within the map, resources of different priorities 
         are displayed in different colors.</p>
       <p>The dialog also allows for two modes of removing the resource from the 
         map: deleting it from the map including every link to and from it, and deleting 
         it while reconnecting any links that went through the resource. As an example, 
         resources A and B might both connect to resource C, and resource C might 
         connect to D. When removing C from the map using the first option, A and 
         B will not be connected to D anymore. Using the second option, in the end, 
         A will connect to D, and B will connect to D. In the latter case, the Resource 
         Assembly tool will also handle link conditions correctly: if A connected 
         to C under condition 1, and C connected to D under condition 2, then in 
         the end A will connect to D under a new condition which is (1 AND 2).</p>
       <p>Finally, this dialog allows the author to connect the resource to another 
         resource (or itself) through a new link. When selecting this option, the 
         Resource Assembly Tool goes into link mode, and will link the current resource 
         to the next resource clicked on (unless the action is cancelled).</p>
       <p><img border=0 width=431 height=327 id="_x0000_i1031"
   src="handout_files/image007.jpg"></p>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.2B</b></span><span
   style='font-size:14.0pt'> Ð </span><span style='font-size:12.0pt'>Example, Graphical 
         User Interface of Resource Assembly Tool</span></p>
       <p><b>Fig. 2.3.2B</b><span style='font-weight:normal'> shows the Resource 
         Assembly Tool in info mode, that is, when no specific component of the map 
         is edited, and if the Tool is not in link mode. In info mode, the contents 
         of the dialog window change dynamically as the mouse is moved over the components 
         of the map. In this case, the mouse pointer is over the link condition between 
         two resources. The dialog window shows the titles of the connected resources, 
         as well as the condition priority. In this scenario, the condition priority 
         is set such that the link cannot be taken (Òis blockedÓ) if the condition 
         is false. The condition priority can also be set such that the link is recommended 
         if the condition is true (possibly giving the learner several options where 
         to go next), or that the link has to be taken (Òis forcedÓ) over any other 
         possible link if the condition is true. Within the map, conditions of different 
         priorities are displayed in different colors. If the author now were to 
         click on the condition, the Tool would go into edit mode, and the condition 
         could be edited.</span></p>
       <p><b>Fig. 2.3.2C</b><span style='font-weight:normal'> shows the Tool in edit 
         mode for the link between the resource titles displayed. The author can 
         remove the link, or insert a new resource into the link.</span></p>
       <p>Obviously, by this mechanism, rather complex maps can be generated. These 
         are different from binary trees, both because branches can loop back, and 
         because branches can be re-united Ð in fact, most branches re-unite in the 
         finish resources. Into each link, a condition with one of three different 
         priorities can be attached. Whether or not a certain resource in the map 
         can be displayed depends on whether or not it can be reached through any 
         path along allowed links, starting with the start resource of the course. 
         If a resource is not linked to, it is assumed to be accessible if the map 
         which it is part of is accessible.</p>
       <p><img border=0 width=431 height=327 id="_x0000_i1032"
   src="handout_files/image008.jpg"></p>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.2C</b></span><span
   style='font-size:14.0pt'> Ð </span><span style='font-size:12.0pt'>Example, Graphical 
         User Interface of Resource Assembly Tool </span></p>
       <h3><a name="_Toc514840861"></a><a name="_Toc421867114">Map Representation 
         and Storage Format</a></h3>
       <p><b>Fig. 2.3.3</b><span style='font-weight:normal'> shows the XML representation 
         of the resource map constructed in </span><b>Fig. 2.3.2</b><span
   style='font-weight:normal'>, which is the format in which maps are stored. In 
         the figure, however, additional graphical map layout information generated 
         by the Resource Assembly Tool is not displayed. This graphical information 
         is optional to re-generate the same graphical layout when the map is brought 
         up again in the Resource Assembly Tool, and is not needed for any other 
         system functionality.</span></p>
       <p>Maps can be generated by tools other than the Resource Assembly Tool. In 
         particular, an author might have some other representation of a course sequence, 
         which can be converted into a map using scripts. If this map then were to 
         be brought up in the Resource Assembly Tool, the Tool would automatically 
         generate a graphical layout for it. Each entry of the map (resources, conditions 
         and links) is stored in a separate tag. </p>
       <p>Resources and conditions have to have unique ID numbers. These numbers 
         are automatically generated by the Resource Assembly Tool when the entry 
         is first created, or added to the entries when a map generated outside the 
         Resource Assembly Tool is first retrieved. They can also be assigned by 
         custom scripts or added in by hand.</p>
       <p>In this example, <b>Fig. 2.3.3</b><span style='font-weight:
   normal'>, entry 1 is the start resource of the map Ð when this map is accessed, 
         the source (src) URL of this tag will be the first resource rendered. Entry 
         2 is the finish resource of this map. This resource will be the last resource 
         in the sequence of resources. Entry 6 is a problem resource with the given 
         URL and title, as well as the priority ÒmandatoryÓ. Entry 19 is a condition, 
         which is used by the link between entries 6, the problem, and 9, a sequence. 
         <i>The final syntax for conditions has not yet been determined.</i></span></p>
       <table border=1 cellspacing=0 cellpadding=0>
         <tr> 
           <td width=443 valign=top class="Normal"> 
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/korte/phy231welcome.html&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> type=&quot;start&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;&quot; 
               type=&quot;finish&quot; </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;6&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/korte/tests/units.problem&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> type=&quot;mandatory&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Physical 
               Units Test&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;9&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/korte/chapters/onedim.sequence&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Motion 
               in One Dimension&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;11&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> src=&quot;/res/msu/bauer/bridges/units.sequence&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Physical 
               Units Refresher&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;19&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> type=&quot;stop&quot; 
               </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot; 
               to=&quot;6&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
               to=&quot;9&quot; condition=&quot;19&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
               to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot; 
               to=&quot;6&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>
           </td>
         </tr>
       </table>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.3</b></span><span
   style='font-size:14.0pt'> Ð XML representation of the map in Fig. 2.3.2C (non-graphical 
         information only).</span></p>
       <h3><a name="_Toc514840866"></a><a name="_Toc514840862"></a><a
   name="_Toc514920452"></a><a name="_Toc421867115">Example of Nested Maps</a></h3>
       <p><b>Fig. 2.3.4 </b><span style='font-weight:normal'>shows the XML representation 
         of three maps which are imported into each other. </span><b>Fig. 2.3.4B</b><span style='font-weight:normal'> 
         is the sequence that is referenced as resource 9 in the course map </span><b>Fig. 
         2.3.4A</b><span
   style='font-weight:normal'>. In the resulting map, the entry point of resource 
         9 in </span><b>Fig. 2.3.4A</b><span style='font-weight:normal'> is in fact 
         the entry point of the start resource of </span><b>Fig. 2.3.4B</b><span
   style='font-weight:normal'>, namely, resource 1 there. The exit point of resource 
         9 in </span><b>Fig. 2.3.4A</b><span style='font-weight:normal'> is the exit 
         point of the finish resource of </span><b>Fig. 2.3.4B</b><span
   style='font-weight:normal'>, namely, resource 2 there.</span></p>
       <p><b>Fig. 2.3.4C</b><span style='font-weight:normal'> is the page which is 
         referenced as resource 24 in </span><b>Fig. 2.3.4B</b><span
   style='font-weight:normal'>.</span></p>
       <p>A course can easily contain several hundreds of these nested maps. Since 
         the accessibility of each individual resource in the course depends on the 
         state of all possible paths linking it to the start resource of the course 
         across all intermediate maps, the computation and disk-I/O effort per single 
         transaction could quickly become prohibitive. Thus, all maps and conditions 
         are compiled into a pre-processed binary data structure at the start of 
         a session.</p>
       <table border=1 cellspacing=0 cellpadding=0>
         <tr> 
           <td width=442 valign=top class="Normal"> 
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot; 
               src=&quot;&quot; type=&quot;start&quot; title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot; 
               src=&quot;&quot; type=&quot;finish&quot; title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;5&quot; 
               src=&quot;/res/msu/korte/tests/pretest.problem&quot; type=&quot;mandatory&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Pretest&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;9&quot; 
               src=&quot;/res/msu/korte/parts/part1.sequence&quot; type=&quot;mandatory&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Part 
               1&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;11&quot; 
               src=&quot;/res/msu/korte/tests/midterm.sequence&quot; type=&quot;mandatory&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Midterm&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;15&quot; 
               src=&quot;/res/msu/korte/parts/part2.sequence&quot; type=&quot;mandatory&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Part 
               2&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;19&quot; 
               type=&quot;stop&quot; </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;20&quot; 
               src=&quot;/res/msu/korte/refresh/refresher.sequence&quot; </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Refresher&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;29&quot; 
               src=&quot;/res/msu/korte/tests/final.sequence&quot; type=&quot;mandatory&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Final 
               Exam&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;30&quot; 
               type=&quot;stop&quot; </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;36&quot; 
               src=&quot;/res/msu/korte/refresh/review.sequence&quot;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Review&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;43&quot; 
               type=&quot;force&quot; </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;58&quot; 
               src=&quot;/res/msu/korte/chapters/applications.sequence&quot; type=&quot;optional&quot; 
               </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Applications&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;70&quot; 
               type=&quot;stop&quot; </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot; 
               to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;9&quot; 
               to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot; 
               to=&quot;15&quot; condition=&quot;30&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
               to=&quot;9&quot; condition=&quot;19&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
               to=&quot;20&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;20&quot; 
               to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot; 
               to=&quot;36&quot; condition=&quot;43&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;36&quot; 
               to=&quot;9&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;36&quot; 
               to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;15&quot; 
               to=&quot;29&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;29&quot; 
               to=&quot;2&quot; condition=&quot;70&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;11&quot; 
               to=&quot;11&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>
           </td>
         </tr>
       </table>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.4A</b></span><span
   style='font-size:14.0pt'> Ð Example of a course map that has nested sequences</span></p>
       <br clear=ALL
   style='page-break-before:always'>
       <table border=1 cellspacing=0 cellpadding=0>
         <tr> 
           <td width=442 valign=top class="Normal"> 
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot; 
               src=&quot;&quot; type=&quot;start&quot; title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot; 
               src=&quot;&quot; type=&quot;finish&quot; title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;5&quot; 
               src=&quot;/res/msu/korte/parts/part1intro.html&quot; </span></p>
             <p class=Preformatted><span style='font-size:8.0pt'> title=&quot;Part 
               1 Introduction&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;6&quot; 
               src=&quot;/res/msu/korte/parts/part1dir.xml&quot; title=&quot;Directions&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;12&quot; 
               src=&quot;/res/msu/korte/tests/part11.problem&quot; title=&quot;Problem 
               1&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;13&quot; 
               src=&quot;/res/msu/korte/tests/part13.problem&quot; title=&quot;Problem 
               3&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;19&quot; 
               src=&quot;/res/msu/korte/tests/part12.problem&quot; title=&quot;Problem 
               2&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;24&quot; 
               src=&quot;/res/msu/korte/parts/summary.page&quot; title=&quot;Summary&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;47&quot; 
               type=&quot;stop&quot;</span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;48&quot; 
               type=&quot;stop&quot; </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;49&quot; 
               type=&quot;stop&quot; </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'> &lt;/condition&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
               to=&quot;6&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot; 
               to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
               to=&quot;12&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
               to=&quot;13&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
               to=&quot;19&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;12&quot; 
               to=&quot;24&quot; condition=&quot;47&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;19&quot; 
               to=&quot;24&quot; condition=&quot;48&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;13&quot; 
               to=&quot;24&quot; condition=&quot;49&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;24&quot; 
               to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>
           </td>
         </tr>
       </table>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.4B</b></span><span
   style='font-size:14.0pt'> Ð Example of a sequence (</span><span
   style='font-size:14.0pt;font-family:"Courier New"'>part1.sequence</span><span
   style='font-size:14.0pt'>) that has nested pages</span></p>
       <table border=1 cellspacing=0 cellpadding=0>
         <tr> 
           <td width=443 valign=top class="Normal"> 
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;map&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;1&quot; 
               src=&quot;&quot; type=&quot;start&quot; title=&quot;Start&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;2&quot; 
               src=&quot;&quot; type=&quot;finish&quot; title=&quot;Finish&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;5&quot; 
               src=&quot;/res/msu/smith/racecar.problem&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;6&quot; 
               src=&quot;/res/msu/smith/toofast.html&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;8&quot; 
               src=&quot;/res/msu/smith/tooslow.html&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;resource id=&quot;15&quot; 
               src=&quot;/res/msu/smith/accelerate.html&quot;&gt;&lt;/resource&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;40&quot; 
               type=&quot;force&quot; </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;41&quot; 
               type=&quot;stop&quot; </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;42&quot; 
               type=&quot;stop&quot; </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;condition id=&quot;43&quot; 
               type=&quot;stop&quot; </span></p>
             <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>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;1&quot; 
               to=&quot;5&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
               to=&quot;6&quot; condition=&quot;41&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
               to=&quot;8&quot; condition=&quot;42&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
               to=&quot;15&quot; condition=&quot;43&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;6&quot; 
               to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;8&quot; 
               to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;15&quot; 
               to=&quot;2&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;link from=&quot;5&quot; 
               to=&quot;2&quot; condition=&quot;40&quot;&gt;&lt;/link&gt;</span></p>
             <p class=Preformatted><span style='font-size:8.0pt'>&lt;/map&gt;</span></p>
           </td>
         </tr>
       </table>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.4C</b></span><span
   style='font-size:14.0pt'> Ð Example of a page (</span><span style='font-size:
   14.0pt;font-family:"Courier New"'>summary.page</span><span style='font-size:
   14.0pt'>)</span></p>
       <br clear=ALL
   style='page-break-before:always'>
       <p><span style='font-size:14.0pt'><img border=0 width=432
   height=456 id="_x0000_i1033" src="handout_files/image009.jpg"></span></p>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.5 Ð </b></span><span
   style='font-size:14.0pt'>Flow chart of the course initialization routine run when 
         a learner first accesses a course during a session (see Figs. 2.1.6A and 
         2.1.8A for the procedures </span><span style='font-size:14.0pt;font-family:
   "Courier New"'>loadmap</span><span style='font-size:14.0pt'> and </span><span
   style='font-size:14.0pt;font-family:"Courier New"'>traceroute</span><span
   style='font-size:14.0pt'>)</span></p>
       <h3><a name="_Toc514840863"></a><a name="_Toc514920453"></a><a
   name="_Toc421867116">Initialization of a Course for a Learner</a></h3>
       <p>When a learner first enters a course during a session, the system will 
         initialize this course for the learner. In particular, at this point, the 
         course map and all nested (embedded) maps and resources are evaluated, and 
         the information is compiled into two binary structures, which are stored 
         with the session information: the resource properties hash, and the link 
         conditions array. This information will be used over the duration of the 
         session for several purposes: navigation (which resource is the next, which 
         one the previous?), for access control (can the resource be reached under 
         the link conditions given the current state of the student?), and to register 
         assessment results within the context of a certain course and map (there 
         might be several instances of the same problem resource within a course).</p>
       <h3><a name="_Toc514840864"></a><a name="_Toc514920454"></a><a
   name="_Toc421867117">Evaluation of the Map Structure for a Course</a></h3>
       <p>The URL of the course is passed to the procedure <span
   style='font-family:"Courier New"'>readmap</span> (<b>Fig. 2.3.5</b><span
   style='font-weight:normal'>). Procedure </span><span style='font-family:"Courier New"'>readmap</span> 
         first initializes the resource properties as an empty hash, seeds the link 
         conditions array with a 0<sup>th</sup> element, which is set to ÒtrueÓ, 
         priority ÒnormalÓ, and sets the map counter to 0 (<b>Fig. 2.3.5, Step R1</b><span
   style='font-weight:normal'>). While the resource properties hash, the link conditions 
         array and the map counter are global variable of the initialization process, 
         all other variables are local to the procedures (an important property for 
         these routines to run recursively). The procedure </span><span
   style='font-family:"Courier New"'>readmap</span> then calls procedure <span
   style='font-family:"Courier New"'>loadmap</span> for the URL of the course (<b>Fig. 
         2.3.5, Step R2</b><span style='font-weight:normal'>).</span></p>
       <p><b>Figs. 2.1.6, 2.1.7</b><span style='font-weight:normal'> show a dump 
         of excerpts of the binary structure generated in </span><span
   style='font-family:"Courier New"'>loadmap</span> for the nested maps of example 
         <b>Fig. 2.3.4</b><span style='font-weight:normal'>.</span></p>
       <p>Procedure <span style='font-family:"Courier New"'>loadmap</span> (<b>Fig. 
         2.3.6A</b><span style='font-weight:normal'>) first checks if the map URL 
         has already been processed (multiple inclusion of the same map in a course 
         structure) (</span><b>Fig. 2.3.6A, Step L1</b><span style='font-weight:normal'>) 
         Ð if it was, it has been assigned a map counter value in the resource properties 
         hash. If the map has been processed, there is no need to process it again, 
         and </span><span style='font-family:"Courier New"'>loadmap</span> returns.</p>
       <p>If the map has not been processed yet, the map counter is incremented and 
         the map is registered under the current value in the resource properties 
         hash (<b>Fig. 2.3.6A, Step L2</b><span style='font-weight:normal'>). The 
         file is then opened (</span><b>Fig. 2.3.6A, Step L3</b><span
   style='font-weight:normal'>), which might entail prior replication, and the contents 
         are parsed. If there are no further entries, </span><span
   style='font-family:"Courier New"'>loadmap</span> returns (<b>Fig. 2.3.6A, Step 
         L4</b><span style='font-weight:normal'>).</span></p>
       <p>The new entry tag is then read (<b>Fig. 2.3.6A, Step L5</b><span
   style='font-weight:normal'>) and the type is determined (</span><b>Fig. 2.3.6A, 
         Step L6</b><span style='font-weight:normal'>). </span></p>
       <p>If the entry is a resource (<b>Step L7</b><span
   style='font-weight:normal'>), a resource ID is formed by combining the map counter 
         and the resource ID within the map. For example, the ÒPart I IntroductionÓ 
         resource of part1.sequence (</span><b>Fig. 2.3.4B</b><span
   style='font-weight:normal'>) was assigned the resource ID 2.5, since it has the 
         internal resource ID 5 in the 2<sup>nd</sup> map processed (see </span><b>Fig. 
         2.3.6B</b><span style='font-weight:normal'> under Òids_Ó). If the same URL 
         is found again, additional IDs are assigned to it. It is necessary to store 
         the IDs under the URL in the resource properties hash for reverse lookup 
         if a user simply requests a URL. If the resource is a start or finish resources, 
         the resource ID is registered as the start or finish resource of the map, 
         respectively (</span><b>Fig. 2.3.6B</b><span style='font-weight:normal'>, 
         Òmap_start_Ó, Òmap_finish_Ó). The properties of the resource (URL, Title, 
         Priority, etc) are now stored under the resource ID, see for example </span><b>Fig. 
         2.3.6B</b><span
   style='font-weight:normal'> Òtitle_2.5Ó.</span></p>
       <p>If the resource is not a map itself (<b>Fig. 2.3.6A</b><span
   style='font-weight:normal'>, </span><b>Step L8</b><span style='font-weight:
   normal'>), the next entry is read. Otherwise, procedure </span><span
   style='font-family:"Courier New"'>loadmap </span>calls itself recursively to process 
         that map (<b>Step L9</b><span style='font-weight:normal'>).</span></p>
       <p>If in <b>Step L6</b><span style='font-weight:normal'>, the type of the 
         entry was determined to be a condition, a condition ID is formed (</span><b>Step 
         L10</b><span style='font-weight:normal'>) by again combining the map counter 
         with the internal ID. The condition is also added to the end of the condition 
         array (see </span><b>Fig. 10</b><span style='font-weight:normal'>), which 
         is a compilation of all conditions in the course (</span><b>Step L11</b><span
   style='font-weight:normal'>). The conditions in this array are evaluated when 
         a transaction occurs that could change the state of the student, and the 
         state of each condition is stored by the index number in the session environment. 
         A reference to the index number in the condition array is stored under the 
         condition ID (</span><b>Fig. 2.3.6D</b><span style='font-weight:normal'>, 
         Òcondid_Ó).</span></p>
       <p>If the entry is a link (<b>Step L6</b><span
   style='font-weight:normal'>), a link ID is generated (</span><b>Step L12</b><span
   style='font-weight:normal'>). This ID is formed by combining the map counter and 
         another counter which is incremented for every new link within the map. 
         Under this ID, the IDs of the originating and the destination resource of 
         the link are stored, as well as that of the link condition (</span><b>Fig. 
         2.3.6D</b><span
   style='font-weight:normal'>). For the originating resource, in </span><b>Step 
         L13 </b><span style='font-weight:normal'>the link ID is added to the list 
         of outgoing links (</span><b>Fig. 2.3.6C</b><span style='font-weight:normal'>, 
         Òto_Ó), and for the destination resource, the link ID is added to the list 
         of incoming links (</span><b>Fig. 2.3.6C</b><span style='font-weight:normal'>, 
         Òfrom_Ó).</span></p>
       <p>After the last entry has been processed, procedure <span
   style='font-family:"Courier New"'>loadmap</span> returns. After the last map has 
         been processed, the original course-level instance of <span
   style='font-family:"Courier New"'>loadmap</span> returns to <span
   style='font-family:"Courier New"'>readmap</span> (<b>Fig. 2.3.5</b><span
   style='font-weight:normal'>, </span><b>Step R2</b><span style='font-weight:
   normal'>).</span></p>
       <p><img border=0 width=432 height=547 id="_x0000_i1034"
   src="handout_files/image010.jpg"></p>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.6A</b></span><span
   style='font-size:14.0pt'> Ð Flow chart of procedure </span><span
   style='font-size:14.0pt;font-family:"Courier New"'>loadmap</span></p>
       <br clear=ALL
   style='page-break-before:always'>
       <table border=1 cellspacing=0 cellpadding=0>
         <tr> 
           <td width=443 valign=top class="Normal"> 
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/chapters/applications.sequence: 
               1.58</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/parts/part1.sequence: 1.9</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/parts/part1dir.xml: 2.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/parts/part1intro.html: 2.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/parts/part2.sequence: 1.15</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/parts/summary.page: 2.24</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/refresh/refresher.sequence: 1.20</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/refresh/review.sequence: 1.36</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/tests/final.sequence: 1.29</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/tests/midterm.sequence: 1.11</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/tests/part11.problem: 2.12</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/tests/part12.problem: 2.19</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/tests/part13.problem: 2.13</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/korte/tests/pretest.problem: 1.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/smith/accelerate.html: 3.15</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/smith/racecar.problem: 3.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/smith/toofast.html: 3.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>ids_/res/msu/smith/tooslow.html: 3.8</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'><b>É</b></span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>map_start_/res/msu/korte/foo.sequence: 1.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>map_start_/res/msu/korte/parts/part1.sequence: 2.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>map_start_/res/msu/korte/parts/summary.page: 3.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'><b>É</b></span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>map_finish_/res/msu/korte/foo.sequence: 1.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>map_finish_/res/msu/korte/parts/part1.sequence: 2.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>map_finish_/res/msu/korte/parts/summary.page: 3.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'><b>É</b></span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_1.11: Midterm</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_1.15: Part 2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_1.20: Refresher</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_1.29: Final Exam</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_1.36: Review</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_1.5: Pretest</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_1.58: Applications</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_1.9: Part 1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_2.12: Problem 1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_2.13: Problem 3</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_2.19: Problem 2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_2.24: Summary</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_2.5: Part 1 Introduction</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>title_2.6: Directions</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'><b>É</b></span></p>
           </td>
         </tr>
       </table>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.6B</b></span><span
   style='font-size:14.0pt'> Ð Dump of the resource properties hash. Excerpt of the 
         resource properties gathered in procedure </span><span style='font-size:
   14.0pt;font-family:"Courier New"'>loadmap</span></p>
       <table border=1 cellspacing=0 cellpadding=0>
         <tr> 
           <td width=443 valign=top class="Normal"> 
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_1.1: 1.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_1.11: 1.3,1.7,1.12</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_1.15: 1.10</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_1.20: 1.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_1.29: 1.11</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_1.36: 1.8,1.9</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_1.5: 1.4,1.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_1.9: 1.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_2.1: 2.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_2.12: 2.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_2.13: 2.8</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_2.19: 2.7</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_2.24: 2.9</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_2.5: 2.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_2.6: 2.3,2.4,2.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_3.1: 3.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_3.15: 3.7</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_3.5: 3.2,3.3,3.4,3.8</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_3.6: 3.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>to_3.8: 3.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'><b>É</b></span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_1.11: 1.2,1.9,1.12</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_1.15: 1.3</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_1.2: 1.11</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_1.20: 1.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_1.29: 1.10</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_1.36: 1.7</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_1.5: 1.1,1.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_1.9: 1.4,1.8</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_2.12: 2.3</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_2.13: 2.4</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_2.19: 2.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_2.2: 2.9</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_2.24: 2.6,2.7,2.8</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_2.5: 2.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_2.6: 2.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_3.15: 3.4</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_3.2: 3.5,3.6,3.7,3.8</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_3.5: 3.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_3.6: 3.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>from_3.8: 3.3</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'><b>É</b></span></p>
           </td>
         </tr>
       </table>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.6C</b></span><span
   style='font-size:14.0pt'> Ð Dump of the resource properties hash. Excerpt of information 
         gathered about links between resources in subroutine </span><span
   style='font-size:14.0pt;font-family:"Courier New"'>loadmap</span><span
   style='font-size:14.0pt'>.</span></p>
       <table border=1 cellspacing=0 cellpadding=0>
         <tr> 
           <td width=148 valign=top class="Normal"> 
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.1: 1.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.10: 1.29</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.11: 1.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.12: 1.11</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.2: 1.11</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.3: 1.15</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.4: 1.9</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.5: 1.20</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.6: 1.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.7: 1.36</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.8: 1.9</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_1.9: 1.11</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_2.1: 2.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_2.2: 2.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_2.3: 2.12</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_2.4: 2.13</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_2.5: 2.19</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_2.6: 2.24</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_2.7: 2.24</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_2.8: 2.24</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_2.9: 2.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_3.1: 3.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_3.2: 3.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_3.3: 3.8</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_3.4: 3.15</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_3.5: 3.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_3.6: 3.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_3.7: 3.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>goesto_3.8: 3.2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'><b>É</b></span></p>
           </td>
           <td width=148 valign=top class="Normal"> 
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.1: 1.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.10: 1.15</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.11: 1.29</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.12: 1.11</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.2: 1.9</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.3: 1.11</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.4: 1.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.5: 1.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.6: 1.20</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.7: 1.11</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.8: 1.36</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_1.9: 1.36</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_2.1: 2.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_2.2: 2.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_2.3: 2.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_2.4: 2.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_2.5: 2.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_2.6: 2.12</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_2.7: 2.19</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_2.8: 2.13</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_2.9: 2.24</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_3.1: 3.1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_3.2: 3.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_3.3: 3.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_3.4: 3.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_3.5: 3.6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_3.6: 3.8</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_3.7: 3.15</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>comesfrom_3.8: 3.5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'><b>É</b></span></p>
           </td>
           <td width=148 valign=top class="Normal"> 
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.1: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.10: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.11: 1.70</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.12: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.2: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.3: 1.30</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.4: 1.19</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.5: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.6: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.7: 1.43</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.8: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_1.9: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_2.1: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_2.2: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_2.3: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_2.4: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_2.5: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_2.6: 2.47</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_2.7: 2.48</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_2.8: 2.49</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_2.9: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_3.1: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_3.2: 3.41</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_3.3: 3.42</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_3.4: 3.43</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_3.5: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_3.6: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_3.7: 0</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>undercond_3.8: 3.40</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'><b>É</b></span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_1.19: 8</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_1.30: 9</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_1.43: 10</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_1.70: 11</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_2.47: 5</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_2.48: 6</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_2.49: 7</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_3.40: 1</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_3.41: 2</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_3.42: 3</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'>condid_3.43: 4</span></p>
             <p style='line-height:90%'><span style='font-size:8.0pt;
     font-family:"Courier New"'><b>É</b></span></p>
           </td>
         </tr>
       </table>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.6D</b></span><span
   style='font-size:14.0pt'> Ð Dump of the resource properties hash. Excerpt of information 
         gathered about links and link conditions between resources in subroutine 
         </span><span style='font-size:14.0pt;font-family:"Courier New"'>loadmap</span><span
   style='font-size:14.0pt'>.</span></p>
       <span style='font-size:14.0pt;font-family:"Times New Roman"'><br clear=ALL
   style='page-break-before:always'>
       </span> 
       <table border=1 cellspacing=0 cellpadding=0>
         <tr> 
           <td width=443 valign=top class="Normal"> 
             <p><span style='font-size:12.0pt'>0 : true:normal</span></p>
             <p><span style='font-size:12.0pt'>1 : user.assessments[this./msu/smith/racecar.problem].status=solved:force</span></p>
             <p><span style='font-size:12.0pt'>2 : user.assessments[this./msu/smith/racecar.problem].answer=friction:stop</span></p>
             <p><span style='font-size:12.0pt'>3 : user.assessments[this./msu/smith/racecar.problem].answer=sliding:stop</span></p>
             <p><span style='font-size:12.0pt'>4 : user.assessments[this./msu/smith/racecar.problem].answer=nonconstant:stop</span></p>
             <p><span style='font-size:12.0pt'>5 : user.assessments[this./msu/korte/tests/part11.problem].status=solved:stop</span></p>
             <p><span style='font-size:12.0pt'>6 : user.assessments[this./msu/korte/tests/part12.problem].status=solved:stop</span></p>
             <p><span style='font-size:12.0pt'>7 : user.assessments[this./msu/korte/tests/part13.problem].status=solved:stop</span></p>
             <p><span style='font-size:12.0pt'>8 : user.assessments[this./msu/korte/tests/pretest.problem].status=solved:stop</span></p>
             <p><span style='font-size:12.0pt'>9 : user.assessments[this./msu/korte/tests/midterm.sequence].percent&gt;60:stop</span></p>
             <p><span style='font-size:12.0pt'>10 : user.assessments[this./msu/korte/tests/midterm.sequence].percent&lt;10:force</span></p>
             <p><span style='font-size:12.0pt'>11 : user.assessments[this./msu/korte/tests/final.sequence].percent&gt;60:stop</span></p>
             <p><span style='font-size:18.0pt'><b>É</b></span></p>
           </td>
         </tr>
       </table>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.7</b></span><span
   style='font-size:14.0pt'> Ð Excerpt of the dump of the condition array constructed 
         in procedure </span><span style='font-size:14.0pt;font-family:"Courier New"'>loadmap 
         </span><i>(the final syntax of conditions has not yet been determined)</i></p>
       <h3><a name="_Toc514920455"></a><a name="_Toc421867118">Paths and Path Conditions</a></h3>
       <p>The next mayor step will be to determine all possible paths and conditions 
         leading up to a resource for access control.</p>
       <p><span style='font-family:"Courier New"'>readmap</span> checks if the course 
         has a start resource from its map_start entry in the resource properties 
         (Step R2), and if does not, continue to store the two global binary data 
         structures (<b>Steps R5,R6</b><span style='font-weight:normal'>) Ð in this 
         special case, all resources which are part of any maps in the course are 
         assumed to be accessible.</span></p>
       <p>If the course has a start resource, <span style='font-family:
   "Courier New"'>readmap</span> calls the procedure <span style='font-family:
   "Courier New"'>traceroute</span> (<b>Fig. 2.3.8A</b><span style='font-weight:
   normal'>) with the following parameters (</span><b>Step R4</b><span
   style='font-weight:normal'>): The cumulative condition along this path or route 
         so far is set to ÒtrueÓ (the map is accessible); the resource ID of the 
         start resource of the course map; and an empty list for all resources processed 
         so far along this route. It is again important to note that all variables 
         except the global binary structures are local to </span><span style='font-family:"Courier New"'>traceroute</span>, 
         since <span style='font-family:"Courier New"'>traceroute</span> will recursively 
         call itself whenever there is a branching to follow all possible paths of 
         the maps.</p>
       <p><span style='font-family:"Courier New"'>traceroute</span> will establish 
         a section within the resource properties hash that builds up all conditions 
         leading up to a resource. <b>Fig. 2.3.8B</b><span style='font-weight:
   normal'> shows an excerpt of the final result. For example, resource 2.5, the 
         introduction to part 1, can be reached under condition 8 (see </span><b>Fig. 
         2.3.7</b><span style='font-weight:normal'>), meaning, after solving the 
         pretest problem.</span></p>
       <p><span style='font-family:"Courier New"'>traceroute</span> first checks 
         if the resource has already been processed on this route by its resource 
         ID (<b>Fig. 2.3.8A</b><span style='font-weight:normal'>, </span><b>Step 
         T1</b><span style='font-weight:normal'>) Ð this test avoids that </span><span
   style='font-family:"Courier New"'>traceroute</span> runs into endless loops when 
         the links on the map loop. Next, the resource ID is added to the list of 
         processed resources on this route (<b>Step T2</b><span style='font-weight:normal'>).</span></p>
       <p>The resource conditions are now ORÕd with the cumulative conditions on 
         this route (<b>Step T3</b><span style='font-weight:normal'>) Ð the route 
         represents another way of getting to the resource. A small routine with 
         simplification rules for boolean expressions is called to simplify the potentially 
         very long expression.</span></p>
       <p>In the next step, it is determined if the resource is itself a map (<b>Step 
         T4</b><span style='font-weight:normal'>). If it is, the exit route conditions 
         can differ from the entry route condition by all additional conditions along 
         the paths in the embedded maps (for non-map resources, entry and exit route 
         conditions are the same). If however the embedded map does not have a start 
         resource (</span><b>Step T5</b><span style='font-weight:normal'>), that 
         is not the case Ð again, the missing of entry point to an embedded link 
         structure is interpreted as the resources being openly accessible.</span></p>
       <p>If the embedded map does have a start resource, <span
   style='font-family:"Courier New"'>traceroute</span> is called recursively with 
         the current route conditions, the ID of the start resource of that map, 
         and the list of already processed resource IDs (<b>Step T6</b><span style='font-weight:
   normal'>). Upon return, if the embedded map does not have a finish resource, the 
         entry and exit conditions of this map are assumed to be the same (</span><b>Step 
         T7</b><span style='font-weight:normal'>). If the map had a finish resource, 
         the route condition so far is set to the resource condition of the finish 
         resource of the embedded map (</span><b>Step T8</b><span style='font-weight:normal'>) 
         Ð in order go on from here, the user would have had to reach the finish 
         resource of the embedded map.</span></p>
       <p>Now the route conditions are correctly set for exiting the resource and 
         going on from here. <span style='font-family:"Courier New"'>traceroute </span>now 
         loops over all outgoing links of the resource (<b>Step T9</b><span
   style='font-weight:normal'>). If the link does have a link condition (</span><b>Step 
         T10</b><span style='font-weight:normal'>), then for this path, the cumulative 
         route condition so far AND the link condition (</span><b>Step T11</b><span
   style='font-weight:normal'>). If there is no link condition, then there is no 
         change in route conditions (</span><b>Step T12</b><span style='font-weight:
   normal'>).</span></p>
       <p>To further process the routes along this link, <span
   style='font-family:"Courier New"'>traceroute</span> is called recursively with 
         the resource ID of the destination resource of the link, the new route conditions, 
         and the list of already processed resources (<b>Step T13</b><span
   style='font-weight:normal'>). </span><span style='font-family:"Courier New"'>traceroute</span> 
         returns after processing the last outgoing link of the resource it had been 
         called for.</p>
       <p><b>Fig. 2.3.8B</b><span style='font-weight:normal'> shows part of the output 
         of </span><span style='font-family:"Courier New"'>traceroute</span> for 
         the example <b>Fig. 2.3.4</b><span style='font-weight:normal'>.</span></p>
       <br clear=ALL
   style='page-break-before:always'>
       <p><span style='font-size:14.0pt'><img border=0 width=432
   height=557 id="_x0000_i1035" src="handout_files/image011.jpg"></span></p>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.8A</b></span><span
   style='font-size:14.0pt'> Ð Flow chart of procedure </span><span
   style='font-size:14.0pt;font-family:"Courier New"'>traceroute</span></p>
       <br clear=ALL
   style='page-break-before:always'>
       <table border=1 cellspacing=0 cellpadding=0>
         <tr> 
           <td width=443 valign=top class="Normal"> 
             <p>conditions_1.1: 0</p>
             <p>conditions_1.11:</p>
             <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>
             <p>conditions_1.15:</p>
             <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>
             <p>conditions_1.2:</p>
             <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>
             <p>conditions_1.20: 0</p>
             <p>conditions_1.29:</p>
             <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>
             <p>conditions_1.36:</p>
             <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>
             <p>conditions_1.5: 0</p>
             <p>conditions_1.9: 8</p>
             <p>conditions_2.1: 8</p>
             <p>conditions_2.12: 8</p>
             <p>conditions_2.13: 8</p>
             <p>conditions_2.19: 8</p>
             <p>conditions_2.2:</p>
             <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>
             <p>conditions_2.24: ((8&amp;5)|(8&amp;7)|(8&amp;6))</p>
             <p>conditions_2.5: 8</p>
             <p>conditions_2.6: 8</p>
             <p>conditions_3.1: ((8&amp;5)|(8&amp;7)|(8&amp;6))</p>
             <p>conditions_3.15: ((8&amp;5&amp;4)|(8&amp;7&amp;4)|(8&amp;6&amp;4))</p>
             <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>
             <p>conditions_3.5: ((8&amp;5)|(8&amp;7)|(8&amp;6))</p>
             <p>conditions_3.6: ((8&amp;5&amp;2)|(8&amp;7&amp;2)|(8&amp;6&amp;2))</p>
             <p>conditions_3.8: ((8&amp;5&amp;3)|(8&amp;7&amp;3)|(8&amp;6&amp;3))</p>
           </td>
         </tr>
       </table>
       <p><span style='font-size:14.0pt'><b>Fig. 2.3.8B Ð </b></span><span
   style='font-size:14.0pt'>Dump of resource properties hash. Excerpt of cumulative 
         link conditions to reach a certain resource.</span></p>
       <h3><a name="_Toc514840865"></a><a name="_Toc514920456"></a><a
   name="_Toc421867119">Multivalued Boolean Evaluation of Link Priorities</a></h3>
       <p>When a user accessed a resource on a map and desires to access the ÒnextÓ 
         resource, the request is processed by a number of steps. From the data examplified 
         in <b>Fig. 2.3.6C</b><span style='font-weight:normal'>, it is determined 
         which outgoing links exist. From the data in </span><b>Fig. 2.3.6D</b><span style='font-weight:normal'> 
         it is determined to which resources those links lead. For each of the resources, 
         the expressions in </span><b>Fig. 2.3.8A</b><span style='font-weight:normal'> 
         are evaluated as follows. Stored in the session environment is the evaluation 
         of the table </span><b>Fig. 10</b><span
   style='font-weight:normal'>, where the boolean part is evaluated as Ò0Ó or Ò1Ó. 
         In addition, a multivalued boolean value is computed incorporating the condition 
         priority. A false blocking condition is assigned the value zero, all other 
         false conditions the value 1. A true forced condition is assigned the value 
         3, all other true conditions the value 2. </span></p>
       <p>In the expressions <b>Fig. 2.3.8A</b><span style='font-weight:
   normal'> an Ò&amp;Ó (ÒANDÓ) is processed as the minimum (min) operation, a Ò|Ó 
         (ÒORÓ) is processed as the maximum (max) operation. The outcome Ò0Ó means 
         ÒblockedÓ, the outcome Ò1Ó mean Ònot recommendedÓ, the outcome Ò2Ó recommended, 
         and the outcome Ò3Ó forced.</span></p>
     </div>
     <p>&nbsp;</p>
   </div>
   <br
   clear=ALL style='page-break-before:always;'>
   <div class=Section2> </div>
   </body>
   </html>

Removed from v.1.1  
changed lines
  Added in v.1.2


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