Keywords

1 Introduction

The increasing complexity of modern systems is one of the main challenges for software development [1, 2]. Particularly, those systems operate in highly distributed scenarios, in which the heterogeneity of devices, computing platforms, and user profiles predominates; for example, screen size and resolution, storage capacity, bandwidth, operating systems, knowledge, experience, and capabilities of users, among others [3, 4]. In addition, modern systems are characterized by their ubiquity, looking for the permanent adaptation of user requirements based on their mobility and context [4, 5].

The User Interface (UI) is the border between man and machine; therefore, it is responsible for ensuring that the user experience is satisfactory [1]. However, the UI is one of the aspects most affected by the growing complexity of systems. As a result, Its development and maintenance activities require more effort, time, and resources [6, 7]. In addition, about half the budget is invested in UI implementation tasks [8]. Therefore, it becomes essential to have software engineering methods and tools to facilitate and speed up the tasks of implementing and maintaining the UI requirements [1].

Model-Driven Engineering (MDE) emerges as an appropriate approach to abstracting the complexity of systems and improving their evolution [6]. MDE proposes the use of domain models as first-class citizen artifacts for the development or operation of systems [9]. Those models describe the system from different viewpoints or perspectives (e.g., architecture, behavior, UI), considering different abstraction levels [10]. In particular, the models can be used to capture the common characteristics of the UI and, through transformations, produce multiple implementations adjusted to the heterogeneity of the technological platforms, the context, or the users’ needs [11]. Also, those models are used to reason about the state and behavior of the system at runtime in order to adjust its UI [12]. Thus, MDE provides important benefits to increase developers’ productivity and reduce the system maintenance related to the UI.

In the literature, several systematic reviews [13,14,15,16,17,18] can be found that address, in general, the state of knowledge of MDE or that study other system perspectives different from the user interface. Hence, there is no an updated systematic review oriented to model-driven user interface engineering that evidences its particular state in order to understand aspects, such as the types of platforms and solutions to which the existing proposals are oriented, the models, languages, and tools they use, the empirical evaluation methods they apply, among others.

Consequently, this paper presents a systematic literature review to understand the state of the art on the use of MDE to support the development of software applications’ UI, for which the guidelines of Kitchenham et al. [19] have been followed. This study aims to answer the following research questions: i) How is MDE used to build and maintain software user interfaces? and ii) How is the research addressed in studies related to using MDE to build and maintain software user interfaces? First, 1708 primary studies were automatically retrieved from multiple research sources. Then, applying inclusion and exclusion criteria, 51 articles on MDE proposals focused on the software user interface were selected. In addition, a quality assessment of the selected studies was carried out to classify them according to their scientific relevance. Finally, quantitative and qualitative methods based on extraction criteria were applied to answer the proposed research questions.

The structure of this paper is as follows: Sect. 2 presents a review of the related work. Section 3 describes the methodology and protocol used in the systematic review. Section 4 includes a discussion of the results of the systematic review, highlighting the strengths, weaknesses, gaps, and challenges of using MDE to support software user interfaces. Finally, Sect. 5 presents the conclusions and lines of future work.

2 Related Work

This section presents a bibliographic review of the leading systematic and mapping literature reviews that aims to show the technological state of MDE.

Gottardi and Braga [13] present a systematic mapping to identify the technological and application domains in which MDE is successful as well as the challenges in applying this methodology to general-purpose development processes. Similarly, Bucchiarone et al. [14] present a discussion about the significant challenges and research initiatives for the MDE scientific community. Regarding the application of models at runtime, Bencomo et al. [15] analyze the state of the art of this line of research. For this, a taxonomy is used to compare the main research approaches and results in the area during the last decade and identify the corresponding research gaps and challenges.

In other more specific work, Shamsujjoha et al. [16] research what Model-Driven Development (MDD) techniques and methodologies have been used to support the development of mobile apps and how those techniques have been employed, identifying key benefits, limitations, gaps, and potential future research. Likewise, in their systematic review, Tufail et al. [17] present an analysis of the MDD tools that have been proposed for mobile applications. Finally, Ordonez et al. [18] present a systematic review of MDD and software accessibility, including the review of accessibility standards and a qualitative evaluation of the existing proposals.

In conclusion, it can be determined that the existing systematic reviews and mappings on MDE do not deepen their study from the viewpoint of user interfaces. Therefore, this article aims to help researchers fill this information limitation and identify research gaps, challenges, and opportunities in this field to support future studies.

3 Research Methods

This systematic literature review is aligned with the guidelines of Kitchenham et al. [19, 20] to ensure a reliable, replicable, and auditable process. This methodology comprises three stages: i) planning the review, to identify the objectives and validate the review protocol; ii) conducting the review, to perform the previously defined protocol; and iii) disseminating the review, to prepare a report with the results of the review.

3.1 Planning the Review

Research Question.

The overall objective of this systematic literature review is to understand the state of technological knowledge on Model-Driven User Interface Engineering. The proposed research questions are:

  • RQ1. How is MDE used to build and maintain software user interfaces?

  • RQ2. How is the research addressed in studies related to using MDE to build and maintain software user interface?

Data Sources and Search Strategy.

The information sources selected for the automatic search of primary studies were Scopus and Google Scholar indexers. For the manual search, the most significant conferences, journals, and book chapters dealing with MDE oriented to software user interfaces were selected. In addition, the snowball technique was applied to find additional relevant articles. The search was conducted from 2000, when Model-Driven Engineering reached relevance since around this date, the interest of researchers increased with the launch of the Model-Driven Architecture (MDA) initiative of the Object Management Group (OMG). Table 1 presents the search string used, which was applied to the article metadata: title, abstract, and keywords.

Table 1. Automatic search string.

Selection of Primary Studies.

The primary studies obtained from the automatic and manual search were evaluated and selected by four researchers based on the title, abstract, and keywords. Discrepancies in the selection of studies were resolved by consensus, after reviewing the complete paper.

Primary studies meeting any of the following inclusion criteria were included:

  • IC1. Primary studies that address paradigms, approaches, methods, or techniques of MDE to design and build software user interfaces.

  • IC2. Primary studies that propose tools or applications based on MDE to design and build software user interfaces.

Primary studies that met at least one of the following exclusion criteria were excluded:

  • EC1. Editorials, prologues, opinions, interviews, news, or posters.

  • EC2. Duplicate studies in different sources.

  • EC3. Short articles with less than four pages.

  • EC4. Articles written in a language other than English.

  • EC5. Gray literature, thesis, and introduction papers.

Quality Assessment of Primary Studies.

A checklist of three questions was established to assess the quality of the selected studies (see Table 2). Each question was evaluated using a scale from 0 to 1. The scores obtained in the three questions were added to determine the total score for each article. The quality assessment was used only to classify the studies according to scientific relevance, and to have an adequate synthesis in the presentation of the results.

Table 2. Quality checklist.

Data Extraction Strategy.

A data extraction form was used to facilitate and standardize the collection and systematization of information from the articles, as well as to answer the research questions initially proposed (see Table 3).

Table 3. Data extraction form.

Methods of Analysis and Synthesis.

Two methods were used for the analysis and synthesis of the information collected: i) quantitative, based on the construction different types of graphs to represent the frequency of responses for each extraction criterion or combination of extraction criteria; and ii) qualitative, description of the most relevant proposals, identifying strengths, weaknesses, and research opportunities.

3.2 Conducting the Review

This subsection describes the process of collecting, selecting and assessing the quality of the primary studies, using the inclusion, exclusion, and quality criteria defined in the review protocol. Although the automatic search was carried out using indexers, Fig. 1 shows the results obtained in each activity of this process, classified according to the main computer digital libraries. A brief description of each activity of the process is given below:

  1. 1.

    Automatic search. The search string was adapted and executed in each indexer, collecting 1708 primary studies for further analysis.

  2. 2.

    First selection. The titles, abstracts and keywords of the retrieved studies were evaluated according to the inclusion and exclusion criteria in order to determine their relevance to the research topic. As a result, 56 studies were selected.

  3. 3.

    Second selection. In this activity, discrepancies and doubts about the selection of some articles were resolved by consensus among all the participant researchers once the complete article had been reviewed. As a result, the repository was reduced to 42 studies. In turn, a manual search for articles was performed; and the snowball technique was applied to the selected articles, including 9 additional studies, having a total of 51 definitive studies.

  4. 4.

    Quality Assessment. As a final activity, the selected primary studies were ranked, according to their level of scientific rigor and relevance.

Fig. 1.
figure 1

Conducting the systematic review.

4 Results and Discussion

As a result of the execution of the systematic review, 51 primary studies on MDE proposals oriented to the UI have been selected. Figure 2 presents the distribution of the studies by year. It can be seen that starting in 2005, articles on MDE applied to the UI began to be published, with the highest publication years being 2010, 2013, and 2015 with 9, 7, and 6 articles, respectively. However, several years can also be seen with a low number of publications, which leads to think that it is a line of research that does not have a permanent interest on the part of researchers, especially as of 2015, there is a considerable decrease in publications. According to the type of publication, 32 studies have been published in conferences, followed by 17 studies in journals; and, finally, 2 studies are book chapters.

Regarding the evaluation of the quality of the studies (see Fig. 3), the QAQ1 question has achieved very satisfactory results, with 27 studies scored as very relevant (more than 10 citations), 22 studies as relevant (between 1 and 10 citations), and barely 2 studies as irrelevant (not cited). Similarly, the QAQ2 question presents a favorable assessment, with 25 and 13 studies published in very relevant and relevant journals or conferences, respectively. Finally, the QAQ3 question shows a significant number of studies (15) that have not been subject to an empirical evaluation. In addition, of the 36 studies that include an assessment of their proposed solution, many studies (13) apply only a proof of concept. Consequently, the lack of evaluation or the type of evaluation used is the main threat to most of the proposed solutions’ validity, reliability, and generalization.

Fig. 2.
figure 2

Distribution of primary studies by year.

Fig. 3.
figure 3

Quality assessment of the primary studies.

RQ1. How is MDE used to design and build software user interfaces?

EC1: Paradigm type. This extraction criterion aims to determine the extent to which researchers use the MDD and models@run.time paradigms to support software UI development and operation, respectively. In this sense, of the 51 studies, 36 (70.59%) apply the models only at design time to increase the abstraction and automation of the UI artifact development process [1, 4, 6, 8, 10, 11, 21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50], while only 15 (29.41%) cover the use of runtime models [12, 51,52,53,54,55,56,57,58,59,60,61,62,63,64]. Therefore, an important research opportunity is to extend the use of runtime models to maintain a two-way causal relationship between the model and the operating system. In this way. Thus, it would be possible to have more robust and autonomous solutions that analyze the models at runtime to support the adaptation of the UI according to the behavior of the operating environment of the system.

Among the most relevant studies on MDD is Bouchelligua et al. [45], which propose a model-based approach for adaptive UI generation through parameterized transformations from an abstract interface to a concrete interface. These transformation parameters are determined according to the context of the use of the application. In turn, Bendaly et al. [4] present a generic approach that takes as inputs an accessibility context model of a given user and the UI model in order to provide as output the adapted UI model. Regarding models@run.time, Criado et al. [62] present a proposal to auto-adapt the component-based UI structure at runtime using dynamic model transformation since the rules that describe its behavior are not pre-established but are selected from a repository according to the context of operation.

EC2: Platform Type.

This criterion aims to know the kind of platforms to which model-driven UI engineering proposals are oriented. Table 4 shows a uniform contribution of proposals for the different platforms; that is, 45.10% of studies are focused on the web, followed by 39.22% on desktop, and 33.33% on mobile. Among the most important studies, Sottet et al. [46] propose a variability management approach integrated into a web UI rapid prototyping process, which involves the combination of MDE and Software Product Lines; while Diep et al. [42] build an integrated development environment based on platform-independent UI models in order to create UIs for mobile applications on three different platforms: Android, iOS and Windows Phone.

Table 4. Frequency of platform type to which the MDE proposals are oriented.

A noteworthy aspect is the existence of some multi-platform proposals, which shows the concern of researchers to create solutions that abstract the heterogeneity of platforms and allow, from the same high-level model, to generate UI artifacts for various types of platforms. A clear example is MANTRA [11], an approach based on abstract UI models to generate implementation code for different UI platforms (web, mobile, desktop). Furthermore, in recent years, notable proposals have appeared on MDE to support the construction of dashboards and infographics, especially in domains such as IoT and smart city [23, 50, 51].

EC3: Type of Solution Developed.

The metamodels represent the type of solution that is mainly included in the studies (66.67%). However, a smaller number of studies (45.10%) go a step further to propose a DSL tool. A remarkable aspect is that 78.26% of the proposed DSLs have high-level graphical notation. In turn, there is also a significant number of transformation engine proposals (66.67%) that achieve the automation of models by translating them into code. Particularly, 54.90% of the proposals include model-to-model transformations, while 35.29% model-to-text transformations; existing studies that combine both types of transformations (see Table 5).

Regarding methodological solutions, the review found an important group of studies (54.90%) that describe in detail the proposed process to design platform-independent domain models and transform them into concrete UI artifacts. Similarly, for architectural solutions, there are several studies (39.22%) aligned with the Model-Driven Architecture (MDA) proposed by the Object Management Group (OMG), extending and customizing this architecture to the UI domain. In turn, to a lesser extent, frameworks (27.45%) based on models have been proposed as an integral solution to automate the construction and evolution of UIs. Finally, there is a minimum of middleware-type solutions (3.92%) mainly focused on using runtime models to adapt the UI according to the operating environment (see Table 5).

In short, further research is required to take advantage of existing metamodels by building DSLs with a notation (concrete syntax) that provides an easy-to-understand and easy-to-use modeling interface for developers and domain experts. Likewise, consistent with the recommendation of the previous criterion, it is necessary to deepen the investigation of middleware based on runtime models.

Table 5. Frequency of solution type proposed.

A complete study is the one proposed in [10], the authors present a comprehensive MDD solution to build graphical user interfaces from declarative models. The solution comprises a method called CIAT-GUI and a set of artifacts and tools that support this method, such as metamodels, graphical DSL, and automatic generators of the concrete user interface. The study also presents the solution’s architecture and its relationship with MDA levels. Figure 4 shows a bubble chart where the extraction criteria EC1, EC2, and EC3 are related, showing the extent to which the MDE paradigms have been applied by type of platform and type of proposed solution.

Fig. 4.
figure 4

MDE paradigms by platform type and solution type.

EC4: Modeling and Serialization Language Used.

Among the leading modeling and serialization languages used by MDE proposals for UI, ordered according to their recurrence level, are: XML [10, 11, 21,22,23,24, 28, 33, 34, 41, 42, 44, 47,48,49, 57,58,59,60], UML [6, 10, 11, 22, 26, 28, 29, 33, 35, 38, 43, 48, 58], ECORE - XMI [1, 4, 8, 11, 21,22,23,24, 28, 29, 35, 50, 64], MOF [10, 23, 24, 28, 29, 33, 38, 41, 47, 58], IFML [25, 27, 31, 46], OCL [56, 62], OWL [32, 58], KERMETA [34, 45], GOPPRR [48, 50], and JSON [24].

EC5: Development Tool Used to Build the DSL.

The most used tool by researchers to build DSLs is EMF (Eclipse Model Framework) [10, 11, 23, 24, 29, 51, 62, 64], followed well below by Sirius [21, 23], MetaEdit + [48, 50], Xtext [26, 29], and Papyrus [6].

EC6: Development Tool Used to Support Transformations.

According to this criterion, the preferred tool of the researchers to build the transformations is ATL [1, 10,11,12, 22, 23, 35, 41, 62]. Then, other tools are used to a lesser extent, such as ACCELEO [1, 21, 23, 28], M2T [8, 33, 51], XTEND [26, 29], XPAND [35], and MofScript [10].

EC7: Programming Language in Which the UI Artifacts are Generated.

The results of this criterion demonstrate that the studied approaches generate the code of the target UI artifacts in a variety of languages; however, Java [1, 4, 6, 10, 11, 21, 26, 28, 29, 35, 37, 38, 41, 48, 51, 53, 55, 59,60,61,62, 64], HTML [4, 11, 23, 24, 29, 37, 46, 47, 51, 52, 57, 58], and JavaScript [6, 23, 24, 27, 42, 51, 52, 57] are the most commonly used; while far below Python [24, 54], C++ [44, 59], C# [11, 29], Objective-C [29], XAML [29, 38], ASP.NET [23] are used.

EC8: Operating System on Which the Generated UI Artifacts Run.

Similarly, this criterion demonstrates the concern of researchers to create solutions for multiple platforms. In this sense, ordered according to their level of recurrence, the review has evidenced studies that generate UI artifacts to run on operating systems: Windows [4, 11, 22, 27, 28, 38, 40, 43,44,45, 48, 49, 54, 57, 59,60,61, 63, 64], Android [4, 6, 11, 21, 26, 27, 29, 33, 35, 42, 49, 51, 63], and iOS [6, 27, 29, 33, 35, 42, 57], preferably. Finally, a small group of studies generate solutions for: Windows Phone [29, 35, 42], and BlackBerry OS [35].

RQ2. How is the research addressed in studies related to using MDE to design and build software user interfaces?

EC9: Validation type. An essential aspect of the review of the selected studies was to define the type of validation that each of them performed on the respective research. The results show that the papers that carried out a case study represent 31.37%, while the proof of concept and experiment with 25.49% and 15.69%, respectively, and finally, the survey reaches only 1.96%. On the other hand, the papers that have not used any evaluation represent 29.41% (see Table 6). In summary, the studies that do not include an empirical evaluation and those that simply use a proof of concept represent more than half of the studies (54.90%), being the main limitation of this area of research. Hence, researchers should use more rigorous evaluation methods to determine the validity of the results. Figure 5 presents a bubble chart that contrasts the type of evaluation performed by the type of MDE solution proposed.

Table 6. Frequency of validation types.
Fig. 5.
figure 5

Type of validation performed by type of MDE solution proposed.

Among the research papers to be highlighted in this section, firstly, the authors of [51] used a combination of evaluation types, consisting of a case study, a family of experiments, and a survey, in order to test the scalability, usability, and understandability of a smart city KPIs assessment modeling framework. In another study, Brambilla et al. [27] implemented three real industrial case studies to demonstrate the feasibility of their model-based approach to front-end and user interface design for IoT systems. Finally, the study presented by [10] presented a case study to evaluate the perception of software engineers from a pharmaceutical company about the usefulness of the proposed model-based user interface design method and tools.

EC10: Study type.

It was found that 72.55% are new studies that have not presented a previous phase [1, 4, 6, 10, 12, 21, 24, 26,27,28,29,30,31,32,33,34, 36,37,38, 42, 44, 45, 47,48,49,50, 53,54,55,56,57, 59,60,61,62,63,64], while 27.45% correspond to research papers that are an extension of past research [8, 11, 22, 23, 25, 35, 39,40,41, 43, 46, 51, 52, 58].

EC11: Approach Scope.

The results of this criterion show that 76.47% represent the research papers developed in an academic environment [1, 4, 6, 10,11,12, 21,22,23,24,25,26, 29,30,31,32,33, 36, 37, 40, 42,43,44,45,46,47,48,49,50,51, 53,54,55,56, 58, 59, 62,63,64], while only 23.53% were carried out with the participation of the industry [8, 27, 28, 34, 35, 38, 39, 41, 52, 57, 60, 61].

5 Conclusions and Future Work

The UI (front-end) is one of the fundamental components of the software to guarantee a satisfactory user experience. However, due to the intrinsic complexity and uncertainty of modern systems and the demands of multiple stakeholders, emerging methods, such as MDE, are required to improve the quality of the development and operation of software user interfaces. This work covers the need for an updated systematic literature review on Model-Driven Engineering applied to UIs that gives an overview of the current state and orientation for future research. The main conclusions and findings of the research questions are detailed below:

  • RQ1. Among the strengths of this field of research is the existence of an important group of multi-platform MDE proposals that combine methodologies, architectures, metamodels, DSLs, and transformation engines. Also, in recent years, studies have appeared focused on constructing dashboards. However, studies have concentrated fundamentally on design time; therefore, a significant research challenge is to delve into the use of runtime models to promote the UI’s autonomous adaptation. One way to operationalize this requirement would be to propose model-based middleware at runtime. Likewise, it is necessary to take advantage of several proposed metamodels to complement them with a high-level visual DSL tool.

  • RQ2. The main concern is the large number of studies that have not been empirically evaluated or have applied a proof of concept. Hence, new studies should be promoted that contemplate more rigorous types of evaluation to validate the existing proposals, seeking a greater industry participation.

In future work, it is proposed to build a middleware based on runtime models to support the adaptation of UIs on multiple platforms, considering the strengths of the analyzed studies.