Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3486608.3486905acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Automating the synthesis of recommender systems for modelling languages

Published: 22 November 2021 Publication History

Abstract

We are witnessing an increasing interest in building recommender systems (RSs) for all sorts of Software Engineering activities. Modelling is no exception to this trend, as modelling environments are being enriched with RSs that help building models by providing recommendations based on previous solutions to similar problems in the same domain. However, building a RS from scratch requires considerable effort and specialized knowledge. To alleviate this problem, we propose an automated approach to the generation of RSs for modelling languages. Our approach is model-based, and we provide a domain-specific language called Droid to configure every aspect of the RS (like the type and features of the recommended items, the recommendation method, and the evaluation metrics). The RS so configured can be deployed as a service, and we offer out-of-the-box integration of this service with the EMF tree editor. To assess the usefulness of our proposal, we present a case study on the integration of a generated RS with a modelling chatbot, and report on an offline experiment measuring the precision and completeness of the recommendations.

Supplementary Material

Auxiliary Presentation Video (splashws21slemain-p20-p-video.mp4)
This is a presentation video of my talk at SLE 2021 on our paper accepted. In this paper, Automating the Synthesis of Recommender Systems for Modelling Languages, the main contributions of the work are the proposal of an automated approach to the generation of RSs for modelling languages. Our approach is model-based, and we provide a domain-specific language called Droid to configure every aspect of the RS (like the type and features of the recommended items, the recommendation method, and the evaluation metrics). The RS so configured can be deployed as a service, and we offer out-of-the-box integration of this service with the EMF tree editor. To assess the usefulness of our proposal, we present a case study on the integration of a generated RS with a modelling chatbot, and report on an offline experiment measuring the precision and completeness of the recommendations.

References

[1]
Gediminas Adomavicius and Alexander Tuzhilin. 2005. Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions. IEEE Transactions on Knowledge and Data Engineering, 17, 6 (2005), 734–749.
[2]
Henning Agt-Rickauer, Ralf-Detlef Kutsche, and Harald Sack. 2018. DoMoRe - A recommender system for domain modeling. In 6th International Conference on Model-Driven Engineering and Software Development (MODELSWARD). SciTePress, 71–82.
[3]
Lissette Almonte, Iván Cantador, Esther Guerra, and Juan de Lara. 2020. Towards automating the construction of recommender systems for low-code development platforms. In Proc MODELS Companion Proceedings. ACM, 66:1–66:10.
[4]
Lissette Almonte, Esther Guerra, Iván Cantador, and Juan de Lara. 2021. Recommender systems in model-driven engineering: A systematic mapping review. Software and System Modeling, in press (2021).
[5]
Erika Rizzo Aquino, Pierre de Saqui-Sannes, and Rob A. Vingerhoeds. 2020. A methodological assistant for use case diagrams. In 8th International Conference on Model-Driven Engineering and Software Development (MODELSWARD). SciTePress, 227–236.
[6]
Angela Barriga, Adrian Rutle, and Rogardt Heldal. 2020. Improving model repair through experience sharing. Journal of Object Technology, 19, 2 (2020), 13:1–21.
[7]
Alejandro Bellogín, Iván Cantador, and Pablo Castells. 2013. A comparative study of heterogeneous item recommendations in social systems. Information Sciences, 221 (2013), 142–169.
[8]
Markus Borg, Krzysztof Wnuk, Björn Regnell, and Per Runeson. 2017. Supporting change impact analysis using a recommendation system: An industrial case study in a safety-critical context. IEEE Transactions on Software Engineering, 43, 7 (2017), 675–700.
[9]
Marco Brambilla, Jordi Cabot, and Manuel Wimmer. 2017. Model-Driven Software Engineering in Practice, Second Edition. Morgan & Claypool Publishers, San Rafael, California (USA).
[10]
Loli Burgueño, Robert Clarisó, Shuai Li, Sébastien Gérard, and Jordi Cabot. 2021. An NLP-based architecture for the autocompletion of partial domain models. In CAiSE (LNCS, Vol. 12751’). Springer International Publishing, 91–106.
[11]
Robin Burke. 2002. Hybrid recommender systems: Survey and experiments. User Modeling and User-adapted Interaction, 12, 4 (2002), 331–370.
[12]
Thaciana Cerqueira, Franklin Ramalho, and Leandro Balby Marinho. 2016. A content-based approach for recommending UML sequence diagrams. In 28th International Conference on Software Engineering and Knowledge Engineering (SEKE). KSI Research Inc. and Knowledge Systems Institute Graduate School, 644–649.
[13]
Marcos César de Oliveira, Davi Freitas, Rodrigo Bonifácio, Gustavo Pinto, and David Lo. 2019. Finding needles in a haystack: Leveraging co-change dependencies to recommend refactorings. Journal of Systems and Software, 158 (2019).
[14]
ShuiGuang Deng, Dongjing Wang, Ying Li, Bin Cao, Jianwei Yin, Zhaohui Wu, and Mengchu Zhou. 2017. A recommendation system to facilitate business process modeling. IEEE Transactions on Cybernetics, 47, 6 (2017), 1380–1394.
[15]
Andrej Dyck, Andreas Ganser, and Horst Lichter. 2014. A framework for model recommenders - Requirements, architecture and tool support. In 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD). SciTePress, 282–290.
[16]
Akil Elkamel, Mariem Gzara, and Hanêne Ben-Abdallah. 2016. An UML class recommender system for software design. In 13th IEEE/ACS International Conference of Computer Systems and Applications (AICCSA). IEEE Computer Society, 1–8.
[17]
Roberto Espinosa, Diego García-Saiz, Marta E. Zorrilla, José Jacobo Zubcoff, and Jose-Norberto Mazón. 2013. Development of a knowledge base for enabling non-expert users to apply data mining algorithms. In SIMPDA. CEUR Workshop Proceedings, 1027, 46–61.
[18]
Roberto Espinosa, Diego García-Saiz, Marta E. Zorrilla, José Jacobo Zubcoff, and Jose-Norberto Mazón. 2019. S3Mining: A model-driven engineering approach for supporting novice data miners in selecting suitable classifiers. Computer Standards and Interfaces, 65 (2019), 143–158.
[19]
Michael Fellmann, Dirk Metzger, Sven Jannaber, Novica Zarvic, and Oliver Thomas. 2018. Process modeling recommender systems - A generic data model and its application to a smart glasses-based modeling environment. Bus. Inf. Syst. Eng., 60, 1 (2018), 21–38.
[20]
H. Garbe. 2012. Intelligent assistance in a problem solving environment for UML class diagrams by combining a generative system with constraints. In eLearning. IADIS, 412–416.
[21]
Marko Gasparic and Andrea Janes. 2016. What recommendation systems for software engineering recommend: A systematic literature review. Journal of Systems and Software, 113 (2016), 101–113. https://doi.org/10.1016/j.jss.2015.11.036
[22]
Github. 2021. Copilot. https://copilot.github.com/
[23]
Paulo Gomes. 2004. Software design retrieval using Bayesian networks and WordNet. In 7th European Conf. on Advances in Case-Based Reasoning (ECCBR) (Lecture Notes in Computer Science, Vol. 3155). Springer, 184–197.
[24]
Asela Gunawardana and Guy Shani. 2015. Evaluating recommender systems. In Recommender Systems Handbook. Springer, 265–308.
[25]
José Antonio Hernández López and Jesús Sánchez Cuadrado. 2020. MAR: a structure-based search engine for models. In MoDELS ’20. ACM, 57–67.
[26]
Ludovico Iovino, Angela Barriga, Adrian Rutle, and Rogardt Heldal. 2020. Model repair with quality-based reinforcement learning. Journal of Object Technology, 19, 2 (2020), 17:1–21.
[27]
Steven Kelly and Juha-Pekka Tolvanen. 2008. Domain-Specific Modeling - Enabling Full Code Generation. Wiley.
[28]
Hadjer Khider, Slimane Hammoudi, and Abdelkrim Meziane. 2020. Business process model recommendation as a transformation process in MDE: Conceptualization and first experiments. In 8th International Conference on Model-Driven Engineering and Software Development (MODELSWARD). SciTePress, 65–75.
[29]
Stefan Kögel. 2017. Recommender system for model driven software development. In 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE). ACM, 1026–1029.
[30]
Agnes Koschmider, Thomas Hornung, and Andreas Oberweis. 2011. Recommendation-based editor for business process modeling. Data & Knowledge Engineering, 70, 6 (2011), 483–503.
[31]
Tobias Kuschke and Patrick Mäder. 2017. RapMOD - in situ auto-completion for graphical models: poster. In 39th International Conference on Software Engineering (ICSE), Companion Volume. IEEE Computer Society, 303–304.
[32]
Ying Li, Bin Cao, Lida Xu, Jianwei Yin, ShuiGuang Deng, Yuyu Yin, and Zhaohui Wu. 2014. An efficient recommendation method for improving business process modeling. IEEE Transactions on Industrial Informatics, 10, 1 (2014), 502–513.
[33]
Pasquale Lops, Marco De Gemmis, and Giovanni Semeraro. 2011. Content-based recommender systems: State of the art and trends. In Recommender Systems Handbook. Springer, 73–105.
[34]
Pyry Matikainen, P. Michael Furlong, Rahul Sukthankar, and Martial Hebert. 2013. Multi-armed recommendation bandits for selecting state machine policies for robotic systems. In 2013 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 4545–4551.
[35]
Ángel Mora Segura, Juan de Lara, Patrick Neubauer, and Manuel Wimmer. 2018. Automated modelling assistance by integrating heterogeneous information sources. Computer Languages, Systems and Structures, 53 (2018), 90–120.
[36]
Gunter Mussbacher, Benoît Combemale, Jörg Kienzle, Silvia Abrahão, Hyacinth Ali, Nelly Bencomo, Márton Búr, Loli Burgueño, Gregor Engels, Pierre Jeanjean, Jean-Marc Jézéquel, Thomas Kühn, Sébastien Mosser, Houari A. Sahraoui, Eugene Syriani, Dániel Varró, and Martin Weyssow. 2020. Opportunities in intelligent modeling assistance. Softw. Syst. Model., 19, 5 (2020), 1045–1053.
[37]
Phuong T. Nguyen, Juri Di Rocco, Davide Di Ruscio, Lina Ochoa, Thomas Degueule, and Massimiliano Di Penta. 2019. FOCUS: a recommender system for mining API function calls and usage patterns. In 41st International Conference on Software Engineering (ICSE). IEEE / ACM, 1050–1060.
[38]
Phuong T. Nguyen, Juri Di Rocco, Davide Di Ruscio, and Massimiliano Di Penta. 2020. CrossRec: Supporting software developers by recommending third-party libraries. Journal of Systems and Software, 161 (2020).
[39]
Xia Ning, Christian Desrosiers, and George Karypis. 2015. A comprehensive survey of neighborhood-based recommendation methods. In Recommender Systems Handbook. Springer, 37–76.
[40]
OCL. 2014. http://www.omg.org/spec/OCL/
[41]
Manuel Ohrndorf, Christopher Pietsch, Udo Kelter, and Timo Kehrer. 2018. ReVision: a tool for history-based model repair recommendations. In 40th International Conference on Software Engineering (ICSE), Companion Proceeedings. ACM, 105–108.
[42]
Sara Pérez-Soler, Esther Guerra, and Juan de Lara. 2018. Collaborative modeling and group decision making using chatbots in social networks. IEEE Softw., 35, 6 (2018), 48–54.
[43]
Ana Pescador and Juan de Lara. 2016. DSL-maps: from requirements to design of domain-specific languages. In 31st IEEE/ACM International Conference on Automated Software Engineering (ASE). ACM, 438–443. https://doi.org/10.1145/2970276.2970328
[44]
Mohammad Ehson Rangiha, Marco Comuzzi, and Bill Karakostas. 2015. Role and task recommendation and social tagging to enable social business process management. In BPMDS/EMMSAD@CAiSE (Lecture Notes in Business Information Processing, Vol. 214). Springer, 68–82.
[45]
Z. Reitermanová. 2010. Data splitting. In WDS. Matfyzpress, 31–36.
[46]
Martin P. Robillard, Robert J. Walker, and Thomas Zimmermann. 2010. Recommendation systems for Software Engineering. IEEE Software, 27, 4 (2010), 80–86.
[47]
Gonzalo Rojas, Francisco Dominguez, and Stefano Salvatori. 2009. Recommender systems on the Web: A model-driven approach. In E-Commerce and Web Technologies, Tommaso Di Noia and Francesco Buccafurri (Eds.). Springer Berlin Heidelberg, 252–263.
[48]
Gonzalo Rojas and Claudio Uribe. 2013. A conceptual framework to develop mobile recommender systems of points of interest. In SCCC. IEEE Computer Society, 16–20.
[49]
Alan Said and Alejandro Bellogín. 2014. Rival: a toolkit to foster reproducibility in recommender system evaluation. In Eighth ACM Conference on Recommender Systems, RecSys ’14. ACM, 371–372. See also https://github.com/recommenders/rival
[50]
Jesús Sánchez Cuadrado, Esther Guerra, and Juan de Lara. 2018. Quick fixing ATL transformations with speculative analysis. Software and Systems Modeling, 17, 3 (2018), 779–813.
[51]
Maxime Savary-Leblanc. 2019. Improving MBSE tools UX with AI-empowered software assistants. In 22nd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MoDELS), Companion Volume. IEEE, 648–652.
[52]
Claudio Di Sipio, Davide Di Ruscio, and Phuong T. Nguyen. 2020. Democratizing the development of recommender systems by means of low-code platforms. In MODELS ’20: ACM/IEEE 23rd International Conference on Model Driven Engineering Languages and Systems, Esther Guerra and Ludovico Iovino (Eds.). ACM, 68:1–68:9.
[53]
Dave Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2008. EMF: Eclipse Modeling Framework, 2nd Edition. Addison-Wesley Professional, Upper Saddle River, NJ.
[54]
Matthew Stephan. 2019. Towards a cognizant virtual software modeling assistant using model clones. In 41st International Conference on Software Engineering: New Ideas and Emerging Results (NIER@ICSE). IEEE / ACM, 21–24.
[55]
Masateru Tsunoda, Takeshi Kakimoto, Naoki Ohsugi, Akito Monden, and Ken-ichi Matsumoto. 2005. Javawock: A Java class recommender system based on collaborative filtering. In 17th International Conference on Software Engineering and Knowledge Engineering (SEKE). 491–497.
[56]
UML. 2017. UML 2.5.1 OMG specification. http://www.omg.org/spec/UML/2.5.1/
[57]
Saúl Vargas and Pablo Castells. 2011. Rank and relevance in novelty and diversity metrics for recommender systems. In Fifth ACM Conference on Recommender Systems, RecSys ’11. ACM, New York, NY, USA. 109–116. See also http://ranksys.github.io/
[58]
Markus Voelter, Sebastian Benz, Christian Dietrich, Birgit Engelmann, Mats Helander, Lennart C. L. Kats, Eelco Visser, and Guido Wachsmuth. 2013. DSL Engineering - Designing, Implementing and Using Domain-Specific Languages. dslbook.org. http://www.dslbook.org
[59]
Xtext. 2021. http://www.eclipse.org/Xtext/ (last accessed in July 2021).

Cited By

View all
  • (2024)Engineering recommender systems for modelling languages: concept, tool and evaluationEmpirical Software Engineering10.1007/s10664-024-10483-329:4Online publication date: 18-Jun-2024
  • (2023)A Software Factory for Accelerating the Development of Recommender Systems in Smart Tourism Mobile Applications: An OverviewThe 3rd International Day on Computer Science and Applied Mathematics10.3390/cmsf2023006004(4)Online publication date: 30-May-2023
  • (2023)Word Embeddings for Model-Driven Engineering2023 ACM/IEEE 26th International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS58315.2023.00036(151-161)Online publication date: 1-Oct-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SLE 2021: Proceedings of the 14th ACM SIGPLAN International Conference on Software Language Engineering
October 2021
176 pages
ISBN:9781450391115
DOI:10.1145/3486608
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 November 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Domain-Specific Languages
  2. Model-Driven Engineering
  3. Modelling Languages
  4. Recommender Systems

Qualifiers

  • Research-article

Funding Sources

  • R&D programme of Madrid
  • Spanish Ministry of Science
  • EU Horizon 2020 Research and Innovation Programme under the Marie Sk?odowska-Curie grant agreement

Conference

SLE '21
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)58
  • Downloads (Last 6 weeks)2
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Engineering recommender systems for modelling languages: concept, tool and evaluationEmpirical Software Engineering10.1007/s10664-024-10483-329:4Online publication date: 18-Jun-2024
  • (2023)A Software Factory for Accelerating the Development of Recommender Systems in Smart Tourism Mobile Applications: An OverviewThe 3rd International Day on Computer Science and Applied Mathematics10.3390/cmsf2023006004(4)Online publication date: 30-May-2023
  • (2023)Word Embeddings for Model-Driven Engineering2023 ACM/IEEE 26th International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS58315.2023.00036(151-161)Online publication date: 1-Oct-2023
  • (2023)Encoding Conceptual Models for Machine Learning: A Systematic Review2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C59198.2023.00094(562-570)Online publication date: 1-Oct-2023
  • (2023)Understanding the need for assistance in software modeling: interviews with expertsSoftware and Systems Modeling (SoSyM)10.1007/s10270-023-01104-623:1(103-135)Online publication date: 2-May-2023
  • (2023)Modelling assistants based on information reuse: a user evaluation for language engineeringSoftware and Systems Modeling (SoSyM)10.1007/s10270-023-01094-523:1(57-84)Online publication date: 17-Apr-2023
  • (2023)Machine learning for enterprise modeling assistance: an investigation of the potential and proof of conceptSoftware and Systems Modeling (SoSyM)10.1007/s10270-022-01077-y22:2(619-646)Online publication date: 6-Jan-2023
  • (2022)Automating the design of recommender systemsProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3550356.3552376(233-236)Online publication date: 23-Oct-2022

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media