skip to main content
10.1145/3550356.3556502acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

A DSL and model transformations to specify learning corpora for modeling assistants

Published:09 November 2022Publication History

ABSTRACT

Software engineering undergraduate students spend a significant time learning various topics related to software design, including notably model-driven engineering (MDE), where different types of structural and behavioral models are used to design, implement, and validate an application. MDE instructors spend a lot of time covering modeling concepts, which is more difficult with ever-increasing class sizes. Online resources, such as learning corpora for domain modeling, can aid in this learning process by serving as a more dynamic textbook alternative or as part of a larger interactive application with domain modeling exercises and tutorials. A Learning Corpus (LC) is an extensible list of entries representing possible mistakes that could occur when defining a model, e.g., Missing Abstraction-Occurrence pattern in the case of a domain model. Each LC entry includes progressive levels of feedback, including written responses, quizzes, and references to external resources. To make it easy for instructors to customize the entries as well as add their own, we propose a novel, simple, and intuitive approach based on an internal domain-specific language that supports features such as context-specific information and concise arbitrary metamodel navigation with shorthands. Transformations to source code as well as Markdown and LATEX enable use of the LC entries in different contexts. These transformations as well as the integration of the generated code in a sample Modeling Assistant application verify and validate the LC metamodel and specification.

References

  1. Mathieu Acher, Benoit Combemale, and Philippe Collet. 2014. Metamorphic Domain-Specific Languages: A Journey Into the Shapes of a Language. In Onward! Essays. ACM, 243--253. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. David Aguilera, Cristina Gómez, and Antoni Olivé. 2012. A Method for the Definition and Treatment of Conceptual Schema Quality Issues. In Conceptual Modeling, Paolo Atzeni, David Cheung, and Sudha Ram (Eds.). Springer, 501--514.Google ScholarGoogle Scholar
  3. Deniz Akdur, Vahid Garousi, and Onur Demirörs. 2018. A survey on modeling and model-driven engineering practices in the embedded software industry. J. of Systems Arch. 91 (2018), 62--82. Google ScholarGoogle ScholarCross RefCross Ref
  4. Daniel Berry, Ricardo Gacitua, Pete Sawyer, and Sri Fatimah Tjong. 2012. The Case for Dumb Requirements Engineering Tools. In Requirements Engineering: Foundation for Software Quality, Björn Regnell and Daniela Damian (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 211--217.Google ScholarGoogle Scholar
  5. Weiyi Bian, Omar Alam, and Joerg Kienzle. 2019. Automated Grading of Class Diagrams. In 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C). 700--709. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Daria Bogdanova and Monique Snoeck. 2019. Use of Personalized Feedback Reports in a Blended Conceptual Modelling Course. In 22nd International Conference on Model Driven EngineeringLanguages and Systems Companion (MODELS-C). 672--679. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Younes Boubekeur. 2022. A Learning Corpus and Feedback Mechanism for a Domain Modeling Assistant. Master's thesis. McGill University, Canada.Google ScholarGoogle Scholar
  8. Younes Boubekeur and Gunter Mussbacher. 2020. Towards a Better Understanding of Interactions with a Domain Modeling Assistant. In Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings (Virtual Event, Canada) (MODELS '20). ACM, Article 21, 10 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Jordi Cabot, Robert Clarisó, Marco Brambilla, and Sébastien Gérard. 2018. Cognifying Model-Driven Software Engineering. In Software Technologies: Applications and Foundations, Martina Seidl and Steffen Zschaler (Eds.). Springer, 154--160.Google ScholarGoogle Scholar
  10. Eclipse Foundation, Inc. 2022. Eclipse Sirius. Retrieved March 28, 2022 from https://www.eclipse.org/sirius/Google ScholarGoogle Scholar
  11. Eclipse Foundation, Inc. 2022. Eclipse Xtext. Retrieved March 28, 2022 from https://www.eclipse.org/Xtext/Google ScholarGoogle Scholar
  12. Akil Elkamel, Mariem Gzara, and Hanene Ben-Abdallah. 2016. An UML class recommender system for software design. In 2016 IEEE/ACS 13th International Conference of Computer Systems and Applications (AICCSA). 1--8. Google ScholarGoogle ScholarCross RefCross Ref
  13. Ashok K Goel and Lalith Polepeddi. 2018. Jill Watson: A virtual teaching assistant for online education. In Learning eng. for online education. Routledge, 120--143.Google ScholarGoogle ScholarCross RefCross Ref
  14. Google LLC. 2022. Learn to Code - Grasshopper. Retrieved April 11, 2022 from https://learn.grasshopper.app/Google ScholarGoogle Scholar
  15. Austin Henley, Julian Ball, Benjamin Klein, Aiden Rutter, and Dylan Lee. 2021. An Inquisitive Code Editor for Addressing Novice Programmers' Misconceptions of Program Behavior. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). 165--170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Gil Hoggarth and Mike Lockyer. 1998. An Automated Student Diagram Assessment System. SIGCSE Bull. 30, 3 (Aug. 1998), 122--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Donald E. Knuth. 1964. Backus Normal Form vs. Backus Naur Form. Commun. ACM 7, 12 (dec 1964), 735--736. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Tomaž Kosar, Sudev Bohra, and Marjan Mernik. 2016. Domain-Specific Languages: A Systematic Mapping Study. Information and Software Technology 71 (2016), 77--91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Stephan Krusche and Nadine von Frankenberg et al. 2020. An Interactive Learning Method to Engage Students in Modeling. In Software Engineering Education and Training (ICSE-SEET'20) (Seoul, Republic of Korea) (ICSE '20). ACM, New York, USA, 12--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Leslie Lamport. 1986. LATEX:A Document Preparation System. Addison-Wesley.Google ScholarGoogle Scholar
  21. Timothy Lethbridge and Robert Laganière. 2005. Object-Oriented Software Eng.: Practical Software Development using UML and Java (2nd ed.). McGraw-Hill Ed.Google ScholarGoogle Scholar
  22. Logilab, PyCQA and contributors. 2003. Pylint documenation. Retrieved April 3, 2022 from https://pylint.pycqa.org/Google ScholarGoogle Scholar
  23. Daniel Lucredio, Renata Fortes, and Jon Whittle. 2012. MOOGLE: A metamodel-based model search engine. Software and Systems Modeling 11 (05 2012), 183--208. Google ScholarGoogle ScholarCross RefCross Ref
  24. Jesús J. López-Fernández, Esther Guerra, and Juan de Lara. 2016. Combining unit and specification-based testing for meta-model validation and verification. Information Systems 62 (2016), 104--135. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. McGill University. 2018. Enrolment Report Fall 2018: Total (FT and PT) Enrolments by Faculty, by Degree and by Gender. Retrieved June 3, 2018 from https://www.mcgill.ca/es/files/es/fall_2018_-_total_ft_and_pt_enrolments_by_faculty_by_degree_and_by_gender.pdfGoogle ScholarGoogle Scholar
  26. Dale Parsons and Patricia Haden. 2006. Parson's Programming Puzzles: A Fun and Effective Learning Tool for First Programming Courses. In Proceedings of the 8th Australasian Conference on Computing Education - Volume 52 (Hobart, Australia) (ACE '06). Australian Computer Society, 157--163.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Sara Pérez-Soler, Esther Guerra, and Juan de Lara. 2018. Collaborative Modeling and Group Decision Making Using Chatbots in Social Networks. IEEE Software 35, 6 (November 2018), 48--54. Google ScholarGoogle ScholarCross RefCross Ref
  28. Sara Pérez-Soler, Esther Guerra, Juan de Lara, and Francisco Jurado. 2017. The rise of the (modelling) bots: Towards assisted modelling via social networks. IEEE Press (Oct 2017), 723--728. Google ScholarGoogle ScholarCross RefCross Ref
  29. Vidhu Bhala R Vidya Sagar and S Abirami. 2014. Conceptual modeling of natural language functional requirements. J. of Systems & Software 88 (2014), 25--41.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Rijul Saini, Gunter Mussbacher, Jin L.C. Guo, and Jörg Kienzle. 2021. DoMoBOT: An AI-Empowered Bot for Automated and Interactive Domain Modelling. In ACM/IEEE Intl. Conf. on Model Driven Eng. Languages and Systems Companion (MODELS-C). 595--599. Google ScholarGoogle ScholarCross RefCross Ref
  31. Rijul Saini, Gunter Mussbacher, Jin L. C. Guo, and Jörg Kienzle. 2021. Automated Traceability for Domain Modelling Decisions Empowered by Artificial Intelligence. In 2021 IEEE 29th International Requirements Engineering Conference (RE). 173--184. Google ScholarGoogle ScholarCross RefCross Ref
  32. Maxime Savary-Leblanc. 2019. Improving MBSE Tools UX with AI-Empowered Software Assistants. In 2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C). 648--652. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Matthias Schöttle, Nishanth Thimmegowda, Omar Alam, Jörg Kienzle, and Gunter Mussbacher. 2015. Feature Modelling and Traceability for Concern-Driven Software Development with TouchCORE. In Companion Proceedings of the 14th International Conference on Modularity (Fort Collins, CO, USA) (MODULARITY Companion 2015). ACM, 11--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Prabhsimran Singh. 2022. Domain Modeling Mistake Detection System. Master's thesis. McGill University, Canada.Google ScholarGoogle Scholar
  35. Stefan Sobernig. 2019. Chain of Builders: A Pattern of Variable Syntax Processing for Internal DSLs. In Proceedings of the 24th European Conference on Pattern Languages of Programs (Irsee, Germany) (EuroPLop '19). ACM, Article 29, 11 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Antoine Toulmé. 2006. Presentation of EMF compare utility. Eclipse Modeling Symp. (2006).Google ScholarGoogle Scholar
  37. Vincent Aranega et al. 2017. PyEcore: A Pythonic Implementation of the Eclipse Modeling Framework. Retrieved July 1, 2022 from https://pyecore.readthedocs.io/Google ScholarGoogle Scholar
  38. Liping Zhao, Waad Alhoshan, Alessio Ferrari, Keletso J. Letsholo, Muideen A. Ajagbe, Erol-Valeriu Chioasca, and Riza T. Batista-Navarro. 2021. Natural Language Processing for Requirements Engineering: A Systematic Mapping Study. ACM Comput. Surv. 54, 3, Article 55 (apr 2021), 41 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A DSL and model transformations to specify learning corpora for modeling assistants

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            MODELS '22: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings
            October 2022
            1003 pages
            ISBN:9781450394673
            DOI:10.1145/3550356
            • Conference Chairs:
            • Thomas Kühn,
            • Vasco Sousa

            Copyright © 2022 ACM

            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]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 9 November 2022

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate118of382submissions,31%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader