<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>S. Díaz);</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Trajecta: a model-driven approach for curricular analysis with Process Mining</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Santiago Díaz</string-name>
          <email>santiago.nicolas.diaz.conde@fing.edu.uy</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrea Delgado</string-name>
          <email>adelgado@fing.edu.uy</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Calegari</string-name>
          <email>calegari@ort.edu.uy</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Montevideo</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Uruguay</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Educational Process Mining, Curricular analysis, Students' trajectories, Model Driven Engineering</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Instituto de computación, Facultad de Ingeniería, Universidad de la República</institution>
          ,
          <addr-line>Julio Herrera y Reissig 565, 11300</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Microsoft Windows, GNU/Linux - Requires Firefox</institution>
          ,
          <addr-line>Chrome</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Universidad ORT Uruguay</institution>
          ,
          <addr-line>Cuareim 1451, 11100 Montevideo</addr-line>
          ,
          <country country="UY">Uruguay</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>Curricular analysis aims to gain insight into the strengths and weaknesses of a curricular plan, identifying problems such as deviations in students' trajectories and bottlenecks, as well as evaluating the flexibility and constraints of the paths. Educational Process Mining (EPM) ofers a process-centric perspective on curricular data. A key challenge for EPM is the availability of tools for curricular analysis that non-technical users can interpret, are open-source, and are readily available for use. In this paper, we present the Trajecta tool, which provides a model-driven approach for curricular analysis using Process Mining, benefiting both students and academic managers in managing curricular data. The tool ofers a web interface, a Java component with a generic metamodel for modeling curricular programs, and a microservices Python component that leverages the PM4Py library to provide process mining functionalities. It was evaluated using an example application with real data from the Computer Science program at the Facultad de Ingeniería (FING), Universidad de la República (UdelaR).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Value
Trajecta
1.2
GPL-3.0
Metadata description
Tool name
Current version
Legal code license
Download/Demo URL
Documentation URL
Source code repository
Screencast video
Languages, tools and services used
Java, Python, Ecore, PM4Py, JavaScript, HTML, Flask, Servlets,
Supported operating environment
https://gitlab.fing.edu.uy/open-coal/trajecta.git
https://gitlab.fing.edu.uy/open-coal/trajecta
https://gitlab.fing.edu.uy/open-coal/trajecta
https://gitlab.fing.edu.uy/open-coal/trajecta/-/raw/main/demo.mp4
CEUR</p>
      <p>ceur-ws.org
(D. Calegari)</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        Curricular analysis [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] aims to gain insights into the strengths and weaknesses of a curricular
plan. This includes identifying problems like students’ trajectory deviations, curricular units that
define bottlenecks and their impact, and evaluating paths’ flexibility and constraints to detect
improvement opportunities. Process Mining [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] plays a key role in this domain. Curricular
plans serve as a reference model for students to navigate their studies throughout their career,
and the actual individual trajectories of students over this reference model define possible paths
within it. Educational Process Mining (EPM) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] provides such a view over curricular data.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], the state of the art in Process Mining for curricular analysis is presented and discussed.
One key specific challenge identified in that work concerns the availability of tools for curricular
analysis that can be interpreted by non-technical users, i.e., tools that can be understood and
used by domain experts. Although some tools exist, such as [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ], they are not freely available for
use by students and academic managers. Additionally, to support comparative studies between
careers at diferent institutions and even across diferent countries, a common language is
needed to model curricular plans and trajectories.
      </p>
      <p>To close this gap, we propose the Trajecta tool, which supports curricular analysis for both
students and academic managers, helping them manage curricular data. The Trajecta tool
ofers a model-driven approach for modeling curricular programs. It is based on a metamodel
that defines common yet generic concepts and relations for key elements, such as plans and
courses, which can be used to model diferent careers from various institutions. It provides
key functionalities, such as curricular trajectory path recommendations for students, and the
application of key process mining analysis techniques, including discovering students’ trajectory
models, analyzing deviations, identifying bottlenecks, and generating data statistics for academic
managers. The tool was evaluated using real data for the Computer Science career at the Facultad
de Ingeniería (UdelaR), validating its support for curricular modeling and analysis.</p>
      <p>The rest of the document is organized as follows: Section 2 describes the functionalities of the
tool, Section 3 introduces the architecture of the tool and technologies used, Section 4 discussed
the maturity of the tool and finally Section 5 presents some conclusions and future work.</p>
    </sec>
    <sec id="sec-3">
      <title>2. Trajecta Tool</title>
      <p>The tool follows a model-driven approach, which, at its core, is a metamodel for curricular
programs depicted in Figure 1, allowing the modeling of a wide range of study programs.
It integrates key concepts, such as institutions and their careers, along with concrete study
plans for a career, i.e., a set of partially ordered curricular units that a student must complete.
Moreover, it supports more dynamic concepts, such as instances of curricular units (i.e., courses
over a given period), various types of periodic evaluations (partial, course, and exam), and
students’ enrollments in courses and assessments, along with their corresponding grades. A
curricular plan is defined by creating a model that complies with the metamodel, which serves
as the reference model for the curricular plan and is used for subsequent analysis and evaluation.</p>
      <p>The tool provides two main categories of functionalities, each one designed for a specific
user: i) curricular trajectory recommendation, which aims for students that want to know the
available paths they can follow at any given moment, and ii) curricular trajectory analysis, which
aims for academic managers that want to evaluate how students are traversing the curricula
defined, where are the deviations, the bottlenecks, and diferent statics. In the following, these
two categories and the main functionalities provided are introduced, illustrating the tool’s use
with an application example using real data from the Computer Science career at the Faculty of
Engineering (UdelaR).</p>
      <sec id="sec-3-1">
        <title>2.1. Curricular trajectory recommendation</title>
        <p>Students can model their academic trajectory by entering information about their career goals,
course plans, and evaluation results, which are then visualized as a graph. Figure 2a presents an
example of a trajectory for a student of the Computer Science career at the Faculty of Engineering
(UdelaR). The tool provides recommendations on curricular units that the student can enroll in,
using a color-coded scheme: green for fully approved, yellow for partially approved, and white
for available curricular units for enrollment.</p>
        <p>(a) Example student trajectory
(b) Example career plan curricula</p>
        <p>Students can access detailed information about curricular units, including prerequisites,
associated subjects (e.g., mathematics), and other attributes. The curricula can be visualized
as a directed graph, where arrows represent prerequisite relationships. For example, Figure
2b illustrates that enrollment in “Programación 2” (Programming 2), of the Computer Science
career at the Faculty of Engineering (UdelaR), requires prior approval of “Programación 1”
(Programming 1). This supports students in planning their studies, understanding the requirements
for specific courses, and identifying available options at each stage of their career.</p>
      </sec>
      <sec id="sec-3-2">
        <title>2.2. Curricular trajectory analysis</title>
        <p>
          For academic managers, Trajecta integrates process mining techniques through the PM4Py [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]
library. This functionality allows managers to analyze student activity logs and compare them
with a reference model, i.e., the curricular plan.
        </p>
        <p>The tool currently supports:
1. Discovery of students’ academic trajectories,
2. Statistical analysis of curricular units and curricular plans,
3. Visualization of performance graphs and trajectory graphs in multiple formats,
4. Evaluation of students’ performance over time,
5. Conformance checking for deviations between student trajectories and curricular plans.</p>
        <p>Although these are commonly used process mining perspectives for curricular analysis, the
user interface presents its functionalities in educational terminology to be easily understood by
domain people. Through these capabilities, academic managers gain insight into how students
progress, where deviations occur, and how curricular structures influence academic performance.
Figure 3a depicts an example of Petri net discovery of students’ trajectories, showing other
discovery options provided by the tool, and Figure 3b presents an example of deviations showing
alignments between variants of student trajectories with respect to the curricular plan (reference
model).
(a) Discovered Petri net from the computer science (b) Alignment graph between students from 2018
students’ event log to 2021 to the curricular plan</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>3. Architecture</title>
      <p>
        The tool is presented as a web application, where the front-end can be deployed on any static
server or service, such as GitHub Pages, or accessed directly from disk by opening the .html
ifles. It uses vis.js to visualize the trajectory of a student and the curriculum of a career plan.
It employs choices.js to enable searching within the select inputs of the tool. The backend is
divided into microservices: the process mining ones are written in Python and use PM4Py [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
and the model-driven ones are written in Java and use the Eclipse Modeling Framework (EMF)1.
      </p>
      <p>The Java application provides functionalities for curricula trajectory recommendation,
including a metamodel with EMF support. The Python microservices support the process mining
functionalities for the category of curricular trajectory analysis. The Java component also
converts a student trajectory that is written in EMF to an event log. The Python component,
designed with microservices, allows for easy extension of functionalities.</p>
    </sec>
    <sec id="sec-5">
      <title>4. Maturity of the tool</title>
      <p>The tool has been evaluated using real data from the Computer Science program at the Faculty
of Engineering (UdelaR). The model-driven approach was validated through the modeling
of the curricular plan and the use of its functionalities by university students (with access
to the front-end component and Java functionalities)2. The process mining component, i.e.,
the PM4Py microservices backend, was validated using real data from the computer science
career, specifically students’ trajectories from 2018 to 2021. The event logs contain 2,297 cases
(students) and 27,920 events, along with 1,708 variants, spanning from February 7, 2018, to
March 5, 2021. Some performance limitations were identified during log discovery and graph
visualization, such as the discoveries being executed in a background thread and not notifying
1https://eclipse.dev/emf/
2https://trajecta.fapret.com/
the user when they are finished. Although initial tests were conducted primarily by students
for the model-driven part, we plan to extend it for the process mining analysis component.</p>
    </sec>
    <sec id="sec-6">
      <title>5. Conclusions</title>
      <p>We have presented the Trajecta tool, which provides a model-driven approach for curricular
analysis with Process Mining. The tool is open-source and available for free use. It provides
support for non-technical users and facilitates the modeling and analysis of diferent careers,
serving as a basis for comparative analysis. We are integrating additional process mining
functionalities to support specific educational analyses, focusing on more user-friendly
visualizations than those already provided. We are also evaluating the adaptability of the metamodel
to model various types of study programs at diferent universities. This will also provide the
basis for comparative process mining analysis between diferent institutions and countries.</p>
    </sec>
    <sec id="sec-7">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the authors used Grammarly to check grammar and
spelling, paraphrase, and reword. After using them, the authors reviewed and edited the content
as needed, taking full responsibility for the publication’s content.</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgments References</title>
      <p>We thank the Facultad de Ingeniería (FING), Universidad de la República (UdelaR) for providing
the academic data and the Computer Engineering career curricula used in the demonstration.
We also thank Santiago Freire, who contributed to the initial MDE-based development.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>I.</given-names>
            <surname>Hilliger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Aguirre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Miranda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Celis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pérez-Sanagustín</surname>
          </string-name>
          ,
          <article-title>Lessons learned from designing a curriculum analytics tool for improving student learning and program quality</article-title>
          ,
          <source>Journal of Computing in Higher Ed</source>
          .
          <volume>3</volume>
          (
          <year>2022</year>
          )
          <fpage>633</fpage>
          -
          <lpage>657</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          , Process Mining - Data Science in Action, 2nd Ed., Springer,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A. H.</given-names>
            <surname>Cairns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Gueni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fhima</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cairns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>David</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Khelifa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dautier</surname>
          </string-name>
          ,
          <article-title>Process mining in the education domain</article-title>
          ,
          <source>Int. journal on advances in intelligent systems 8</source>
          (
          <year>2015</year>
          )
          <fpage>219</fpage>
          -
          <lpage>232</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D.</given-names>
            <surname>Calegari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Delgado</surname>
          </string-name>
          ,
          <article-title>A systematic review on process mining for curricular analysis</article-title>
          ,
          <source>WIREs Data Mining and Knowledge Discovery</source>
          <volume>15</volume>
          (
          <year>2025</year>
          )
          <article-title>e70005</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Pechenizkiy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Trcka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. D.</given-names>
            <surname>Bra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Toledo</surname>
          </string-name>
          , CurriM: Curriculum mining,
          <source>in: 5th Intl. Conf. on Educational Data Mining</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>216</fpage>
          -
          <lpage>217</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Wagner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Helal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Roepke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Judel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Doveren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Görzen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Soudmand</surname>
          </string-name>
          , G. Lakemeyer,
          <string-name>
            <given-names>U.</given-names>
            <surname>Schroeder</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. P. van der Aalst</surname>
          </string-name>
          ,
          <article-title>A combined approach of process mining and rule-based AI for study planning and monitoring in higher education</article-title>
          ,
          <source>in: Process Mining Workshops (ICPM</source>
          <year>2022</year>
          )
          <article-title>Revised Selected Papers</article-title>
          , volume
          <volume>468</volume>
          <source>of LNBIP</source>
          , Springer,
          <year>2022</year>
          , pp.
          <fpage>513</fpage>
          -
          <lpage>525</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.</given-names>
            <surname>Berti</surname>
          </string-name>
          , S. van Zelst,
          <string-name>
            <surname>W. van der Aalst</surname>
          </string-name>
          ,
          <article-title>Process mining for python (pm4py): Bridging the gap between process-and data science</article-title>
          ,
          <source>in: ICPM Demo Track</source>
          <year>2019</year>
          , volume
          <volume>2374</volume>
          , CEUR Workshop Proceedings,
          <year>2019</year>
          , pp.
          <fpage>13</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>