Download presentation
Presentation is loading. Please wait.
1
German Research Center for Artificial Intelligence (DFKI GmbH) Saarbrücken, Germany Deutsches Forschungszentrum für Künstliche Intelligenz Course Generation as a Web-Service for E-learning Systems (CGWS) Tianxiang Lu, Carsten Ullrich, Barbara Grabowski
2
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE UseCase 1: A Student Anton wants to learn about “derivative function” : (1) Open a web-browser (2) Login to the adaptive E-Learning System (or Web- based learning Environment) –e.g. ActiveMath (3) He starts the course generator to generate a course giving at least following information –1. pedagogical objective: “discover” –2. target concept: “derivative function”
3
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE
4
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Overview of ActiveMath www.activemath.org DFKI and Saarland University Adaptive E-Learning system for Mathematics Learning resources: ActiveMath Mbase –Omdoc format Book generation
5
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Application - MathCoach Applied University of techniques and economics in Saarland (HTW Saarland) Professor Dr. Grabowski Intelligent content provider for mathematics Generator of interactions such as exercises and experiments Learning resources: –LaplaceScript format
6
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE
7
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Use Case 2: An E-Learning System or content Provider (e.g. MathCoach) wants to provide not only static content, but also some service. –E.g. Course Generator to generate more adaptive course for the user. (1) The learner log into the E-Learning System -> similar to the previous case, the system need to call Course Generator from ActiveMath remotely. (2) The learner view the content directly. -> wizard to get the learning goals and learner mastery of related content. -> Call CG from ActiveMath remotely.
8
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE How does CG look like? A request consists of: 1.Pedagogical objective 2.Target concept 3.Identifier of the learner JavaAPI Planner Mediator Learner model Repository Repository TOC(XML)Plan(JShop2)
9
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICEMotivation Problems: –Course Generator expensive to implement –Reusability Learning Resources Standards for exchanging the Learning Objects functionality ? Solution: provide CG as Web Service
10
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Overview of the talk Motivation Requirements Design and Implementation Application Summary and Outlook
11
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Fundamentals – E-Learning Systems Web-based E-Learning Systems –Content Provider (CMS) –Learning Management Systems (LMS) –Adaptable vs. Adaptive Repositories and Mediator architecture –Meta data, ontology, ontology-mapping Learner models –Overlay model, temporary LM.
12
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Fundamentals – E-Learning Standards IEEE LTSC –LOM IMS Global Learning Consortium Specifications –IMS ContentPackaging ADL SCORM –SCORM 2004
13
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Fundamentals – E-Learning Standards IMS-Manifest (SCORM Manifest)
14
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Fundamentals – SOA Middleware –RPC based Systems –Other kinds such as TP Monitor … (not relevant) –Problems Hard to implement No place for web environment Various of middleware Firewall problems Solution? ->
15
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE SOA: Web Service
16
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Requirements of CGWS Survey –Time: April 1 st 2006 – Mai 10 th 2006 –User System developer (principal target group) Author (secondary target group) –Mailing list: Adaptive Hypertext and Hypermedia International Forum of Educational Technology & Society Internal Mailing list of the European Network of Excellence Kaleidoscope
17
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Requirements of CGWS Survey covered –general interests –possible pedagogical objectives –meta data of learning objects –learner modelling –format of the generated course –additional information
18
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Requirements of CGWS Analysis of Questionnaire (Example) –Question: „Would a course generator be of use for you“?
19
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Major Problems to solve Course generator is only available within ActiveMath Integration of external Repository requires: –Extending of source code of mediator –Server need to be restarted The generated course represented as proprietary format
20
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Requirements Specifications 1. Generation of complete course 2. Selection of single learning object 3. Overview of pedagogical objectives 4. Overview of meta data 5. Translation between different formats (e.g. JDOM SCORM) 6. WS for registration of a new repository
21
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICEDesign Interfaces between the client (LMS) and Server (CGWS) Architecture of components within the server
22
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE CGWS Interfaces Core Interface of CGWS –getTaskDefinition() –generateCourse() Interface of Repository Registration –getMetadataOntology() –registerRepository() –unregisterRepository()
23
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Design - Interfaces CGWS Interfaces –Core Interface of CGWS getTaskDefinition() /WS30/ –OUT: XML Stream of definition of all tasks generateCourse() /WS10/, /WS20/ und /WS70/ –IN: task (pedagogical objectives and learning target), userId / LearnerKnowledgeMap –OUT: Course in IMS-CP-(SCORM)-Manifest –Interface of Repository Registration getMetadataOntology() /WS40/ –OUT: Ontology Instructional Objects (OIO) registerRepository() /WS80/ –IN: WS-URL (Id), name, testId, –OUT: (IN-Robust) OK/Error unregisterRepository() /WS80/ –IN: Id (WS-URL)
24
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Client Interfaces Repository: ContentAPI (for Mediator) –queryClass() –queryRelation() –queryProperty() Learner Model: LearnerPropertyAPI –queryLearner()
25
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Design - Interfaces Client Interfaces –Repository: ContentAPI (for Mediator) queryClass() –IN: contentId0 –OUT: Type (Class) queryRelation() –IN: contentId0, relation –OUT: List of contentId (have the contentId0 as relation) queryProperty() –IN: contentId0, property –OUT: value –Learner Model: LearnerPropertyAPI queryLearner() –IN: learnerId –OUT: property, value Map
26
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Design – Extension of Mediator Web-Service Wrapper RepositoryManagement (RM) RM DataSources DataSources Mediator wrapper wrapper wrapper wrapper … … QueryComponent DataSources wrapper wrapper
27
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Register a repository
28
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Design - Interfaces Interaction between client and CGWS Course generation with learner model Course generation without learner model
29
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Course generation with learner model
30
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Design – ServiceController Components –CourseGeneratorWebServiceAPI –Pre-processor –Translator Functionalities –Course generation with Learner model –Course generation without learner model
31
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Internal: CG with Learner model
32
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE LearnerModelAPI: CG with temporary learner model
33
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE CGWS Implementation Fundamental techniques –Object-Model (OM) and Parser –Web application Tools for Web-Services –Apache Axis vs. Axis2 Implementation of CGWS with Axis2 –Java API -> XML-RPC -> Web Service Standalone client
34
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Implementation – Fundamental Techniques Object Model –Object oriented –Describe the structure of the object –Provide interface –E.g. JDOM, AXIOM Parser –DOM kind -> in memory –SAX kind -> “streamed” –JDOM vs. AXIOM
35
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Fundamental techniques Web application –HTTP, Application server, web browser –(Java) Servlet – Container –Model - View – Control (MVC) architecture ControllerServlet ViewModel Data Object Java Bean
36
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Implementation – Tools for Web Services Apache Axis –SOAP 1.1, SOAP 1.2, WSDL 1.1 –Java2WSDL, WSDL2Java –.java ->.jws –Service Deployment SOAP Notes Deployment Descriptor –Library SAAJ, JAX-RPC
37
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Implementation – Tools for Web Services Apache Axis2 –AXIOM: effective parsing mechanism –“Message Exchange Pattern” In-only, Robust-In, In-out RPC-Style vs. Message-Style Compatible with Axis1.x –Synchronous and Asynchronous Behaviour HTTP (two-way), SMTP (one-way) 2-level: API and Transport –Hot Deployment
38
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Implementing process Java-API -> XML-RPC -> Web Service Java classes -> Axis2 Services –Definition of all necessary OMElements –Java Classes for Web Service implementation –Java2WSDL –Services.xml –WAR file (.aar) in Axis2 driver (folder) (ActiveMath system must run in the background!) SOAP XML-RPC ClientCGWS LMS (ActiveMath)
39
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Implementation – Standalone Client Java Classes –ClientUtil –GenerateCourseWithLKMapClient –GenerateCourseWithLMIdClient –MetadataOntologyClient –RepositoryRegisterClient –RepositoryUnregisterClient –TaskDefinitionClient
40
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Standalone Client View (Result) –Imsmanifest.xml –manifestSimple.xsl (in Firefox and IE tested) Necessary library –All library for AXIOM, WSDL and Axis2
41
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICEApplication Application in ActiveMath –Overview of ActiveMath –Book Generation –Installation and Binding of Axis2 Course Generation in MathCoach –Short description of MathCoach –Extension of MathCoach system –MathCoach ontology and its mapping to OIO –MathCoach repository –MathCoach – Client for CGWS
42
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Application – Using Standalone client Make sure that there exist Ontology for local Repository and it is accessible via URL. System requirements of the client system –Java JRE 1.5 Download the standalone client to test CGWS http://www-ags.dfki.uni-sb.de/~lutian/CD Extend the java codes to use CGWS within your web application
43
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Application – DIY Do it yourself: Download or configure the server (e.g. Tomcat) and then download or configure the Axis2 engine (e.g. “axis2.war”) Deploy the web service interface for local repository Call getMetadataOntology() to get the Ontology of CGWS and write the Ontology mapping manually. Download or write the code to register your repository to CGWS Download or write the code to generate course calling our web service.
44
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE
45
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Extension of MathCoach Types of Learning objects –Capitals (pages) -> Definitions –Each exercise generator (.ls) -> Exercise Used meta data –Identifier, title, for, requires, type, learning Context, defficulty MathCoach – Ontology and its Mapping to OIO
46
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Extension of MathCoach MathCoach Repository –Indexing (Lucene) vs. relational data base –Java-Object-style (hibernate) vs. SQL-Style (JDBC) –mySQL vs. DerbyDB –Decision: TODO: relational data base + DerbyDB + JDBC
47
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Extension of MathCoach Java-API for MathCoach Repository –RepositoryQueryInterface.java queryClass() queryRelation() queryProperty() –DerbyRepository.java -> MathCoachDerbyRepository.java –LaplaceScriptException.java
48
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE MathCoach Repository: Java-API Metadata ItemMetadata SatelliteMetadataConceptMetadata ConceptMetadataCollectorSatelliteMetadataCollector
49
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICESummary Contribution –Course Generator as Web Service Requirements defined using survey SOA Design Implementation with Axis2 Application in ActiveMath and MathCoach –Repository Registration Web Service Ontology and its mapping to OIO (Ontology used by CGWS) Dynamic binding –Using Standards (IMS-CP-Manifest, WS standards)
50
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICE Used techniques and concepts Design pattern Service Oriented Architecture XML, XSLT, CSS, JavaScript, DOM, JDOM HTTP, Tomcat, Servlet, JavaBeans, Velocity and Maverick XML-RPC, Web-Service (SOAP, WSDL, WS- Addressing) DerbyDB, PL/SQL
51
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICEOutlook Possible Extension for CGWS –Learner model interface (like mediator) –Exchange of learning resources with IMS-CP Possible extension for MathCoach –User friendly presentation of Courses –Using more meta data
52
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICEReferences Gustavo Alonso, Fabio Casati, Harumi Kuno, and Vijay Machiraju. Web Services. Concepts, Architecture and Applications. Springer Verlag, 2004. Apache Software Foundation World Wide Web Consortium (W3C) Barbara L. Grabowski, Susanne G¨ang, J¨org Thomas K¨oppen. MathCoach und LaplaceSkript: programmierbarer interaktiver Mathematiktutor Skriptsprache. 2005. Peter Jaeschke, Andreas Oberweis, and Gottfried Vossen. Webbasiertes Lernen: Eine ¨Ubersicht ¨uber Stand und Entwicklungen. In Erhard Rahm and Gottfried Vossen, editors, Web & Datenbanken, 2003.
53
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICEReferences R. Lelouche. Intelligent tutoring systems from birth to now. K¨unstliche Intelligenz, 1999. E. Melis, E. Andr`es, J. B¨udenbender, A. Frischauf, G. Goguadze, P. Libbrecht, M. Pollet, and C. Ullrich. Active-Math: A generic and adaptive web-based learning environment. International Journal of Artificial Intelligence in Education,12(4):385\u2013407, 2001. C. Ullrich. Course generation based on HTN Planning. In A. Jedlitschka and B. Brandherm, editors, Proceedings of 13 th Annual Workshop of the SIG Adaptivity and User Modeling in Interactive Systems, pages 74\u201379, 2005. Wikipedia
54
German Research Center for Artificial Intelligence Tianxiang Lu - KELWICEAcknowledgement DFKI –Carsten Ullrich –Dr. Erica Melis und ActiveMath Group –Professor Dr. Siekmann HTW Saarland –Professor Dr. Grabowski –Professor Dr. Lehser
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.