In any non-trivial application, the human aspects play a key role. Indeed, if one talks about modeling a complete software application, modeling the user(s) of the application must also be part of the process.

Applications should aim to provide the best possible user experience. For that purpose, both the users’ behaviors but also their characteristics (preferences, cultural background, accessibility, etc.) need to be modeled. Modeling such user traits would also open the door to use emerging technologies, both hardware (e.g. IoT devices, VR/AR…) and software (e.g. machine learning (ML) or large language models (LLMs)), to create more personalized applications.

Yet, there appears to be a lack of focus on modeling users in existing MDE approaches [2,5,6,7], which hampers leveraging these new possibilities in MDE-driven development processes. User models, user features, human factors have all been studied in past MDE research works but it seems that the domain lacks both a unified user model and methods on how incorporate it during the engineering process.

In our paper, “User Modeling in Model-Driven Engineering: A Systematic Literature Review”, co-authored by Aaron Conrardy, Alfredo Capozucca and Jordi Cabot, accepted at the 21st European Conference on Modelling Foundations and Applications (ECMFA 2025), we provide an overview on the state of user modeling in MDE by performing a systematic literature review (SLR) and discuss future steps based on the findings.

Specifically, we argue for the need of a renewed emphasis on user modeling and, in particular, the need for a unified user model, covering a rich number of dimensions, to facilitate the specification of complex user profiles. These models would then enable code-generation processes targeting the development of applications with adaptive features such as intelligent user interfaces.

UPDATE: The published and peer-reviewed version is now available: “User Modeling in Model-Driven Engineering: A Systematic Literature Review” (open access)

What is a user model (in MDE)?

In general, a user model describes one or more application users, including information on the user dimensions that are relevant to the application at hand [8,9]. Specifically, dimensions intrinsic to the users, such as preferences, goals, behaviors or demographic details, are represented in a structured manner as part of a user model. In theory, these models should then let the application know its user(s) and provide services adapted to such user dimensions. In MDE, this definition remains largely valid, only the importance of a concrete formalization increases (via a metamodel, grammar, etc.).

Additionally, user modeling refers to the creation process of a user model in an application. Essentially, given a user and the different dimensions of the user (meta)model, user modeling involves assigning to a user a set of values for each dimension (the result also called the user profile). One usually differentiates between static user dimensions that remain the same during a given runtime session (e.g. age), and dynamic ones, that could continuously be updated (e.g. mood).

Research Methodology

For the SLR, we adhered to the well-established guidelines defined by Kitchenham [10]. SLRs have the purpose to provide an overview of the existing contributions for a specific research question or topic, while guaranteeing an objective, reproducible and exhaustive result. Regarding the search process, a summary of the results is provided in Figure 1. From 526 initial unique papers, we ended up with 30 papers post-snowballing.

Figure 1. Summary of the search process showcasing the amount of papers per round

As our goal was to identify the state of user modeling in MDE, we defined the following research questions:

  • RQ1: Which dimensions of the user are modeled?
    • Which intrinsic attributes of the user are represented in a model?
  • RQ2: How is the user model used?
    • What was the user model used for in an application and in which domain?
  • RQ3: Are the user dimensions fixed or dynamically evolving?
    • Are the values of the models set once or are they continuously profiled?
  • RQ4: How are user models implemented in a given application?
    • How was the model formalized and is it part of a code generation pipeline with the goal to facilitate the personalization of the target application?

To answer these RQs, we defined features to extract data from the reviewed literature into.

Further details on the SLR methodology, the extracted data and objective insights are available in the full paper.

Summary of Findings

In the following, we will discuss the findings we made by interpreting the synthesized data.

Lack of coverage of (complex) user dimensions

For the data extraction, dimension categories were defined (based on existing taxonomies) to help classify dimensions into. The dimensions found in the user models in the reviewed papers were then mapped to these categories. The result can be seen in Figure 2, the complete list of extracted dimensions is available in the paper.

Figure 2. Number of dimension categories per reviewed paper (N=30)

We generally see a tendency to model “easier” dimensions such as user competencies (education level, language skills…), preferences (preferred content, preferred modality,…) or demographic information (age, name, gender,…) than more “complex” ones such as Personality (personality traits, motivational profile,…) or Emotions (current happiness/sadness level,…). The limited coverage shows that most proposals do not allow to fully model a user, leaving out dimensions that could provide better personalization opportunities. We purposefully use the terms “easy” and “complex” dimensions, as we believe that one reason for the lack of complex dimensions is the fact that these usually require more effort and continuous profiling to get right. Indeed, compared to an attribute such as the name of the user, which can be simply requested using a form, emotions vary a lot and would need to be constantly measured as to correctly reflect a user’s state at a given time.

This is even more the case when analyzing the works that, given a user model, implement any kind of continuous or dynamic profiling of user, where we found out that only 4 out of 30 reviewed did so.

A fragmented and small community

Relative to the importance we attribute to personalization and user modeling, we believe the low number of proposals shows that the MDE community does not see modeling the user as a first class citizen, but rather, a required side-product. Additionally, one notable observation we made was the fact that most proposals (except for 5 out of the 30, as can be seen in Figure 3) do not build on top of existing user model formalizations, but instead build a user model from scratch, wasting resources to re-invent the wheel, leading to different yet overlapping solutions.

Figure 3. Papers that cited other user model proposals (edge direction symbolizes citation direction)

Interplay between machine learning and user models

As highlighted earlier, there is a lack of works tackling dynamic user dimensions, requiring continuous monitoring and updating. We believe ML could enable such dynamic approaches, leveraging technologies like Natural Language Processing or image recognition to profile various user dimensions. The former could be used to assess a user’s language skill level and the latter to recognize emotions of a user using their face.  Unfortunately, almost none of the reviewed works (except for 5) mention ML. One possible reason is the fact that most of the papers were published at a time where ML was not so accessible as today.

Similarly, employing user models as input of an ML pipeline to produce AI components tailored to user profiles, while a promising approach, is missing completely from the reviewed literature. Given that a significant portion of ML tasks leverage user data and MDE has already been combined with ML, we believe there is an opportunity to leverage MDE and to enhance ML models and algorithms with user models, by providing easy-to-use pipelines to train ML components with user data.

Limited exploitation of the user models

While we found 30 proposals to formalize user models, less than half of them provide some sort of tool support (see Figure 9). This reduces the usefulness of modeling the user models, as they cannot be used to automate parts of the application. At the very least, we believe a modeling tool should be available to easily create user models with generators or interpreters to parse them and produce software to enhance the underlying application. Ideally, quality evaluation of the models should also be part of these tools, such as verifying for contradictions (e.g. deaf person should not have audio as preferred output modality), well-formedness (e.g. age cannot be over 200) or inter-consistency (e.g. user dimensions required by adaptations should also be part of the created user model).

Figure 9. Available generators and modeling tools

Conclusion and Future Work

The results confirmed previous assumptions that there is a lack of unification when modeling users, with disconnected proposals that cover a limited amount of user dimensions. Additionally, there is a focus on dimensions that are easier to profile, missing out on opportunities to leverage AI technologies to infer more complex user dimensions, limiting the personalization potential. The return of investment on the user modeling languages is also limited, given that tools leveraging the models are scarce and themselves limited in terms of added value.

The roadmap follows from the discussion points above, with a first milestone to have the community agree on a unified and re-usable user model. Of course, one of the biggest challenges is to create an accurate depiction of the different facets representing a user. While the modeling community consists of experts in modeling and its related concepts, modeling a human is a multidisciplinary endeavor, requiring knowledge in fields such as psychology or medicine. Thus, to accurately model a human, an expert would need to be part of the creation or at the very least validate the model. A first step toward a unified user model results from re-using this SLR’s collected user dimensions as a basis for a user model and enriching it with dimensions learned from user profiling in other domains (e.g. sociology).

On the technical side, we expect to see a new generation of ML-based proposals to automatically derive user profiles from the analysis of user interactions (e.g. extracting the user’s persona based on a conversation with an agent) and automatic pipelines capable of personalizing application’s based on the user’s needs and profile. In that sense, code generators ingesting the user models would be required to include these new technologies for user profiling and application personalization, where the benefits of modeling are highlighted again, as the model would remain the same while only the underlying technology would need to adapted.

References

[1] Brambilla, Marco & Cabot, Jordi & Wimmer, Manuel. (2012). Model-Driven Software Engineering in Practice.

[2] Grundy J. (2021). Impact of End User Human Aspects on Software Engineering. In Proceedings of the 16th International Conference on Evaluation of Novel Approaches to Software Engineering – Volume 1: ENASE, ISBN 978-989-758-508-1, pages 9-20.

[3] Robinson, Laura & Schulz, Jeremy & Blank, Grant & Ragnedda, Massimo & Ono, Hiroshi & Hogan, Bernie & Mesch, Gustavo & Kretchmer, Susan & Hale, Timothy & Drabowicz, Tomasz & Yan, Pu & Wellman, Barry & Patel, Molly-Gloria & Quan-Haase, Anabel & Dunn, Hopeton & Casilli, Antonio & Tubaro, Paola & Carveth, Rod & Khilnani, Aneka. (2020). Digital inequalities 2.0: Legacy inequalities in the information age. First Monday.

[4] Planas, E., Daniel, G., Brambilla, M. et al. Towards a model-driven approach for multiexperience AI-based user interfaces. Softw Syst Model 20, 997–1009 (2021).

[5] Grischa Liebel, Jil Klünder, Regina Hebig, Christopher Lazik, Inês Nunes, Isabella Graßl, Jan-Philipp Steghöfer, Joeri Exelmans, Julian Oertel, Kai Marquardt, Katharina Juhnke, Kurt Schneider, Lucas Gren, Lucia Happe, Marc Herrmann, Marvin Wyrich, Matthias Tichy, Miguel Goulão, Rebekka Wohlrab, Reyhaneh Kalantari, Robert Heinrich, Sandra Greiner, Satrio Adi Rukmono, Shalini Chakraborty, Silvia Abrahão, and Vasco Amaral. 2024. Human factors in model-driven engineering: future research goals and initiatives for MDE. Softw. Syst. Model. 23, 4 (Aug 2024), 801–819.

[6] S. Abrahão et al., “User Experience for Model-Driven Engineering: Challenges and Future Directions,” 2017 ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS), Austin, TX, USA, 2017, pp. 229-236, doi: 10.1109/MODELS.2017.5

[7] Michael, J., Bork, D., Wimmer, M. et al. Quo Vadis modeling?. Softw Syst Model 23, 7–28 (2024).

[8] Rich, E. (1979). User modeling via stereotypes. Cognitive Science, 3(4), 329-354.

[9] Purificato, E., Boratto, L., & Luca, E. W. D. (2024). User modeling and user profiling: A comprehensive survey.

[10] Kitchenham, B., & Charters, S. (2007). Guidelines for performing systematic literature reviews in software engineering (Tech. Rep. No. EBSE 2007-001). Keele University and Durham University. (Joint Report)

Pin It on Pinterest

Share This