=Paper= {{Paper |id=Vol-2066/seels2018paper04 |storemode=property |title=Eine Softwarearchitektur für serviceorientierte Fragetypen in E-Learning-Systemen (A Software Architecture for Service-Oriented Assessments in E-Learning-Systems) |pdfUrl=https://ceur-ws.org/Vol-2066/seels2018paper04.pdf |volume=Vol-2066 |authors=Benjamin Saul,Wolf Zimmermann |dblpUrl=https://dblp.org/rec/conf/se/SaulZ18 }} ==Eine Softwarearchitektur für serviceorientierte Fragetypen in E-Learning-Systemen (A Software Architecture for Service-Oriented Assessments in E-Learning-Systems)== https://ceur-ws.org/Vol-2066/seels2018paper04.pdf
         Eine Softwarearchitektur für serviceorientierte
              Fragetypen in E-Learning-Systemen
                          Benjamin Saul                                            Wolf Zimmermann
          Martin-Luther-Universität Halle-Wittenberg,                Martin-Luther-Universität Halle-Wittenberg,
                    Institut für Informatik                                    Institut für Informatik
              Email: saul@informatik.uni-halle.de                       Email: zimmer@informatik.uni-halle.de



   Abstract—Electronic assessments in E-Learning-                 bestehen. Derartige Tests sind gut zum Abfragen von
Systems (e. g. ILIAS) can be used in exercises to reduce          Fachwissen geeignet, z. B. in der Biologie oder der Medizin.
personal costs. Question types in computer science or                Übungsaufgaben aus der Informatik bzw. Mathema-
mathematics often require formal inputs like terms or
proofs. A string based comparison between the users               tik fordern häufig die Eingabe formaler Ausdrücke, z. B.
submission and the solution is not sufficient to evaluate         Terme, Beweise und Programmausschnitte [1]. Bei die-
the correctness of the submission. Plugin systems, as             sen ist eine Prüfung auf Identität bzw. auf Ähnlichkeit
used in ILIAS, can be used to implement new question              zur Musterlösung oft nicht ausreichend. Die Eingaben
types but this method is complex and error-prone. We              variieren durch gesetzte Leerzeichen, Vertauschungen und
show a service-oriented approach to implement new
question types in ILIAS based on existing services. A             alternative Formulierungen. Ein Beispiel für einen solchen
compiler is used to translate user input language in              Fragetyp aus der Mengenlehre ist in Beispiel 1 formuliert.
service language which improves users readability and
allows syntax checking before invoking a service call.            Beispiel 1 (Fragetyp: Mengenlehre           -    Operatoren).
                                                                  Aufgabe: Bestimmen Sie {a, b, c} ∪ {c, d}
   Zusammenfassung—Lernplattformen wie ILIAS bie-                 Lösung: {a, b, c, d} oder {d, b, c, a} oder {b, a, c, d} . . .
ten die Möglichkeit, Test- und Übungsaufgaben zu
stellen und automatisch auswerten zu lassen. Aufga-                  Hierbei wird deutlich, dass durch Permutation sehr viele
benstellungen der Informatik und Mathematik fordern               korrekte Lösungen existieren. Diese vollständig für einen
insbesondere die Eingabe formaler Ausdrücke, z. B.               textbasierten Vergleich aufzulisten ist nicht praktikabel.
Terme, Beweise und Programmcode. Hier reicht ein
einfacher Textvergleich mit der Musterlösung nicht               Darüber hinaus treten weitere Probleme auf, die beim
mehr aus, um alle Variationen gültiger Lösungen ab-             bisherigen Übungsbetrieb bemerkt wurden sind. Die Ein-
zudecken. Die Erweiterungsmöglichkeiten von ILIAS                gaben enthalten zusätzliche Leerzeichen, die nicht au-
durch Plugins sind für das Hinzufügen spezieller Frage-         tomatisch entfernt werden können. Derartige Eingaben
typen zu komplex und fehlerträchtig. Wir stellen einen           wurden fälschlicherweise als Fehler bewertet und mussten
serviceorientierten Ansatz vor, mit dem neue Fragety-
pen durch Anbinden und Kombinieren bereits vorhan-                manuell nachkorrigiert werden. Durch diese Fälle ist eine
dener Werkzeuge in ILIAS integriert werden können.               vollständige Auflistung aller Lösungen unmöglich.
Durch den Einsatz von Übersetzern in den Adaptern                   Am Beispiel des an der Universität Halle-Wittenberg
lässt sich die Eingabesprache anpassen und auf syn-              eingesetzten E-Learning-Systems ILIAS [2] soll untersucht
taktische und statisch semantische Fehler überprüfen,           werden, wie neue Fragetypen effizient umgesetzt werden
noch bevor externe Services aufgerufen werden.
   Index       Terms—E-Learning,          E-Assessment,           können. ILIAS selbst unterstützt bereits eine Vielzahl
Übersetzerbau, serviceorientiert                                 an Fragetypen, darunter Multiple-Choice Aufgaben und
                                                                  Lückentexte. Letztere ermöglichen das Abfragen von frei
                       I. Übersicht                              eingebbaren Texten, die dann allerdings nur auf Identität
  Eine wichtige Funktion von E-Learning-Systemen ist              mit der Musterlösung getestet werden. Die Mengenaufgabe
die Durchführung von Tests bzw. das Stellen von Auf-             aus Beispiel 1 wurde mit diesem Fragetyp erstellt.
gaben, deren Antworten automatisch ausgewertet wer-                  ILIAS ist modul- bzw. serviceorientiert aufgebaut [2].
den. Diese werden von Dozenten erstellt und von Stu-              Einzelne Module sind voneinander unabhängig und ver-
denten beantwortet. Häufig auftretende Fragetypen sind           wenden gemeinsame Services (Abb. 1).
Multiple-Choice Aufgaben und Lückentexte. Der Student               ILIAS wird basierend auf Feature-Requests entwickelt.
wählt dabei eine der vorgegebenen Antworten bzw. ein             Das heißt, neue Fragetypen für automatische Tests wer-
Bild aus oder gibt einen Begriff ein. Das System prüft           den jedes mal als neues Plugin implementiert. Dadurch
anschließend, ob die gegebene Antwort mit einer Mus-              entsteht eine Vielzahl an Modulen für Fragetypen, die
terlösung übereinstimmt und generiert die entsprechende         alle mit einem ähnlichen Grundmuster aufgebaut sind.
Rückmeldung. Diese Rückmeldung ist i. d. R. eine Punkt-         Funktionen wie Anlegen, Kopieren und Löschen von Tests
zahl, kann aber auch aus Erläuterungen zur Antwort               müssen implementiert werden, obwohl sich diese nur mi-




SEELS 2018: Software Engineering für E-Learning-Systeme @ SE18, Ulm, Germany                                                   66
                                                  ILIAS Module                                           ILIAS Services




                                                                                                                       Templates
                        Benutzer-
                         Interface-
                        Schicht




                                                                                     Zugriffskontrolle
                        (GUI-Klassen)




                                                                                                         Metadaten
                                                           Lernmodul
                                          Forum


                                                    Test




                                                                          ...




                                                                                                                                               ...
                                                                                                                                   Datenbank
                        Anwendungs-
                        Schicht




                                                                          Server-Umgebung
                                                                       (Apache, PHP, MySQL...)

                               Abbildung 1. Der modulare Aufbau der E-Learning-Plattform ILIAS [2]



nimal bis gar nicht unterscheiden. Zusätzlich treten Al-                         Kapitel II zeigt verwandte Arbeiten, die sich bereits
terungserscheinungen auf. Einzelne Fragetypen existieren                        mit automatischer Testauswertung und den damit ver-
in zwei oder mehr Varianten. Beispielsweise sei hier die                        bundenen Architekturen auseinandersetzen. Kapitel III
Dateieinsendung erwähnt, die sowohl in Übungen als auch                       stellt unseren Architekturansatz vor. In Kapitel IV werden
in Tests implementiert ist. Beide modellieren den gleichen                      die verschiedenen Herausforderungen bei der bisherigen
Anwendungsfall, sind aber doppelt implementiert.                                Umsetzung bzw. bei der Arbeit mit ILIAS diskutiert. In
   ILIAS unterstützt ein Feedback über richtige und falsche                   Kapitel V werden die Ergebnisse zusammengefasst und ein
Antworten. Dieses wird manuell für jede erwartete Ant-                         Ausblick auf die geplanten Arbeiten gegeben.
wort eingetragen. Für Entscheidungsfragen wie Multiple-
Choice ist dies völlig ausreichend. Bei Textfeldern benötigt                                                       II. Verwandte Arbeiten
man allerdings ein angepasstes Feedback, das sich auf indi-                        Im Umfeld von E-Learning und im speziellen der auto-
viduelle Lösungen bezieht. Hier ist es nicht mehr möglich,                    matisierten Auswertung von Fragestellungen im Bereich
alle gültigen Lösungen manuell zu erfassen.                                   von Übungen und Tests gibt es viele Arbeiten. Schon
   Wird ein Fremdsystem zur Auswertung verwendet, z. B.                         in [4] wurden einige dieser Projekte vorgestellt. Hier
das Computer-Algebra-System Maxima [3], so können                              liegt der Schwerpunkt auf der Generierung, Auswahl und
ungewollte Nebeneffekte auftreten. Wird nämlich Eingabe                        Präsentation von Testaufgaben, um einen möglichst hohen
der Studenten direkt als Maxima-Ausdruck ausgewertet,                           Lernerfolg bei den Studenten zu erzielen. In [5] wird
so muss man sicherstellen, dass die Studenten nicht be-                         eine entsprechende Architektur präsentiert. Die Aufgaben
trügen und Funktionen wie den Mengenschnitt als Funk-                          selbst werden mithilfe einer Wissensbasis ausgewertet.
tionsaufruf in Maxima explizit in die Antwort eingeben                          Der Student erhält ein auf sein Lernverhalten angepasstes
und sich so das Ergebnis berechnen lassen. Weitergehende                        Feedback. Diese eigenständig laufenden Systeme sind gut
Fragetypen, wie das Schreiben von Beweisen, erfordern                           erweiterbar, aber noch nicht in ILIAS integriert worden.
außerdem komplexe Formulierungen, die unabhängig von                              Serviceorientierte Implementierungen automatisierter
den dahinter liegenden Werkzeugen sein sollten.                                 Tests, hier im speziellen die Auswertung von Programm-
   In dieser Arbeit wird eine geplante Architektur gezeigt,                     code, finden sich in [6] und [7]. Während ersteres sich
die auf Herausforderungen bei der Erstellung neuer Frage-                       auf eine Architektur konzentriert, welche leicht um wei-
typen eingeht. Im Wesentlichen soll die Architektur dabei                       tere Programmiersprachen erweitert werden kann, liegt
  • externe Werkzeuge effizient einbinden lassen,                               bei der zweiten Arbeit der Fokus auf der Bereitstellung
  • minimal in das bestehende System (ILIAS) eingreifen,                        einer virtuellen Programmierumgebung. Eine Umsetzung
  • umfangreiches Feedback dem Anwender bereitstellen                           für eine Programmierumgebung innerhalb von ILIAS gibt
    sowie                                                                       es in [8]. Hier wurde ein Plugin entwickelt, welches Code
  • fehlerhafte Eingaben bzw. Eingaben mit ungewollten                          verschiedener Programmiersprachen automatisch auswer-
    Nebeneffekten detektieren und anzeigen.                                     ten kann, z. B. durch Unittests für die Sprache Java. Diese




SEELS 2018: Software Engineering für E-Learning-Systeme @ SE18, Ulm, Germany                                                                         67
              Beitrag      Erweiterbarkeit     Integrierbarkeit Feedbackmöglichkeiten      Eingabeprüfung
                         um neue Fragetypen        in ILIAS
                 [5]             +                     0                    +                      0
                 [6]             +                     0                    0                      0
                 [7]              0                    +                    +                      +
                 [8]              0                    +                    +                      +
                 [9]             +                     0                    +                      0
                [11]             +                     -                    0                      0
                [12]              -                    +                    +                      +
                                                         Tabelle I
     Übersicht über verwandte Arbeiten im Bereich der elektronischen Tests. Es wird unterschieden zwischen guter
  Unterstützung bzw. bereits in ILIAS umgesetzt (+), keiner genauen Angabe bzw. eigenständiges System (0) sowie keiner
                                                    Unterstützung (-)




Arbeiten sind auf Programmierübungen spezialisiert. Eine         Fragetypen erweiterbar ist und den Studenten
Erweiterung um beliebige Eingabeformate wurde nicht               Hilfestellungen durch Feedback und Eingabeprüfungen
diskutiert.                                                       leistet, gibt es unserer Kenntnis nach noch nicht. Diese
   Das automatische Übungs- und Prüfungssystem Jack [9]         Punkte versuchen wir in unserer Arbeit zu erfüllen.
bietet ein server-basiertes System, welches in Lernplatt-         Tabelle I fasst noch einmal die hier betrachteten
formen eingebunden werden kann. Hier wurden diver-                Merkmale der verwandten Arbeiten zusammen.
se Fragetypen implementiert, darunter Multiple-Choice                  III. Eine Architektur für modularisierte
Aufgaben sowie mathematische Fragestellungen. Die Aus-                                Fragetypen
wertung der Ausdrücke erfolgt unter anderem durch
Computer-Algebra-Systeme. Das Übungssystem bietet gu-               Eine typische Frage besteht aus Aufgabenstellung, Mus-
te Möglichkeiten für die Erweiterung um weitere Fragety-        terlösung sowie einem Algorithmus zur Berechnung einer
pen, wurde allerdings noch nicht in ILIAS integriert.             Punktzahl bzw. Rückmeldung zur gegebenen Antwort.
                                                                  Lösungen und Antworten sind häufig textuell und werden
   Eine serviceorientierte Architektur, im Speziellen für        in Eingabefelder eingetragen. Es gibt aber auch Fragety-
Freitext-Fragen, findet sich in [10] und [11]. Die flexible       pen, die grafische Objekte wie geometrische Zeichnungen
Integration von Fremdsystemen und Werkzeugen mithilfe             oder Diagramme abfragen. Die Algorithmen zur Evaluie-
des Software-as-a-Service Ansatzes wird hier vorgestellt.         rung der Eingaben sind für viele Aufgabenstellungen sehr
Die Lernplattform selbst wird als Basis für diverse Ser-         komplex. Daher sollten diese nicht in dem E-Learning-
vices und Werkzeuge implementiert. Voraussetzung dafür           System implementiert werden, sondern bestehende Ser-
sind Standards für die diversen Schnittstellen. Es findet        vices wie Computer-Algebra-Systeme eingebunden wer-
also keine Integration in bestehende Systeme in diesem            den.
Sinne statt, sondern die Entwicklung eines alternativen E-
                                                                     Derzeit werden solche Schnittstellen explizit im entspre-
Learning-Systems, welches dann flexibler in der Zusam-
                                                                  chenden Plugin in ILIAS implementiert. Die Implemen-
menstellung sein soll.
                                                                  tierung umfasst außerdem zusätzliche Funktionen, z. B.
   Eine Umsetzung für mathematische Fragestellungen als          für Datenbankzugriffe und Kopierfunktionen. Objektori-
Plugin für ILIAS ist das Stack-Plugin [12], [2]. Dieses          entierte Programmierung schränkt den Implementierungs-
sowohl in Funktionalität als auch im Code umfangreiche           aufwand nur zum Teil ein. Neue Plugins sind nicht aus Be-
Plugin bietet eine Schnittstelle für das Auswertungssystem       standteilen anderer Plugins erzeugbar. Eine gemeinsame
STACK, welches wiederum auf dem Computer-Algebra                  Middleware, welche die Verwaltungsaufgaben übernimmt,
System Maxima basiert. Terme können auf diverse Arten            ist daher erstrebenswert. Abbildung 2 zeigt, wie verschie-
miteinander verglichen werden und es gibt eine Auswerte-          dene Komponenten über eine gemeinsame Middleware
strategie für Folgefehler berücksichtigende Punktevergabe.      angebunden werden.
Eine Anbindung weiterer Werkzeuge und Services bzw.                  Durch die Auslagerung der Auswertungsfunktionen las-
die Erweiterung des Plugins ist nicht geplant. Es ist             sen sich die bisherigen umfangreichen Plugins für Fragety-
möglich, die Mengenaufgabe aus Beispiel 1 mit diesem             pen in mehrere zusammenstellbare Module aufteilen. Die
Plugin umzusetzen. Allerdings müssen die Studenten die           Aufteilung erfolgt dabei anhand der verschiedenen Aspek-
Eingabesprache von Stack bzw. Maxima benutzen.                    te des Fragetyps. Diese werden in Abbildung 3 gezeigt.
   Die     hier    vorgestellten     Arbeiten    beschreiben         Nach der Eingabe einer Antwort in eine entsprechen-
eigenständige Systeme und Erweiterungen bestehender              de Eingabemaske erfolgt zunächst eine Überprüfung auf
Systeme. Der Fokus liegt dabei entweder auf der                   syntaktische bzw. statisch semantische Fehler durch einen
Bereitstellung von Feedback sowie der Integration in ein          geeigneten Übersetzer oder eine vergleichbare Methode.
bestehendes Lernsystem oder auf einer erweiterbaren               Die Auswertung der Lösung geschieht dann durch einen
Architektur. Eine Arbeit, die sowohl in ein bestehendes           Service, welcher eventuell über Adapter aufgerufen wer-
E-Learning-System integriert ist, als auch um neue                den muss. Da die Eingabesprache der externen Services




SEELS 2018: Software Engineering für E-Learning-Systeme @ SE18, Ulm, Germany                                                68
                                                                   ge einer Aufgabe in ein Textfeld ein, und die eingegebene
                       E-Learning-Plattform                        Menge wird anschließend mit einer Ergebnismenge vergli-
                                                                   chen.
                                                                      Für die Umsetzung des Fragetyps ist es notwendig, die
                                                                   Eingabe zunächst geeignet zu formatieren und anschlie-
                              Middleware                           ßend einen Vergleich zwischen zwei Mengen durchzuführen,
                                                                   beispielsweise mit Maxima. Schreibfehler, wie vergessene
                                                                   Kommata oder Klammern, können zu Fehlern führen,
          Komponente


                          Komponente

                                                                   sodass der Term nicht ausgewertet werden kann. Diese
                                                                   sollten dem Studenten also schon vor dem Berechnen der
                                                                   Punktzahl angezeigt werden. Die dabei benötigten Funktio-
                                                                   nalitäten sollten soweit wie möglich nicht innerhalb des
                                                                   Moduls stehen, sondern als Service angeboten werden.
                                                                      Im Falle der Mengenaufgabe könnte man das Maxima-
                                                                   Werkzeug verwenden, um die Menge aus der Eingabe mit
Abbildung 2. Anbindung von Komponenten für Vergleichsfunktionen   der Menge der Musterlösung zu vergleichen. Eine typische
                                                                   Fragestellung wurde in Beispiel 1 gezeigt.
                                                                      Als Musterlösung kann direkt der Term der Aufgaben-
nicht für die Eingabe von bestimmten Fragestellungen              stellung verwendet werden. Die Eingabe für Maxima ergibt
konzipiert ist, sollte ein lesbares Eingabeformat durch den        sich für die Beispieleingabe {a, b, d} daraus wie folgt.
Übersetzer bereitgestellt werden. Dadurch kann die Ein-
gabesprache auf das abgefragte Themengebiet beschränkt            input: set(a,b,d);
werden, was Vorteile für die Studenten bringt.                    muster: adjoin(set(a,b,c),set(c,d));
   Die Middleware aus Abb. 3 soll als Fragetypen-Plugin            result: isEqual(x,muster);
in ILIAS umgesetzt werden. Geplant ist ein einziger Fra-             Dabei fällt auf, dass die Schreibweise der Aufgabenstel-
getyp, bei dem die Textfelder durch verschiedene Services          lung kürzer ist und der schriftlichen Notation angepasst ist.
ausgewertet werden können, welche zuvor im Plugin re-             Der Student muss sich keine neue Syntax aneignen sondern
gistriert werden können. Dies hat den weiteren Effekt,            kann die mathematische Notation verwenden.
dass die Anzahl der Fragetypen nicht mit jedem Service               Weitere Rückgabewerte von Maxima können hierbei auch
ansteigt, was die Übersichtlichkeit erhöht. Ein neuer Fra-       die Elemente sein, die in der eingesandten Lösung fehlen
getyp benötigt Komponenten für                                   oder fälschlicherweise in die Menge aufgenommen wurden.
  • Syntaxprüfung und einfache Konsistenzprüfungen,              Als Feedback lassen sich diese Elemente dann dem Studen-
  • Übersetzer bzw. Formatierer zwischen Eingabespra-             ten anzeigen. Auch ist eine differenzierte Punktevergabe
    che und Fremdsystemsprache,                                    möglich, indem Punktabzüge entsprechend den falschen
  • Schnittstellen aufzurufender Services,                         Elementen stattfinden. Dies ist in dieser Art mit einem
  • Feedbackfunktionen, die Antworten der Services auf             Identitätsvergleich zwischen Texten nicht möglich.
    Punkte und sonstige Meldungen abbilden sowie                     Später können einige der Komponenten wieder verwertet
  • Eingabemaske.                                                  werden, z. B. bei Fragetypen zu Vielfachmengen. Hier ist
   Da alle Eingaben inklusive der Musterlösung textuell           die Anbindung an Maxima sowie die Feedback-Auswertung
erfolgen sollen, entfallen zusätzliche Datenbankeinträge.        die selbe.
Sicherheitskritische Aspekte, wie der uneingeschränkte Zu-        Beispiel 3 (Fragetyp: Abstrakte Datentypen). Das zweite
griff durch Plugins, werden dadurch entschärft. Wird der          Beispiel, welches derzeit geplant ist, ist ein Fragetyp im
gleiche Service verwendet, können die Anbindungen und             Bereich abstrakter Datentypen. Die typische Fragestellung
der Übersetzer zu großen Teilen erneut verwendet bzw.             hierbei ist es, Terme eines gegebenen abstrakten Daten-
ergänzt werden. Eingabemasken für grafische Elemente,            typs auf Gleichheit zu untersuchen. Durch Anwendung der
z. B. Diagramme oder geometrische Skizzen, müssen im              Axiome bzw. Regeln auf bestimmte Stellen von Termen ist
Hintergrund ein textuelles Format wie XML zur Verar-               es möglich, einen Term in einen anderen, im abstrakten
beitung verwenden. Eine Anbindung von Systemen zur                 Datentypen äquivalenten, Term umzuwandeln. Eventuell
grafischen Eingabe wie WIRIS ([13]) erfolgt dann in den            müssen dazu auch Unterterme substituiert werden. Ei-
Komponenten der Eingabemaske. In den weiteren Kompo-               ne beispielhafte Aufgabenstellung nebst Lösung lautet wie
nenten wird nur die textuelle Form der grafischen Objekte          folgt.
weiter verarbeitet.
Beispiel 2 (Mengenlehre - Fortsetzung). Das erste hier
betrachtete Beispiel ist die Umsetzung eines Fragetyps für          Aufgabe: Gegeben Sei der abstrakte Datentyp Mystery
Mengenaufgaben. Der Student trägt dazu die Ergebnismen-           mit




SEELS 2018: Software Engineering für E-Learning-Systeme @ SE18, Ulm, Germany                                                   69
                                     E-Learning-System
                                                                            Musterlösung
                                        Syntaxfehler?


                                                                            Auswertungs-
                                    Eingabemaske         Übersetzer
                                                                              funktion

                        Nutzer                    Punkte und
                                                   Feedback


                     Abbildung 3. Übersicht über die Architektur für die automatisch Auswertung von Aufgaben



                                                                         Dem Studenten kann nach der Auswertung angezeigt
spec Mystery is                                                       werden, welche Umformungsschritte falsch oder unvoll-
  sorts A, U                                                          ständig waren. Dazu wird die Aussage des externen Prüfers
  operations                                                          über Widersprüche bzw. offene Beweisverpflichtungen in
    feuer : −> A Konstruktor                                          den Schritten ausgewertet. Beides stellt ein für Studenten
    erde : A −> A Konstruktor                                         nützliches Feedback dar.
    wasser : A x A −> A
    apfel : −> U Konstruktor                                             Die vorgestellte Architektur soll in ILIAS integriert
    orange : A x U −> U Konstruktor                                   werden, mit der neue Fragetypen implementiert werden
    banane : U x U −> U                                               können. Die beiden Beispiele veranschaulichen auch, dass
    kiwi : U −> A                                                     externe Werkzeuge bzw. Services notwendig sind, um Auf-
  vars                                                                gaben korrekt bewerten zu können. Zusätzlich zu der Inte-
    n,m : A                                                           gration in bestehende bzw. genutzte Systeme ist es wichtig,
    x,y : U                                                           dass den Studenten ein umfangreiches Feedback gegeben
  axioms                                                              wird. Einfache formale Fehler können durch Übersetzer
    B1 : wasser (feuer, n) = n                                        erkannt werden, was Studenten von Flüchtigkeitsfehlern
    B2 : wasser (erde(n), m)                                          entlastet.
          = erde(wasser (n, m))
    C1 : banane(apfel, y) = y                                                              IV. Diskussion
    C2 : banane(orange(n, x), y)
          = orange(n, banane(x, y))                                      Der hier vorgestellte Ansatz soll die in Kapitel I ge-
    C3 : kiwi(apfel) = feuer                                          zeigten Anforderungen erfüllen. Insbesondere soll eine
    C4 : kiwi(orange(n, x))                                           Möglichkeit für die Erweiterung von ILIAS geboten wer-
          = wasser (n, kiwi(x))                                       den, die ohne Neuentwicklung von Plugins für jeden ein-
                                                                      zelnen Fragetyp auskommt. Plugins in ILIAS haben den
Zeigen Sie, dass
                                                                      vollen Zugriff auf sämtliche Bereiche der Lernplattform
         wasser(kiwi(apfel), kiwi) = kiwi                             und sind somit zum einen schwerer wartbar und bergen
unter Angabe der angewendeten Regeln und Substitutionen.              zum anderen auch Sicherheitsrisiken.
Markieren Sie die betreffenden Unterterme mit eckigen                    Die Entkopplung der einzelnen Komponenten eines Fra-
Klammern!                                                             getyps stellt dabei ein wesentliches Argument dar. Möchte
wasser([kiwi(apfel)], kiwi)                                           man beispielsweise einen bestehenden Aufgabentyp nutzen
= [wasser(feuer, kiwi)] mit C3                                        und nur die Eingabemethode verändern, so tauscht man
= kiwi mit B1 und S=[kiwi/n]                                          lediglich die dafür genutzten Komponenten aus. Voraus-
   Die Schritte müssen dann in ein entsprechendes Format             setzung dafür ist, dass die Eingabe am Ende ein textuelles
übersetzt werden und mittels geeigneter Prüfer, wie z. B.           Format liefert, welches von den Schnittstellen übertragen
PVS [14], ausgewertet werden. Zuvor können die Ein-                  werden kann. Diese Einschränkung ist für formale Einga-
gaben auf statische Bedingungen, wie Typprüfungen der                ben vertretbar.
Terme, Konsistenz der Substitutionen und Vorhandensein                   Die Umsetzung der Architektur als Plugin in ILIAS
von Variablen, geprüft werden. Diese Übersetzung ist für           ist noch nicht abgeschlossen. Erste Implementierungen für
zukünftige Arbeiten geplant. Auch die Problematik mit                den Mengenaufgabentyp aus Beispiel 1 sind erfolgt. Die
Folgefehlern bei dieser Aufgabenart ist noch nicht gelöst.           Umsetzung eines ähnlichen Fragetyps für Vielfachmen-
Verfahren mit Entscheidungsbäumen wie sie in [12] erfol-             gen zeigte, dass große Teile der Implementierung erneut
gen, wurden noch nicht weiter betrachtet.                             verwendet werden konnten. Nur die Funktion für den




SEELS 2018: Software Engineering für E-Learning-Systeme @ SE18, Ulm, Germany                                                   70
Vergleich der Menge wurde angepasst, damit mehrfach               erhält gleichzeitig deren Software-Architektur. Neue Fra-
auftretende Elemente auch erfasst werden.                         getypen können im Idealfall aus bereits bestehenden Kom-
   Auf Grundlage der für Plugins genutzten Schnittstellen        ponenten zusammengesetzt werden. Dies stärkt die Wie-
von ILIAS soll die Middleware umgesetzt werden. In den            derverwendbarkeit und beugt der Explosion der Anzahl
entsprechenden Funktionsaufrufen wird dann auf die Kom-           von Fragetypen vor. Der Aufwand der Entwicklung des
ponenten, wie Übersetzer und Eingabemasken, verwiesen.           notwendigen Übersetzers ist im Rahmen des Aufwandes
   Die Erweiterung um weitere Fragetypen erfolgt anschlie-        für die entsprechenden Adapter.
ßend in speziellen Modulen. Da diese nur sehr wenige                 Eine modulare Zusammensetzung neuer Fragetypen aus
Schnittstellen bereitstellen müssen, sollte die Implementie-     bestehenden Vergleichsoperatoren, Fremdsystemen und
rung weniger aufwendig sein als die Implementierung eines         im Idealfall auch GUI-Elementen beschleunigt die Ent-
Plugins. Der Vorteil gegenüber eines objektorientierten          wicklung angepasster Fragestellungen. Werkzeuge, die die
Ansatzes liegt dabei bei der anschließenden Kombination           Eingabe unterstützen, wie z. B. WIRIS [13], können in
der Module. Wie im Beispiel 1 vorgestellt, können Kompo-         neue oder bestehende Fragetypen integriert werden und
nenten wie die Maxima-Anbindung erneut genutzt werden.            es muss nur die entsprechende Verarbeitungssprache an-
   Die Integration von in Kapitel II vorgestellten Syste-         gepasst werden.
men wurde in dieser Arbeit nicht näher betrachtet, da               Die Architektur soll in ILIAS mithilfe eines Plugin
diese nicht alle Anforderungen an Erweiterbarkeit, Feed-          integriert werden. Damit sollen insbesondere auch komple-
back und Eingabeprüfung unterstützen. Die Verwendung            xere Aufgaben wie z. B. Induktionsbeweise, Konstruktion
vorhandener Plugins, wie dem Stack-Fragetyps, lässt die          von Grammatiken und Automaten oder Herleitungen im
Erweiterung um weitere formale Sprachen nicht zu.                 Logikkalkül implementiert werden.
   Bei der Umsetzung der Schnittstellen der Middleware
sind noch Fragen darüber offen, wie die Kommunikation                                       Literatur
mit dem Fremdsystem zu erfolgen hat, wenn dieses über             [1] M. Daniel, N. Köcher, and R. Küstermann, “E-Klausuren in der
einen längeren Zeitraum das Ergebnis berechnet. Weiter-               angewandten Mathematik – Herausforderungen & Lösungen.” in
hin wird die Bereitstellung von Feedback durch die Archi-              DeLFI, 2014, pp. 265–270.
                                                                   [2] I. open source e Learning e.V. (2017) ILIAS E-Learning.
tektur von ILIAS erschwert. Eine Rückmeldung für Stu-                [Online]. Available: https://www.ilias.de/
denten muss mit seiner Eingabe verknüpft in der Daten-            [3] (2017) Maxima, a computer algebra system. [Online]. Available:
bank gesichert werden, bevor sie dem Studenten angezeigt               http://maxima.sourceforge.net/
                                                                   [4] J. W. Rickel, “Intelligent computer-aided instruction: A survey
werden kann. Dieses Prinzip erscheint unveränderlich und              organized around system components,” IEEE Transactions on
könnte zu Problemen beim Generieren bzw. Auswerten der                Systems, Man, and Cybernetics, vol. 19, no. 1, pp. 40–57, 1989.
Rückmeldungen führen.                                            [5] J. Gonzalez-Sanchez, M. E. Chavez-Echeagaray, K. VanLehn,
                                                                       W. Burleson, S. Girard, Y. Hidalgo-Pontet, and L. Zhang,
   Bei einigen Versionsänderungen von ILIAS kam es zu                 “A system architecture for affective meta intelligent tutoring
Veränderungen in den Schnittstellen für Plugins. Inwieweit           systems,” in International Conference on Intelligent Tutoring
die Wartbarkeit einer als Plugin entwickelten Middlewa-                Systems. Springer, 2014, pp. 529–534.
re gegeben ist, kann nicht abgeschätzt werden. Kleinere           [6] M. Amelung, K. Krieger, and D. Rösner, “E-assessment as a
                                                                       service,” IEEE Transactions on Learning Technologies, vol. 4,
Anpassungen sind ohne weiteres umsetzbar, aber durch                   no. 2, pp. 162–174, 2011.
die auf Feature-Requests basierte Entwicklung sind die             [7] T. Richter, S. Rudlof, B. Adjibadji, H. Bernlöhr, C. Grüninger,
zukünftigen Entwicklungen von ILIAS nicht absehbar.                   C.-D. Munz, A. Stock, C. Rohde, and R. Helmig, “Viplab: a
                                                                       virtual programming laboratory for mathematics and enginee-
                                                                       ring,” Interactive Technology and Smart Education, vol. 9, no. 4,
                  V. Zusammenfassung                                   pp. 246–262, 2012.
   Die hier vorgestellte Architektur dient als Vorschlag für      [8] M. M. Madrid and M. Lohmann, “Ein Fragetyp für Pro-
eine effiziente Integration neuer textbasierter Fragetypen             grammieraufgaben als Erweiterung des Learning-Management-
                                                                       Systems ILIAS.” in DeLFI, 2015, pp. 341–343.
in E-Learning-Systemen. Die Auswertung der Eingaben                [9] M. Goedicke and M. Striewe, “10 Jahre automatische Bewertung
erfolgt dabei über externe Services. Ein zwischen Nut-                von Programmieraufgaben mit Jack-Rückblick und Ausblick,”
zereingabe und Komponente zum Auswertealgorithmus                      INFORMATIK 2017, 2017.
                                                                  [10] M. AL-Smadi and C. Guetl, “Service-oriented flexible and in-
geschalteter Übersetzer ermöglicht die Formulierung und              teroperable assessment: towards a standardised e-assessment
die syntaktische und semantische Überprüfung einer auf               system,” International Journal of Continuing Engineering Edu-
den Fragetypen angepassten domänenspezifischen Spra-                  cation and Life Long Learning, vol. 21, no. 4, pp. 289–307, 2011.
                                                                  [11] M. Al-Smadi and C. Gütl, “Soa-based architecture for a generic
che. Der Sprachentwurf und der Übersetzer können im                  and flexible e-assessment system,” in Education Engineering
einfachsten Fall auch reguläre Ausdrücke sein. Die syn-              (EDUCON), 2010 IEEE. IEEE, 2010, pp. 493–500.
taktische und semantische Überprüfung ermöglicht das           [12] C. Sangwin, Computer aided assessment of mathematics. OUP
                                                                       Oxford, 2013.
frühzeitige Erkennen von Eingabefehlern und senkt den            [13] D. Marquès, R. Eixarch, G. Casanellas, B. Martı́nez, and T. J.
Aufwand für Nachkorrekturen durch Autoren.                            Smith, “WIRIS OM tools: a semantic formula editor,” 2006.
   Die Entwicklung und Nutzung derartiger Frameworks              [14] S. Owre, J. M. Rushby, and N. Shankar, “PVS: A prototype
                                                                       verification system,” in International Conference on Automated
stärkt die Anwendbarkeit von E-Learning Systemen und             Deduction. Springer, 1992, pp. 748–752.




SEELS 2018: Software Engineering für E-Learning-Systeme @ SE18, Ulm, Germany                                                         71