Math-Bridge Architecture

15
Joint Math-Bridge Training Program Michael Dietrich (DFKI) Math-Bridge Architecture 10.07.2015 Saarbrücken

Transcript of Math-Bridge Architecture

Page 1: Math-Bridge Architecture

Joint Math-Bridge TrainingProgram

Michael Dietrich (DFKI)Math-Bridge Architecture10.07.2015 Saarbrücken

Page 2: Math-Bridge Architecture

Component: Apache Tomcat

Purpose: • Webcontainer used to deliver Math-Bridge• Handles requests – Delivers responses• Can also be used for load balancing

Directory/Package_Math-Bridge-Root_/thirdParty/tomcat_Math-Bridge_Root_/conf

Page 3: Math-Bridge Architecture

Component: Maverick

Purpose: • Model View Controller Implementation• Handles commands• Selects data model• Delivers corresponding view

Directory/Package_Math-Bridge-Root_/webapps/WEB-INF/maverick.xml_Math-Bridge_Root_/src (Controller & DataModels)_Math-Bridge_Root_/webapps (Views)

Page 4: Math-Bridge Architecture

Architecture

Page 5: Math-Bridge Architecture

Architecture

Exercises

Presentation

Search

CoreEventsUser

Thirdparty Frameworks

Content

ContentDB

Learner Model

Tutorial Comp.

Web Layer

Client Browser& Tools

Page 6: Math-Bridge Architecture

Component: Web Layer

Purpose: • Implements presentations for user• Implements interactions with user

Used Technologies• Apache Velocity (http://velocity.apache.org/)• HTML 5/ JavaScript for user interface presentation• HTML/MathML for formula presentation

Directory/Package_Math-Bridge-Root_/webapps/activemath3org.activemath.webapp

Page 7: Math-Bridge Architecture

Component: Core Purpose: • Provides basic system functionalities

• System startup• Loading of configuration• Loading of contents• Building search-index• Initialising of other components

Used Technologies• Apache Tomcat (Webcontainer)• Java (Programming language)• Databases (Apache Derby )

• Core/Learner History/Notes

Directory/Package_Math-Bridge-Root_/data/db (Storage directory) org.activemath.config (classes used for startup)

Page 8: Math-Bridge Architecture

Component: Events

Purpose: • Asynchronous communication between components• Subscribe/Unsubcribe/Publish

Used Technologies• Java (Programming language)• XMLRPC

Directory/Packageorg.activemath.events

Page 9: Math-Bridge Architecture

Component: ContentDB

Purpose: • (FileBased) Storage and deliverance of Mathematical content• Building Search Index

Used Technologies• Java (Programming language)• Apache Lucene (https://lucene.apache.org/) for search• OMDoc (http://www.omdoc.org/) for Knowledge representation

Directory/Packageorg.activemath.fileBasedorg.activemath.omdocjdom

Page 10: Math-Bridge Architecture

Component: Content

Purpose: • Java Representation of Content • Content Management features (Load/Save/Delete/Copy)•

Used Technologies• Java • JDOM (http://www.jdom.org)

Directory/Packageorg.activemath.content

Page 11: Math-Bridge Architecture

Component: Presentation

Purpose: • Provide functionalities to transform OMDoc Content into different formats• HTML/MathML/PDF (if LaTeX is installed)

Used Technologies• XSL • Saxon XSLT and Xquery Processor(http://saxon.sourceforge.net/)

Directory/Packageorg.activemath.presentation

Page 12: Math-Bridge Architecture

Component: User

Purpose: • Java Representation of a User• Implementaton of User Roles (Learner, Tutor, Author and Admin)• Account Management

Used Technologies• Java

Directory/Packageorg.activemath.user

Page 13: Math-Bridge Architecture

Component: Learner Model

Purpose: • Estimation of users current knowledge• Storage of learner history (which items seen/exercises worked with)• Calculation of users progress

Used Technologies• Java

Directory/Packageorg.activemath.learner

Further information on knowledge estimation:• Building a new Learner Model for ActiveMath Combining Transferable Belief

Model and Item Response Theory• Enhancement of ActiveMath's Student Model

Page 14: Math-Bridge Architecture

Component: Exercises

Purpose: • Runner for Math-Bridge exercises• Builds internal user model (Keeps track of users results within exercise)• Calculates final achievement• Implements connection to Computer Algebra System

Used Technologies• Java

Directory/Packageorg.activemath.exercises

Page 15: Math-Bridge Architecture

Component: Tutorial Component

Purpose: • Compose a course tailored according to users current knowledge

Used Technologies• Java

Directory/Packageorg.activemath.learner

Further information on knowledge estimation:Pedagogically Founded Courseware Generation for Web-Based Learning -- An HTN-Planning-Based Approach Implemented in PAIGOS