Automated Grading of Class Diagrams - Bian, Weiyi; Alam, Omar; Kienzle, Jorg (2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), 2019)
Drawing UML diagrams, such as class diagrams, is an essential learning task in many software engineering courses. In course assignments, students are tasked to draw models that describe scenarios, model requirements, or system designs. The course instructor usually grades the diagrams manually by comparing a student's solution model with a template solution model made by the instructor. However, modelling is not an exact science, and multiple correct solutions or variants may exist. This makes grading UML assignments a cumbersome task, especially when there are many assignments to grade. Therefore, there is a need for an automated grading tool that aids the instructor in the grading process. This paper presents an approach for automated grading of UML class diagrams. We propose a metamodel that establishes mappings between the instructor solution and all the solutions for a class. The approach uses a grading algorithm that uses syntactic, semantic and structural matching to match a student's solutions with the template solution. We evaluate the algorithm on a real assignment for modeling a Flight Ticketing domain model for a class of 20 students and report our findings.