File:
[LON-CAPA] /
doc /
gutshtml /
SessionThre1.html
Revision
1.2:
download - view:
text,
annotated -
select for diffs
Tue Jul 22 14:47:00 2003 UTC (21 years, 7 months ago) by
bowersj2
Branches:
MAIN
CVS tags:
version_2_9_X,
version_2_9_99_0,
version_2_9_1,
version_2_9_0,
version_2_8_X,
version_2_8_99_1,
version_2_8_99_0,
version_2_8_2,
version_2_8_1,
version_2_8_0,
version_2_7_X,
version_2_7_99_1,
version_2_7_99_0,
version_2_7_1,
version_2_7_0,
version_2_6_X,
version_2_6_99_1,
version_2_6_99_0,
version_2_6_3,
version_2_6_2,
version_2_6_1,
version_2_6_0,
version_2_5_X,
version_2_5_99_1,
version_2_5_99_0,
version_2_5_2,
version_2_5_1,
version_2_5_0,
version_2_4_X,
version_2_4_99_0,
version_2_4_2,
version_2_4_1,
version_2_4_0,
version_2_3_X,
version_2_3_99_0,
version_2_3_2,
version_2_3_1,
version_2_3_0,
version_2_2_X,
version_2_2_99_1,
version_2_2_99_0,
version_2_2_2,
version_2_2_1,
version_2_2_0,
version_2_1_X,
version_2_1_99_3,
version_2_1_99_2,
version_2_1_99_1,
version_2_1_99_0,
version_2_1_3,
version_2_1_2,
version_2_1_1,
version_2_1_0,
version_2_12_X,
version_2_11_X,
version_2_11_6_msu,
version_2_11_6,
version_2_11_5_msu,
version_2_11_5,
version_2_11_4_uiuc,
version_2_11_4_msu,
version_2_11_4,
version_2_11_3_uiuc,
version_2_11_3_msu,
version_2_11_3,
version_2_11_2_uiuc,
version_2_11_2_msu,
version_2_11_2_educog,
version_2_11_2,
version_2_11_1,
version_2_11_0_RC3,
version_2_11_0_RC2,
version_2_11_0_RC1,
version_2_11_0,
version_2_10_X,
version_2_10_1,
version_2_10_0_RC2,
version_2_10_0_RC1,
version_2_10_0,
version_2_0_X,
version_2_0_99_1,
version_2_0_2,
version_2_0_1,
version_2_0_0,
version_1_99_3,
version_1_99_2,
version_1_99_1_tmcc,
version_1_99_1,
version_1_99_0_tmcc,
version_1_99_0,
version_1_3_X,
version_1_3_3,
version_1_3_2,
version_1_3_1,
version_1_3_0,
version_1_2_X,
version_1_2_99_1,
version_1_2_99_0,
version_1_2_1,
version_1_2_0,
version_1_1_X,
version_1_1_99_5,
version_1_1_99_4,
version_1_1_99_3,
version_1_1_99_2,
version_1_1_99_1,
version_1_1_99_0,
version_1_1_3,
version_1_1_2,
version_1_1_1,
version_1_1_0,
version_1_0_99_3,
version_1_0_99_2,
version_1_0_99_1,
version_1_0_99,
version_1_0_3,
version_1_0_2,
version_1_0_1,
version_1_0_0,
version_0_99_5,
version_0_99_4,
loncapaMITrelate_1,
language_hyphenation_merge,
language_hyphenation,
bz6209-base,
bz6209,
HEAD,
GCI_3,
GCI_2,
GCI_1,
BZ4492-merge,
BZ4492-feature_horizontal_radioresponse,
BZ4492-feature_Support_horizontal_radioresponse,
BZ4492-Support_horizontal_radioresponse
Convert GUTs HTML to PROPER line endings.
1: <html>
2: <head>
3: <meta name=Title
4: content="Session Three: Publication, Content Maps, Course Maps (Gerd)">
5: <meta http-equiv=Content-Type content="text/html; charset=macintosh">
6: <title>Session Three: Publication, Content Maps, Course Maps (Gerd)</title>
7: <style><!--
8: .Section1
9: {page:Section1;}
10: .Section2
11: {page:Section2;}
12: -->
13: </style>
14: </head>
15: <body bgcolor=#FFFFFF class="Normal" lang=EN-US>
16: <div class=Section1>
17: <h2>Session Three: Publication, Content Maps, Course Maps (Gerd)</h2>
18: <h3><a name="_Toc514840855"></a><a name="_Toc421867109">Publication of a Resource</a></h3>
19: <p>Authors can only write-access the<i> </i><span
20: style='font-family:"Courier New";font-style:normal'>/~</span><span
21: style='font-family:"Courier New"'><i>authorname</i></span><span
22: style='font-family:"Courier New"'>/</span> space. They can copy resources into
23: the resource area through the publication step, and move them back through
24: a recover step. Authors do not have direct write-access to their resource
25: space. </p>
26: <div class=Section9>
27: <div style='border:solid windowtext .5pt;padding:1.0pt 4.0pt 1.0pt 4.0pt'>
28: <p style='border:none;padding:0in'><span
29: style='font-size:14.0pt'><b>Construction space</b></span><span
30: style='font-size:14.0pt'> </span><span style='font-size:14.0pt;font-family:
31: Wingdings'>ˆ</span><span style='font-size:14.0pt'> Publication Step </span><span
32: style='font-size:14.0pt;font-family:Wingdings'>ˆ</span><span style='font-size:
33: 14.0pt'> <b>Resource space</b></span></p>
34: <p style='border:none;padding:0in'><span style='font-size:14.0pt'> </span><span
35: style='font-size:14.0pt;font-family:Wingdings'>§</span><span style='font-size:
36: 14.0pt'> Retrieve </span><span style='font-size:14.0pt;font-family:Wingdings'>§</span>
37: </p>
38: </div>
39: <p>During the publication step, several events will be triggered. Metadata
40: is gathered, where a wizard manages default entries on a hierarchical per-directory
41: base: The wizard imports the metadata (including access privileges and royalty
42: information) from the most recent published resource in the current directory,
43: and if that is not available, from the next directory above, etc. The Network
44: keeps all previous versions of a resource and makes them available by an
45: explicit version number, which is inserted between the file name and extension,
46: for example <span style='font-family:"Courier New"'>foo.2.html</span>, while
47: the most recent version does not carry a version number (<span
48: style='font-family:"Courier New"'>foo.html</span>). Servers subscribing to a changed
49: resource are notified that a new version is available.</p>
50: <h3><a name="_Toc514840857"></a><a name="_Toc421867110">Content Re-usage and
51: Granularity</a></h3>
52: <p>Any faculty participating in the Network can publish their own learning
53: resources into the common pool. To that end, the Network provides a Òconstruction
54: spaceÓ which is only accessible to the author, and a publication process,
55: which transfers the material to the shared pool Ð during the publication
56: process, metadata about the resource is gathered, and system-wide update
57: notification and versioning mechanisms are triggered..</p>
58: <p>Learning resources could be simple paragraphs of text, movies, applets,
59: individualizing homework problems, etc. In addition to providing a distributed
60: digital library with mechanisms to store and catalog these resources, the
61: Network enables faculty to combine and sequence these resources at several
62: levels: An instructor from Community College A could combine a text paragraph
63: from University B with a movie from College C and an online homework problem
64: from Publisher D, to form one page. Another instructor from High School
65: E can take that page from Community College A and combine it with other
66: pages into a module, unit or chapter. Those in turn can be combined into
67: whole coursepacks. Faculty can design their own curricula from existing
68: and newly created resources instead of having to buy into a complete off-the-shelf
69: product.</p>
70: <p><b>Fig. 2.3.1</b><span style='font-weight:normal'> shows a general overview
71: of the resource assembly mechanism and the different levels of content granularity
72: supported by the current implementation of this principle. The topmost puzzle
73: piece represents a resource at the fragment level Ð one GIF, one movie,
74: one paragraph of text, one problem, or one regular web page. Attached to
75: the resource is metadata gathered at the publication time of the resource.</span></p>
76: <p>Using the resource assembly tool described below, these fragments and pages
77: can be assembled into a page. A page is a resource of the grain size which
78: would be rendered as one page on the web and/or on the printer.</p>
79: <p>Using the same tool, fragments (which would then be rendered as standalone
80: pages), pages and sequences can be assembled into sequences. Sequences are
81: resources which are rendered a sequence of pages, not necessarily linear.
82: Examples are one lesson, one chapter, or one learning cycle</p>
83: <p>On the third granularity level, fragments (rendered as standalone pages),
84: pages, and sequences can be assembled into courses. Courses are a sequence
85: which represents the entirety of the resources belonging to a learning unit
86: into which learners can be enrolled. Examples are a University one-semester
87: course, a</p>
88: <p>workshop, or a High School class.</p>
89: <p align=center style='text-align:center'><img border=0
90: width=291 height=436 id="_x0000_i1029" src="handout_files/image005.png"></p>
91: <p><span style='font-size:14.0pt'><b>Fig. 2.1.1</b></span><span
92: style='font-size:14.0pt'> Ð Resource Assembly</span></p>
93: <h3><a name="_Toc514840858"></a><a name="_Toc421867111">Maps</a></h3>
94: <p>To increase the utility of the materials, the number of hard-coded hyperlinks
95: between the resources should be minimized. The actual combining and sequencing
96: is part of the system functionality and driven by external "roadmaps",
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 "next page" 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'><map></span></p>
225: <p class=Preformatted><span style='font-size:8.0pt'><resource id="1"
226: </span></p>
227: <p class=Preformatted><span style='font-size:8.0pt'> src="/res/msu/korte/phy231welcome.html"
228: </span></p>
229: <p class=Preformatted><span style='font-size:8.0pt'> type="start"
230: </span></p>
231: <p class=Preformatted><span style='font-size:8.0pt'> title="Start"></resource></span></p>
232: <p class=Preformatted><span style='font-size:8.0pt'><resource id="2"
233: </span></p>
234: <p class=Preformatted><span style='font-size:8.0pt'> src=""
235: type="finish" </span></p>
236: <p class=Preformatted><span style='font-size:8.0pt'> title="Finish"></resource></span></p>
237: <p class=Preformatted><span style='font-size:8.0pt'><resource id="6"
238: </span></p>
239: <p class=Preformatted><span style='font-size:8.0pt'> src="/res/msu/korte/tests/units.problem"
240: </span></p>
241: <p class=Preformatted><span style='font-size:8.0pt'> type="mandatory"
242: </span></p>
243: <p class=Preformatted><span style='font-size:8.0pt'> title="Physical
244: Units Test"></resource></span></p>
245: <p class=Preformatted><span style='font-size:8.0pt'><resource id="9"
246: </span></p>
247: <p class=Preformatted><span style='font-size:8.0pt'> src="/res/msu/korte/chapters/onedim.sequence"
248: </span></p>
249: <p class=Preformatted><span style='font-size:8.0pt'> title="Motion
250: in One Dimension"></resource></span></p>
251: <p class=Preformatted><span style='font-size:8.0pt'><resource id="11"
252: </span></p>
253: <p class=Preformatted><span style='font-size:8.0pt'> src="/res/msu/bauer/bridges/units.sequence"
254: </span></p>
255: <p class=Preformatted><span style='font-size:8.0pt'> title="Physical
256: Units Refresher"></resource></span></p>
257: <p class=Preformatted><span style='font-size:8.0pt'><condition id="19"
258: </span></p>
259: <p class=Preformatted><span style='font-size:8.0pt'> type="stop"
260: </span></p>
261: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./res/msu/korte/tests/units.problem].status=solved"></span></p>
262: <p class=Preformatted><span style='font-size:8.0pt'> </condition></span></p>
263: <p class=Preformatted><span style='font-size:8.0pt'><link from="1"
264: to="6"></link></span></p>
265: <p class=Preformatted><span style='font-size:8.0pt'><link from="6"
266: to="9" condition="19"></link></span></p>
267: <p class=Preformatted><span style='font-size:8.0pt'><link from="6"
268: to="11"></link></span></p>
269: <p class=Preformatted><span style='font-size:8.0pt'><link from="11"
270: to="6"></link></span></p>
271: <p class=Preformatted><span style='font-size:8.0pt'></map></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'><map></span></p>
305: <p class=Preformatted><span style='font-size:8.0pt'><resource id="1"
306: src="" type="start" title="Start"></resource></span></p>
307: <p class=Preformatted><span style='font-size:8.0pt'><resource id="2"
308: src="" type="finish" title="Finish"></resource></span></p>
309: <p class=Preformatted><span style='font-size:8.0pt'><resource id="5"
310: src="/res/msu/korte/tests/pretest.problem" type="mandatory"
311: </span></p>
312: <p class=Preformatted><span style='font-size:8.0pt'> title="Pretest"></resource></span></p>
313: <p class=Preformatted><span style='font-size:8.0pt'><resource id="9"
314: src="/res/msu/korte/parts/part1.sequence" type="mandatory"
315: </span></p>
316: <p class=Preformatted><span style='font-size:8.0pt'> title="Part
317: 1"></resource></span></p>
318: <p class=Preformatted><span style='font-size:8.0pt'><resource id="11"
319: src="/res/msu/korte/tests/midterm.sequence" type="mandatory"
320: </span></p>
321: <p class=Preformatted><span style='font-size:8.0pt'> title="Midterm"></resource></span></p>
322: <p class=Preformatted><span style='font-size:8.0pt'><resource id="15"
323: src="/res/msu/korte/parts/part2.sequence" type="mandatory"
324: </span></p>
325: <p class=Preformatted><span style='font-size:8.0pt'> title="Part
326: 2"></resource></span></p>
327: <p class=Preformatted><span style='font-size:8.0pt'><condition id="19"
328: type="stop" </span></p>
329: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./msu/korte/tests/pretest.problem].status=solved"></span></p>
330: <p class=Preformatted><span style='font-size:8.0pt'> </condition></span></p>
331: <p class=Preformatted><span style='font-size:8.0pt'><resource id="20"
332: src="/res/msu/korte/refresh/refresher.sequence" </span></p>
333: <p class=Preformatted><span style='font-size:8.0pt'> title="Refresher"></resource></span></p>
334: <p class=Preformatted><span style='font-size:8.0pt'><resource id="29"
335: src="/res/msu/korte/tests/final.sequence" type="mandatory"
336: </span></p>
337: <p class=Preformatted><span style='font-size:8.0pt'> title="Final
338: Exam"></resource></span></p>
339: <p class=Preformatted><span style='font-size:8.0pt'><condition id="30"
340: type="stop" </span></p>
341: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./msu/korte/tests/midterm.sequence].percent>60"></span></p>
342: <p class=Preformatted><span style='font-size:8.0pt'> </condition></span></p>
343: <p class=Preformatted><span style='font-size:8.0pt'><resource id="36"
344: src="/res/msu/korte/refresh/review.sequence"</span></p>
345: <p class=Preformatted><span style='font-size:8.0pt'> title="Review"></resource></span></p>
346: <p class=Preformatted><span style='font-size:8.0pt'><condition id="43"
347: type="force" </span></p>
348: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./msu/korte/tests/midterm.sequence].percent<10"></span></p>
349: <p class=Preformatted><span style='font-size:8.0pt'> </condition></span></p>
350: <p class=Preformatted><span style='font-size:8.0pt'><resource id="58"
351: src="/res/msu/korte/chapters/applications.sequence" type="optional"
352: </span></p>
353: <p class=Preformatted><span style='font-size:8.0pt'> title="Applications"></resource></span></p>
354: <p class=Preformatted><span style='font-size:8.0pt'><condition id="70"
355: type="stop" </span></p>
356: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./msu/korte/tests/final.sequence].percent>60"></span></p>
357: <p class=Preformatted><span style='font-size:8.0pt'> </condition></span></p>
358: <p class=Preformatted><span style='font-size:8.0pt'><link from="1"
359: to="5"></link></span></p>
360: <p class=Preformatted><span style='font-size:8.0pt'><link from="9"
361: to="11"></link></span></p>
362: <p class=Preformatted><span style='font-size:8.0pt'><link from="11"
363: to="15" condition="30"></link></span></p>
364: <p class=Preformatted><span style='font-size:8.0pt'><link from="5"
365: to="9" condition="19"></link></span></p>
366: <p class=Preformatted><span style='font-size:8.0pt'><link from="5"
367: to="20"></link></span></p>
368: <p class=Preformatted><span style='font-size:8.0pt'><link from="20"
369: to="5"></link></span></p>
370: <p class=Preformatted><span style='font-size:8.0pt'><link from="11"
371: to="36" condition="43"></link></span></p>
372: <p class=Preformatted><span style='font-size:8.0pt'><link from="36"
373: to="9"></link></span></p>
374: <p class=Preformatted><span style='font-size:8.0pt'><link from="36"
375: to="11"></link></span></p>
376: <p class=Preformatted><span style='font-size:8.0pt'><link from="15"
377: to="29"></link></span></p>
378: <p class=Preformatted><span style='font-size:8.0pt'><link from="29"
379: to="2" condition="70"></link></span></p>
380: <p class=Preformatted><span style='font-size:8.0pt'><link from="11"
381: to="11"></link></span></p>
382: <p class=Preformatted><span style='font-size:8.0pt'></map></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'><map></span></p>
394: <p class=Preformatted><span style='font-size:8.0pt'><resource id="1"
395: src="" type="start" title="Start"></resource></span></p>
396: <p class=Preformatted><span style='font-size:8.0pt'><resource id="2"
397: src="" type="finish" title="Finish"></resource></span></p>
398: <p class=Preformatted><span style='font-size:8.0pt'><resource id="5"
399: src="/res/msu/korte/parts/part1intro.html" </span></p>
400: <p class=Preformatted><span style='font-size:8.0pt'> title="Part
401: 1 Introduction"></resource></span></p>
402: <p class=Preformatted><span style='font-size:8.0pt'><resource id="6"
403: src="/res/msu/korte/parts/part1dir.xml" title="Directions"></resource></span></p>
404: <p class=Preformatted><span style='font-size:8.0pt'><resource id="12"
405: src="/res/msu/korte/tests/part11.problem" title="Problem
406: 1"></resource></span></p>
407: <p class=Preformatted><span style='font-size:8.0pt'><resource id="13"
408: src="/res/msu/korte/tests/part13.problem" title="Problem
409: 3"></resource></span></p>
410: <p class=Preformatted><span style='font-size:8.0pt'><resource id="19"
411: src="/res/msu/korte/tests/part12.problem" title="Problem
412: 2"></resource></span></p>
413: <p class=Preformatted><span style='font-size:8.0pt'><resource id="24"
414: src="/res/msu/korte/parts/summary.page" title="Summary"></resource></span></p>
415: <p class=Preformatted><span style='font-size:8.0pt'><condition id="47"
416: type="stop"</span></p>
417: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./msu/korte/tests/part11.problem].status=solved"></span></p>
418: <p class=Preformatted><span style='font-size:8.0pt'> </condition></span></p>
419: <p class=Preformatted><span style='font-size:8.0pt'><condition id="48"
420: type="stop" </span></p>
421: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./msu/korte/tests/part12.problem].status=solved"></span></p>
422: <p class=Preformatted><span style='font-size:8.0pt'> </condition></span></p>
423: <p class=Preformatted><span style='font-size:8.0pt'><condition id="49"
424: type="stop" </span></p>
425: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./msu/korte/tests/part13.problem].status=solved"></span></p>
426: <p class=Preformatted><span style='font-size:8.0pt'> </condition></span></p>
427: <p class=Preformatted><span style='font-size:8.0pt'><link from="5"
428: to="6"></link></span></p>
429: <p class=Preformatted><span style='font-size:8.0pt'><link from="1"
430: to="5"></link></span></p>
431: <p class=Preformatted><span style='font-size:8.0pt'><link from="6"
432: to="12"></link></span></p>
433: <p class=Preformatted><span style='font-size:8.0pt'><link from="6"
434: to="13"></link></span></p>
435: <p class=Preformatted><span style='font-size:8.0pt'><link from="6"
436: to="19"></link></span></p>
437: <p class=Preformatted><span style='font-size:8.0pt'><link from="12"
438: to="24" condition="47"></link></span></p>
439: <p class=Preformatted><span style='font-size:8.0pt'><link from="19"
440: to="24" condition="48"></link></span></p>
441: <p class=Preformatted><span style='font-size:8.0pt'><link from="13"
442: to="24" condition="49"></link></span></p>
443: <p class=Preformatted><span style='font-size:8.0pt'><link from="24"
444: to="2"></link></span></p>
445: <p class=Preformatted><span style='font-size:8.0pt'></map></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'><map></span></p>
457: <p class=Preformatted><span style='font-size:8.0pt'><resource id="1"
458: src="" type="start" title="Start"></resource></span></p>
459: <p class=Preformatted><span style='font-size:8.0pt'><resource id="2"
460: src="" type="finish" title="Finish"></resource></span></p>
461: <p class=Preformatted><span style='font-size:8.0pt'><resource id="5"
462: src="/res/msu/smith/racecar.problem"></resource></span></p>
463: <p class=Preformatted><span style='font-size:8.0pt'><resource id="6"
464: src="/res/msu/smith/toofast.html"></resource></span></p>
465: <p class=Preformatted><span style='font-size:8.0pt'><resource id="8"
466: src="/res/msu/smith/tooslow.html"></resource></span></p>
467: <p class=Preformatted><span style='font-size:8.0pt'><resource id="15"
468: src="/res/msu/smith/accelerate.html"></resource></span></p>
469: <p class=Preformatted><span style='font-size:8.0pt'><condition id="40"
470: type="force" </span></p>
471: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./msu/smith/racecar.problem].status=solved"></condition></span></p>
472: <p class=Preformatted><span style='font-size:8.0pt'><condition id="41"
473: type="stop" </span></p>
474: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./msu/smith/racecar.problem].answer=friction"></condition></span></p>
475: <p class=Preformatted><span style='font-size:8.0pt'><condition id="42"
476: type="stop" </span></p>
477: <p class=Preformatted><span style='font-size:8.0pt'> value="user.assessments[this./msu/smith/racecar.problem].answer=sliding"></condition></span></p>
478: <p class=Preformatted><span style='font-size:8.0pt'><condition id="43"
479: type="stop" </span></p>
480: <p class=Preformatted><span style='font-size:8.0pt'>value="user.assessments[this./msu/smith/racecar.problem].answer=nonconstant"></condition></span></p>
481: <p class=Preformatted><span style='font-size:8.0pt'><link from="1"
482: to="5"></link></span></p>
483: <p class=Preformatted><span style='font-size:8.0pt'><link from="5"
484: to="6" condition="41"></link></span></p>
485: <p class=Preformatted><span style='font-size:8.0pt'><link from="5"
486: to="8" condition="42"></link></span></p>
487: <p class=Preformatted><span style='font-size:8.0pt'><link from="5"
488: to="15" condition="43"></link></span></p>
489: <p class=Preformatted><span style='font-size:8.0pt'><link from="6"
490: to="2"></link></span></p>
491: <p class=Preformatted><span style='font-size:8.0pt'><link from="8"
492: to="2"></link></span></p>
493: <p class=Preformatted><span style='font-size:8.0pt'><link from="15"
494: to="2"></link></span></p>
495: <p class=Preformatted><span style='font-size:8.0pt'><link from="5"
496: to="2" condition="40"></link></span></p>
497: <p class=Preformatted><span style='font-size:8.0pt'></map></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>60:stop</span></p>
1051: <p><span style='font-size:12.0pt'>10 : user.assessments[this./msu/korte/tests/midterm.sequence].percent<10:force</span></p>
1052: <p><span style='font-size:12.0pt'>11 : user.assessments[this./msu/korte/tests/final.sequence].percent>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&5&2)|(8&5&3)|(8&5&4)|(8&5&1))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)|(8&6&2)|(8&6&3)|(8&6&4)|(8&6&1))</p>
1154: <p>conditions_1.15:</p>
1155: <p>((((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)|(8&6&2)|(8&6&3)|(8&6&4)|(8&6&1)))&9</p>
1156: <p>conditions_1.2:</p>
1157: <p>(((((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)|(8&6&2)|(8&6&3)|(8&6&4)|(8&6&1)))&9)&11</p>
1158: <p>conditions_1.20: 0</p>
1159: <p>conditions_1.29:</p>
1160: <p>((((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)|(8&6&2)|(8&6&3)|(8&6&4)|(8&6&1)))&9</p>
1161: <p>conditions_1.36:</p>
1162: <p>((((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)|(8&6&2)|(8&6&3)|(8&6&4)|(8&6&1)))&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&5&2)|(8&5&3)|(8&5&4)|(8&5&1))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)))|((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)|(8&6&2)|(8&6&3)|(8&6&4)|(8&6&1))</p>
1171: <p>conditions_2.24: ((8&5)|(8&7)|(8&6))</p>
1172: <p>conditions_2.5: 8</p>
1173: <p>conditions_2.6: 8</p>
1174: <p>conditions_3.1: ((8&5)|(8&7)|(8&6))</p>
1175: <p>conditions_3.15: ((8&5&4)|(8&7&4)|(8&6&4))</p>
1176: <p>conditions_3.2: ((8&5&2)|(8&5&3)|(8&5&4)|(8&5&1)|(8&7&2)|(8&7&3)|(8&7&4)|(8&7&1)|(8&6&2)|(8&6&3)|(8&6&4)|(8&6&1))</p>
1177: <p>conditions_3.5: ((8&5)|(8&7)|(8&6))</p>
1178: <p>conditions_3.6: ((8&5&2)|(8&7&2)|(8&6&2))</p>
1179: <p>conditions_3.8: ((8&5&3)|(8&7&3)|(8&6&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 Ò&Ó (Ò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> </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>