<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"                    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"><?xmlspyxslfo d:\homepage\holon.gungfu.de\xmlQuellen\stylesheets_eigene\e-learning_style.xsl?><?xml-stylesheet type="text/xsl" href="d:\homepage\holon.gungfu.de\xmlQuellen\stylesheets_eigene\e-learning_style.xsl"?><article lang="de">	<articleinfo>		<title>Standards im e-learning Umfeld: SCORM</title>		<subtitle>Ausarbeitung zum Seminarvortrag</subtitle>		<author>			<firstname>Steffen</firstname>			<surname>Glückselig</surname>		</author>	</articleinfo>	<section>		<title>Was ist SCORM und was sind dessen Ziele?</title>		<para>Die Abkürzung <emphasis role="bold">SCORM</emphasis> steht für <emphasis>Sharable Content Object Reference Model</emphasis>. Es handelt sich bei SCORM um eine Sammlung von Spezifikationen und Standards, die aus mehreren Quellen (siehe <xref linkend="Sgeschichte"/>) zusammengetragen wurden, um eine verständlichen Satz von <emphasis role="bold">web</emphasis>-basierten <emphasis>e-learning</emphasis>-Lösungen zu definieren (siehe <xref linkend="introDes"/> und <xref linkend="scorm04O"/>, Seite 1-21).</para>		<para>SCORM beschreibt ein 'Content Aggregation Model' und ein 'Run-Time Envrionment' für Lernobjekte, um adaptives Instruieren basierend auf den Zielen des Lerners, seinen Vorlieben, seiner Leistung und anderen Faktoren zu unterstützen (siehe <xref linkend="scorm04O"/>, Seite 1-21), wie es im CBI<footnote>				<para>					<emphasis>Computer-Basiertes Instruieren</emphasis>				</para>			</footnote> und ITS<footnote>				<para>					<emphasis>Intelligente Tutor-Systeme</emphasis>				</para>			</footnote>-Umfeld verlangt wird.</para>		<para>SCORM wurde für das US-Militär durch die ADL<footnote>				<para>					<emphasis role="bold">Advanced Distributed Learning</emphasis>				</para>			</footnote>-Initiative entwickelt. Im Jahr 2000 wurde der Standard veröffentlicht (siehe <xref linkend="SOver"/> und <xref linkend="Sgeschichte"/>).</para>		<para>SCORM besteht aus vier Dokumenten, die zusammengehörende und aneinander angepasste Sammlungen von Spezifikationen und Standards darstellen und in der SCORM-Terminologie <emphasis>Bücher</emphasis> genannt werden. Jedes Buch wird seit <emphasis>SCORM 2004</emphasis>			<emphasis role="bold">eigenständig versioniert</emphasis>.</para>		<orderedlist>			<title>Die vier SCORM-Bücher</title>			<listitem>				<para>					<emphasis role="bold">Overview</emphasis>				</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">Content Aggregation Model (CAM)</emphasis>				</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">Run-Time Environment (RTE)</emphasis>				</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">Sequencing and Navigation (SN)</emphasis>				</para>			</listitem>		</orderedlist>		<para>Das erste Buch - <emphasis role="bold">Overview</emphasis> - bietet einen <emphasis>Überblick</emphasis> über alle weiteren Bücher. Es beschreibt die Herkunft und Ziele des Standards. Auf technische Details des Standards wird in den nachfolgenden Büchern eingegangen.</para>		<para>Im <emphasis role="bold">CAM</emphasis>-Buch werden Schlüsselkonzepte (wie z.B. die SCO<footnote>				<para>					<emphasis>Sharable Content Object</emphasis>				</para>			</footnote>s) definiert und genauer beschrieben. Desweiteren wird das Zusammenstellen, das Auszeichnen<footnote>				<para>						Beispielsweise sind <emphasis>Metadaten</emphasis> eine Art der Auszeichnung.</para>			</footnote> für eine automatisierte Suche innerhalb der Lerninhalte, das Verpacken<footnote>				<para>Das Verstauen der physikalischen Dateien in einem ZIP-Archiv.</para>			</footnote> für den Austausch zwischen Systemen und die Regeln zur Ablaufsteuerung zwischen Komponenten beschrieben. (cf. <xref linkend="scorm04O"/>, Seite 1-29).</para>		<para>Das <emphasis role="bold">RTE</emphasis>-Buch betrachtet hauptsächlich das Starten von aktivem Inhalt (SCOs) durch das LMS<footnote>				<para>					<emphasis>Learning Management System</emphasis>				</para>			</footnote>, die Kommunikation und den Datentransfer zwischen Inhalt und LMS, das Verfolgen<footnote>				<para>					<emphasis role="bold">tracking</emphasis>: das Speichern von Informationen über die Interaktionen des Lerners mit den Inhaltsobjekten und Aktivitäten (siehe weiter unten).</para>			</footnote> und Fehlerbehandlung (cf. <xref linkend="scorm04O"/>, Seite 1-27 f.).			</para>		<para>Das <emphasis role="bold">SN</emphasis>-Buch behandelt die Details der <emphasis>Ablaufsteuerung und der Navigation</emphasis> in SCORM. Das heißt es beschreibt, wie SCORM-konformer Inhalt traversiert werden kann und zwar anhand von <emphasis>lerner</emphasis>- und/oder <emphasis>system</emphasis>-initiierten Navigationsereignissen<footnote>				<para>					<emphasis role="bold">Navigationsereignisse</emphasis> sind beispielsweise <guibutton>Vorwärts</guibutton>, <guibutton>Rückwärts</guibutton> und die Navigation durch <emphasis>Wahl</emphasis> in einem Menü.</para>			</footnote> .</para>	</section>	<section>		<title>Motivation von SCORM</title>		<para>Neben der Zusammenführung und Vereinheitlichung der Arbeiten verschiedener Organisationen im Bereich der e-learning-Technologien, waren folgende Ansprüche weitere Motive für den Standard (siehe <xref linkend="scorm04O"/>, Seite 1-22):</para>		<itemizedlist>			<listitem>				<para>					<emphasis role="bold">Zugänglichkeit</emphasis>: die Möglichkeit instruktionale Komponenten von einem entfernten Ort zu lokalisieren, auf sie zuzugreifen und sie an viele andere Orte zu liefern. Zugänglichkeit ermöglicht so die <emphasis>Verteiltheit</emphasis> von Lernangeboten.</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">Anpassungsfähigkeit</emphasis>: die Möglichkeit Instruktionen an individuelle oder organisationelle Gegebenheiten anzupassen. D.h. die <emphasis>Adaptivität</emphasis> der Lernerfahrung.</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">Erschwinglichkeit</emphasis>: die Möglichkeit Effizienz und Produktivität zu erhöhen während die benötigte Zeit und somit die Kosten für das Liefern der Instruktionen reduziert werden.</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">Beständigkeit</emphasis>: die Möglichkeit technologischer Entwicklung und Änderungen ohne kostenintensives Redesign, Rekonfiguration oder Neuprogrammierung standzuhalten.</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">Interoperabilität</emphasis>: die Möglichkeit an einem Ort mit einer Menge an Werkzeugen entwickelte instruktionelle Komponenten zu nehmen und sie an einem anderen Ort mit anderen Werkzeugen zu verwenden.</para>				<mediaobject>					<imageobject>						<imagedata align="center" fileref="D:/homepage/holon.gungfu.de/e-learning/interoperability.png" format="PNG" width="10cm"/>					</imageobject>					<caption>						<para>Konzept der Interoperabilität (cf. <xref linkend="objects"/>)						</para>					</caption>				</mediaobject>			</listitem>			<listitem>				<para>					<emphasis role="bold">Wiederverwendbarkeit</emphasis>: die Flexibilität instruktionelle Komponenten in mehreren <emphasis>Anwendungen</emphasis> und <emphasis>Zusammenhängen</emphasis> einzubinden.</para>				<mediaobject>					<imageobject>						<imagedata align="center" fileref="D:/homepage/holon.gungfu.de/e-learning/reusability.png" format="PNG" width="10cm"/>					</imageobject>					<caption>						<para>Konzept der Wiederverwendbarkeit (cf. <xref linkend="objects"/>)						</para>					</caption>				</mediaobject>				<para>Neben der Wiederverwendbarkeit der einzelnen Inhalte ist die Wiederverwendbarkeit für verschiedene <emphasis>Ausgabemedien</emphasis> ebenfalls wichtig. SCORM ist zwar hauptsächlich ein Standard für web-basierte Lerninhalte, diese Lerninhalte sollen (und sind) jedoch auch einfach auf andere Medien, wie z.B. CD-ROM, übertragbar.</para>			</listitem>		</itemizedlist>	</section>	<section id="Sgeschichte">		<title>Geschichte von SCORM</title>		<para>Die unüberschaubare Menge von Standards im Bereich des e-learnings und der Metadaten führte zum Wunsch einer Vereinheitlichung. Dieses Streben nach einer Vereinheitlichung führte im Januar 1999 zur Unterzeichnung einer Durchführungsverordnung, die das <emphasis>Verteidigungsiminsterium</emphasis> der Vereinigen Staaten von Amerika an die Spitze verschiedener Bundesbehörden und privater Organisationen stellte, die allgemeingültige Spezifikationen und Standards für technologiebasiertes Lernen erarbeiten sollten. Anfang 1999 war ein erster Entwurf des  <emphasis>Sharable Content Object Reference Model</emphasis> entiwckelt. Dieser Standard sollte die Arbeit dieser Organisationen integrieren und die <emphasis role="bold">Advanced Distributed Learning</emphasis>-Initiative des Verteidigungsministeriums unterstützen. ADL entwickelte SCORM um diese Fülle an sich abzeichnenden Standards zusammenzubringen und in ein gemeinsames <emphasis>Referenz</emphasis>modell zu integrieren. (cf. <xref linkend="SHist"/>)		</para>		<para>Die ADL-Initiative selbst wurde im November 1997 durch das amerikanische Verteidigungsministerium und dem <emphasis>Weißen Haus Büro für Wissenschafts- und Technologiepolitik</emphasis>			<footnote>				<para>White House Office of Science and Technology Policy (OSTP)</para>			</footnote> gegründet. Die Aufgabe der Initiative besteht darin, Zugang zu qualitativ hochwertiger Bildung und Training, die auf die Bedürfnisse des Einzelnen zugeschnitten sind und kosteneffizient jederzeit und überall angeboten werden können zu ermöglichen. (siehe <xref linkend="scorm04O"/>, Abschnitt 1.1)</para>		<para>Die unter SCORM zusammengefassten Spezifikationen basieren auf Arbeiten von <emphasis>Aviation Industry CBT<footnote>					<para>Computer-Based Training</para>				</footnote> Commitee</emphasis>			<emphasis role="bold">(AICC)</emphasis>, des <emphasis>IMS<footnote>					<para>Instructional Management System</para>				</footnote> Global Learning Consortium</emphasis>			<emphasis role="bold">(IMS global)</emphasis>, des <emphasis>Institute of Electrical and Electronics Engineers</emphasis>			<emphasis role="bold">(IEEE)</emphasis> / <emphasis>Learning Technology Standards Commitee</emphasis>			<emphasis role="bold">(LTSC)</emphasis>, des <emphasis>Alliance for Remote Instructional Authoring and Distribution Networks for Europe</emphasis>			<emphasis role="bold">(ARIADNE)</emphasis> und anderen (cf. <xref linkend="devTut"/>).</para>		<para>Im Januar 2000 veröffentlichte ADL Version 1.0 des SCORM-Standards. Darauf folgten erste Beispielimplementationen und Software für das Testen der Standardkonformität von Lerninhalten.</para>		<para>Im folgenden Jahr wurde SCORM 1.1 verabschiedet. In der Version 1.1 wurden Verbesserungsvorschläge und Korrekturen - ausgehend von Version 1.0 - einbezogen. Die Testphase von SCORM wurde beendet. Ab dieser Version steht SCORM nicht mehr für <emphasis>Sharable <emphasis role="bold">Courseware</emphasis> Object Reference Model</emphasis> sondern für <emphasis>Sharable <emphasis role="bold">Content</emphasis> Object Reference Model</emphasis>. Mit dieser Namensänderung soll verdeutlicht werden, dass der Standard für mehrere Ebenen von Inhalt einsetzbar ist und nicht bloß auf die Kursebene beschränkt ist. D.h. mit SCORM lassen sich nicht bloß Inhalte auf Kursebene beschreiben, sonder auch kleinere Einheiten (z.B. <emphasis>Lektionen</emphasis>) und größere Einheiten (z.B. <emphasis>Lehrpläne</emphasis>).</para>		<para>In der Version 1.2 wurden die <emphasis>content packaging application profiles</emphasis> eingeführt. Diese Version des SCORM erweiterte auch die Metadaten, die für die Beschreibung des Lerninhalts Verwendung finden.</para>		<para>SCORM 2004 führte ein viertes Buch ein, <emphasis>Sequencing and Navigation</emphasis>. Diese neue Version verbesserte auch die anderen drei Bücher um die Evolution der Standards wiederzuspiegeln und besser mit dem neuen vierten Buch im Einklang zu stehen. Seit dieser Version ist SCORM als stabil anzusehen. Zukünftige Versionen der vier Bücher werden Lektionen berücksichtigen, die bei der Implementierung dieser Version von SCORM gelernt wurden. (cf. <xref linkend="SHist"/>)		</para>		<para>SCORM dient als Grundlage für das Erstellen von <emphasis>wiederverwendbaren</emphasis> Lerninhalten innerhalb eines gemeinsamen Rahmens für computer- und webbasiertes Lernen (siehe <xref linkend="scorm04O"/>, Abschnitt 1.1). Die CBI-Gemeinde erkannte recht bald den Vorteil von web-basierten Inhalten, nämlich die Verwendung einheitlicher Kommunikationsstrukturen, gemeinsamer Standards und den stetig wachsenden Anteil von web-Anwendungen und portierte ihre proprietären Lösungen in web-basierte Anwendungen. So ist das Hauptmedium von SCORM das Web, jedoch mit dem Hintergedanken, dass jede im Web zugängliche Information auch relative leicht auf andere Medien übertragen werden kann. So ist beispielsweise eine Auslieferung auf CD-ROM leicht zu bewerkstelligen. (cf. <xref linkend="scorm04"/>, Seite 1-13). Dies kommt dem Gedanken des <emphasis>write once, deploy anyhwere</emphasis> entgegen und ermöglicht es dem Entwickler sich auf Inhalte, nicht auf Technologien zu deren Auslieferung zu konzentrieren.</para>		<para>Spezifikationen und Standards, die in SCORM vereinigt wurden (cf. <xref linkend="scorm04O"/>, Seite 1-5) sind:</para>		<itemizedlist>			<listitem>				<para>					<emphasis role="bold">IEEE Data Model</emphasis> für die Kommunikation zwischen Inhaltsobjekt und LMS</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">IEEE ECMAScript Application Programming Interface</emphasis> für die Kommunikation zwischen Inhalt und Laufzeitdienst<footnote>						<para>Entspricht der <emphasis>Laufzeitumgebung</emphasis> bzw. dem LMS.</para>					</footnote> for Content to Runtime Services Communication</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">IEEE Learning Object Metadata</emphasis> (LOM) zum Auszeichnen der Daten mit Metainformation.</para>			</listitem>			<!--listitem>				<para>					<emphasis role="bold">IEEE Extensible Markup Language (XML) Schema Binding</emphasis> for Learning Object Metadata Data Model</para>			</listitem-->			<listitem>				<para>					<emphasis role="bold">IMS Content Packaging</emphasis> - siehe <xref linkend="contPack"/>				</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">IMS Simple Sequencing</emphasis> - siehe <xref linkend="secSN"/>				</para>			</listitem>		</itemizedlist>	</section>	<section>		<title>Der Standard im Detail</title>		<section>			<title>Das <emphasis>Content Aggregation Model</emphasis>				<footnote>					<para>cf. <xref linkend="SOver2"/>					</para>				</footnote>			</title>			<para>Es besteht aus drei Teilen, dem <emphasis role="bold">Inhaltsmodell</emphasis>, den <emphasis role="bold">Meta-Daten</emphasis> und dem <emphasis role="bold">Verpacken von Inhalt</emphasis>				<footnote>					<para>content packaging</para>				</footnote> und wird im CAM-Buch spezifiziert.</para>			<section>				<title>Inhaltsmodell</title>				<para>Das Inhaltsmodell beschreibt den Inhalt, dessen Struktur und Beziehungen<footnote>						<para>Solche <emphasis role="bold">Beziehungen</emphasis> sind z.B. <emphasis>Ist-Teil-Von</emphasis> oder <emphasis>Ist-Ressource-Für</emphasis>.</para>					</footnote> . Falls der Inhalt aus mehr als einem <emphasis>Modul</emphasis>					<footnote>						<para>Als <emphasis role="bold">Modul</emphasis> wird eine Sammlung von Inhalten bezeichnet. Dies entspricht beispielsweise einem <emphasis>Kurs</emphasis>.</para>					</footnote> besteht, beschreibt das Inhaltsmodell alle Beziehungen zwischen den verschiedenen Modulen (die <emphasis>Aggregationen</emphasis> genannt werden). Das Inhaltsmodell beschreibt außerdem die physische Struktur des Inhalts (benötigte Dateien, verlangte Datei<emphasis>namen</emphasis> und Verzeichnisstrukturen  etc.). Das Inhaltsmodell besteht aus <emphasis>Assets</emphasis>, <emphasis>SCOs</emphasis> und der <emphasis>Inhaltsorganisation</emphasis>					<footnote>						<para>content organization</para>					</footnote>					(cf. <xref linkend="scorm04C"/>, Seite 2-1 bis 2-7).</para>				<para>Sowohl Assets, als auch SCOs werden im XML der Inhaltsorganisation  (in der Datei <filename>imsmanifest.xml</filename>, siehe <xref linkend="contOrg"/>) als <varname>resource</varname>-Elemente wiedergegeben. Dabei wird das <varname>scormType</varname>-Attribute entweder auf den Wert <varname>asset</varname> oder <varname>sco</varname> gesetzt.</para>				<para>Aktivitäten<footnote>						<para>Siehe <xref linkend="defActivity"/>						</para>					</footnote> werden im XML der Inhaltsorganisation mit <varname>item</varname>-Elementen oder <varname>organization</varname>-Elementen repräsentiert. <varname>item</varname>-Elemente, die Blätter im Beum des Inhaltsmodells sind, verweisen per <varname>id</varname>-Attribut auf <varname>resource</varname>n. Mehr dazu findet sich unter <xref linkend="contOrg"/>.</para>				<!--para>In der Datei <filename>imsmanifest.xml</filename> wird das Inhaltsmodell gespeichert.</para-->				<section>					<title>Asset</title>					<para>Ein Asset ist die grundlegenste From einer Lernressource. Assets sind <emphasis>elektronische Repräsentationen von Medien</emphasis> wie Text, Bilder, Klang, Bewertungsobjekte<footnote>							<para>assessment objects</para>						</footnote> oder jedes andere Datum, das von einem Web-Client dargestellt und einem Lerner präsentiert werden kann. Man kann mehrere Assets zu einem neuen Asset bündeln.</para>					<para>Assets können mit <emphasis>Metadaten</emphasis> ausgezeichnet werden. Dies ermöglicht die Suche und das Finden innerhalb von Repositories und somit die Wiederverwendung. Die Metadaten werden durch das <emphasis>Content Package</emphasis> (siehe <xref linkend="contPack"/>) mit einem Asset assoziiert.</para>				</section>				<section>					<title>SCO</title>					<para>Ein SCO ist eine Sammlung von einem oder mehreren Assets, die eine einzige im obigen Sinn aktive Lernressource repräsentieren. Ein SCO stellt die kleinste Einheit einer Lernressource dar, die von einem LMS mittels der RTE verfolgt werden kann.</para>					<para>Während der Entwicklung des Inhalts sollte über eine sinnvolle Größe der einzelnen SCOs nachgedacht werden. Dabei sollte die kleinste logische Einheit, die vom LMS vernünftig verwendet werden kann, berücksichtigt werden. Generell sollte jedes <emphasis>Lernziel</emphasis> auf ein SCO abgebildet weden.</para>					<para>Der einzige Unterschied zwischen einem SCO und einem Asset besteht darin, dass ein SCO mit dem LMS über die <emphasis>IEEE ECMAScript API</emphasis> kommuniziert und ein Asset nicht.</para>					<para>Um <emphasis>Wiederverwendbarkeit</emphasis> zu erreichen, sollte ein SCO unabhängig vom Lernzusammenhang sein. So kann ein SCO in verschiedenen Kursen Verwendung finden. Außerdem können verschiedene SCOs zu neuen Kursen zusammengefasst werden.</para>					<para>SCOs können einzelne Webseiten umfassen, aber auch Module mit mehreren hundert Seiten und anderen Assets darstellen.</para>					<para>Auch SCOs können - wie Assets - mit Metadaten beschrieben werden. Auch hier erfolgt die Assoziation von Metadaten und SCO durch das <emphasis>Content Package</emphasis>.</para>					<note>						<title>Anmerkung: Trennung von Metadaten und Daten</title>						<para>Es ist auffällig, dass im Standard die Metadaten von den Daten (den Assets und SCOs) getrennt ist. Das bedeutet, dass eine Suche nach Inhalt durch die Beschreibungen des Inhalts anhand der Metadaten in einer separaten Datei geschehen muss.</para>						<para>Das ist im Grunde so, also würde man die <emphasis>Dublin Core</emphasis>-Metadaten<footnote>								<para>Mehr zu diesem Standard findet sich unter <ulink url="http://dublincore.org/"/>.</para>							</footnote> einer Internetseite getrennt von der Seite Abspeichern.</para>					</note>					<para>Außerdem muss ein SCO die Anforderungen des SCORM RTE erfüllen. D.h. es muss imstande sein, die durch das LMS zur Verfügung gestellte API zu finden und muss mindestens die Funktionen zur Initialisierung und zur Terminierung aufrufen. Andere Methoden der API müssen nicht aufgerufen werden. Der Aufruf dieser zusätzlichen Methoden hängt vom Inhalt des SCO ab. Siehe hierzu <xref linkend="defAPI"/>.</para>				</section>				<section id="contOrg">					<title>Organisation</title>					<para>Eine Inhaltsorganisation entspricht einer <emphasis>Karte</emphasis>, die den beabsichtigten Gebrauch des Inhalts darstellt. Dies wird durch das Strukturieren von Einheiten - Aktivitäten - erreicht. Die Karte zeigt ebenfalls, wie Aktivitäten zueinander in Beziehung stehen und spezifiziert, wie Aktivitäten traversiert werden können. Siehe hierzu <xref linkend="defActTree"/>.</para>					<mediaobject>						<imageobject>							<imagedata align="center" fileref="D:/homepage/holon.gungfu.de/e-learning/contentOrganization.png" format="PNG" width="13cm"/>						</imageobject>						<caption>							<para>Schema einer <emphasis>Content Organization</emphasis>							</para>						</caption>					</mediaobject>					<para>Die in einer Inhaltsorganisation repräsentierten Aktivitäten können selbst wieder aus Aktiviäten bestehen und werden dann <emphasis>Cluster</emphasis> genannt (siehe <xref linkend="defCluster"/>). Es ist keine Grenze für die Tiefe dieser Rekursion im Standard festgelegt. Aktivitäten, die nicht wiederum aus Aktivitäten bestehen sind mit einer Lernressource assoziiert (entweder einem SCO oder einem Asset), die dafür verwendet wird, die Aktivität auszuführen. D.h. Aktivitäten entsprechen verschiedenen Ebenen in der Lernmittelhierarchie.</para>					<para>Auch das Inhaltsmodell kann mit Metadaten assoziiert werden und ebenso Aktivitäten.</para>					<para>						<emphasis>Ablaufsteuerung</emphasis> bezieht sich auf Aktivitäten. Der beabsichtigte Ablauf von Aktivitäten ist als Teil der Inhaltsorganisation definiert. Hier werden Aktivitäten in Beziehung zueinander gesetzt, indem Ablaufinformationen mit jeder Aktivität assoziiert wird. Ablaufinformationen und -regeln werden durch das <varname>sequencing</varname>-Element im Inhaltsmodell gekapselt.</para>					<para>Das LMS ist verantwortlich für die Interpretation der Ablaufinformationen in der Inhaltsorganisation und für die Anwendung des Ablaufverhaltens, um die tatsächliche Reihenfolge der Lernressourcen zur Laufzeit festzustellen.</para>					<para>SCORM-konforme Lerninhalte trennen die Ablaufsteuerung vom eigentlichen Inhalt. Dies erleichtert die Wiederverwendbarkeit und den Austauch zwischen verschiedenen Autorensystemen. SCORM-konforme SCOs sollten nicht kontextsensitiv sein, sie sollten nicht andere SCOs referenzieren und verlinken.</para>				</section>			</section>			<section>				<title>Metadaten</title>				<para>Zum Beschreiben des Inhalts existiert ein vordefinierter Wortschatz<footnote>						<para>Der Wortschatz basiert auf dem <emphasis>LOM Information Model</emphasis>. LOM steht für <emphasis>Learning Object Metadata</emphasis>.</para>					</footnote>, der in neun Kategorien unterteilt ist:</para>				<orderedlist>					<listitem>						<para>							<emphasis role="bold">General</emphasis> dient zum beschreiben der allgemeinen Informationen über die Ressource.</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">Lifecycle</emphasis> gruppiert die Informationen zu Geschichte und dem gegenwärtigen Stand der Ressource und gibt an, wer die Ressource verändert hat.</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">Meta-Metadaten</emphasis> speichert Informationen zu den Metadaten selbst. Beispielsweise kann festgehalten werden, <emphasis>wann</emphasis> die Metadaten von <emphasis>wem</emphasis> eingegeben wurden und in <emphasis>welcher Sprache</emphasis> die Metadaten angegeben sind.</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">Technical</emphasis> beschreibt die technischen Anforderungen und die Eigenschaften der Ressource. Zum Beispiel kann hier eine <emphasis>URL</emphasis> angegeben werden, unter der die neueste Version des Inhalts heruntergeladen werden kann.</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">Educational</emphasis> gibt die erzieherischen und pädagogischen Eigenschaften der Ressource wieder.</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">Rights</emphasis> speichert die Rechte für geistiges Eigentum und Bedingungen für die Verwendung der Ressource.</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">Relation</emphasis> beschreibt die Beziehungen dieser Ressource zu anderen Ressourcen. Hier sind Angaben wie <emphasis>isbasedon</emphasis>							<footnote>								<para>									<emphasis>'Basiert auf'</emphasis>, d.h. das aktuelle Dokument ist eine Weiterentwicklung des angegebenen Dokuments.</para>							</footnote>						</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">Annotation</emphasis> beinhaltet Kommentare zum erzieherischen Nutzen der Ressource und Informationen wann und von wem die Kommentare angelegt wurden.</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">Classification</emphasis> reiht die Ressource in ein gegebenes Klassifikaitonssystem ein.</para>					</listitem>				</orderedlist>				<para>Im Manifest des Content Package werden diese neun Kategorien in einem <varname>lom</varname>-Element zusammengefasst. Dabei muss nicht jede Kategorie vorhanden sein.</para>				<example>					<title>Metadaten</title>					<para>						<programlisting><![CDATA[<lom xmlns="http://ltsc.ieee.org/xsd/LOMv1p0">  <general>    <title>      <string xml:lang="de">Seminarvortrag zu e-learning Standards</string>    </title>    <description>      <string>        Die Seite bietet die Ausarbeitung zum Seminarvortrag über e-learning-Standards         als PDF und docbook/XML sowie interessante und hilfreiche Links zum Thema.      </string>    </description>    <keyword>      <string>e-learning</string>    </keyword>    <keyword>      <string>xml Anwendung</string>    </keyword>    <keyword>      <string>Standards</string>    </keyword>    <keyword>      <string>SCORM</string>    </keyword>    <keyword>      <string>Metadaten</string>    </keyword>    <language>de</language>  </general>  <technical>    <location type="URI">      http://www.gungfu.de/studium/e-learning/index.html    </location>    <format>application/xml</format>  </technical></lom>]]></programlisting>					</para>				</example>			</section>			<section id="contPack">				<title>Content Packaging<footnote>						<para>cf. <xref linkend="scorm04O"/>, Seite 1-29</para>					</footnote>				</title>				<para>Dieser Teil des Standards beschreibt, wie die Inhalte auf einem Speichermedium bzw. in einem Archiv abgelegt werden sollten, damit das gemeinsame Verwenden der Lernressource unterstützt wird.</para>				<para>Das Inhaltverpackungs-Modell gibt prinzipiell an, dass die Daten des Inhaltsmodells<footnote>						<para>Also Metadaten, Organisation mit evtl. Alternativen und Sequencing-Informationen.</para>					</footnote> in einer XML-Datei mit dem Namen <filename>imsmanifest.xml</filename> gespeichert sein müssen, die sich im Wurzelverzeichnis des Pakets befindet.</para>				<para>Diese Datei - ähnlich einem Packzettel - beschreibt den Inhalt des Pakets anhand der Metadaten und kann optional eine Beschreibung der Inhaltsstruktur beinhalten.</para>				<para>Ressourcen werden durch entsprechende Einträge in der <filename>imsmanifest.xml</filename>-Datei referenziert. Das Content Packaging spezifiziert auch, wie die physischen Dateien auf dem Speichermedium verpackt werden müssen und wie die Daten in eine PIF<footnote>						<para>							<emphasis>Package Interchange File</emphasis> - entspricht im Wesentlichen ZIP</para>					</footnote>-Datei komprimiert werden.</para>				<mediaobject>					<imageobject>						<imagedata align="center" fileref="D:/homepage/holon.gungfu.de/e-learning/contentPackage.jpg" format="JPG" width="7cm"/>					</imageobject>					<caption>						<para>Schema eines <emphasis>Content Package</emphasis>						</para>					</caption>				</mediaobject>				<para>Ein Inhaltspaket fasst Inhaltsobjekte<footnote>						<para>Ein Inhaltsobjekt ist entweder ein SCO oder ein Asset (cf. <xref linkend="scorm04R"/>)</para>					</footnote> in einer Inhaltsorganisation zusammen, die in einem Manifest beschrieben wird. Ein solches Paket kann einen Kurs, eine Lektion, ein Modul oder einfach eine Sammlung von zusammenhängenden Inhaltsobjekten repräsentieren. Es können auch <emphasis>alternative</emphasis> Organisationen definiert werden.</para>				<example>					<title>Alternative Organisationen</title>					<para>Die Definition von mehreren Organisationen in einem Manifest macht beispielsweise dann Sinn, wenn auf unterschiedliche Zielgruppen eingegangen werden soll, im Grunde jedoch derselbe Lernstoff vermittelt werden soll. Solche Alternativen können sich z.B. auf <emphasis>Anfänger</emphasis>, <emphasis>Fortgeschrittene</emphasis> und <emphasis>Experten</emphasis> beziehen.</para>				</example>			</section>		</section>		<section>			<title>Die Run-Time Environment</title>			<para>Der Hauptzweck des RTE besteht im Zurverfügungstellen von Mitteln für das Zusammenarbeiten von SCO und LMS. Da SCORM die Möglichkeit des Zusammenarbeitens von Lerninhalten in verschiedenen LMS, ohne dass die Werkzeuge zum Erstellen der Inhalte berücksichtigt werden müssen, ermöglichen möchte, ist es notwendig, dass Inhalt in einer vereinheitlichten Weise gestartet werden kann (cf. <xref linkend="scorm04O"/>, Seite 1-30). Außerdem muss festgelegt werden, wie sich der Inhalt verhält, wenn er einmal vom LMS gestartet wurde (cf. <xref linkend="SOver2"/>). D.h. der Inhalt ist <emphasis>aktiv</emphasis>. Sein Verhalten wird durch JavaScript<footnote>					<para>Eigentlich <emphasis role="bold">ECMA</emphasis>Script - European Computer Manufacturers Association.</para>				</footnote> -Funktionen definiert.</para>			<para>Die drei Bestandteile des SCORM RTE (cf. <xref linkend="scorm04O"/>, Seite 1-30 f.) werden als</para>			<itemizedlist>				<listitem>					<para>						<emphasis role="bold">Launch</emphasis>					</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Application Programming Interface (API)</emphasis> und</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Data Model</emphasis>					</para>				</listitem>			</itemizedlist>			<para>bezeichnet.</para>			<mediaobject>				<imageobject>					<imagedata align="center" fileref="D:/homepage/holon.gungfu.de/e-learning/lms.png" format="PNG" width="13cm"/>				</imageobject>				<caption>					<para>Funktionsweise der Run-Time Environment						</para>				</caption>			</mediaobject>			<section>				<title>Launch</title>				<para>					<emphasis>Launch</emphasis> definiert den Startvorgang eines SCORM-Inhalts durch das LMS. So daß jeder SCORM-konforme Inhalt mit SCORM-konformen LMS ausgeliefert und dem Lerner angezeigt werden kann. Außerdem wird hier bestimmt, welcher Inhalt als nächstes angezeigt werden soll. Weiterführendes findet sich im <emphasis>sequencing and navigation</emphasis>-Buch (siehe hierzu <xref linkend="secSN"/>.</para>				<para>Zum Starten eines Lerninhalts ist es notwendig, dass das LMS in der Lage ist, die nächste zu startende Lernaktivität festzustellen. Ausgelöst durch ein <emphasis>Navigationsereignis</emphasis> findet das LMS den Inhalt, der mit dieser neuen Aktivität verknüpft ist, anhand der Informationen im Content Package. Dort sind die Lerninhalte mit Ressourcen verknüpft, die ihrerseits anhand von URLs<footnote>						<para>Universal Resource Locator</para>					</footnote> auf physikalische Ressourcen (Dateien) verweisen.</para>				<para>Nach dieser Ressourcenauflösung wird der gegenwärtige Inhalt mit dem neuen Inhalt ersetzt, indem der alte Inhalt beendet und der neue gestartet wird.</para>				<example>					<title>Beispiel für den Verweis von Lernaktivität auf Ressource</title>					<programlisting><![CDATA[<manifest>  <organizations>    <organization>      <item identifier="INTRO" identifierref="RESOURCE_INTRO">        <title>Einleitung</title>      </item>      <item identifier="MODULE1">        <title>Module 1 -- Basics</title>        <item identifier="LESSON1" identifierref="RESOURCE_LESSON1">          <title>Lesson 1 -- Interface</title>        </item>       ...      </item>    </organization>  </organizations>  <resources>    <resource identifier="RESOURCE_INTRO" scormType="asset" type="webcontent" href="intro.htm">      <file href="intro.htm"/>      <file href="images/headerside.gif"/>      <file href="images/headertop.gif"/>      <file href="images/pssidebar.gif"/>    </resource>    <resource identifier="RESOURCE_LESSON1" scormType="asset" type="webcontent" href="Lesson1.htm">      <file href="Lesson1.htm"/>      <file href="images/EndOfLesson.gif"/>      <file href="images/LessonTitle1.gif"/>      <file href="images/headerside.gif"/>    </resource>    <resource identifier="RESOURCE_LESSON2" scormType="asset" type="webcontent" href="Lesson2.htm">      <file href="Lesson2.htm"/>      <file href="images/EndOfLesson.gif"/>      <file href="images/HandTool.gif"/>      <file href="images/LessonTitle2.gif"/>      <file href="images/ZoomToolIcon.gif"/>    </resource>    ...   </resources></manifest> ]]></programlisting>					<para>In diesem Beispiel verweist die Lernaktivität <emphasis>INTRO</emphasis> auf die Ressource <emphasis>RESOURCE_INTRO</emphasis>, die ein Bündel an Ressourcen kapselt.</para>					<para>Das Beispiel zeigt außerdem, dass eine Lernaktivität durchaus aus mehreren weitern Lernaktivitäten bestehen kann.</para>				</example>				<para>Für die verschiedenen Inhaltsobjekte<footnote>						<para>Im Standard existieren <emphasis>Asset</emphasis> und <emphasis>SCO</emphasis>.</para>					</footnote> wird beim <emphasis role="bold">Laden</emphasis> unterschiedlich vorgegangen:</para>				<section>					<title>Laden von Assets</title>					<para>Da Assets <emphasis>passiven Inhalt</emphasis> (z.B. Bilder) darstellen, wird vom Standard nur verlangt, dass das LMS das Asset über das HTTP-Protokoll startet. Assets kommunizieren nicht über die API und dem Datenmodell mit dem LMS.</para>				</section>				<section>					<title>Laden von SCOs</title>					<para>Für SCOs, dem <emphasis>aktiven Inhalt</emphasis> im SCORM-Standard, wird verlangt, dass das LMS ihn startet, Daten vom SCO speichert und auf Anfrage zum SCO sendet. Dabei ist jeweils nur <emphasis>ein</emphasis> SCO <emphasis>pro Lerner</emphasis> aktiv. Das LMS startet nicht mehrer SCOs für einen Lerner gleichzeitig.</para>					<para>Es ist jedoch erlaubt, dass ein SCO selbst die API implementiert - quasi als <emphasis>Proxy</emphasis> agiert - und es so untergeordneten, vom SCO geladenen SCOs ermöglicht, auf die API zuzugreifen. Dieser Zugriff ist jedoch <emphasis>indirekt</emphasis> über das aufrufende SCO und niemals direkt auf die API des LMS. Andernfalls könnten leicht Inkonsistenzen im Datenbestand des LMS entstehen.</para>					<section>						<title>Suchen der API</title>						<para>Nachdem ein SCO durch das LMS gestartet wurde, ist das SCO dafür verantwortlich die API des LMS zu finden. Hierfür wird der Lokalisation der API auf der LMS-Seite folgende Restriktionen auferlegt:</para>						<itemizedlist>							<listitem>								<para>Das LMS muss das SCO in einem abhängigen Browserfenster<footnote>										<para>einem <emphasis>Popup</emphasis>										</para>									</footnote> starten. Oder</para>							</listitem>							<listitem>								<para>Das SCO wird in einem <emphasis>Kind</emphasis>frame des LMS-Fensters gestartet, in dem die API als DOM<footnote>										<para>											<emphasis>Document Object Model</emphasis> - ein Standard des W3C-Consortiums</para>									</footnote>-Objekt entweder direkt oder durch das Durchsuchen der <emphasis>Eltern</emphasis>frames zugänglich ist.</para>							</listitem>						</itemizedlist>						<para>Diese Einschränkungen ermöglichen es einem SCO durch rekursive Suche in der Eltern- und/oder der Fensteröffnerhierarchie die API des LMS zu finden. Im DOM hat die API den Namen <varname>API_1484_11</varname> und kann so <emphasis>eindeutig</emphasis> identifiziert werden.</para>						<mediaobject>							<imageobject>								<imagedata align="center" fileref="D:/homepage/holon.gungfu.de/e-learning/API_finden.png" format="PNG" width="13cm"/>							</imageobject>							<caption>								<para>Die zwei Möglichkeiten die API zu finden.</para>							</caption>						</mediaobject>					</section>				</section>			</section>			<section id="defAPI">				<title>Application Programming Interface</title>				<para>Die <emphasis>API</emphasis> bietet eine Menge von vordefinierten Funktionen, auf die sich LMS-Anbieter und Autorensystem-Hersteller geeinigt haben, um die Kommunikation zwischen einem LMS und den SCOs, die das LMS startet, zu ermöglichen.</para>				<para>Ein SCORM-konformes LMS muss die nachfolgend aufgeführten acht API-Funktionen implementieren und den Großteil des SCORM Datenmodells unterstützen. Der schwierige Teil besteht in der Handhabung der Browser-zu-Server Kommunikation. Meistens wird diese Funktionalität in Form eines Java-<emphasis role="bold">Applets</emphasis> in einem versteckten Frame im Browserfenster realisiert. Es existieren jedoch auch Implementierungen mit Flash, ActiveX-Kontrollen und reinem JavaScript (cf. <xref linkend="SOver2"/>).		</para>				<para>SCORM-konformer Inhalt greift über die oben bereits angesprochene API auf das LMS zu. Hierfür muss das LMS folgende 8 API-Funktionen implementieren (cf. <xref linkend="SOver2"/>:</para>				<orderedlist>					<listitem>						<para>							<function>return_value = Initialize(parameter)</function> dient zur Initialisierung der Kommunikation zwischen SCO und LMS. Das LMS führt LMS-spezifische Aufgaben durch. Der Parameter ist der leere String "".</para>					</listitem>					<listitem>						<para>							<function>return_value = Terminate(parameter)</function> beendet die Kommunikation zwischen aktivem SCO und LMS. Das SCO ruft diese Methode auf, wenn es zu dem Schluß kommt, dass keine weitere Kommunikation mit dem LMS nötig ist<footnote>								<para>Beispielsweise, weil der Lerner den <guibutton>Submit</guibutton>-Button des SCOs geklickt hat.</para>							</footnote> . Daraufhin speichert das LMS die vom SCO empfangenen Daten<footnote>								<para>Meist in einer Datenbank.</para>							</footnote> nach einem impliziten Aufruf der <function>Commit</function>-Methode (siehe dort).</para>						<para> Nach dem Aufruf der <function>Terminate</function>-Methode darf das SCO nur noch <emphasis>Support Methoden</emphasis> aufrufen (siehe weiter unten).  Der Parameter ist der leere String "".</para>					</listitem>					<listitem>						<para>							<function>return_value = GetValue(parameter)</function> fordert vom LMS einen Wert an. Der Wert wird durch das Datenmodell (bzw. durch das als Parameter übergebenes Datenmodell<emphasis>element</emphasis>) spezifiziert.						</para>					</listitem>					<listitem>						<para>							<function>return_value = SetValue(parameter1, parameter2)</function> bittet um den Transfer von parameter2 als Wert für das als parameter1 angegebenen Datenmodellelements an das LMS.						</para>					</listitem>					<listitem>						<para>							<function>return_value = Commit(parameter)</function> verlangt das Weiterreichen der evtl. in der API-Instanz zwischengespeicherten Daten an das LMS. Einer der Hauptgründe für die Existenz dieser Methode ist, dass duch das Zwischenspeichern zeitraubende direkte und häufigere Kommunikation zwischen Client (Browser) und LMS verhindert werden kann und die tatsächliche Übertragung wahrscheinlich erst angeregt werden muss. Nur nach Aufruf dieser Methode werden die in der API gesammelten Daten über das Netzwerk an das LMS geschickt. Der Parameter ist der leere String "".						</para>					</listitem>					<listitem>						<para>							<function>return_value = GetLastError()</function> verlangt den Fehlercode des gegenwärtigen Fehlerzustands der API-Instanz. 						</para>					</listitem>					<listitem>						<para>							<function>return_value = GetErrorString(parameter)</function> liefert eine textuelle Repräsentation des übergebenen Fehlercodes.						</para>					</listitem>					<listitem>						<para>							<function>return_value = GetDiagnostic(parameter)</function> existiert für LMS-spezifische Anwendungen. Es bietet dem LMS die Möglichkeit, zusätzliche diagnostische Informationen durch die API-Instanz zu definieren.						</para>					</listitem>				</orderedlist>				<para>Die Methoden 1 und 2 sind sogenannte <emphasis role="bold">Session Methoden</emphasis>. Mit ihnen wird der Anfang und das Ende der Kommunikation zwischen SCO und LMS markiert.</para>				<para>Die Methoden 2, 3 und 4 sind die sogenannten <emphasis role="bold">Datentransfer Methoden</emphasis> und dienen zum Datenaustausch mittels des Datenmodells zwischen SCO und LMS.</para>				<para>Die letzten drei Methoden, die sogenannten <emphasis role="bold">Support Methoden</emphasis>, dienen zur unterstützenden Kommunikation (z.B. Fehlerbehandlung) zwischen SCO und LMS.</para>				<para>Alle Methoden außer den Support-Methoden setzen einen <emphasis role="bold">Fehlercode</emphasis> bei ihrem Aufruf. Dieser Fehlercode kann und sollte vom SCO durch die <function>LMSGetLastError</function>-Methode abgefragt werden.</para>				<mediaobject>					<imageobject>						<imagedata align="center" fileref="D:/homepage/holon.gungfu.de/e-learning/Fehlercodes.png" format="PNG" width="7cm"/>					</imageobject>					<caption>						<para>Die im Standard definierten Fehlercodes.</para>					</caption>				</mediaobject>				<example>					<title>Fehlercodes</title>					<itemizedlist>						<listitem>							<para>								<emphasis role="bold">103 - Already Initialized</emphasis> gibt an, dass das SCO die Kommunikation initialisieren wollte, nachdem diese bereits initialisiert war.</para>						</listitem>						<listitem>							<para>								<emphasis role="bold">123 - Retrieve Data After Termination</emphasis> zeigt an, dass das SCO versucht hat, Daten vom LMS zu beziehen, nachdem die Kommunikation bereits erfolgreich beendet wurde. D.h. das SCO hat die <function>GetValue(parameter)</function>-Methode des API aufgerufen, nachdem zuvor <function>Terminate("")</function> erfolgreich war.</para>						</listitem>					</itemizedlist>				</example>				<para>Für die SCORM-Konformität eines Inhalts ist es ausreichend, dass dieser nach dem Finden der API die Initialisierungs-Funktion zu Beginn und die Terminierungs-Funktion am Ende der SCO-Sitzung aufruft.</para>				<para>Jede Kommunikation zwischen dem LMS und einem SCO wird durch das SCO angeregt. Es gibt gegenwärtig keine standardisierte Möglichkeit mit der ein LMS auf ein SCO zugreifen kann (cf. <xref linkend="scorm04R"/>, Seite 3-4).</para>				<para>Durch die API wird die konkrete Implementierung der Kommunikation zwischen LMS und Browser vor dem SCO versteckt. So muss sich der SCO-Entwickler muss sich nicht um diese Art der Server-Kommunikation kümmern, sondern kann sich auf die Entwicklung des Inhalts konzentrieren.</para>			</section>			<section id="defRTEDataModel">				<title>Data Model</title>				<para>Das <emphasis role="bold">Data Model</emphasis> stellt den Wortschatz zur Verfügung, der für den Informationsaustausch zwischen aktivem Inhalt und LMS benutzt werden kann. Über das Datenmodell werden Daten vom LMS bezogen bzw. an es gesendet, indem die im Standard definierten <varname>set</varname>- und <varname>get</varname>-Methoden API-Funktionen aufgerufen werden. D.h. das Datenmodell gibt an, welche Daten das LMS für ein Inhaltsobjekt speichert und was das LMS mit den Daten macht (z.B. Reihenfolgesteuerung).</para>				<example>					<title>Datenmodell</title>					<para>Wenn das Testergebnis eines Lerners weitergegeben werden soll, wird ein SCO das SCORM Datenmodell-Element <varname>cmi.score.scaled</varname> verwenden um das LMS darüber zu informieren, wie der Lerner abgeschnitten hat. Hierfür ruft das SCO die API-Funktion <function>SetValue</function> mit dem Parameter <parameter>cmi.score.scaled</parameter> und dem Score auf:</para>					<para>						<function>SetValue</function>(<parameter>cmi.score.scaled</parameter>, <parameter>5</parameter>)				</para>				</example>				<para>Im Datenmodell können verschiedenste Informationen gespeichert werden:</para>				<itemizedlist>					<listitem>						<para>Informationen über den Lerner</para>					</listitem>					<listitem>						<para>Interaktionen, die der Lerner mit dem SCO hatte</para>					</listitem>					<listitem>						<para>Informationen zu Lernzielen<footnote>								<para>									<emphasis>Objectives</emphasis>								</para>							</footnote>						</para>					</listitem>					<listitem>						<para>Erfolgsstatus</para>					</listitem>					<listitem>						<para>Komplettheitsstatus</para>					</listitem>				</itemizedlist>				<para>Diese Daten haben auch Einfluß auf die Ablaufsteuerung indem die Ergebnisse des Lerners an das LMS gemeldet werden und darauf, wie im Manifest spezifiziert, reagiert wird.</para>			</section>		</section>		<section id="secSN">			<title>Ablaufsteuerung und Navigation</title>			<para>Seit <emphasis>SCORM 2004</emphasis> gibt es als viertes Buch das <emphasis role="bold">Sequencing and Navigation</emphasis>-Buch. Es beschreibt grundlegende Verantwortungen für ein LMS und ist somit hauptsächlich für Hersteller von LM-Systemen und Autorenwerkzeugen interessant.</para>			<itemizedlist>				<title>Themen des SN-Buchs</title>				<listitem>					<para>						<emphasis role="bold">Konzepte und Terminologie</emphasis> - es werden Begriffe wie <emphasis>Lernaktivität</emphasis>, <emphasis>Aktivitätsbaum</emphasis> und <emphasis>Cluster</emphasis> eingeführt und definiert.</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Seqeuncing Definition Model</emphasis> beschreibt die Sequenzsteuerungsregeln, die auf Lernaktivitäten angewandt werden können.</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Sequencing Behavior Model</emphasis> beschreibt das Verhalten des LMS bei Abarbeitung von Sequenzregeln</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Navigation Data Model</emphasis>					</para>				</listitem>			</itemizedlist>			<para>Generell beschreibt das SN-Buch ein <emphasis>Laufzeitdatenmodell</emphasis>, das LMSs nutzen können, um dem Lerner die durch Navigationsanfragen angeforderten Inhalte anzuzeigen, oder das Anzeigen abzulehnen.</para>			<section id="defActivity">				<title>Aktivitäten</title>				<para>Schon mehrmals erwähnt, soll hier eine kurze Definition von <emphasis>Lernaktivitäten</emphasis> gegeben werden.</para>				<para>Umgangssprachlich können Lernaktivitäten als "bedeutungstragende <emphasis>Einheiten</emphasis> von Lerninformation" bezeichnet werden. Ein Lernaktivität ist etwas, das der Lerner 'tut', während er durch das Lernangebot fortschreitet.</para>				<para>Eine Aktivität kann aus weiteren Aktivitäten bestehen und wird dann 'Cluster' genannt (siehe dort). Eine Aktivität kann jedoch auch ein <emphasis>Blatt</emphasis> im Aktivitätsbaum sein und dann mit einer Ressource (oder einem weiteren Manifest, siehe <xref linkend="herleitenAktBaum"/>) assoziiert sein.</para>				<para>Welche Aktivität dem Lerner vom LMS als nächste zu bearbeitende Aktivität angezeigt wird, wird zur Laufzeit des Systems bestimmt und hängt vom Fortschritt des Lerners in vorhergehenden Aktivitäten, der Lernabsicht und den durch den Autor des Lerninhalts vorgegebenen Ablaufsteuerungsinformationen (siehe <xref linkend="defSeqRule"/>) ab. </para>				<para>Es sind immer die Blätter im Aktivitätsbaum, die dem Lerner prästentiert werden. Die Folge von den mit den Blattaktivitäten assoziierten Lerninhalten bezeichnet man als <emphasis role="bold">Lernerfahrung</emphasis>.</para>			</section>			<section id="defActTree">				<title>Aktivitätsbäume</title>				<para>Aktivitätsbäume werden aus der <emphasis>Inhaltsstruktur</emphasis> (siehe oben) abgeleitet. Sie beschreiben die Struktur der Lernaktivitäten. Mit ihr können Ablaufsteuerungs- und Navigationsverhalten<footnote>						<para>Z.B. Algorithmen zur Ablaufsteuerung</para>					</footnote> in einer implementierungsunabhängigen Weise beschrieben werden.</para>				<para>Es wird erwartet, aber es ist nicht vorgeschrieben, dass Systeme, die Ablaufsteuerung unterstützen, auch intern eine Repräsentation als Aktivitätsbaum besitzen.</para>				<para>Aktivitätsbäume repräsentieren also eine <emphasis>Instanz</emphasis>					<footnote>						<para>Für jeden Kurs eines Lerners wird ein selbständiger <emphasis>Aktivitätsbaum</emphasis> assoziiert.</para>					</footnote> von hierarchischen Lernaktivitäten und die dazugehörenden Ablaufsteuerungsinformationen.</para>				<section id="herleitenAktBaum">					<title>Erstellen eines Aktivitätsbaums und dessen Struktur</title>					<para>Ein Aktivitätsbaum kann direkt aus der <emphasis>Inhaltsorganisation</emphasis> eines <emphasis>Content Package</emphasis> hergeleitet werden. Hierfür werden die in einem <varname>organization</varname>-Element des <filename>manifests</filename> gespeicherten Einträge ausgewertet. Diese Einträge enthalten auch die Ablaufsteuerungsregeln, die entweder in <varname>sequencing</varname>-Elementen oder <varname>sequencingCollection</varname>-Elementen gekapselt sind. Mehr dazu findet sich in <xref linkend="secSeqRulesXML"/>.</para>					<mediaobject>						<imageobject>							<imagedata align="center" fileref="D:/homepage/holon.gungfu.de/e-learning/activityTreeFromContentStructure.png" format="PNG" width="13cm"/>						</imageobject>						<caption>							<para>Herleiten eines <emphasis>Aktivitätsbaums</emphasis> aus einer Inhaltsstruktur							</para>						</caption>					</mediaobject>					<para>Das Bild stellt schematisch die Herleitung eines Aktivitätsbaums aus der Inhaltsstruktur, wie sie im Manifest definiert wird, dar. Zusätzlich wird die Möglichkeit des <emphasis>Einbeziehens</emphasis> von bereits vorhandenen Manifesten in ein neues Manifest angedeutet. Hierfür wird ein Blatt-<varname>item</varname>-Element mit einem <varname>manifest</varname>-Element anstelle eines <varname>resource</varname>-Elements assoziiert. Die von diesem <varname>manifest</varname> referenzierte Default-<varname>organization</varname> wird dann anstelle des Blatt-<varname>item</varname>-Elements in den Aktivitätsbaum inkludiert. Dies ermöglicht eine <emphasis>Modularität</emphasis> von Lerninhalten und den Rückgriff auf bereits bestehende Lerninhalte.</para>					<para>Das Bild soll auch deutlich machen, dass die einzelnen <varname>item</varname>-Elemente des Manifests eins-zu-eins als Aktivitäten übernommen werden können, d.h. Aktivitäten entsprechen <varname>items</varname> und wie diese können <varname>items</varname>-Elemente<emphasis>geschachtelt</emphasis> sein. Diese Abbildungsmöglichkeit erlaubt den Austausch von Ablaufsteuerungsinformationen zwischen verschiedenen (SCORM-konformen) LMSs.</para>					<para>Wie oben bereits erwähnt existiert für jeden Lerner und für jeden Kurs ein Aktivitätsbaum. In diesem werden auch <emphasis>tracking</emphasis>-Informationen<footnote>							<para>Z.B. Informationen darüber, wie viel einer Lernaktivität der Lerner bereits abgearbeitet hat, welche die aktuelle Aktivität ist, etc.</para>						</footnote> gespeichert.</para>				</section>				<section id="defCluster">					<title>Cluster</title>					<para>Die Schachtelung von Aktivitäten, also die Möglichkeit, dass eine Aktivität aus weiteren <emphasis>Sub-Aktivitäten</emphasis> besteht, nennt man <emphasis>Clustering</emphasis>. Eine solche abstraktere Aktivität wird <emphasis role="bold">Cluster</emphasis> genannt. Ein Cluster enthält jedoch nicht alle Sub-Aktivitäten beliebieger Tiefe, sondern besteht nur aus einer einzelnen <emphasis>Eltern</emphasis>aktivität und deren <emphasis>Kinder</emphasis>aktivitäten. Cluster sind wesentiche Bausteine eines Aktivitätenbaums und viele Elemente des <emphasis>Sequencing Definition Models</emphasis> beziehen sich auf die Einheit des Clusters. Dabei enthält die Elternaktivität eines Clusters die Ablaufsteuerungsinformationen für die Kinder. Für die Beziehungen zwischen Clustern und dem Sequencing Definition Model siehe beispielsweise <xref linkend="defSeqControlModes"/>.</para>					<mediaobject>						<imageobject>							<imagedata align="center" fileref="D:/homepage/holon.gungfu.de/e-learning/activityTree.jpg" format="JPG" width="13cm"/>						</imageobject>						<caption>							<para>Schema eines <emphasis>Aktivitätsbaums</emphasis> mit Clustern					</para>						</caption>					</mediaobject>				</section>				<section>					<title>Versuch</title>					<para>Sobald mit dem Bearbeiten einer Aktivität begonnen wird, wird ein <emphasis>Versuch</emphasis> zum Lösen dieser Aktivität gestartet. Handelt es sich dabei um eine Blattaktivität, so werden für alle Aktivitäten auf dem Weg zur Wurzelaktivität des Aktivitätsbaums Versuche gestartet. Für jeden Aktivitätsbaum kann pro Lerner nur eine Blattaktivität versucht werden<footnote>							<para>Dies hängt sicherlich damit zusammen, dass der Standard das gleichzeitige Starten mehrerer SCOs untersagt.</para>						</footnote>. Durch einen Versuch können ein oder mehrere <emphasis role="bold">Lernziele</emphasis> erreicht werden.						</para>					<para>Es darf zwar nur jeweils eine Blattaktivität versucht werden. Es besteht jedoch die Möglichkeit des <emphasis>Unterbrechens</emphasis>						<footnote>							<para>supend</para>						</footnote> einer Aktivität. So kann es vorkommen, dass mehrere Aktivitäten unvollständig sind.</para>				</section>			</section>			<section id="secSeqDef">				<title>Sequencing Definition Model</title>				<para>Die Möglichkeiten zur Beeinflussung des Verhaltens bei system- und/oder lernerinitiierten Navigationsereignissen in SCORM sind mannigfaltig. Im folgenden werde ich auf die wichtigsten <emphasis>Möglichkeiten zur Definition der Ablaufreihenfolge</emphasis> eingehen.</para>				<section id="defSeqControlModes">					<title>Sequencing Control Modes</title>					<para>Um zu spezifizieren, welche Navigationsnachfragen auf ein Cluster angewendet werden können, gibt es die <emphasis>Sequencing Control Modes</emphasis>. Sie haben einen binären Wertebereich, können also entweder <constant>wahr</constant> oder <constant>falsch</constant> sein.</para>					<itemizedlist>						<title>Die verschiedenen Modes</title>						<listitem>							<para>								<emphasis role="bold">Sequencing Control Choice</emphasis> - erlaubt die <emphasis>Auswahl</emphasis> einer Kindaktivität<footnote>									<para>Als <emphasis>Kindaktivitäten</emphasis> werden immer <emphasis role="bold">direkte Nachfolger</emphasis> verstanden.</para>								</footnote> . <emphasis>Default: <constant>wahr</constant>								</emphasis>							</para>						</listitem>						<listitem>							<para>								<emphasis role="bold">Sequencing Control Choice Exit</emphasis> - erlaubt die <emphasis>Terminierung</emphasis> dieser Aktivität, wenn eine andere Aktivität<footnote>									<para>Also weder ein anderes Kind dieser Aktivität noch eine Aktivität auf dem Weg von dieser Aktivität zur Wurzelaktivität.</para>								</footnote> ausgewählt wird. <emphasis>Default: <constant>wahr</constant>								</emphasis>							</para>						</listitem>						<listitem>							<para>								<emphasis role="bold">Sequencing Control Flow</emphasis> - erlaubt die Navigation durch die Kinderaktivitäten anhand von <emphasis>Vorwärts</emphasis>- und <emphasis>Rückwärts</emphasis>-Navigationsereignissen. <emphasis>Default: <constant/>falsch</emphasis>							</para>						</listitem>						<listitem>							<para>								<emphasis role="bold">Sequencing Control Forward Only</emphasis> - bedeutet, dass der Lerner nur 'nach vorne' durch das Lernangebot navigieren kann. Es ist ihm nicht gestattet zu vorhergehenden Lernaktivitäten zurück zu wechseln. <emphasis>Default: <constant>falsch</constant>								</emphasis>							</para>						</listitem>						<listitem>							<para>								<emphasis role="bold">Use Current Attempt Objective Information</emphasis> - <emphasis>Default: <constant>wahr</constant>								</emphasis>							</para>						</listitem>						<listitem>							<para>								<emphasis role="bold">Use Current Attempt Progress Information</emphasis> - <emphasis>Default: <constant>wahr</constant>								</emphasis>							</para>						</listitem>					</itemizedlist>					<para>Die beiden letzten Optionen geben an, ob die entsprechende Information vom gegenwärtigen Versuch, oder vom letzten Versuch in einem der Kindaktivitäten des Clusters verwendet werden soll.</para>					<para>Vom LMS wird verlangt, aber nicht erzwungen, dass es dem Lerner Navigationsmöglichkeiten entsprechend der für die aktuellen Aktivität spezifizierten Modes bietet. D.h. gute LMS bieten dem Lerner gar nicht erst die Möglichkeit falsche Navigationsereignisse auszulösen.</para>				</section>				<section>					<title>Constrain Choice Controls</title>					<para>Für die Wahl der zu bearbeitenden Aktivität gibt es zwei weitere Einschränkungsmöglichkeiten.</para>					<itemizedlist>						<listitem>							<para>								<emphasis role="bold">Constrain Choice</emphasis> - erlaubt eine Wahl nur dann, wenn die gewählte Aktivität direkt vor oder nach der aktuellen Aktivität liegt. <emphasis>Default: <constant>falsch</constant>								</emphasis>							</para>						</listitem>						<listitem>							<para>								<emphasis role="bold">Prevent Activation</emphasis> - verhindert den Start eines <emphasis>Versuchs</emphasis> dieser Aktivität durch die direkt Auswahl des Lerners. <emphasis>Default: <constant>falsch</constant>								</emphasis>							</para>						</listitem>					</itemizedlist>					<para>Durch beide Regeln soll verhindert werden, dass der Lerner zu tief in ein Lerngebiet <emphasis>springt</emphasis>.</para>					<example>						<title>Prevent Activation</title>						<para>Durch Verwendung dieser Einschränkung kann der Lerner daran gehindert werden, den Abschlußtest einer Lerneinheit direkt anzuwählen.</para>					</example>				</section>				<section id="defSeqRule">					<title>Sequencing Rule</title>					<para>						<emphasis>Ablaufsteuerungsregeln</emphasis> verändern die standardmäßig lineare Reihenfolge des Lerninhalts bedingt durch Fortschritt und Beherrschen eines Gebiets durch den Lerner. Beispielsweise wird eine Aggregation (bzw. ein Modul) <emphasis>verlassen</emphasis>, wenn der Lerner das Lernziel erreicht hat.</para>					<para>Außerdem verändern Ablaufsteuerungsregeln den Ablaufzustand eines SCOs oder einer Aggregation. Zum Beispiel wird ein SCO deaktiviert, wenn es erfolgreich bearbeitet wurde (d.h. es ist nich mehr möglich dieses SCO auszuwählen) oder ein SCO wird übersprungen, wenn in einem Test ausreichendes Wissen demonstriert wurde.</para>					<para>Im Gegensatz zum Verzweigen zwischen Lerninhalten in CBT<footnote>							<para>Computer-Based Training</para>						</footnote>-Systemen, wo die verschiedenen Möglichkeiten direkt in den einzelnen Lerninhalten angegeben werden, bietet SCORM eine neue Möglichkeit der Ablaufsteuerung. Hier werden die Interaktionens- und Navigationsmöglichkeiten zwischen den einzelnen Lerninhalten - SCOs - und dem Lerner vom LMS gesteuert und durch die Inhaltsorganisation definiert. Es besteht <emphasis>keine direkte, explizite Verknüpfung</emphasis> zwischen einzelnen SCOs. Im nachfolgenden Bild  (cf. <xref linkend="sequPr"/>) soll dieser Sachverhalt verdeutlicht werden.</para>					<mediaobject id="figContPresent">						<imageobject>							<imagedata align="center" fileref="D:/homepage/holon.gungfu.de/e-learning/contentPresentation.png" format="PNG" width="13cm"/>						</imageobject>						<caption>							<para>Gegenüberstellung vom Verzweigen in CBTs und der Ablaufsteuerung in SCORM					</para>						</caption>					</mediaobject>					<para>Für die Planung von Ablaufsteuerungen werden <emphasis role="bold">Inhaltsstrukturdiagramme</emphasis> erstellt. Die rechte Seite des obigen Bilds ist ein einfaches Beispiel für ein solches Diagramm. Das Bild zeigt ebenfalls einfache <emphasis>Ablaufsteuerungsregeln</emphasis> in Umgangssprache.</para>				</section>				<section>					<title>Rollup rule</title>					<para>Als <emphasis>Roll Up</emphasis> wird das Weiterreichen von Lernergebnissen in unteren Teilen des Aktivitätsbaums an weiter oben liegende Cluster-Aktivitäten bezeichnet. Durch <emphasis>rollup-Regeln</emphasis> wird beschrieben, wie sich der Lernfortschritt in Cluster-Aktivitäten<footnote>							<para>Also Aktivitäten, die aus weiteren Aktivitäten bestehen.</para>						</footnote> aus den Lernergebnissen der Kinderaktivitäten herleitet.</para>					<para>						<emphasis role="bold">Einfügen des Bilds aus der Sequencing-Präsentation!</emphasis>					</para>				</section>			</section>			<section id="secSeqBeh">				<title>Sequencing Behaviors</title>				<para>Der vorhergehende <xref linkend="secSeqDef"/> beschrieb die im Standard gegebenen Möglichkeiten zur Definition der Ablaufsteuerung. In diesem Abschnitt wird erläutert werden, wie ein LMS auf die verschiedenen Ereignisse im System reagiert, d.h. es wird das geforderte Verhalten des LMS beschrieben.</para>				<para>Das System leitet sein Verhalten aus dem Zustand von drei Modellen her:</para>				<itemizedlist>					<listitem>						<para>Das <emphasis role="bold">Tracking Model</emphasis> speichert für jede Aktivität deren Zustand. Dieser wird durch die Interaktionen des Lerners verändert. Dieses Modell wird zur Laufzeit <emphasis>dynamisch</emphasis> verändert.						</para>						<para>Während einer Lernerfahrung wird das Trackingmodell ständig aktuallisiert und spiegelt so den Fortschritt des Lerners wieder.</para>					</listitem>					<listitem>						<para>Das <emphasis role="bold">Activity State Model</emphasis> verwaltet den Ablaufzustand jeder Aktivität des Aktivitätsbaums<footnote>								<para>Dies kann z.B. das <emphasis>Verstecken</emphasis> - wie im Bild zur Verzweigung in CBTs und SCORM - sein.</para>							</footnote> und den globalen Zustand des Baums. Dies ist ebenfalls ein <emphasis>dynamisches</emphasis> Modell.						</para>					</listitem>					<listitem>						<para>Das <emphasis role="bold">Sequencing Definition Model</emphasis>							<footnote>								<para>									siehe <xref linkend="secSeqDef"/>								</para>							</footnote> beschreibt, wie die verschiedenen Ablaufsteuerungsprozesse<footnote>								<para>sequencing processes</para>							</footnote> das Trackingmodell verwenden, um die Ablaufsteuerung, wie sie in der Inhaltsorganisation definiert ist, umzusetzen.						</para>					</listitem>				</itemizedlist>				<para>In vorhergehenden Versionen von SCORM<footnote>						<para>Vor <emphasis>SCORM 2004</emphasis> existierte das SN-Buch noch nicht.</para>					</footnote> war das Datenmodell der Laufzeitumgebung (siehe <xref linkend="defRTEDataModel"/>) das einzig existente Modell. D.h. vor <emphasis>SCORM 2004</emphasis> wurde der Fortschritt des Lerners verfolgt und daraus Abläufe hergeleitet.</para>				<para>Wie bei den Definitionsmöglichkeiten für die Ablaufsteuerung gibt es auch bei den Verhaltensweisen zahlreiche Vorschriften seitens des Standards. Im folgenden gehe ich auf die wichtigsten kurz ein. Alle drei aufgeführten Verhaltensweisen leiten ihr Verhalten aus dem <emphasis>Trackingmodell</emphasis> ab.</para>				<section>					<title>Navigationsverhalten</title>					<para>Legt fest, wie Navigationsanfragen validiert und in Terminierungs- und Ablaufanfragen übersetzt werden.</para>					<example>						<title>Übersetzen einer Start-Anfrage in eine Ablaufanfrage</title>						<para>Nach dem Start eines Kurses durch den Lerner initiiert das LMS eine <emphasis>Start</emphasis>-Navigationsanfrage. Das Navigationsverhalten übersetzt diese Anfrage in die entsprechende Ablaufanfrage und verarbeitet<footnote>								<para>D.h. im Aktivitätsbaum wird eine passende, der angestoßenen Ablaufsteuerung entsprechende Blatt-Aktivität gesucht.</para>							</footnote> diese.</para>					</example>				</section>				<section>					<title>Rollupverhalten</title>					<para>Beschreibt, wie die Trackinginformation für Cluster-Aktivitäten aus den Trackinginformationen der Kinderaktivitäten des Cluster hergeleitet werden.</para>				</section>				<section>					<title>Ablaufsteuerungsverhalten</title>					<para>Beschreibt, wie eine Ablaufanfrage anhand eines Aktivitätsbaums verarbeitet wird, um die 'nächste' abzuliefernde Aktivität zu bestimmen.</para>				</section>				<section>					<title>Ablaufschleife</title>					<para>Der Ablauf einer <emphasis>Sequencing Session</emphasis>						<footnote>							<para>Als <emphasis>Sequencing Session</emphasis> bezeichnet man den Zeitraum zwischen Beginn eines Versuchs auf die Wurzelaktivität eines Baums (also immer, sobald <emphasis>irgendeine</emphasis> Aktivität des Baums versucht wird) bis zum Ende dieses Versuchs.</para>						</footnote> mit den verschiedenen Verhalten sieht grob wie folgt aus:</para>					<orderedlist>						<listitem>							<para>Der Lerner startet das LMS und wählt einen Kurs o.ä.</para>						</listitem>						<listitem>							<para>Das LMS initiiert einen Ablaufprozess durch eine <emphasis>Start</emphasis>-, <emphasis>Resume All</emphasis>- oder <emphasis>Choice</emphasis>-Navigationsanfrage.</para>						</listitem>						<listitem>							<para>Das Navigationsverhalten übersetzt diese Anfrage in die entsprechende Ablaufanfrage und verarbeitet diese.</para>						</listitem>						<listitem>							<para>Anhand der Ablaufanfrage, dem Trackingmodell und dem Sequencing Definition Model, das in durch die Inhaltsorganisation definiert ist, wird eine Aktivität bestimmt, die dem Lerner präsentiert werden soll. Falls keine entsprechende Aktivität gefunden wird, springe zu Schritt 9.</para>						</listitem>						<listitem>							<para>Das Auslieferungsverhalten<footnote>									<para>										<emphasis>delivery behavior</emphasis> - wurde im Text nicht erläutert.</para>								</footnote> bestimmt, ob die ermittelte Aktivität ausgeliefert werden kann und bereitet den Start des assoziierten Inhaltsobjekts vor. Falls die Aktivität nicht ausgeliefert werden kann, springe zu Schritt 9.</para>						</listitem>						<listitem>							<para>Der Lerner interagiert mit dem Inhalt. Die Ablaufprozesse ruhen.</para>						</listitem>						<listitem>							<para>Das Inhaltsobjekt kann Werte rückmelden, die verschiedene Trackingmodell-Elemente verändern.</para>						</listitem>						<listitem>							<para>Der Lerner, das Inhaltsobjekt oder das System erzeugt eine Navigationsereignis, z.B. <emphasis>Continue</emphasis>, <emphasis>Previous</emphasis>, <emphasis>Wähle Aktivität X</emphasis>, <emphasis>Beenden</emphasis>.</para>						</listitem>						<listitem>							<para>Das LMS informiert die Ablaufsteuerungs<emphasis>implementierung</emphasis> über das Navigationsereignis durch eine Navigationsanfrage.</para>						</listitem>						<listitem>							<para>Das Navigationsverhalten übersetzt die Anfrage in eine Terminierungsanfrage (für die verlassene Aktivität) und in eine Ablaufanfrage. Falls diese Anfrage bedeutet, dass der Lerner den Versuch auf das Wurzelelement des Aktivitätsbaums beenden möchte, so endet die Sequencing Session. </para>						</listitem>						<listitem>							<para>Falls das Inhaltsobjekt die Navigationsanfrage durch seine Terminierung ausgelöst hat, hat es jetzt noch die Möglichkeit Werte zu liefern, die das Trackingmodell aktuallisieren. Danach endet der Versuch an dieser Aktivität. Jetzt wird das <emphasis>Rollupverhalten</emphasis> aufgerufen, um die Auswirkungen der Zustandsveränderungen durch die Interaktionen des Lerners mit dem Inhaltsobjekt zu bestimmen. Das Rollupverhalten aktuallisiert das Trackingmodell der vorherigen Aktivität und für alle <emphasis>Vorgänger</emphasis>-Aktivitäten im Aktivitätsbaum.</para>						</listitem>						<listitem>							<para>Die Ablaufschleife wiederholt sich beginnend bei Schritt 4 bis die Seqeuncing Session beendet ist.</para>						</listitem>					</orderedlist>					<para>Dei eigentliche Schleife befindet sich zwischen den Schritten 4 und 12.</para>				</section>			</section>		</section>		<section id="secSeqRulesXML">			<title>Mögliche Angaben zum Sequencing im Content Package</title>			<para>Für die Definition der Ablaufsteuerungsregeln gibt es das <varname>sequencing</varname>- und das <varname>sequencingCollection</varname>-Element, das in der Datei <filename>imsmanifest.xml</filename> innerhalb des <varname>organization</varname>-Elements verwendet werden kann. Hier möchte ich kurz auf mögliche Angaben eingehen.			</para>			<para>Mit dem <varname>sequencingCollection</varname>-Element können mehrere <varname>sequencing</varname>-Element zusammengefasst werden. Das <varname>sequencingCollection</varname>-Element dient also als <emphasis>Container</emphasis> für einzelne Ablaufsteuerungsregeln.<footnote>					<para>Im Folgenden meine ich mit <varname>sequencing</varname>-Element meist auch das <varname>sequencingCollection</varname>-Element.</para>				</footnote>			</para>			<para>Das <varname>sequencing</varname>-Element kann als direktes Kind von <varname>item</varname>-Elementen (die keine Blätter sind), oder als Kind eines <varname>organization</varname>-Elements im Manifest vorkommen.</para>			<para>Alle oben angesprochenen<footnote>					<para>generell: alle im Standard möglichen</para>				</footnote> Ablaufsteuerungsmöglichkeiten können durch ein <varname>sequencing</varname>-Element kodiert werden.</para>			<example>				<title>Eine sequencing-Regel und ihre Kodierung als <varname>sequencing</varname>-Element</title>				<programlisting><![CDATA[<sequencingCollection>  <sequencing ID = "pretest">    <controlMode choice = "false" choiceExit = "false" flow = "true" forwardOnly = "true"/>    <sequencingRules>      <preConditionRule>        <ruleConditions>          <ruleCondition condition = "completed"/>        </ruleConditions>        <ruleAction action = "disabled"/>      </preConditionRule>      <preConditionRule>        <ruleConditions>          <ruleCondition condition = "satisfied"/>        </ruleConditions>        <ruleAction action = "skip"/>      </preConditionRule>    </sequencingRules>  </sequencing></sequencingCollection>]]></programlisting>				<para>Obiges <varname>sequencingCollection</varname>-Element enthält ein <varname>sequencing</varname>-Element. Dieses kodiert das Verhalten, dass keine Kindaktivität des Clusters ausgewählt werden darf (<varname>choice="false"</varname>), dass die Aktivität nicht durch die Auswahl einer anderen Aktivität beendet werden kann (<varname>choiceExit="false"</varname>) und dass die Navigation innerhalb der Kindaktivitäten durch <guibutton>Vorwärts</guibutton>- und <guibutton>Rückwärts</guibutton>-Buttons durch das LMS ermöglicht werden soll (<varname>flow="true"</varname>), jedoch mit der Einschränkung auf <guibutton>Vorwärts</guibutton> (<varname>forwardOnly="true"</varname>).</para>				<para>Der Inhalt des <varname>sequencingRules</varname>-Elements legt das Ablaufsteuerungs<emphasis>verhalten</emphasis> fest. Die Regeln werden entsprechend der Reihe, in der sie im Element vorkommen, abgearbeitet. Es gibt drei Regelklassen:</para>				<itemizedlist>					<listitem>						<para>							<emphasis role="bold">preConditionRule</emphasis> - bestimmt Ablaufentscheidungen und das Ausliefern einer Aktivität, wenn ein Versuch <emphasis>startet</emphasis>.</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">exitConditionRule</emphasis> - wird bearbeitet, wenn ein Versuch auf einer Nachfolgeraktivität <emphasis>beendet</emphasis> wird.						</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">postConditionRule</emphasis> - wird berücksichtigt, wenn ein Versuch auf der Aktivität beendet wird.						</para>					</listitem>				</itemizedlist>				<para>Jede Regel besteht aus:</para>				<itemizedlist>					<listitem>						<para>							<emphasis role="bold">ruleCondition</emphasis> - Bedingungen, die zutreffen müssen.</para>					</listitem>					<listitem>						<para>							<emphasis role="bold">ruleAction</emphasis> - Aktionen, die ausgeführt werden.</para>					</listitem>				</itemizedlist>				<para>Die im Beispiel zu sehenden Regeln bedeuten also:</para>				<orderedlist>					<listitem>						<para>Wenn die Aktivität vollständig bearbeitet (= <emphasis>completed</emphasis>) wurde, wird sie deaktiviert (= <emphasis>disabled</emphasis>) (d.h. beispielsweise, dass sie nicht mehr ausgewählt werden kann)</para>					</listitem>					<listitem>						<para>Wenn die Aktivität befriedigend bearbeitet wurde (= <emphasis>satisfied</emphasis>) oder ausreichendes Vorwissen vorhanden ist, dann wird sie übersprungen (= <emphasis>skip</emphasis>).</para>					</listitem>				</orderedlist>				<para>Es besteht z.B. auch die Möglichkeit, bei einer Aktivität, die <emphasis>versucht</emphasis> wird, das Vorwärtsgehen zu unterbinden. Das ist beispielsweise bei <emphasis>Vortests</emphasis> sinnvoll.</para>			</example>			<para>Wenn keine Sequencing-Regeln im Content Package, d.h. dem Manifest, angegeben wurden, so wird ein <emphasis>linearer Ablauf</emphasis> - entsprechend der Reihenfolge der <varname>item</varname>-Elemente im Manifest - standardmäßig angenommen.</para>			<para>Die Optionen für die einzelnen Attributwerte sind vielfältig. So gibt es für das <varname>condition</varname>-Attribut der Regeln mindestens 12 Werte, die die Prämisse der Regel definieren. Diese Tatsache verdeutlicht die hohe Anpassungsfähigkeit des Lerninhalts und der Ablaufsteuerung im SCORM-Standard.</para>		</section>	</section>	<section>		<title>Wie funktioniert SCORM?</title>		<para>In diesem Abschnitt werde ich einen relativ abstrakten Überblick über die Funktionsweise von SCORM und das Zusammenspiel der einzelnen Komponenten geben.</para>		<section>			<title>Aus Sicht des Anwenders</title>			<orderedlist>				<listitem>					<para>Das LMS lädt einen aktiven Inhalt (SCO) oder ein Asset. Im Falle eines Assets werden die Schritte bis Nummer 4 und danach bis Nummer 7 übersprungen.</para>					<para>Dies geschieht entweder durch lerner- oder system-initiierte Ereignisse wie z.B. dem Starten eines neuen Kurses oder durch das Befolgen einer Reihenfolgevorgabe (Sequencing) im Inhaltsmodell durch das LMS.</para>				</listitem>				<listitem>					<para>Das SCO sucht die SCORM-API. Im RTE-Buch wird festgelegt, dass sich die API immer in einem Elternframe des Frames, in dem der Inhalt geladen wird, befinden muss.</para>				</listitem>				<listitem>					<para>Nachdem die API gefunden wurde, wird die Funktion <function>Initialize</function> aufgerufen. Das SCO meldet sich so beim LMS an.</para>				</listitem>				<listitem>					<para>Der Lerner bearbeitet den Inhalt.</para>				</listitem>				<listitem>					<para>Das SCO schreibt und liest Daten in/vom LMS über die set- und get-Methoden der API und dem Datenmodell.</para>					<para>Die API kommuniziert meist über ein Applet in einem versteckten Frame mit dem LMS-Server. Das Datenmodell wird meist durch eine Datenbank auf dem Server realisiert.</para>				</listitem>				<listitem>					<para>Wenn der Inhalt bearbeitet wurde, terminiert das SCO und ruft die API-Funktion <function>Terminate</function> auf, um sich beim LMS abzumelden.</para>				</listitem>				<listitem>					<para>Entsprechend der mit dem gerade bearbeiteten SCO assoziierten Ablaufssteuerungsregeln und dem Datenmodell wird der nächste zu ladende Inhalt bestimmt (dann: zurück zu Punkt 1).</para>				</listitem>			</orderedlist>		</section>		<section>			<title>Aus Sicht des Lerninhalt-Entwicklers</title>			<para>Beim Entwurf von Lerninhalten sollte der Entwickler auf eine sinnvolle Größe der einzelnen Lernobjekte achten, um eine Wiederverwendung zu ermögliche. Je größer und umfassender ein Objekt wird, desto spezifischer und weniger geeignet zur Wiederverwendung wird es.</para>			<para>Für die Entwicklung von SCORM-konformen Inhalten stehen eine Reihe von Werkzeugen zur Verfügung. So besteht mit dem RELOAD-Editor (downloadbar unter <xref linkend="reload"/>) die Möglichkeit komfortable Content Packages zusammenzustellen und Metadaten einzufügen. Für das Erstellen von Lernobjekten an sich, genügt schon ein normaler HTML-Editor. Kommerzielle Produkte wie <emphasis>Macromedia Authorware</emphasis> bieten eine spezifische Unterstützung der Objektentwicklung.</para>			<para>Die Liste der SCORM-konformen LearningManagmentSystem ist ebenfalls umfassend. Eine ansprechende Präsentation des Lerninhalts ist somit gesichert.</para>		</section>	</section>	<section>		<title>Demonstration zur Funktionsweise anhand der Referenzimplementierung</title>		<para>Auf der ADL-Seite zu SCORM (unter <xref linkend="scorm04Rev"/> besteht die Möglichkeit des Downloads einer <emphasis>Referenzimplementierung</emphasis> eines SCORM-konformen Run-Time Environments. Die Implementierung ist kein vollwertiges LMS, ist jedoch in der Lage die Funktionsweise von SCORM zu verdeutlichen.</para>		<para>Die Implementierung benötigt das <emphasis role="bold">Sun Java 2 SDK Standard Edition 1.4.2_02</emphasis> um lauffähig zu sein.</para>		<para>Nach der Installation des Downloads kann ein mitinstallierter Apache-Server gestartet werden, der die Funktionalität des LMS bereitstellt. </para>		<para>Im Browser muss <emphasis role="bold">JavaScript</emphasis> aktiviert sein.</para>		<para>Das Installationsscript richtet im Programme-Ordner des <emphasis>Windows</emphasis>-Startmenüs einen Ordner <systemitem>ADL</systemitem> ein, unter dem ein Ordner <systemitem>Sample RTE 1.3</systemitem> eingebunden wird. Hier kann man den Server starten und stoppen. Der Server ist unter der Adresse <emphasis>				<ulink url="http://localhost:8080/adl/runtime/LMSMain.htm"/>			</emphasis> erreichbar.</para>		<para>Nach dem Start des 'LMS' gliedert sich das Browserfenster in drei <emphasis>Frames</emphasis>:</para>		<itemizedlist>			<listitem>				<para>					<emphasis role="bold">Der oberste Frame</emphasis>					<footnote>						<para>In der Datei <filename>LMSFrame.jsp</filename>.</para>					</footnote> beinhaltet den <emphasis>API-Adapter</emphasis> als <varname>Applet</varname> mit der <varname>id</varname> 'APIAdapter'. Das Applet besitzt keine visuellen Komponenten und ist daher unsichtbar für den Benutzer.</para>				<para>Außerdem zeigt dieser Frame  die <emphasis>Next</emphasis>-, <emphasis>Previous</emphasis>-, <emphasis>Suspend</emphasis>- und <emphasis>Quit</emphasis>-Buttons für die Navigation im Inhalt. Die Anzeige dieser GUI-Elemente ist dynamisch und reagiert auf die in <xref linkend="secSeqDef"/> beschriebenen Modelle.</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">Der linke Frame</emphasis> bietet später ein Menü für das gegenwärtig aktive SCO, wenn dies durch die Ablaufsteuerung erlaubt ist. </para>			</listitem>			<listitem>				<para>					<emphasis role="bold">Der rechte Frame</emphasis> zeigt den eigentlichen Inhalt. Beim Start des LMS wird hier eine kurze Einführung gezeigt.</para>			</listitem>			<listitem>				<para>Im <emphasis role="bold">Frameset</emphasis> wird eine JavaScript-Variable mit dem Namen <varname>API_1484_11</varname> angelegt. Also ein Objekt im DOM, wie das vom Standard verlangt wird. Diese Variable dient als Relais für den eigentlichen API-Adapter, der nicht in einem Elterframe des Inhaltsframe platziert wurde (bzw. werden konnte). Über diese Variable ist dann der Zugriff des SCO auf die API wie im Standard verlangt möglich.</para>			</listitem>		</itemizedlist>		<para>Durch Klick auf den Button <emphasis>Log In</emphasis> im oberen Frame gelangt man zum Login. Defaultmäßig existiert ein Benutzer <userinput>admin</userinput> mit dem Passwort <userinput>admin</userinput>.</para>		<para>Im darauffolgenden Fenster bestehen verschiedene Möglichkeiten für das weitere Vorgehen. Die zum Zwecke der Demonstration interessanten Optionen sind:</para>		<orderedlist>			<listitem>				<para>					<emphasis role="bold">Import a Course</emphasis> zum Einfügen eines Kurses. Hier bietet sich einer der Kurse zu <emphasis>Photoshop</emphasis> der Referenzimplementierung an (downloadbar unter <xref linkend="scorm04Rev"/>).  </para>			</listitem>			<listitem>				<para>					<emphasis role="bold">Register For a Course</emphasis> ermöglicht das Sich Anmelden für einen Kurs. Das Anmelden für mehrere Kurse ist möglich.				</para>			</listitem>			<listitem>				<para>					<emphasis role="bold">View Registered Courses</emphasis> startet einen der Kurse, für die der Lerner sich angemeldet hat. Hierfür werden die entsprechenden Kurse in einer Liste als Links angezeigt.				</para>			</listitem>		</orderedlist>		<section>			<title>Beispielkurse der Referenzimplementierung</title>			<para>Die Referenzimplementierung bietet eine Sammlung von Kursen zum Thema <emphasis>Photoshop</emphasis> an. Diese Kurse stellen denselben Inhalt dar. Jedoch ist das <emphasis>Sequencing</emphasis> und die <emphasis>Lehrstrategien</emphasis> verschieden<footnote>					<para>Die nachfolgenden Beschreibungen sind eine sinngemäße Übersetzung der PowerpointPräsentation, die den Beispielkursen (siehe <xref linkend="scorm04Rev"/> beiliegt.</para>				</footnote>.</para>			<para>Ich stelle die verschiedenen Organisationen hier kurz dar, da sie einen praxisnahen Einblick in die Möglichkeiten der Ablaufsteuerung bieten.</para>			<itemizedlist>				<listitem>					<para>						<emphasis role="bold">Keine Sequenzregeln</emphasis> - Im Manifest wurde keine Reihenfolge festgelegt. Der Standard erlaubt dann die freie Wahl der Reihenfolge durch den Lerner.					</para>				</listitem>				<listitem>					<para>						<emphasis role="bold"> Linear</emphasis> - Der Lerner muss den Inhalt in einer vorgegebenen Reihenfolge abarbeiten. Er kann zwar zurück-, nicht jedoch vorgehen.</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Linear mit Kontrolle</emphasis> fasst die Lektionen eines Themengebiets in Modulen zusammen. Nicht das LMS, sondern das SCO des Moduls bietet Navigationsmöglichkeiten. Navigation zwischen Lektionen eines Moduls erledigt das zuständige SCO. Navigation zwischen Modulen erledigt das LMS.					</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Linear mit Wahl</emphasis> ermöglicht dem Lerner die Wahl eines Moduls nach Beenden der Einführung. Sobald ein Modul gewählt wurde, muss dessen Inhalt in der vorgegebenen Reihenfolge abgearbeitet werden. Nach dem Durchgehen eines Moduls muss er Fragen beantworten.					</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Beschränkte Wahl</emphasis> - nach der Einleitung kann der Lerner ein Modul oder eine Lektion wählen. Nach dieser Wahl kann er nur noch ein Modul direkt vor oder direkt nach dem gewählten Modul auswählen. Nach der Wahl eines Moduls werden dessen Lektionen in einer definierten Reihenfolge abgearbeitet, der Lerner kann jedoch in beliebiger Reihenfolge in den verschiedenen Lektionen 'springen'.					</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Angepasst an das Wissen des Lerners</emphasis> - nach der Einleitung kann der Lerner mit dem <emphasis>Vortest</emphasis> von Modul 1 weiterfahren, oder den Vortest eines anderen Moduls auswählen. Der Lerner kann zwischen Vortests 'springen' und Lektionen in beliebiger Reihenfolge auswählen. <emphasis>Abschließende Tests</emphasis> für Module können vom Lerner nicht ausgewählt werden. 					</para>					<para>Wenn der Lerner einen Test nicht besteht, wird er zum Lerninhalt des Moduls geleitet. Nach dessen Durcharbeiten muss er wieder den Test machen.</para>					<para>Nachdem alle Module abgearbeitet wurden, wird eine Zusammenfassung zur Leistung des Lerners gegeben.</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Angepasst an das Wissen des Lerners mit Wiederverwendung</emphasis> - die Informationen zur Ablaufsteuerung werden wiederverwendet.					</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Verbesserung</emphasis> - nach der Einleitung wird der Lerner <emphasis>linear</emphasis> durch den Kurs geführt (siehe Linear). Wenn der Lerner den Verständnistest besteht, ist der Kurs beendet.					</para>					<para>Für jeden Teil des Tests, den den Lerner nicht bestanden hat, wird er zum entsprechenden Modul weitergeleitet, damit er den Lerninhalt wiederholen kann. Danach muss er wieder den Test machen.</para>				</listitem>				<listitem>					<para>						<emphasis role="bold">Beurteilung des Verständnisses</emphasis> ist eine Variante der vorhergehenden Strategie. Nach der Einleitung wird dem Lerner ein Beurteilungs-SCO präsentiert, das intern das Verständnis der einzelnen Ziele der Module auswertet.					</para>					<para>Dem Lerner wird dann Material zu den nicht bestandenen Modulen gezeigt.</para>					<para>Nachdem der Lerner dieses Material durchgearbeitet hat, muss er wiederum einen Test machen, der diese Ziele prüft.</para>				</listitem>			</itemizedlist>			<para>Beim Arbeiten mit den verschiedenen Kursen fällt auf, dass zusätzlich zum 'Submitten' einer Antwort im Frame des SCOs auch immer auf den 'Continue'-Button des LMS geklickt werden muss, um zur nächsten Seite zu gelangen. Dies macht offensichtlich, dass das Wissen für die Bewertung der Eingaben im SCO-Frame liegt. Dieser wertet die Eingaben des Benutzer aus. Eine automatische Weiterleitung zur nächsten Seite ist - auch wegen der Trennung der Ablaufsteuerung von den SCOs - nicht möglich.</para>		</section>	</section>	<section>		<title>Schlußbemerkung</title>		<para>SCORM ist ein sehr umfassender Standard, in dem der Inhalt von der Navigation getrennt wird. Somit werden die einzelnen Lernobjekte, Assets und SCOs als Bausteine des Standards, umfassend austauschbar, erweiterbar und weiderverwendbar. Module fassen mehrere Lernobjekte zusammen. Zur Navigation im Inhalt besteht die Möglichkeit der Angabe von Ablaufsteuerungsregeln. Auch hier sind die Möglichkeiten umfassend.</para>		<para>Eine erstaunlich große Anzahl von LearningManagmentSystemen, die sich derzeit auf dem Markt befinden, unterstützen SCORM (cf. <xref linkend="krinn"/>), oder geben dies zumindest an.</para>		<para>Es gibt eine Fülle an Lernobjekten, die, das sie SCORM-konform sind, wiederverwendet werden können. Diese Objekte sind meist jedoch nicht öffentlich zugänglich.</para>		<para>Das Erstellen von SCORM-konformen Inhalt wird durch die Menge an vorhandenen Autorensystemen unterstützt. Beispielsweise gibt es einen <emphasis>SCORM-Wrapper</emphasis> für das in Webentwickler-Kreisen weit verbreitete <emphasis>Flash</emphasis>-Autorenwerkzeug von Macromedia.</para>		<para>Somit kann die <emphasis>Qualität</emphasis> von Lerninhalten durch das Verwenden des SCORM-Standards erheblich verbessert werden.</para>	</section>	<bibliography id="diplBib">		<bibliodiv>			<biblioentry id="introDes">				<abbrev>SP04</abbrev>				<publisher>					<publishername>http://www.adlnet.org/index.cfm?fuseaction=developer&amp;pageview=viewarticle&amp;ID=4&amp;pcatid=15</publishername>				</publisher>				<title>Introduction to the SCORM for Instructional Designers</title>				<date>Addresse gültig am: Juni 2004</date>				<pubdate>2004</pubdate>				<author>					<firstname>Betsy</firstname>					<surname>Spigarelli</surname>				</author>			</biblioentry>			<biblioentry id="scorm04O">				<abbrev>ADL04O</abbrev>				<publisher>					<publishername>http://www.adlnet.org/index.cfm?fuseaction=rcdetails&amp;libid=648</publishername>				</publisher>				<title>Sharable Content Object Reference Model (SCORM) 2004 - book 1 - Overview</title>				<author>					<othername>ADL Technical Team</othername>				</author>				<pubdate>2004</pubdate>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="scorm04C">				<abbrev>ADL04C</abbrev>				<publisher>					<publishername>http://www.adlnet.org/screens/shares/dsp_displayfile.cfm?fileid=994</publishername>				</publisher>				<title>Sharable Content Object Reference Model (SCORM) 2004 - book 2 - Content Aggregation Model</title>				<author>					<othername>ADL Technical Team</othername>				</author>				<pubdate>2004</pubdate>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="scorm04R">				<abbrev>ADL04R</abbrev>				<publisher>					<publishername>http://www.adlnet.org/screens/shares/dsp_displayfile.cfm?fileid=996</publishername>				</publisher>				<title>Sharable Content Object Reference Model (SCORM) 2004 - book 3 - Run-Time Environment</title>				<author>					<othername>ADL Technical Team</othername>				</author>				<pubdate>2004</pubdate>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="scorm04S">				<abbrev>ADL04S</abbrev>				<publisher>					<publishername>http://www.adlnet.org/screens/shares/dsp_displayfile.cfm?fileid=998</publishername>				</publisher>				<title>Sharable Content Object Reference Model (SCORM) 2004 - book 4 - Sequencing and Navigation</title>				<author>					<othername>ADL Technical Team</othername>				</author>				<pubdate>2004</pubdate>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="SOver">				<abbrev>SO</abbrev>				<publisher>					<publishername>http://www.adlnet.org/index.cfm?fuseaction=scormabt</publishername>				</publisher>				<title>SCORM Overview</title>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="SHist">				<abbrev>SH</abbrev>				<publisher>					<publishername>http://www.adlnet.org/index.cfm?fuseaction=SCORMHistory</publishername>				</publisher>				<title>SCORM History</title>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="teacup">				<abbrev>TN02</abbrev>				<publisher>					<publishername>http://www.trainingfoundation.com/articles/default.asp?PageID=945</publishername>				</publisher>				<title>SCORM in a teacup?</title>				<date>Addresse gültig am: Juni 2004</date>				<author>					<honorific>Dr</honorific>					<firstname>Tabetha</firstname>					<surname>Newman</surname>				</author>				<pubdate>2002</pubdate>			</biblioentry>			<biblioentry id="SSpec">				<abbrev>SP01</abbrev>				<publisher>					<publishername>http://www.adlnet.org/index.cfm?fuseaction=rcdetails&amp;libid=40&amp;bc=false</publishername>				</publisher>				<title>Sharable Content Object Reference Model (SCORM) Version 1.2</title>				<date>Addresse gültig am: Juni 2004</date>				<pubdate>2001</pubdate>			</biblioentry>			<biblioentry id="adl">				<abbrev>ADL</abbrev>				<publisher>					<publishername>http://www.adlnet.org/</publishername>				</publisher>				<title>Homepage der Advanced Distributed Learning-Initiative</title>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="ariadne">				<abbrev>ARIADNE</abbrev>				<publisher>					<publishername>http://www.ariadne-eu.org/</publishername>				</publisher>				<title>Homepage von ARIADNE</title>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="aicc">				<abbrev>AICC</abbrev>				<publisher>					<publishername>http://www.aicc.org/</publishername>				</publisher>				<title>Homepage des AICC</title>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="ieee">				<abbrev>IEEE/LTSC</abbrev>				<publisher>					<publishername>http://ltsc.ieee.org/</publishername>				</publisher>				<title>Homepage des IEEE/LTSC</title>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="ims">				<abbrev>IMS</abbrev>				<publisher>					<publishername>http://www.imsglobal.org/</publishername>				</publisher>				<title>Homepage des IMS</title>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="devTut">				<abbrev>SDev</abbrev>				<publisher>					<publishername>http://www.adlnet.org/index.cfm?fuseaction=print&amp;prntTPK=4&amp;prntTypeID=10</publishername>				</publisher>				<title>Developer Tutorial</title>				<subtitle>Introduction to the SCORM for Instructional Designers</subtitle>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="scorm04">				<abbrev>ADL04</abbrev>				<publisher>					<publishername>http://www.adlnet.org/index.cfm?fuseaction=rcdetails&amp;libid=648</publishername>				</publisher>				<title>Sharable Content Object Reference Model (SCORM) 2004</title>				<author>					<othername>ADL Technical Team</othername>				</author>				<pubdate>2004</pubdate>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="scorm04Rev">				<abbrev>ADL04Rev</abbrev>				<publisher>					<publishername>http://www.adlnet.org/index.cfm?fuseaction=SCORDown&amp;listing=Examples</publishername>				</publisher>				<title>Referenzimplementation zu SCORM</title>				<author>					<othername>ADL Technical Team</othername>				</author>				<pubdate>2004</pubdate>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="courseDev">				<abbrev>Kr02</abbrev>				<publisher>					<publishername>http://www.isn.ethz.ch/adl-wg/documents/Mr.%20Krinnock's%20presentation%20about%20sequencing%20in%20SCORM.ppt</publishername>				</publisher>				<title>Course Development</title>				<author>					<firstname>Jeff</firstname>					<surname>Krinock</surname>				</author>				<pubdate>2002</pubdate>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="sequPr">				<abbrev>PR02</abbrev>				<publisher>					<publishername>http://www.tpic.org/Conference03/TPIC-SCORM-2.pdf</publishername>				</publisher>				<title>Putting ADL and SCORM into Practice</title>				<authorgroup>					<author>						<firstname>Nina</firstname>						<surname>Pasini</surname>					</author>					<author>						<honorific>PhD</honorific>						<firstname>Daniel</firstname>						<surname>Rehak</surname>					</author>				</authorgroup>				<pubdate>2002</pubdate>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="SOver2">				<abbrev>RSOv</abbrev>				<publisher>					<publishername>http://www.rusticisoftware.com/SCORMOverview.pdf</publishername>				</publisher>				<title>SCORM Overview</title>				<author>					<othername>Rustici Software LLC</othername>				</author>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="objects">				<abbrev>WH</abbrev>				<publisher>					<publishername>http://www.designingwbt.com/content/madison/objectkeynote.pdf</publishername>				</publisher>				<title>Don't Bother Me With Objects! I've Got a Course to Teach</title>				<subtitle>A non-objective view</subtitle>				<author>					<firstname>William</firstname>					<surname>Horton</surname>				</author>				<pubdate>2002</pubdate>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="apiDataEx">				<abbrev>DEx</abbrev>				<publisher>					<publishername>http://www.globalteach.com/GtWeb/Content/2/10_Product/30_Standards/aicc/V3/ApiBasedExchange.htm</publishername>				</publisher>				<title>API based data exchange</title>				<pubdate>2002</pubdate>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="reload">				<abbrev>Rel</abbrev>				<publisher>					<publishername>http://www.reload.ac.uk/</publishername>				</publisher>				<title>RELOAD Project</title>				<subtitle>Reusable eLearning Object Authoring &amp; Delivery</subtitle>				<date>Addresse gültig am: Juni 2004</date>			</biblioentry>			<biblioentry id="charite">				<abbrev>He02</abbrev>				<publisher>					<publishername>http://www.jkaref.de/Information/89.html</publishername>				</publisher>				<author>					<firstname>Rüdiger</firstname>					<surname>Henrici</surname>				</author>				<title>SCORM im Projekt SYMPOL</title>				<pubdate>2002</pubdate>				<date>Addresse gültig am: Juli 2004</date>			</biblioentry>			<biblioentry id="gysel">				<abbrev>Gy02</abbrev>				<publisher>					<publishername>http://www.isn.ethz.ch/adl-wg/documents/Mr.%20Gysel's%20introductory%20presentation.ppt</publishername>				</publisher>				<author>					<surname>Gysel</surname>				</author>				<title>Mr. Gysel's introductory presentation</title>				<pubdate>2002</pubdate>				<date>Addresse gültig am: Juli 2004</date>			</biblioentry>			<biblioentry id="krinn">				<abbrev>Kr02</abbrev>				<publisher>					<publishername>http://www.isn.ethz.ch/adl-wg/documents/Mr.%20Krinnock's%20presentation%20giving%20an%20introduction%20to%20SCORM.ppt</publishername>				</publisher>				<author>					<surname>Krinnock</surname>				</author>				<title>Mr. Krinnock's presentation giving an introduction to SCORM</title>				<pubdate>2002</pubdate>				<date>Addresse gültig am: Juli 2004</date>			</biblioentry>		</bibliodiv>	</bibliography></article>