Skip to content

Commit decf32e

Browse files
committed
Add doc
1 parent 0963a32 commit decf32e

6 files changed

Lines changed: 120 additions & 0 deletions

File tree

doc/doc/doc.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
# Introduction
2+
This is a research project that aims to integrate automated UML assessment into Meitrex. The system will incorporate Hylimo to enable the creation and submission of UML assignments. Student solutions will then be automatically evaluated based on reference solutions provided by tutors.
3+
4+
**What is HyLiMo?** Hylimo is a hybrid diagramming tool that enables users to create and edit diagrams, such as UML diagrams, by using a combination of textual code (a domain-specific language) and a graphical editor. Changes made to either the code or the visual representation are automatically synchronised, ensuring both views always remain consistent.
5+
This paper consists of:
6+
- *Requirements*
7+
- Architecture and Decisions
8+
- HyLiMo Integration
9+
- Automated UML Assessment
10+
- Evaluation
11+
- Functionalities (Developres + Lecturer Guide)
12+
- Future Work
13+
14+
# Requirements
15+
Based on the objectives of this research project, the following section defines the high-level requirements for integrating automated UML assessment into Meitrex using HyLiMo.
16+
17+
18+
- Creating a UML assessment (Task and Solution)
19+
- Working on a UML assessment
20+
- Saving a UML assessment solution
21+
- Submitting a UML assessment
22+
- Redoing a UML assessment (if possible)
23+
- Evaluate a UML diagram
24+
- View Submitted UML Assessment
25+
- Lecturer Views and Manages Student Submissions
26+
27+
For Use Cases checkout: https://docs.google.com/document/d/1zKl2Vpk7k4WUOQumee5xeIibMjcerCa-Pp7XphvoagM/edit?tab=t.0
28+
29+
30+
# Architecture and Decisions
31+
32+
## Systemarchitecture
33+
Show MEITREX + HyLiMo System Context --> Component Diagrams
34+
35+
36+
37+
## Domain Model
38+
The diagram shows the domain model for the UML assignment. An UmlExercise is the task created by the tutor. For each exercise, a student has a UmlStudentSubmission, which contains all their attempts. Each submission can include multiple solutions (UmlStudentSolution). Every solution contains a UML diagram and can receive feedback with points and comments.
39+
40+
![Domain Model](img/class_diagram.png)
41+
42+
43+
## HyLiMo Integration
44+
One of the main tasks was the integration of HyLiMo into MEITREX. First, all required components had to be identified. The needed HyLiMo code was originally built using Vite. This code served as the basis for the migration into our Next.js (React) project. As part of this process, the application had to be adapted and converted from the Vite setup to the Next.js architecture.
45+
- TBD: HyLiMo Architektur Diagram
46+
47+
48+
## Automated UML Assessment
49+
The second major task was the automatic evaluation of UML diagrams based on the tutor’s solution.
50+
51+
The sequence diagram illustrates, in a simplified manner, how a student’s UML solution is processed and evaluated across the system. First, the student creates and submits a UML diagram in the frontend, which then transforms the diagram code into a structured semantic model. This model is sent to the backend, where the UmlEvaluationService delegates the evaluation. The backend interacts with a large language model (LLM) in two steps: it first performs an analysis by comparing the student’s semantic model with the tutor’s reference model, and then conducts a grading step that generates points and textual feedback based on the analysis results. Finally, the computed feedback is returned through the backend to the frontend and presented to the student
52+
53+
54+
![Sequence Diagram of the Evaluation](img/sequence_eval.png)
55+
56+
### Semantic Model (Sequence Diagram) ???
57+
TBD
58+
59+
### Prompt Engineering
60+
TBD
61+
62+
# Evaluation
63+
## Goals
64+
The goal of this evaluation is to assess how accurately the automated UML assessment system can replicate human grading. In particular, we investigate whether the system can produce scores comparable to lecturer evaluations and how different large language models influence the assessment quality.
65+
## Setup
66+
For the evaluation, we used the UML diagrams that students had submitted in previous lecture assignments. These were originally graded by by human lecturers.
67+
68+
69+
To enable automated processing, the student models were converted into Hylimo code. We used tutor-provided submissions that achieved full marks as reference solutions, representing correct and complete UML models.
70+
71+
72+
## Methodology
73+
An evaluation script was developed to automatically assess the converted UML models against the reference tutor solutions. In addition, multiple large language models were tested to compare their performance in grading UML diagrams. Each submission was evaluated five times to account for variance in the grading results.
74+
75+
76+
## Metrics
77+
The evaluation is based on the following metrics:
78+
Agreement between automated scores and lecturer grades
79+
Performance differences between the tested LLMs
80+
...
81+
## Result
82+
TBD
83+
84+
85+
# Functionalities
86+
## User Guide for Lecturer
87+
### Introduction
88+
Tutors can create and provide model solutions for UML assignments within Hylimo. Student submissions are then automatically evaluated against the tutor solution.
89+
For more information about HyLiMo check out: https://hylimo.github.io/docs/docs.html
90+
91+
92+
#### Functionalities
93+
#### Create UML assignment
94+
UML assignments can be created in the same way as other assignments
95+
96+
![Create Uml Assignment](img/create_uml_assignment.png)
97+
98+
When selecting 'UML Assignment', a pop-up window opens where the assignment can be created.
99+
100+
![Pop-Up Create Uml Assignment Metadata](img/create_uml_assignment_metadata.png)
101+
102+
In the pop-up window, similar to other assignments, the metadata can be filled in. Below that, the UML-specific fields are available.
103+
104+
![Pop-Up Create Uml Assignment Uml Data](img/create_uml_assignment_uml_data.png)
105+
106+
The UML Assignment creator includes a rich text editor where the task description can be written. In addition, grading criteria can be defined to support the LLM-based evaluation of the diagram.
107+
In the settings, you can set the total number of points and the passing threshold, as well as choose whether the model solution should be displayed. The tutor can also provide a HyLiMo reference solution, which is then used as the basis for the LLM’s evaluation.
108+
109+
#### Modify UML assignment
110+
#### UML Assignment Overview
111+
112+
113+
## User Guide for Student
114+
### Introduction
115+
For UML assignments, students complete tasks within Hylimo by creating their own UML models. Their submissions are automatically evaluated, allowing them to receive feedback.
116+
For more information about HyLiMo check out: https://hylimo.github.io/docs/docs.html
117+
118+
119+
#### Functionalities
120+
#### Work on UML Assessment

doc/doc/img/class_diagram.png

39.1 KB
Loading
72.2 KB
Loading
44.3 KB
Loading
64.1 KB
Loading

doc/doc/img/sequence_eval.png

34.1 KB
Loading

0 commit comments

Comments
 (0)