Artificial infiltration as an integrated water resources ...
German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches...
-
Upload
bardulf-andrist -
Category
Documents
-
view
105 -
download
0
Transcript of German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches...
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