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.
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Younes Boubekeur. 2022. A Learning Corpus and Feedback Mechanism for a Domain Modeling Assistant. Master's thesis. McGill University, Canada.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Eclipse Foundation, Inc. 2022. Eclipse Sirius. Retrieved March 28, 2022 from https://www.eclipse.org/sirius/Google Scholar
- Eclipse Foundation, Inc. 2022. Eclipse Xtext. Retrieved March 28, 2022 from https://www.eclipse.org/Xtext/Google Scholar
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- Google LLC. 2022. Learn to Code - Grasshopper. Retrieved April 11, 2022 from https://learn.grasshopper.app/Google Scholar
- 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 ScholarDigital Library
- Gil Hoggarth and Mike Lockyer. 1998. An Automated Student Diagram Assessment System. SIGCSE Bull. 30, 3 (Aug. 1998), 122--124. Google ScholarDigital Library
- Donald E. Knuth. 1964. Backus Normal Form vs. Backus Naur Form. Commun. ACM 7, 12 (dec 1964), 735--736. Google ScholarDigital Library
- Tomaž Kosar, Sudev Bohra, and Marjan Mernik. 2016. Domain-Specific Languages: A Systematic Mapping Study. Information and Software Technology 71 (2016), 77--91. Google ScholarDigital Library
- 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 ScholarDigital Library
- Leslie Lamport. 1986. LATEX:A Document Preparation System. Addison-Wesley.Google Scholar
- Timothy Lethbridge and Robert Laganière. 2005. Object-Oriented Software Eng.: Practical Software Development using UML and Java (2nd ed.). McGraw-Hill Ed.Google Scholar
- Logilab, PyCQA and contributors. 2003. Pylint documenation. Retrieved April 3, 2022 from https://pylint.pycqa.org/Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Prabhsimran Singh. 2022. Domain Modeling Mistake Detection System. Master's thesis. McGill University, Canada.Google Scholar
- 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 ScholarDigital Library
- Antoine Toulmé. 2006. Presentation of EMF compare utility. Eclipse Modeling Symp. (2006).Google Scholar
- Vincent Aranega et al. 2017. PyEcore: A Pythonic Implementation of the Eclipse Modeling Framework. Retrieved July 1, 2022 from https://pyecore.readthedocs.io/Google Scholar
- 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 ScholarDigital Library
Index Terms
- A DSL and model transformations to specify learning corpora for modeling assistants
Recommendations
A new tool for URDAD to Java EE EJB transformations
SAICSIT '13: Proceedings of the South African Institute for Computer Scientists and Information Technologists ConferenceFollowing the Object Management Group's (OMG) Model-Driven Architecture (MDA) approach, the semi-formal, service-orientated "Use Case, Responsibility Driven Analysis and Design" (URDAD) method is used by requirements engineers to specify a software ...
Predicting Incompatibility of Transformations in Model-driven Development
The grand vision of model-driven development and model-driven architecture (MDA) is to generate automatically an implementation from a high-level model of the application. The primary ingredients of model-driven development are a platform-independent ...
Formal Metamodeling for Secure Model-Driven Engineering
Systems and applications aligned with new paradigms such as cloud computing and internet of the things are becoming more complex and interconnected, expanding the areas in which they are susceptible to attacks. Their security can be addressed by using ...
Comments