32
German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Deutsches 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 DFKI Tianxiang Lu

German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

Embed Size (px)

Citation preview

Page 1: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 2: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 3: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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.

Page 4: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

Grundlagen – E-Learning SystemeGrundlagen – E-Learning Systeme

• Kursgenerator

Page 5: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz 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

Page 6: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

Grundlagen: E-Learning StandardsGrundlagen: E-Learning Standards

• IMS-Manifest (SCORM Manifest)

Page 7: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

SOA: Web ServiceSOA: Web Service

Page 8: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 9: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 10: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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“?

Page 11: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 12: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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)

Page 13: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 14: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 15: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

Registrierung eines Repositorys an KELWICERegistrierung eines Repositorys an KELWICE

Page 16: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

Kursgenerierung mit LernermodellKursgenerierung mit Lernermodell

Page 17: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

Design: Komponenten von Design: Komponenten von KELWICEKELWICE

• ServiceController• LearnerModelAPI• RepositoryRegistrationAPI• CourseGeneratorServiceAPI

Page 18: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

Design - ServiceControllerDesign - ServiceController

• Komponenten– CourseGeneratorWebServiceAPI– Preprocessor– Translator

• Funktionalitäten– Kursgenerierung mit Lernermodell– Kursgenerierung ohne Lernermodell

Page 19: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

LearnerModelAPI: LearnerModelAPI: Kursgenerierung mit temporärem LernermodellKursgenerierung mit temporärem Lernermodell

Page 20: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

Design – Erweiterung für MediatorDesign – Erweiterung für Mediator

• Web-Service Wrapper• RepositoryManagement (RM)

RM Client

Page 21: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 22: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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)

Page 23: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

Implementierung – Dummy Standalone Implementierung – Dummy Standalone ClientClient

• Java-Klassen– ClientUtil– GenerateCourseWithLKMapClient– GenerateCourseWithLMIdClient– MetadataOntologieClient– RepositoryRegisterClient– RepositoryUnRegisterClient– TaskDefinitionClient

Page 24: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 25: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 26: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

Page 27: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 28: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 29: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

German Research Center for Artificial IntelligenceTianxiang Lu - KELWICE

Page 30: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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)

Page 31: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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

Page 32: German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Kursgenerator

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