Wodel-EDU: a model-driven engineering solution for exercise generation and evaluation

Wodel-EDU extends Wodel by generating educational exercises automatically. It supports seven exercise types:

Wodel-EDU uses four DSLs in addition to Wodel:

eduTest: configures questionnaires and defines exercises:

navigation=free
MultiChoiceDiagram simple {
    retry=no
    description for 'exercise4.model' = 'Select which of these automata
                                         accepts only "a*bab*"'
}
MultiChoiceEmendation complex {
    retry=no, weighted=no, penalty=0.0,
    order=options-descending, mode=checkbox
    description for 'exercise5.model' = 'Select the required changes so that
                                         the automaton accepts only "a+b+"'
}
MatchPairs rfs1, mts2, rfs2 {
    retry=no
    description for 'exercise6.model' = 'Select which of these options modifies
                                         the above automaton to accept only
                                         the language defined by ' %text('reg-exp')
}
MissingWords mtsrfs1 {
    retry=no
    description for 'exercise7.model' = 'Complete the following text with the
                                         options for each gap that modify this automaton
                                         to accept only the language defined by "ab(ba)*"'
}

modelDraw: configures the graphical visualisation of models. Currently, it supports Graphviz, Circuit Macros and PlantUML to render the models (optional):

metamodel "http://dfaAutomaton/1.0"

Automaton: diagram {
    State(isInitial): markednode
    State(not isFinal): node shape=circle
    State(isFinal): node shape=doublecircle
    Transition(src, tar): edge label=symbol.symbol
}

modelText: configures the textual representation of model elements (optional):

metamodel "http://dfaAutomaton/1.0"

>State: State %name
>State(isFinal): final
>State(isInitial): initial
>Transition: Transition %symbol.symbol
>Transition.tar: target
>Transition.src: source

mutaText: configures the text options used in multiple emendation, matching-pairs, missing-words and text drag-and-drop exercises (optional):

metamodel "http://dfaAutomaton/1.0"

>TargetReferenceChanged: Change %object from %fromObject
                         to %toObject with new %refName %oldToObject /
                         Change %object from %fromObject to %oldToObject
                         with new %refName %toObject
>AttributeChanged: Change %object to %oldValue /
                   Change %object to %value

An example web application containing tests generated with Wodel-EDU is available at www.wodel.eu.

We are also developing support for generating exercises for Moodle. A demonstration Moodle site is available at moodle.wodel.eu (user: demo; password: Wodel-Edu4Moodle).

The following short video demonstrates Wodel and Wodel-EDU:

New feature: Wodel-EDU now supports the automatic generation and correction of diagram-based Moodle exercises:

Download a Wodel-EDU example here.
Wodel-EDU samples (ZIP)
Wodel-EDU samples (TAR.GZ)

New feature: Wodel-EDU and SGAME support the automatic generation and correction of gamified diagram-based Moodle exercises, developed with Daniel López:

Wodel-EDU and SGAME: Learning through Games

Wodel-EDU and SGAME: Aprender jugando (video in Spanish)

  1.  Gómez-Abajo, P., Almonte, L., Garmendia, A., Guerra, E., Cañizares, P. C., Pérez-Soler, S., López-Fernández, D., Bucchiarone, A., de Lara, J., 2025. Generación y evaluación automática de ejercicios de diagramas de clases UML con Wodel-EDU. In Jornadas de Ingeniería del Software y Bases de Datos (JISBD), Córdoba.
  2.  Gómez-Abajo, P., Guerra, E., de Lara, J., 2023. Automated generation and correction of diagram-based exercises for Moodle. In Computer Applications in Engineering Education (Wiley).
  3.  Gómez-Abajo, P., Guerra, E., de Lara, J., 2023. Wodel-EDU: A tool for the generation and evaluation of diagram-based exercises. In Science of Computer Programming (Elsevier).
  4. Gómez-Abajo, P., Rico-Fernández, A., Guerra, E., de Lara, J., 2021. Wodel-EDU: An MDE solution for the generation and evaluation of diagram-based exercises. In ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MoDELS), Tokyo, Virtual. Best tool demo award.
  5.  Gómez-Abajo, P., Guerra, E., de Lara, J., Merayo, M. G., 2020. Systematic engineering of mutation operators. In Journal of Object Technology, Vol 19 (October). pp.:3:1-16.
  6.  Gómez-Abajo, P., 2020. A domain-specific language for model mutation. Thesis document. Doctor of Philosophy (PhD) in Computer Science and Engineering, Universidad Autónoma de Madrid. Excellent cum laude.
  7.  Gómez-Abajo, P., Guerra, E., de Lara, J., Merayo, M. G., 2018. A tool for domain-independent model mutation. In Science of Computer Programming (Elsevier), Vol 163 (October). pp.:85-92.
  8.  Gómez-Abajo, P., Guerra, E., de Lara, J., 2017. A domain-specific language for model mutation and its application to the automated generation of exercises. In Computer Languages, Systems and Structures (Elsevier), Vol 49 (September). pp.:152-173.
  9.  Gómez-Abajo, P. , 2016. A DSL for model mutation and its applications to different domains. In Doctoral Symposium at the International Conference of Model-Driven Engineering Languages and Systems 2016 (MoDELS), Saint-Malo.
  10.  Gómez-Abajo, P. , 2016. A framework for the automated generation of exercises via model mutation. Final master's thesis. Master's Program (MSc) in ICT Research and Innovation, Universidad Autónoma de Madrid. Special mention.
  11.  Gómez-Abajo, P., Guerra, E., de Lara, J., 2016. Wodel: a domain-specific language for model mutation. In ACM Symposium on Applied Computing 2016 (SAC), pp.:1968-1973, Pisa.

Acknowledgements

This work received funding from the following projects:

  1.  PID2021-122270OB-I00, project “FINESSE”, funded by the Spanish Ministry of Science (2022–2025).
  2.  TED2021-129381B-C21, project “SATORI-UAM”, funded by the Spanish State Research Agency (2022–2024).
  3.  Marie Skłodowska-Curie grant agreement No 813884, project “Lowcomote”, funded by the European Union (2019–2023).
  4.  P2018/TCS-4314, project “FORTE”, funded by the R&D programme of the Madrid Region (2019–2023).
  5.  RTI2018-095255-B-I00, project “MASSIVE”, funded by the Spanish Ministry of Science (2019–2022).
  6.  TIN2014-52129-R, project “Flexor”, funded by the Spanish Ministry of Economy (2015–2018).
  7.  S2013/ICE-3006, project “SICOMORo”, funded by the R&D programme of the Madrid Region (2014–2018).
  8.  TIN2011-24139, project “Go-Lite”, funded by the Spanish Ministry of Economy (2012–2015).