=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)==
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