3. Interoperability between MOT and Learning Management Systems 38
3.2. Converting CAF to IMS QTI and IMS CP 41
The conversion itself is a two step process: first the CAF format is converted into existing standards, such as IMS QTI and IMS CP, respectively. Next, these are imported into a popular LMS, like Sakai. In the following, we will discuss the technical decisions made in the implementation phase, as well as justify them. Needless to say, these technical matters are transparent to an author, who just interacts with the system via simple interfaces, as is partially depicted in the evaluation that follows.
3.2.1. The Utilization of JAXB
To tackle the various requirements and constraints found in our work we used Java Architecture for XML Binding13(JAXB), due to the fact that CAF, IMS QTI and IMS CP
are defined via XML files. JAXB handles most of the problems raised by traditional mechanisms (e.g., Simple API for XML14or Document Object Model15) of parsing XML
files, as it provides flexible API functions to generate Java classes that match the Document Type Definition16of CAF and the XML Schema17 of IMS QTI and IMS CP.
Thus, with JAXB, no pre-conversion into a common representation format is necessary. The internal conversion steps are as follows (see Figure 6).
First we generate Java classes for the files: CAF.dtd, QTI.xsd and CP.xsd. Secondly we parse (a process called “unmarshalling”) the CAF XML file and generate Java objects. Thirdly we map the results onto IMS QTI and IMS CP classes accordingly. Finally we generate (a process called“marshalling”) IMS QTI and IMS CP. Figure 6 illustrates the use of JAXB in the conversion process. Next we shall describe the conversion of the MOT 1.0 authoring tool output, CAF, to the two e-learning standards, IMS QTI and CP.
13http://java.sun.com/developer/technicalArticles/WebServices/jaxb/ 14http://www.saxproject.org/
15http://www.w3.org/DOM/
16http://www.w3.org/TR/REC-html40/sgml/dtd.html 17http://www.w3.org/XML/Schema
Figure 6 JAXB facilitate converting CAF to IMS QTI and IMS CP
3.2.2. Converting CAF to IMS QTI
IMS QTI is a data model and de facto standard for the representation of questionnaires and quizzes for e-learning systems. Thus being able to allow for compatibility with IMS- QTI is vital for any e-learning system, including Adaptive Educational Hypermedia systems. The structures represented by IMS QTI are:
Item: the smallest data unit in IMS QTI, containing the ‘question’.
Section: a section may have item(s) and/or other section(s).
Assessment: an assessment contains at least one section.
Object bank: A collection of data objects (items and/or sections).
Compared to the structure of CAF, we map the main lesson of the GM into one assessment; and the DM into one section. Each attribute in CAF is mapped to one item in IMS QTI. One type of question that is represented in IMS QTI is the “Fill in the Blank” question; an example of presenting this type of question in IMS QTI is shown below:
<questestinterop>
<item title="MOT to IMS QTI">
<mattext> What is the name of the US president?</mattext>
<varequal>Obama</varequal> </item>
This can be generated by a CAF file exported by MOT 1.0, as below. Each concept in the GM (goal model) should have at least two attributes, one attribute representing the question and the other representing the answer:
<concept>
<name>Question 1</name> <attribute>
<name>question</name>
<contents>What is the name of the US president?</contents> </attribute> <attribute> <name>answer</name> <contents>Obama</contents> </attribute> </concept>
As JAXB facilitates the mapping process, our algorithm unmarshalls the CAF file, and finds the concepts which contain “question” and “answer” as attributes, then it marshals the generated IMS QTI file with the “question” and the “answer” into “mattext” and “conditionvar” elements accordingly .
The question-answer pairs in the concept are retrieved from the goal model rather than from the domain model, which reflects the effective use of the authoring in MOT 1.0, as the goal model represents the content of the current lesson quizzes. Figure 7 shows the converted CAF file after importing it as IMS QTI into Sakai.
In Figure 7, the converted material, corresponding to the CAF file extract shown above the figure, is visualized with the Sakai tool Samigo, as part of a ‘Web Programming’ course, the ‘Web programming Demos’ section (or tab).
Figure 7 the converted CAF to IMS QTI file, after the import into Sakai
3.2.3. Converting CAF to IMS CP
The IMS Content Packaging (IMS CP) is a de facto standard that describes data structures that are used to provide interoperability for the contents of Learning Management Systems. For this reason, interoperability with this standard was also considered vital for e-learning systems, including Adaptive Educational Hypermedia systems. The structure of IMS CP consists mainly ofManifest XML file and the actual physical files (resources).
Therefore, the manifest consists of a set of items and set of matched resources (e.g., below, the item ITEM1, ‘Introduction’ has a resource called ‘RESOURCE1’).
<organizations default="CAF to IMS CP"> <title>Convert CAF to CP</title>
<item identifier="ITEM1" identref="RESOURCE1"> <title>Introduction</title> </organizations> <resources> <resource identifier="RESOURCE1" href="introduction.htm"> </resource> </resources>
IMS CP has more flexibility than IMS QTI, including support for hierarchical structures (in CAF). Moreover, the aim of both IMS CP and CAF is to store courses (only the latter however stores adaptive courses). Therefore, each attribute of each concept in CAF can be mapped to one item in IMS CP with the preservation of the hierarchy (the attribute’s name is converted to the title of item and the attribute’s content is mapped to the actual resource that matches the item). The steps of the conversion are as follows:
1. Generate CAF Java classes using JAXB.
2. Parse the goal model to retrieve the actual course.
3. Each attribute in each concept is mapped onto an item in IMS CP. 4. Each sub-concept is mapped onto a sub-item in IMS CP.
5. For each generated item and/or sub-item, a new HTML file is generated, which contains the content of the attribute.
6. Finally, a new manifest file is created, which contains all generated items and sub-items.
The output of this conversion can then be visualized in an LMS like Sakai, with the help of the Melete18tool, as is shown in Figure 8. After importing the converted CAF to IMS
CP, the teacher or author has the option to edit the structure of the lesson, as it is shown; students can then access the lesson after it is published.
The CAF to IMS CP conversion looses all adaptation features. Typing of data could subsequently be interpreted by an adaptation engine, in order to restore some of these features. Thus, they need exported in a different manner. Adaptation strategies can be exported separately, for example, in the adaptation specification language LAG (Cristea and Verschoor, 2004).
Figure 8 MOT 1.0 lesson in Sakai