<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Eine Softwarearchitektur fu¨r serviceorientierte Fragetypen in E-Learning-Systemen</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Benjamin Saul</string-name>
          <email>saul@informatik.uni-halle.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wolf Zimmermann</string-name>
          <email>zimmer@informatik.uni-halle.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Martin-Luther-Universit ̈at Halle-Wittenberg, Institut fu ̈r Informatik</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Martin-Luther-Universita ̈t Halle-Wittenberg, Institut fu ̈r Informatik</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>66</fpage>
      <lpage>71</lpage>
      <abstract>
        <p>-Electronic assessments in E-LearningSystems (e. g. ILIAS) can be used in exercises to reduce personal costs. Question types in computer science or mathematics often require formal inputs like terms or proofs. A string based comparison between the users submission and the solution is not sufficient to evaluate the correctness of the submission. Plugin systems, as used in ILIAS, can be used to implement new question types but this method is complex and error-prone. We show a service-oriented approach to implement new question types in ILIAS based on existing services. A compiler is used to translate user input language in service language which improves users readability and allows syntax checking before invoking a service call.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Eine wichtige Funktion von E-Learning-Systemen ist
die Durchfu¨hrung von Tests bzw. das Stellen von
Aufgaben, deren Antworten automatisch ausgewertet
werden. Diese werden von Dozenten erstellt und von
Studenten beantwortet. Ha¨ufig auftretende Fragetypen sind
Multiple-Choice Aufgaben und Lu¨ckentexte. Der Student
wa¨hlt dabei eine der vorgegebenen Antworten bzw. ein
Bild aus oder gibt einen Begriff ein. Das System pru¨ft
anschließend, ob die gegebene Antwort mit einer
Musterlo¨sung u¨bereinstimmt und generiert die entsprechende
Ru¨ckmeldung. Diese Ru¨ckmeldung ist i. d. R. eine
Punktzahl, kann aber auch aus Erla¨uterungen zur Antwort
Beispiel 1 (Fragetyp: Mengenlehre
Aufgabe: Bestimmen Sie {a, b, c} ∪ {c, d}
L¨osung: {a, b, c, d} oder {d, b, c, a} oder {b, a, c, d} . . .
Operatoren).</p>
      <p>Hierbei wird deutlich, dass durch Permutation sehr viele
korrekte Lo¨sungen existieren. Diese vollsta¨ndig fu¨r einen
textbasierten Vergleich aufzulisten ist nicht praktikabel.
Daru¨ber hinaus treten weitere Probleme auf, die beim
bisherigen U¨ bungsbetrieb bemerkt wurden sind. Die
Eingaben enthalten zusa¨tzliche Leerzeichen, die nicht
automatisch entfernt werden ko¨nnen. Derartige Eingaben
wurden fa¨lschlicherweise als Fehler bewertet und mussten
manuell nachkorrigiert werden. Durch diese Fa¨lle ist eine
vollsta¨ndige Auflistung aller Lo¨sungen unmo¨glich.</p>
      <p>
        Am Beispiel des an der Universita¨t Halle-Wittenberg
eingesetzten E-Learning-Systems ILIAS [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] soll untersucht
werden, wie neue Fragetypen effizient umgesetzt werden
ko¨nnen. ILIAS selbst unterstu¨tzt bereits eine Vielzahl
an Fragetypen, darunter Multiple-Choice Aufgaben und
Lu¨ckentexte. Letztere ermo¨glichen das Abfragen von frei
eingebbaren Texten, die dann allerdings nur auf Identita¨t
mit der Musterlo¨sung getestet werden. Die Mengenaufgabe
aus Beispiel 1 wurde mit diesem Fragetyp erstellt.
      </p>
      <p>
        ILIAS ist modul- bzw. serviceorientiert aufgebaut [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
Einzelne Module sind voneinander unabha¨ngig und
verwenden gemeinsame Services (Abb. 1).
      </p>
      <p>ILIAS wird basierend auf Feature-Requests entwickelt.
Das heißt, neue Fragetypen fu¨r automatische Tests
werden jedes mal als neues Plugin implementiert. Dadurch
entsteht eine Vielzahl an Modulen fu¨r Fragetypen, die
alle mit einem a¨hnlichen Grundmuster aufgebaut sind.
Funktionen wie Anlegen, Kopieren und Lo¨schen von Tests
mu¨ssen implementiert werden, obwohl sich diese nur
mi</p>
    </sec>
    <sec id="sec-2">
      <title>Benutzer</title>
    </sec>
    <sec id="sec-3">
      <title>Interface</title>
    </sec>
    <sec id="sec-4">
      <title>Schicht (GUI-Klassen)</title>
    </sec>
    <sec id="sec-5">
      <title>Anwendungs</title>
    </sec>
    <sec id="sec-6">
      <title>Schicht</title>
      <p>m
u
r
o
F
t
s
e
T
l
u
d
o
m
n
r
e
L
e
l
l
o
r
t
n
o
k
s
iff
r
g
u
Z
n
e
t
a
d
a
t
e</p>
      <p>M
.
.
.
nimal bis gar nicht unterscheiden. Zusa¨tzlich treten
Alterungserscheinungen auf. Einzelne Fragetypen existieren
in zwei oder mehr Varianten. Beispielsweise sei hier die
Dateieinsendung erwa¨hnt, die sowohl in U¨ bungen als auch
in Tests implementiert ist. Beide modellieren den gleichen
Anwendungsfall, sind aber doppelt implementiert.</p>
      <p>ILIAS unterstu¨tzt ein Feedback u¨ber richtige und falsche
Antworten. Dieses wird manuell fu¨r jede erwartete
Antwort eingetragen. Fu¨r Entscheidungsfragen wie
MultipleChoice ist dies vo¨llig ausreichend. Bei Textfeldern beno¨tigt
man allerdings ein angepasstes Feedback, das sich auf
individuelle Lo¨sungen bezieht. Hier ist es nicht mehr mo¨glich,
alle gu¨ltigen Lo¨sungen manuell zu erfassen.</p>
      <p>
        Wird ein Fremdsystem zur Auswertung verwendet, z. B.
das Computer-Algebra-System Maxima [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], so ko¨nnen
ungewollte Nebeneffekte auftreten. Wird na¨mlich Eingabe
der Studenten direkt als Maxima-Ausdruck ausgewertet,
so muss man sicherstellen, dass die Studenten nicht
betru¨gen und Funktionen wie den Mengenschnitt als
Funktionsaufruf in Maxima explizit in die Antwort eingeben
und sich so das Ergebnis berechnen lassen. Weitergehende
Fragetypen, wie das Schreiben von Beweisen, erfordern
außerdem komplexe Formulierungen, die unabha¨ngig von
den dahinter liegenden Werkzeugen sein sollten.
      </p>
      <p>In dieser Arbeit wird eine geplante Architektur gezeigt,
die auf Herausforderungen bei der Erstellung neuer
Fragetypen eingeht. Im Wesentlichen soll die Architektur dabei
• externe Werkzeuge effizient einbinden lassen,
• minimal in das bestehende System (ILIAS) eingreifen,
• umfangreiches Feedback dem Anwender bereitstellen
sowie
• fehlerhafte Eingaben bzw. Eingaben mit ungewollten
Nebeneffekten detektieren und anzeigen.</p>
      <p>Kapitel II zeigt verwandte Arbeiten, die sich bereits
mit automatischer Testauswertung und den damit
verbundenen Architekturen auseinandersetzen. Kapitel III
stellt unseren Architekturansatz vor. In Kapitel IV werden
die verschiedenen Herausforderungen bei der bisherigen
Umsetzung bzw. bei der Arbeit mit ILIAS diskutiert. In
Kapitel V werden die Ergebnisse zusammengefasst und ein
Ausblick auf die geplanten Arbeiten gegeben.</p>
      <sec id="sec-6-1">
        <title>II. Verwandte Arbeiten</title>
        <p>
          Im Umfeld von E-Learning und im speziellen der
automatisierten Auswertung von Fragestellungen im Bereich
von U¨ bungen und Tests gibt es viele Arbeiten. Schon
in [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] wurden einige dieser Projekte vorgestellt. Hier
liegt der Schwerpunkt auf der Generierung, Auswahl und
Pra¨sentation von Testaufgaben, um einen mo¨glichst hohen
Lernerfolg bei den Studenten zu erzielen. In [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] wird
eine entsprechende Architektur pra¨sentiert. Die Aufgaben
selbst werden mithilfe einer Wissensbasis ausgewertet.
Der Student erha¨lt ein auf sein Lernverhalten angepasstes
Feedback. Diese eigensta¨ndig laufenden Systeme sind gut
erweiterbar, aber noch nicht in ILIAS integriert worden.
        </p>
        <p>
          Serviceorientierte Implementierungen automatisierter
Tests, hier im speziellen die Auswertung von
Programmcode, finden sich in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] und [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Wa¨hrend ersteres sich
auf eine Architektur konzentriert, welche leicht um
weitere Programmiersprachen erweitert werden kann, liegt
bei der zweiten Arbeit der Fokus auf der Bereitstellung
einer virtuellen Programmierumgebung. Eine Umsetzung
fu¨r eine Programmierumgebung innerhalb von ILIAS gibt
es in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Hier wurde ein Plugin entwickelt, welches Code
verschiedener Programmiersprachen automatisch
auswerten kann, z. B. durch Unittests fu¨r die Sprache Java. Diese
Beitrag
[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]
[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]
[
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]
[
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]
[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]
[
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]
        </p>
        <p>Erweiterbarkeit
um neue Fragetypen
+
+
0
0
+
+</p>
        <p>Integrierbarkeit
in ILIAS
0
0
+
+
0
+</p>
        <p>Feedbackmo¨glichkeiten</p>
        <p>Eingabepru¨fung
Arbeiten sind auf Programmieru¨bungen spezialisiert. Eine
Erweiterung um beliebige Eingabeformate wurde nicht
diskutiert.</p>
        <p>
          Das automatische U¨bungs- und Pru¨fungssystem Jack [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]
bietet ein server-basiertes System, welches in
Lernplattformen eingebunden werden kann. Hier wurden
diverse Fragetypen implementiert, darunter Multiple-Choice
Aufgaben sowie mathematische Fragestellungen. Die
Auswertung der Ausdru¨cke erfolgt unter anderem durch
Computer-Algebra-Systeme. Das U¨bungssystem bietet
gute Mo¨glichkeiten fu¨r die Erweiterung um weitere
Fragetypen, wurde allerdings noch nicht in ILIAS integriert.
        </p>
        <p>
          Eine serviceorientierte Architektur, im Speziellen fu¨r
Freitext-Fragen, findet sich in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] und [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Die flexible
Integration von Fremdsystemen und Werkzeugen mithilfe
des Software-as-a-Service Ansatzes wird hier vorgestellt.
Die Lernplattform selbst wird als Basis fu¨r diverse
Services und Werkzeuge implementiert. Voraussetzung dafu¨r
sind Standards fu¨r die diversen Schnittstellen. Es findet
also keine Integration in bestehende Systeme in diesem
Sinne statt, sondern die Entwicklung eines alternativen
ELearning-Systems, welches dann flexibler in der
Zusammenstellung sein soll.
        </p>
        <p>
          Eine Umsetzung fu¨r mathematische Fragestellungen als
Plugin fu¨r ILIAS ist das Stack-Plugin [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. Dieses
sowohl in Funktionalita¨t als auch im Code umfangreiche
Plugin bietet eine Schnittstelle fu¨r das Auswertungssystem
STACK, welches wiederum auf dem Computer-Algebra
System Maxima basiert. Terme ko¨nnen auf diverse Arten
miteinander verglichen werden und es gibt eine
Auswertestrategie fu¨r Folgefehler beru¨cksichtigende Punktevergabe.
Eine Anbindung weiterer Werkzeuge und Services bzw.
die Erweiterung des Plugins ist nicht geplant. Es ist
mo¨glich, die Mengenaufgabe aus Beispiel 1 mit diesem
Plugin umzusetzen. Allerdings mu¨ssen die Studenten die
Eingabesprache von Stack bzw. Maxima benutzen.
        </p>
        <p>Die hier vorgestellten Arbeiten beschreiben
eigensta¨ndige Systeme und Erweiterungen bestehender
Systeme. Der Fokus liegt dabei entweder auf der
Bereitstellung von Feedback sowie der Integration in ein
bestehendes Lernsystem oder auf einer erweiterbaren
Architektur. Eine Arbeit, die sowohl in ein bestehendes
E-Learning-System integriert ist, als auch um neue
Fragetypen erweiterbar ist und den Studenten
Hilfestellungen durch Feedback und Eingabepru¨fungen
leistet, gibt es unserer Kenntnis nach noch nicht. Diese
Punkte versuchen wir in unserer Arbeit zu erfu¨llen.
Tabelle I fasst noch einmal die hier betrachteten
Merkmale der verwandten Arbeiten zusammen.</p>
        <p>III. Eine Architektur fu¨r modularisierte</p>
        <p>Fragetypen</p>
        <p>Eine typische Frage besteht aus Aufgabenstellung,
Musterlo¨sung sowie einem Algorithmus zur Berechnung einer
Punktzahl bzw. Ru¨ckmeldung zur gegebenen Antwort.
Lo¨sungen und Antworten sind ha¨ufig textuell und werden
in Eingabefelder eingetragen. Es gibt aber auch
Fragetypen, die grafische Objekte wie geometrische Zeichnungen
oder Diagramme abfragen. Die Algorithmen zur
Evaluierung der Eingaben sind fu¨r viele Aufgabenstellungen sehr
komplex. Daher sollten diese nicht in dem
E-LearningSystem implementiert werden, sondern bestehende
Services wie Computer-Algebra-Systeme eingebunden
werden.</p>
        <p>Derzeit werden solche Schnittstellen explizit im
entsprechenden Plugin in ILIAS implementiert. Die
Implementierung umfasst außerdem zusa¨tzliche Funktionen, z. B.
fu¨r Datenbankzugriffe und Kopierfunktionen.
Objektorientierte Programmierung schra¨nkt den
Implementierungsaufwand nur zum Teil ein. Neue Plugins sind nicht aus
Bestandteilen anderer Plugins erzeugbar. Eine gemeinsame
Middleware, welche die Verwaltungsaufgaben u¨bernimmt,
ist daher erstrebenswert. Abbildung 2 zeigt, wie
verschiedene Komponenten u¨ber eine gemeinsame Middleware
angebunden werden.</p>
        <p>Durch die Auslagerung der Auswertungsfunktionen
lassen sich die bisherigen umfangreichen Plugins fu¨r
Fragetypen in mehrere zusammenstellbare Module aufteilen. Die
Aufteilung erfolgt dabei anhand der verschiedenen
Aspekte des Fragetyps. Diese werden in Abbildung 3 gezeigt.</p>
        <p>Nach der Eingabe einer Antwort in eine
entsprechende Eingabemaske erfolgt zuna¨chst eine U¨berpru¨fung auf
syntaktische bzw. statisch semantische Fehler durch einen
geeigneten U¨bersetzer oder eine vergleichbare Methode.
Die Auswertung der Lo¨sung geschieht dann durch einen
Service, welcher eventuell u¨ber Adapter aufgerufen
werden muss. Da die Eingabesprache der externen Services</p>
        <sec id="sec-6-1-1">
          <title>E-Learning-Plattform</title>
        </sec>
        <sec id="sec-6-1-2">
          <title>Middleware</title>
          <p>K
o
m
p
o
n
e
n
t
e</p>
          <p>K
o
m
p
o
n
e
n
t
e
Abbildung 2. Anbindung von Komponenten fu¨r Vergleichsfunktionen
nicht fu¨r die Eingabe von bestimmten Fragestellungen
konzipiert ist, sollte ein lesbares Eingabeformat durch den
U¨bersetzer bereitgestellt werden. Dadurch kann die
Eingabesprache auf das abgefragte Themengebiet beschra¨nkt
werden, was Vorteile fu¨r die Studenten bringt.</p>
          <p>Die Middleware aus Abb. 3 soll als Fragetypen-Plugin
in ILIAS umgesetzt werden. Geplant ist ein einziger
Fragetyp, bei dem die Textfelder durch verschiedene Services
ausgewertet werden ko¨nnen, welche zuvor im Plugin
registriert werden ko¨nnen. Dies hat den weiteren Effekt,
dass die Anzahl der Fragetypen nicht mit jedem Service
ansteigt, was die U¨bersichtlichkeit erho¨ht. Ein neuer
Fragetyp beno¨tigt Komponenten fu¨r
• Syntaxpru¨fung und einfache Konsistenzpru¨fungen,
• U¨bersetzer bzw. Formatierer zwischen
Eingabespra</p>
          <p>che und Fremdsystemsprache,
• Schnittstellen aufzurufender Services,
• Feedbackfunktionen, die Antworten der Services auf</p>
          <p>Punkte und sonstige Meldungen abbilden sowie
• Eingabemaske.</p>
          <p>Da alle Eingaben inklusive der Musterlo¨sung textuell
erfolgen sollen, entfallen zusa¨tzliche Datenbankeintra¨ge.</p>
          <p>
            Sicherheitskritische Aspekte, wie der uneingeschra¨nkte
Zugriff durch Plugins, werden dadurch entscha¨rft. Wird der
gleiche Service verwendet, ko¨nnen die Anbindungen und
der U¨ bersetzer zu großen Teilen erneut verwendet bzw.
erga¨nzt werden. Eingabemasken fu¨r grafische Elemente,
z. B. Diagramme oder geometrische Skizzen, mu¨ssen im
Hintergrund ein textuelles Format wie XML zur
Verarbeitung verwenden. Eine Anbindung von Systemen zur
grafischen Eingabe wie WIRIS ([
            <xref ref-type="bibr" rid="ref13">13</xref>
            ]) erfolgt dann in den
Komponenten der Eingabemaske. In den weiteren
Komponenten wird nur die textuelle Form der grafischen Objekte
weiter verarbeitet.
          </p>
          <p>Beispiel 2 (Mengenlehre - Fortsetzung). Das erste hier
betrachtete Beispiel ist die Umsetzung eines Fragetyps fu¨r
Mengenaufgaben. Der Student tr¨agt dazu die
Ergebnismenge einer Aufgabe in ein Textfeld ein, und die eingegebene
Menge wird anschließend mit einer Ergebnismenge
verglichen.</p>
          <p>Fu¨r die Umsetzung des Fragetyps ist es notwendig, die
Eingabe zun¨achst geeignet zu formatieren und
anschließend einen Vergleich zwischen zwei Mengen durchzufu¨hren,
beispielsweise mit Maxima. Schreibfehler, wie vergessene
Kommata oder Klammern, k¨onnen zu Fehlern fu¨hren,
sodass der Term nicht ausgewertet werden kann. Diese
sollten dem Studenten also schon vor dem Berechnen der
Punktzahl angezeigt werden. Die dabei ben¨otigten
Funktionalit¨aten sollten soweit wie m¨oglich nicht innerhalb des
Moduls stehen, sondern als Service angeboten werden.</p>
          <p>Im Falle der Mengenaufgabe k¨onnte man das
MaximaWerkzeug verwenden, um die Menge aus der Eingabe mit
der Menge der Musterl¨osung zu vergleichen. Eine typische
Fragestellung wurde in Beispiel 1 gezeigt.</p>
          <p>Als Musterl¨osung kann direkt der Term der
Aufgabenstellung verwendet werden. Die Eingabe fu¨r Maxima ergibt
sich fu¨r die Beispieleingabe {a, b, d} daraus wie folgt.
input: set(a,b,d);
muster: adjoin(set(a,b,c),set(c,d));
result: isEqual(x,muster);</p>
          <p>Dabei f¨allt auf, dass die Schreibweise der
Aufgabenstellung ku¨rzer ist und der schriftlichen Notation angepasst ist.</p>
          <p>Der Student muss sich keine neue Syntax aneignen sondern
kann die mathematische Notation verwenden.</p>
          <p>Weitere Ru¨ckgabewerte von Maxima k¨onnen hierbei auch
die Elemente sein, die in der eingesandten L¨osung fehlen
oder f¨alschlicherweise in die Menge aufgenommen wurden.</p>
          <p>Als Feedback lassen sich diese Elemente dann dem
Studenten anzeigen. Auch ist eine differenzierte Punktevergabe
m¨oglich, indem Punktabzu¨ge entsprechend den falschen
Elementen stattfinden. Dies ist in dieser Art mit einem
Identit¨atsvergleich zwischen Texten nicht m¨oglich.</p>
          <p>Sp¨ater k¨onnen einige der Komponenten wieder verwertet
werden, z. B. bei Fragetypen zu Vielfachmengen. Hier ist
die Anbindung an Maxima sowie die Feedback-Auswertung
die selbe.</p>
          <p>Beispiel 3 (Fragetyp: Abstrakte Datentypen). Das zweite
Beispiel, welches derzeit geplant ist, ist ein Fragetyp im
Bereich abstrakter Datentypen. Die typische Fragestellung
hierbei ist es, Terme eines gegebenen abstrakten
Datentyps auf Gleichheit zu untersuchen. Durch Anwendung der
Axiome bzw. Regeln auf bestimmte Stellen von Termen ist
es m¨oglich, einen Term in einen anderen, im abstrakten
Datentypen ¨aquivalenten, Term umzuwandeln. Eventuell
mu¨ssen dazu auch Unterterme substituiert werden.
Eine beispielhafte Aufgabenstellung nebst L¨osung lautet wie
folgt.</p>
          <p>Aufgabe: Gegeben Sei der abstrakte Datentyp Mystery
mit
Nutzer</p>
          <p>Syntaxfehler?
Eingabemaske</p>
          <p>Übersetzer
Punkte und
Feedback</p>
          <p>Musterlösung
Auswertungsfunktion</p>
          <p>Abbildung 3. U¨ bersicht u¨ber die Architektur fu¨r die automatisch Auswertung von Aufgaben
spec Mystery is
sorts A, U
operations
feuer : −&gt; A Konstruktor
erde : A −&gt; A Konstruktor
wasser : A x A −&gt; A
apfel : −&gt; U Konstruktor
orange : A x U −&gt; U Konstruktor
banane : U x U −&gt; U
kiwi : U −&gt; A
vars
n,m : A
x,y : U
axioms</p>
          <p>B1 : wasser (feuer, n) = n
B2 : wasser (erde(n), m)</p>
          <p>= erde(wasser (n, m))
C1 : banane(apfel, y) = y
C2 : banane(orange(n, x), y)</p>
          <p>= orange(n, banane(x, y))
C3 : kiwi(apfel) = feuer
C4 : kiwi(orange(n, x))</p>
          <p>= wasser (n, kiwi(x))
Zeigen Sie, dass</p>
          <p>wasser(kiwi(apfel), kiwi) = kiwi
unter Angabe der angewendeten Regeln und Substitutionen.</p>
          <p>Markieren Sie die betreffenden Unterterme mit eckigen
Klammern!
wasser([kiwi(apfel)], kiwi)
= [wasser(feuer, kiwi)] mit C3
= kiwi mit B1 und S=[kiwi/n]</p>
          <p>Die Schritte mu¨ssen dann in ein entsprechendes Format
u¨bersetzt werden und mittels geeigneter Pru¨fer, wie z. B.</p>
          <p>
            PVS [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ], ausgewertet werden. Zuvor k¨onnen die
Eingaben auf statische Bedingungen, wie Typpru¨fungen der
Terme, Konsistenz der Substitutionen und Vorhandensein
von Variablen, gepru¨ft werden. Diese U¨bersetzung ist fu¨r
zuku¨nftige Arbeiten geplant. Auch die Problematik mit
Folgefehlern bei dieser Aufgabenart ist noch nicht gel¨ost.
          </p>
          <p>
            Verfahren mit Entscheidungsb¨aumen wie sie in [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ]
erfolgen, wurden noch nicht weiter betrachtet.
          </p>
          <p>Dem Studenten kann nach der Auswertung angezeigt
werden, welche Umformungsschritte falsch oder
unvollst¨andig waren. Dazu wird die Aussage des externen Pru¨fers
u¨ber Widerspru¨che bzw. offene Beweisverpflichtungen in
den Schritten ausgewertet. Beides stellt ein fu¨r Studenten
nu¨tzliches Feedback dar.</p>
          <p>Die vorgestellte Architektur soll in ILIAS integriert
werden, mit der neue Fragetypen implementiert werden
ko¨nnen. Die beiden Beispiele veranschaulichen auch, dass
externe Werkzeuge bzw. Services notwendig sind, um
Aufgaben korrekt bewerten zu ko¨nnen. Zusa¨tzlich zu der
Integration in bestehende bzw. genutzte Systeme ist es wichtig,
dass den Studenten ein umfangreiches Feedback gegeben
wird. Einfache formale Fehler ko¨nnen durch U¨bersetzer
erkannt werden, was Studenten von Flu¨chtigkeitsfehlern
entlastet.</p>
        </sec>
      </sec>
      <sec id="sec-6-2">
        <title>IV. Diskussion</title>
        <p>Der hier vorgestellte Ansatz soll die in Kapitel I
gezeigten Anforderungen erfu¨llen. Insbesondere soll eine
Mo¨glichkeit fu¨r die Erweiterung von ILIAS geboten
werden, die ohne Neuentwicklung von Plugins fu¨r jeden
einzelnen Fragetyp auskommt. Plugins in ILIAS haben den
vollen Zugriff auf sa¨mtliche Bereiche der Lernplattform
und sind somit zum einen schwerer wartbar und bergen
zum anderen auch Sicherheitsrisiken.</p>
        <p>Die Entkopplung der einzelnen Komponenten eines
Fragetyps stellt dabei ein wesentliches Argument dar. Mo¨chte
man beispielsweise einen bestehenden Aufgabentyp nutzen
und nur die Eingabemethode vera¨ndern, so tauscht man
lediglich die dafu¨r genutzten Komponenten aus.
Voraussetzung dafu¨r ist, dass die Eingabe am Ende ein textuelles
Format liefert, welches von den Schnittstellen u¨bertragen
werden kann. Diese Einschra¨nkung ist fu¨r formale
Eingaben vertretbar.</p>
        <p>Die Umsetzung der Architektur als Plugin in ILIAS
ist noch nicht abgeschlossen. Erste Implementierungen fu¨r
den Mengenaufgabentyp aus Beispiel 1 sind erfolgt. Die
Umsetzung eines a¨hnlichen Fragetyps fu¨r
Vielfachmengen zeigte, dass große Teile der Implementierung erneut
verwendet werden konnten. Nur die Funktion fu¨r den
Vergleich der Menge wurde angepasst, damit mehrfach
auftretende Elemente auch erfasst werden.</p>
        <p>Auf Grundlage der fu¨r Plugins genutzten Schnittstellen
von ILIAS soll die Middleware umgesetzt werden. In den
entsprechenden Funktionsaufrufen wird dann auf die
Komponenten, wie U¨bersetzer und Eingabemasken, verwiesen.</p>
        <p>Die Erweiterung um weitere Fragetypen erfolgt
anschließend in speziellen Modulen. Da diese nur sehr wenige
Schnittstellen bereitstellen mu¨ssen, sollte die
Implementierung weniger aufwendig sein als die Implementierung eines
Plugins. Der Vorteil gegenu¨ber eines objektorientierten
Ansatzes liegt dabei bei der anschließenden Kombination
der Module. Wie im Beispiel 1 vorgestellt, ko¨nnen
Komponenten wie die Maxima-Anbindung erneut genutzt werden.</p>
        <p>Die Integration von in Kapitel II vorgestellten
Systemen wurde in dieser Arbeit nicht na¨her betrachtet, da
diese nicht alle Anforderungen an Erweiterbarkeit,
Feedback und Eingabepru¨fung unterstu¨tzen. Die Verwendung
vorhandener Plugins, wie dem Stack-Fragetyps, la¨sst die
Erweiterung um weitere formale Sprachen nicht zu.</p>
        <p>Bei der Umsetzung der Schnittstellen der Middleware
sind noch Fragen daru¨ber offen, wie die Kommunikation
mit dem Fremdsystem zu erfolgen hat, wenn dieses u¨ber
einen la¨ngeren Zeitraum das Ergebnis berechnet.
Weiterhin wird die Bereitstellung von Feedback durch die
Architektur von ILIAS erschwert. Eine Ru¨ckmeldung fu¨r
Studenten muss mit seiner Eingabe verknu¨pft in der
Datenbank gesichert werden, bevor sie dem Studenten angezeigt
werden kann. Dieses Prinzip erscheint unvera¨nderlich und
ko¨nnte zu Problemen beim Generieren bzw. Auswerten der
Ru¨ckmeldungen fu¨hren.</p>
        <p>Bei einigen Versionsa¨nderungen von ILIAS kam es zu
Vera¨nderungen in den Schnittstellen fu¨r Plugins. Inwieweit
die Wartbarkeit einer als Plugin entwickelten
Middleware gegeben ist, kann nicht abgescha¨tzt werden. Kleinere
Anpassungen sind ohne weiteres umsetzbar, aber durch
die auf Feature-Requests basierte Entwicklung sind die
zuku¨nftigen Entwicklungen von ILIAS nicht absehbar.</p>
      </sec>
      <sec id="sec-6-3">
        <title>V. Zusammenfassung</title>
        <p>Die hier vorgestellte Architektur dient als Vorschlag fu¨r
eine effiziente Integration neuer textbasierter Fragetypen
in E-Learning-Systemen. Die Auswertung der Eingaben
erfolgt dabei u¨ber externe Services. Ein zwischen
Nutzereingabe und Komponente zum Auswertealgorithmus
geschalteter U¨ bersetzer ermo¨glicht die Formulierung und
die syntaktische und semantische U¨berpru¨fung einer auf
den Fragetypen angepassten doma¨nenspezifischen
Sprache. Der Sprachentwurf und der U¨bersetzer ko¨nnen im
einfachsten Fall auch regula¨re Ausdru¨cke sein. Die
syntaktische und semantische U¨berpru¨fung ermo¨glicht das
fru¨hzeitige Erkennen von Eingabefehlern und senkt den
Aufwand fu¨r Nachkorrekturen durch Autoren.</p>
        <p>Die Entwicklung und Nutzung derartiger Frameworks
sta¨rkt die Anwendbarkeit von E-Learning Systemen und
erha¨lt gleichzeitig deren Software-Architektur. Neue
Fragetypen ko¨nnen im Idealfall aus bereits bestehenden
Komponenten zusammengesetzt werden. Dies sta¨rkt die
Wiederverwendbarkeit und beugt der Explosion der Anzahl
von Fragetypen vor. Der Aufwand der Entwicklung des
notwendigen U¨bersetzers ist im Rahmen des Aufwandes
fu¨r die entsprechenden Adapter.</p>
        <p>
          Eine modulare Zusammensetzung neuer Fragetypen aus
bestehenden Vergleichsoperatoren, Fremdsystemen und
im Idealfall auch GUI-Elementen beschleunigt die
Entwicklung angepasster Fragestellungen. Werkzeuge, die die
Eingabe unterstu¨tzen, wie z. B. WIRIS [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], ko¨nnen in
neue oder bestehende Fragetypen integriert werden und
es muss nur die entsprechende Verarbeitungssprache
angepasst werden.
        </p>
        <p>Die Architektur soll in ILIAS mithilfe eines Plugin
integriert werden. Damit sollen insbesondere auch
komplexere Aufgaben wie z. B. Induktionsbeweise, Konstruktion
von Grammatiken und Automaten oder Herleitungen im
Logikkalku¨l implementiert werden.</p>
      </sec>
      <sec id="sec-6-4">
        <title>Literatur</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Daniel</surname>
          </string-name>
          , N. Ko¨cher, and R. Ku¨stermann, “E-Klausuren in der angewandten Mathematik - Herausforderungen &amp; Lo¨sungen.” in DeLFI,
          <year>2014</year>
          , pp.
          <fpage>265</fpage>
          -
          <lpage>270</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>open source e Learning e</article-title>
          .V.
          <article-title>(</article-title>
          <string-name>
            <surname>2017) ILIAS E-Learning</surname>
            <given-names>.</given-names>
          </string-name>
          [Online]. Available: https://www.ilias.de/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3] (
          <year>2017</year>
          )
          <article-title>Maxima, a computer algebra system</article-title>
          . [Online]. Available: http://maxima.sourceforge.net/
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Rickel</surname>
          </string-name>
          , “
          <article-title>Intelligent computer-aided instruction: A survey organized around system components</article-title>
          ,
          <source>” IEEE Transactions on Systems, Man, and Cybernetics</source>
          , vol.
          <volume>19</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>40</fpage>
          -
          <lpage>57</lpage>
          ,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J.</given-names>
            <surname>Gonzalez-Sanchez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. E.</given-names>
            <surname>Chavez-Echeagaray</surname>
          </string-name>
          , K. VanLehn, W. Burleson,
          <string-name>
            <given-names>S.</given-names>
            <surname>Girard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hidalgo-Pontet</surname>
          </string-name>
          , and L. Zhang, “
          <article-title>A system architecture for affective meta intelligent tutoring systems</article-title>
          ,” in
          <source>International Conference on Intelligent Tutoring Systems</source>
          . Springer,
          <year>2014</year>
          , pp.
          <fpage>529</fpage>
          -
          <lpage>534</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Amelung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Krieger</surname>
          </string-name>
          , and D. Ro¨sner, “
          <article-title>E-assessment as a service,” IEEE Transactions on Learning Technologies</article-title>
          , vol.
          <volume>4</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>162</fpage>
          -
          <lpage>174</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Richter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rudlof</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Adjibadji</surname>
          </string-name>
          , H. Bernlo¨hr, C. Gru¨ninger,
          <string-name>
            <surname>C.-D. Munz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Stock</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Rohde</surname>
            , and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Helmig</surname>
          </string-name>
          , “
          <article-title>Viplab: a virtual programming laboratory for mathematics and engineering</article-title>
          ,”
          <source>Interactive Technology and Smart Education</source>
          , vol.
          <volume>9</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>246</fpage>
          -
          <lpage>262</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M. M.</given-names>
            <surname>Madrid</surname>
          </string-name>
          and M. Lohmann, “
          <article-title>Ein Fragetyp fu¨r Programmieraufgaben als Erweiterung des Learning-ManagementSystems ILIAS</article-title>
          .” in DeLFI,
          <year>2015</year>
          , pp.
          <fpage>341</fpage>
          -
          <lpage>343</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Goedicke</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Striewe</surname>
          </string-name>
          , “
          <article-title>10 Jahre automatische Bewertung von Programmieraufgaben mit Jack-Ru¨ckblick und Ausblick,”</article-title>
          <source>INFORMATIK</source>
          <year>2017</year>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>AL-Smadi</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Guetl</surname>
          </string-name>
          , “
          <article-title>Service-oriented flexible and interoperable assessment: towards a standardised e-assessment system,” International Journal of Continuing Engineering Education and Life Long Learning</article-title>
          , vol.
          <volume>21</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>289</fpage>
          -
          <lpage>307</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M.</given-names>
            <surname>Al-Smadi</surname>
          </string-name>
          and
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Gu¨tl, “Soa-based architecture for a generic and flexible e-assessment system,” in Education Engineering (EDUCON</article-title>
          ),
          <year>2010</year>
          IEEE. IEEE,
          <year>2010</year>
          , pp.
          <fpage>493</fpage>
          -
          <lpage>500</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>C.</given-names>
            <surname>Sangwin</surname>
          </string-name>
          ,
          <source>Computer aided assessment of mathematics. OUP Oxford</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Marqu</surname>
          </string-name>
          `es, R. Eixarch,
          <string-name>
            <given-names>G.</given-names>
            <surname>Casanellas</surname>
          </string-name>
          , B. Mart´ınez, and
          <string-name>
            <given-names>T. J.</given-names>
            <surname>Smith</surname>
          </string-name>
          , “
          <article-title>WIRIS OM tools: a semantic formula editor</article-title>
          ,”
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Owre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Rushby</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Shankar</surname>
          </string-name>
          , “
          <article-title>PVS: A prototype verification system</article-title>
          ,” in International Conference on Automated Deduction. Springer,
          <year>1992</year>
          , pp.
          <fpage>748</fpage>
          -
          <lpage>752</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>