Thesis Abstract:
Today, smartphones are one of the essential needs of humans. Since the introduction of these devices, the development of applications and especially video games for them has become one of the most attractive fields in software development. Despite the advancement of programming languages and integrated development environments, there have always been many challenges for software and mobile game developers, including complexity and time-consuming of development, the need for diverse skills, and difficult debugging process.
Model-Driven Software Engineering (MDSE) is the latest software engineering methodology that can be used as a solution to solve the listed problems. In development with the style of model-driven, the system is first modeled using software modeling languages. The code is then automatically generated from the model by application of different model-to-code transformation languages. Using the model instead of code facilitates the discovery and resolution of errors due to the high level of abstraction and elimination of unnecessary details as the model provides a better and clearer understanding of the system than the code. On the other hand, the models are reusable, which greatly accelerates the production of similar softwares and reduces the time and consequently the cost of producing the software. Since software modeling using model-driven approach does not require much expertise in the domain, therefore making software with the style of model-driven is much simpler than the traditional coding-based methods.
This study presents a new approach called MAndroid, that makes it possible to build Android-based multiplayer 2D board games in a fully automated fashion and without the need for coding, relying on the concepts of Model-Driven Software Engineering. With the help of this approach, the game is first modeled in its structural and behavioral dimensions using the Eclipse tool, which confirms to the metamodels presented for game structure and behavior. Models are then transformed to appropriate output codes using a set of model to code transformation rules, implemented in the Acceleo framework. The generated codes are then compiled and can be run on any mobile phones and tablets running Android 4.4 or higher. In order to evaluate the proposed approach in this research, three board games including Backgammon, Othello and TicTacToe as case studies are fully implemented. To compare this approach with other methods of game development, the results of two practical workshops and a questionnaire were presented. The results clearly indicate the usefulness of the MAndroid approach, its ability to reduce the required training time for learning concepts, building games, and discovering and solving errors. Additionally, its simplicity over other methods, extensibility, and attractiveness are proved.