Taking advantage of the software product line paradigm to generate customized user interfaces for decision-making processes: a case study on university employability

PeerJ Comput Sci. 2019 Jul 1;5:e203. doi: 10.7717/peerj-cs.203. eCollection 2019.


University employment and, specifically, employability has gained relevance since research in these fields can lead to improvement in the quality of life of individual citizens. However, empirical research is still insufficient to make significant decisions, and relying on powerful tools to explore data and reach insights on these fields is paramount. Information dashboards play a key role in analyzing and visually exploring data about a specific topic or domain, but end users can present several necessities that differ from each other, regarding the displayed information itself, design features and even functionalities. By applying a domain engineering approach (within the software product line paradigm), it is possible to produce customized dashboards to fit into particular requirements, by the identification of commonalities and singularities of every product that could be part of the product line. Software product lines increase productivity, maintainability and traceability regarding the evolution of the requirements, among other benefits. To validate this approach, a case study of its application in the context of the Spanish Observatory for University Employability and Employment system has been developed, where users (Spanish universities and administrators) can control their own dashboards to reach insights about the employability of their graduates. These dashboards have been automatically generated through a domain specific language, which provides the syntax to specify the requirements of each user. The domain language fuels a template-based code generator, allowing the generation of the dashboards' source code. Applying domain engineering to the dashboards' domain improves the development and maintainability of these complex software products given the variety of requirements that users might have regarding their graphical interfaces.

Keywords: Code generation; DSL; Dashboards; Domain engineering; Employability; SPL.

Grant support

This work was supported in part by the Spanish Government Ministry of Economy and Competitiveness throughout the DEFINES project (Ref. TIN2016-80172-R), in part by the PROVIDEDH project, funded within the CHIST-ERA Programme under the national grant agreement: PCIN-2017-064 (MINECO, Spain) and in part by La Caixa Foundation. The work of A Vázquez-Ingelmo was supported by the Spanish Ministry of Education and Vocational Training under an FPU fellowship (FPU17/03276). There was no additional external funding received for this study. The funders helped with the contextualization of the research.