german research center for artificial intelligence (dfki gmbh) saarbrücken, germany deutsches...

Post on 05-Apr-2015

105 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related