Gamification of Software Modelling Learning Alfa Yohannis Department of Computer Science, University of York, York, United Kingdom ary506@york.ac.uk Abstract. Software modelling has a fundamental role in software engi- neering. However, it is perceived as relatively challenging for learners to develop the necessary abstraction skills to master the subject. On the other side, gamification is now flourishing as a popular strategy to en- gage learners. This research attempts to exploit gameful design as an innovative approach, used to create games that reinforce learners’ mas- tery of software modelling by developing their abstraction skills. Our approach to gameful design brings together gamification development concepts such as the Lens of Intrinsic Skill Atoms, and pedagogical de- sign principles from several learning theories and models. The research follows the Design Science Research Methodology and exploits Model- Driven Engineering best practices. The target outputs of this research are a modelling game design and generation framework, and a number of games produced using it. The effectiveness of the framework and its games will be evaluated using controlled experiments. Keywords: software modelling, gamification, learning, abstraction 1 Introduction Software modelling is commonly perceived as a demanding subject since it re- quires a mastery of abstraction [1]. However, this subject has a fundamental and crucial role in software engineering education and practice. Failure to master this topic will affect the students abstraction capability which is essential for analysing and designing real-world software. Weak software modelling skills will likely cause software engineering students to face further with their degrees, as most of the software engineering related subjects involve of intrinsic abstraction problems [2]. The problems of learning appropriate abstraction skills for software mod- elling is similar to problems in mathematics, where most of the concepts can only be accessed through symbolical representations [3]. Abstraction also re- quires students to grasp information hiding, generalisation, approximation or reformulation, and separating relevant from irrelevant aspects [4]. To overcome these challenges, we need to put more effort into software modelling learning de- sign, developing a more concrete and motivating presentation which can engage students and facilitate deep learning. In recent years, the use of games or game elements for purposes other than leisure has drawn significant attention. Gamification [5] and Serious Games [6] 2 Gamification of Software Modelling Learning have been proposed as solutions to motivational problems that emerge when users are required to engage in activities that they perceived as boring, irrelevant, or difficult, e.g. Learning sorting algorithms [7] or C-programming [8]. The purpose of this research is to investigate and develop a software mod- elling game design framework that systematically and semi-automatically drives gamification design to produce better-designed software modelling games. More precisely, this research aims to answer the following research questions: 1. Which processes, aspects, principles, or components of software modelling and their teaching and learning practices would benefit from gamification? 2. What types of game elements and in what roles can deliver software mod- elling learning best? 3. What kind of orchestrating framework is needed to design the interaction between software modelling and game elements to achieve software modelling gamification? 4. To what extent does gamification of software modelling improve learners’ motivation, engagement, and performance? 5. To what extent do software modelling tutors benefit from the software mod- elling game design framework? Due to space restrictions, this paper does not cover some aspects of this re- search, such as the architecture of the software modelling game design framework and the validation methods applied to evaluate models created by learners. 2 Related Works Several approaches attempt to bring software modelling into a more concrete presentation that can be easily understood by learners, ranging from didac- tic learning [9], modelling tools utilization [10], learning modelling language through alternative communication channels [11], immersive visual modelling through virtual environments [12], project-based learning [13], to learning mod- elling from code generation investigation [14]. However, most of the approaches have weaknesses in motivating learners to engage continuously, frequently, and actively to learn software modelling, which are the important aspects impacting greatly on learning [15]. To address the lack of engagement, we investigate gamification of learning, an approach that provides students with a new way of learning software modelling that is more fun and engaging. Gamification design is still an ongoing challenge [16], and, to date, there is no software modelling game design framework that particularly structures the design of software modelling games. There is very little work on software modelling gamification. Most of the software-related gamification studies available are related to software engineer- ing in a larger context or to other aspects of software engineering, such as soft- ware implementation and project management [17]. After extensive literature exploration, only four works have been identified on applying gamification for software modelling. None of these works addresses software modelling learning Gamification of Software Modelling Learning 3 in general. Instead, they address specific topics such as activity diagramming [18], coupling and cohesion [19], and enterprise architectures [20], [21]. Most of the works also cover pedagogical aspect superficially or not at all and validation is restricted to a very limited number of users [18], [19], [20]. 3 Research Methods Since the output of this work is a design artefact—a software modelling game design framework that enables software modelling tutors to design and develop games for software modelling learning, we decided to utilise the Design Science Research Methodology (DSRM) [22] as our umbrella methodology. DSRM is selected because it provides a comprehensive high-level conceptual framework for all the stages of the research process. It also provides six activity guidelines for understanding, developing, executing, and evaluating design artefacts. The six activities are (1) problem identification and motivation, (2) definition of objectives for a solution, (3) setting of targets for a solution, (4) design and development, (5) demonstration and evaluation, and (6) communication. The high-level characteristics of DSRM mean that we can employ other re- search methods as sub-methods in each activity. For examples, we employ inter- views, literature reviews, and discussion with experts as our methods in problem identification and motivation activity, as well as using the Lens of Intrinsic Skill Atoms [23] to produce a gameful design in the design and development activity. 4 Game Design Gamification has been successfully for a variety of purposes, but there is very little work on software modelling gamification. We wish to assess whether gam- ification is beneficial for learners of graphical software modelling languages. For each modelling language, we envision the development of a dedicated game con- taining game elements that will be derived from the Lens of Intrinsic Skill Atoms [23]. The generated game will mimic a graphical modelling tool and at each level, it will require the learner to graphically construct or adapt a model to satisfy a set of requirements and constraints. The game will have levels with gradually increasing difficulty as well as variety in its challenges, to expose learners to different kinds of domains, models, and diagrams. Tutorials are planned to be embedded into the game to help learners familiarise themselves with the control system and the flow of the game. The game will include interim goals and intrinsic rewards to motivate learn- ers. For software modelling, each type of modelling (e.g. object modelling, collab- oration, process) will have several stories. A story will represent a specific case study to introduce learners to problems in specific domains. Every story will consist of several levels, and every level will have one or more objectives that a learner needs to accomplish to complete it. A level may also be a continuation of a previous level, giving the learner a sense of step-by-step progress to complete 4 Gamification of Software Modelling Learning the domain problems. Each story and level will introduce new concepts and link them with previously introduced concepts. A real-world problem can be very complex and time-consuming to model. Thus, the extraneous activities that are not relevant to the core concepts that are being taught should be removed. As a result, learners will be more focused on the main concepts. Thus, game elements like bite-sized actions (e.g. drag and drop), limited choices (i.e. only limited items can be dragged), and microflows (i.e. put the right element to its right place) will be implemented to facilitate learners in performing the core activities. Likewise, fuzziness will also be used to provoke learners’ creativity since most of the time there is no single correct model for the problem at hand. Attractive design will also be significant to motivate learners to interact with the game. Games should be able to give immediate, glanceable, and actionable feedback to keep learners on track and monitor their progress. Interesting and varied feedback should be designed to appeal to the learners’ motives. To reduce bias, we plan to experiment with several modelling languages (e.g. BPMN, state-charts, GSN, UML). We also plan to implement these games using web technologies so that they are easily accessible to a wide audience. 5 Modelling Game Design Framework Instead of developing the software modelling games manually, we plan to follow a model-based approach. We will use metamodel annotations, in the spirit of Eu- genia [24], to define the graphical syntaxes of modelling languages and separate models to specify the game elements (levels, objectives, constraints, etc.) of each game. These models will be then consumed by a model-to-text transformation to produce fully-functional language-specific games. Therefore, the framework sup- ports software modelling tutors in the design and customisation of the games at the high level of abstraction and so as to automatically build the game. So far we have implemented a metamodel for specifying game elements (flows, levels, challenges, and objectives) and a supporting Eclipse-based graphical editor (Fig. 1), and a prototype game (Fig. 2) for object diagrams. 6 Evaluation We wish to evaluate (1) the effectiveness of the modelling games discussed above and (2) the productivity and maintainability benefits of the modelling game design framework. For the effectiveness evaluation, controlled experiments will be used. The participants, software modelling students, will be divided into two groups, a control group and an experimental group. The control group will learn software modelling using traditional methods while the experimental group will learn with support from the games. Then, their performance of the two groups will be measured by their ability to solve a set of related modelling problems. Gamification of Software Modelling Learning 5 Fig. 1. Graphical editor for the game specification DSL. Fig. 2. The display of the generated game. For the evaluation of the modelling game design framework, the participants will be software modelling tutors; they will be devided into two groups, one that will develop games with the framework and one without the frameworks (i.e. using existing web technologies). They will be asked to elaborate their games 6 Gamification of Software Modelling Learning into their teaching instructions and use them in their teaching. The comparison will be on their productivity and the maintainability of their games. To evaluate the generality of the results of both evaluation processes, conducting experiments in different years and countries is also considered. Additionally, surveying with questionnaires or interviews might be conducted to investigate the underlying variables or processes. Structural equation mod- elling [25] is also an option if measuring the effects of the identified underlying variables is required. An alternative method for understanding of the underlying variables and processes is through investigating the games’ event logs using data mining or machine learning techniques. 7 Conclusion This paper explains our research motivation and problem statements, proposed solution and objectives, research methods, the current progress of the game and framework, and the evaluation plan. So far, this research has been focused on software modelling learning. In the future, there is a plan also to address metamodelling and model transformation learning. Acknowledgments. Thanks to York Masters, who participated in our prelimi- nary surveys. This research is supported by Lembaga Pengelola Dana Pendidikan Indonesia (Indonesia Endowment Fund for Education). References 1. J. Börstler, L. Kuzniarz, C. Alphonce, W. B. Sanders, and M. Smialek, “Teaching software modeling in computing curricula,” in Proceedings of the final reports on Innovation and technology in computer science education 2012 working groups, pp. 39–50, ACM, 2012. 2. J. Kramer, “Is abstraction the key to computing?,” Communications of the ACM, vol. 50, no. 4, pp. 36–42, 2007. 3. R. Duval, “A cognitive analysis of problems of comprehension in a learning of mathematics,” Educational studies in mathematics, vol. 61, no. 1-2, pp. 103–131, 2006. 4. L. Saitta and J.-D. Zucker, Abstraction in artificial intelligence and complex sys- tems, vol. 456. Springer, 2013. 5. S. Deterding, D. Dixon, R. Khaled, and L. Nacke, “From game design elements to gamefulness: defining gamification,” in Proceedings of the 15th international academic MindTrek conference, pp. 9–15, ACM, 2011. 6. D. R. Michael and S. L. Chen, Serious games: Games that educate, train, and inform. Muska & Lipman/Premier-Trade, 2005. 7. A. Yohannis and Y. Prabowo, “Sort attack: Visualization and gamification of sort- ing algorithm learning,” in the 7th VS-Games, pp. 1–8, IEEE, 2015. 8. M.-B. Ibanez, A. Di-Serio, and C. Delgado-Kloos, “Gamification for engaging com- puter science students in learning activities: A case study,” IEEE Transactions on Learning Technologies, vol. 7, no. 3, pp. 291–301, 2014. Gamification of Software Modelling Learning 7 9. S. Moisan and J.-P. Rigault, “Teaching object-oriented modeling and uml to var- ious audiences,” in International Conference on Model Driven Engineering Lan- guages and Systems, pp. 40–54, Springer, 2009. 10. S. Akayama, B. Demuth, T. C. Lethbridge, M. Scholz, P. Stevens, and D. R. Stikkolorum, “Tool use in software modelling education.,” in EduSymp@ MoDELS, 2013. 11. M. Brandsteidl, K. Wieland, and C. Huemer, “Novel communication channels in software modeling education,” in International Conference on Model Driven Engi- neering Languages and Systems, pp. 40–54, Springer, 2010. 12. B. J. Neubauer and J. D. Harris, “Immersive visual modeling: potential use of virtual reality in teaching software design,” Journal of Computing Sciences in Col- leges, vol. 18, no. 6, pp. 142–150, 2003. 13. R. Szmurlo and M. Śmialek, “Teaching software modeling in a simulated project en- vironment,” in International Conference on Model Driven Engineering Languages and Systems, pp. 301–310, Springer, 2006. 14. A. Schmidt, D. Kimmig, K. Bittner, and M. Dickerhof, “Teaching model-driven software development: revealing the great miracle of code generation to students,” in Proceedings of the Sixteenth Australasian Computing Education Conference- Volume 148, pp. 97–104, Australian Computer Society, Inc., 2014. 15. T. L. Naps, “Jhavé: Supporting algorithm visualization,” IEEE Computer Graphics and Applications, vol. 25, no. 5, pp. 49–55, 2005. 16. S. Deterding, S. L. Björk, L. E. Nacke, D. Dixon, and E. Lawley, “Designing gam- ification: creating gameful and playful experiences,” in CHI’13 Extended Abstracts on Human Factors in Computing Systems, pp. 3263–3266, ACM, 2013. 17. O. Pedreira, F. Garcı́a, N. Brisaboa, and M. Piattini, “Gamification in software engineering–a systematic mapping,” Information and Software Technology, vol. 57, pp. 157–168, 2015. 18. O. Richardsen, “Learning modeling languages using strategies from gaming,” Mas- ter’s thesis, Norwegian University of Science and Technology, Norway, 2014. 19. D. R. Stikkolorum, M. R. Chaudron, and O. de Bruin, “The art of software design, a video game for learning software design principles,” arXiv preprint arXiv:1401.5111, 2014. 20. J. Groenewegen, S. Hoppenbrouwers, and E. Proper, “Playing archimate models,” in Enterprise, Business-Process and Information Systems Modeling, pp. 182–194, Springer, 2010. 21. D. Ionita, R. Wieringa, J.-W. Bullee, and A. Vasenev, “Tangible modelling to elicit domain knowledge: an experiment and focus group,” in International Conference on Conceptual Modeling, pp. 558–565, Springer, 2015. 22. K. Peffers, T. Tuunanen, M. A. Rothenberger, and S. Chatterjee, “A design science research methodology for information systems research,” Journal of management information systems, vol. 24, no. 3, pp. 45–77, 2007. 23. S. Deterding, “The lens of intrinsic skill atoms: A method for gameful design,” Human–Computer Interaction, vol. 30, no. 3-4, pp. 294–335, 2015. 24. D. S. Kolovos, A. Garcı́a-Domı́nguez, L. M. Rose, and R. F. Paige, “Eugenia: towards disciplined and automated development of gmf-based graphical model ed- itors,” Software & Systems Modeling, pp. 1–27, 2015. 25. J. F. Hair Jr, G. T. M. Hult, C. Ringle, and M. Sarstedt, A primer on partial least squares structural equation modeling (PLS-SEM). Sage Publications, 2016.