Upload
bardulf-andrist
View
104
Download
0
Embed Size (px)
Citation preview
German Research Center for Artificial Intelligence (DFKI GmbH)Saarbrücken, Germany
Deutsches Forschungszentrum für Künstliche IntelligenzDeutsches Forschungszentrum für Künstliche Intelligenz
Kursgenerator für E-Learning Systeme als Kursgenerator für E-Learning Systeme als Web-Service (KELWICE)Web-Service (KELWICE)
Diplomarbeit an HTW Saarland bei DFKITianxiang Lu
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
MotivationMotivation
• Großer Markt für E-Learning• Wichtige Rolle des Kursgenerators• Probleme:
– Geschlossen • Inhalte Standards für Austausch der Lerninhalte• Funktionalitäten ?
– Implementierung der Funktionalitäten ist teuer• Lösung: Bestehende Funktionalitäten von E-Learning
Systemen als Web-Service anbieten
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Grundlagen – E-Learning SystemeGrundlagen – E-Learning Systeme
• Web-basierte E-Learning Systeme– Inhaltanbieter (Content Provider, CMS)– Learning Management Systeme (LMS)– Adaptierbar vs. adaptiv
• Repositories und Mediator-Architektur– Metadaten, Ontologien, Ontologien-Mapping
• Lernermodelle– Overlay Model, temporäre LM.
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Grundlagen – E-Learning SystemeGrundlagen – E-Learning Systeme
• Kursgenerator
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Grundlagen – E-Learning SystemeGrundlagen – E-Learning Systeme
• Probleme: – Einbinden eines fremden Repositorys erfordert
• Erweiterung des Mediator-Quelltexts• Neustarten des Servers
– Kursgenerator ist bisher nur innerhalb des Activemath Servers verfügbar
– Generierter Kurs ist proprietäres JDOM Dokument
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Grundlagen: E-Learning StandardsGrundlagen: E-Learning Standards
• IMS-Manifest (SCORM Manifest)
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
SOA: Web ServiceSOA: Web Service
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Anforderungen an KELWICEAnforderungen an KELWICE
• Fragebogen– Zeitraum: 1.April.2006 – 10. Mai. 2006– Zielgruppe:
• Entwickler (primär)• Autoren (sekundär)
– Mailinglist:• Adaptive Hypertext and Hypermedia• International Forum of Educational Technology &
Society• Internal Mailinglist of the European Network of
Excellence Kaleidoscope
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Anforderung an KELWICEAnforderung an KELWICE
– Inhalt des Fragebogens (Überblick)• Allgemeine Interessen• mögliche Lernziele• Metadaten des Lerninhalts• Lernermodellierung• Format des Rückgabewertes des generiertes Kurses• Zusätzliche Information
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Anforderung an KELWICEAnforderung an KELWICE
• Auswertung des Fragebogens (Beispiel)– Frage: „Would a course generator be of use
for you“?
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Anforderung an KELWICEAnforderung an KELWICE
• Lastenheft (Services)– /WS10/ Generierung: kompletter Kurs– /WS20/ Generierung: einzelne LO– /WS30/ Überblick über pädagogischen
Lernziele– /WS40/ Überblick über Metadaten– /WS70/ Übersetzung zwischen verschiedenen
Format (z.B. JDOM <-> SCORM)– /WS80/ WS für Registrierung eines neuen
Repositorys
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Design - SchnittstellenDesign - Schnittstellen
• KELWICE Schnittstellen– Kernschnittstelle von KELWICE
• getTaskDefinition() /WS30/– OUT: XML Stream von Definitionen aller Tasks
• generateCourse() /WS10/, /WS20/ und /WS70/– IN: task (pädagogisches, inhaltliches Lernziel),
userId/LearnerKnowledgeMap– OUT: Kurs in IMS-CP-(SCORM)-Manifest
– Schnittstelle: RepositoryRegistration• getMetadataOntology() /WS40/
– OUT: Ontologie Instructional Objects (OIO)• registerRepository() /WS80/
– IN: WS-URL (Id), name, testId,– OUT: (IN-Robust) OK/Error
• unregisterRepository() /WS80/– IN: Id (WS-URL)
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Design - SchnittstellenDesign - Schnittstellen
• Client Schnittstellen– Repository: ContentAPI (gefordert vom Mediator)
• queryClass()– IN: contentId0– OUT: Typ (Klasse)
• queryRelation()– IN: contentId0, relation– OUT: Liste von contentId (die contentId0 als Relation
besitzt)• queryProperty()
– IN: contentId0, property– OUT: value
– Learner Model: LearnerPropertyAPI• queryLearner()
– IN: learnerId– OUT: property, value Map
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Design - SchnittstellenDesign - Schnittstellen
• Interaktion zwischen Client und KELWICE– Registrierung eines Repositorys– Kursgenerierung mit Lernermodell– Kursgenerierung ohne Lernermodell
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Registrierung eines Repositorys an KELWICERegistrierung eines Repositorys an KELWICE
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Kursgenerierung mit LernermodellKursgenerierung mit Lernermodell
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Design: Komponenten von Design: Komponenten von KELWICEKELWICE
• ServiceController• LearnerModelAPI• RepositoryRegistrationAPI• CourseGeneratorServiceAPI
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Design - ServiceControllerDesign - ServiceController
• Komponenten– CourseGeneratorWebServiceAPI– Preprocessor– Translator
• Funktionalitäten– Kursgenerierung mit Lernermodell– Kursgenerierung ohne Lernermodell
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
LearnerModelAPI: LearnerModelAPI: Kursgenerierung mit temporärem LernermodellKursgenerierung mit temporärem Lernermodell
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Design – Erweiterung für MediatorDesign – Erweiterung für Mediator
• Web-Service Wrapper• RepositoryManagement (RM)
RM Client
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
KELWICE: ImplementierungKELWICE: Implementierung
• Grundlegende Technologien– Objekt-Modelle (OM) und Parser– Web Applikation
• Tools für Web-Services– Apache Axis vs. Axis2
• Erstellen von KELWICE mit Hilfe des Werkzeugs Axis2– Java API XML-RPC Web Service
• Standard-Client
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Implementierung – KELWICE und Axis2Implementierung – KELWICE und Axis2
• Java-API XML-RPC Web-Service• Java Klassen Axis2 Services
– Definition aller benötigen OMElement (≠ OpenMath!)
– Java Klassen für Web-Service implementieren– Java2WSDL– Services.xml– WAR Datei (.aar) in Axis2 Treiber (Verzeichnis)(! ActiveMath muss im Hintergrund laufen)
ClientClient KELWICEKELWICE LMS (ActiveMath)LMS (ActiveMath)
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Implementierung – Dummy Standalone Implementierung – Dummy Standalone ClientClient
• Java-Klassen– ClientUtil– GenerateCourseWithLKMapClient– GenerateCourseWithLMIdClient– MetadataOntologieClient– RepositoryRegisterClient– RepositoryUnRegisterClient– TaskDefinitionClient
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Implementierung – Dummy Standalone Implementierung – Dummy Standalone ClientClient
• View (Ergebnis)– Imsmanifest.xml– manifestSimple.xsl (in Firefox und IE getestet)
• benötigte Bibliotheken– Alle für AXIOM, WSDL and AXIS2
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Anwendung - MathCoachAnwendung - MathCoach
• HTW – Saarland• Professor Dr. Grabowski• Intelligente Content – Anbieter für Mathematik• Generator von Interaktionen wie Übung,
Experimente• Lerninhalte
– LaplaceScript – Format
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Anwendung – Erweiterung von Anwendung – Erweiterung von MathCoachMathCoach
• Typen der Lernobjekten– Kapitel (Seite) Definition– Einzelne Übungsgenerator (.ls) Übung
• Verwendete Metadaten– Identifier, Title, For, Requires, Type,
LearningContext, Difficulty…• MathCoach–Ontologie und deren Mapping auf OIO
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
Anwendung – Erweiterung von Anwendung – Erweiterung von MathCoachMathCoach
• MathCoach Repository– Indexing (Lucene) vs. relationale Datenbank – Java-Objekt-Stil (Hibernate) vs. SQL-Stil (JDBC)– mySQL vs. DerbyDB– Entscheidung: Relationale Datenbank mit
DerbyDB + JDBC
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
ZusammenfassungZusammenfassung
• Beitrag– Kursgenerator als Web-Service
• Anforderungen durch Fragebogen• SOA Design für Architektur• Implementierung mit Axis2• Anwendung in ActiveMath und MathCoach
– Repository Registration Web-Service• Ontologie und deren Mapping auf OIO• Dynamische Bindung
– Dynamische Repository basiert auf XML-Dokument– Berücksichtigung auf Standard (IMS-CP-Manifest)
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
AusblickAusblick
• Erweiterungsmöglichkeit für KELWICE– Lernermodelle-Schnittstelle– Austausch der Lerninhalte als IMS-CP
• Erweiterungsmöglichkeit für MathCoach– Benutzerfreundlichere Darstellung des Kurses– Vertiefung der verwendeten Metadaten
German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE
DanksagungDanksagung
• HTW Saarland– Professor Dr. Grabowski– Professor Dr. Lehser
• DFKI – Carsten Ullrich (besonders)– ActiveMath Gruppe
• KorrektorInnen– Kerstin Borau, Min Ye, Haichao Guan