Annotation of doc/gutshtml/SessionThre1.html, revision 1.2

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

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