In recent years, mobile recommender systems such as tourism recommender systems have been increasingly used by users. Mobile recommender can enhance user experience by using contextual information, which can be easily captured via mobile sensors. Context-Aware Recommender Systems (CARS) are systems that make use of user preferences and contextual Information to achieve customer satisfaction and improve the accuracy of recommendations.
Developing context-aware applications, particularly for a novice designer, is a challenging task due to the complexity of such applications. To overcome this complexity, the use of modern software engineering approaches, such as model-driven development, may help. Therefore, this thesis proposes a model-driven framework for the automatic generation of context-aware mobile recommender systems. Due to the fact that the domain of context-aware recommender applications is very diverse and in model-driven approaches, it is desired to work on more specific domains to get more accurate code, the domain of this thesis is limited to tourism. Besides the technical discussion, we limit our domain to tourism, because tourism is one of the leading domains in mobile applications especially in recommender systems.
Our framework, called ATCARS, consists of four components: a domain-specific modeling language, a graphical editor for modeling by this language, transformation code, and a platform in the Android studio environment. The modeling editor enables a designer to model a context-aware recommender application and then validates the model against the predefined constraints. After designing and validating the model, executable Android code is automatically generated from the code. Finally, by transferring the generated code to the developed platform and running the program, the production process of the application is completed. To evaluate the proposed framework, two context-aware recommender mobile applications that are combined in one app called ”ARAS” in the tourism domain have been developed automatically. Besides, we design a questionnaire and invite experts in the field of Android programming and model-driven to development To perform the evaluation process based on the criteria of usability, performance, and satisfaction. The evaluation results show 94\% of app code is generated automatically. This framework reduces development time and speeds up the development process based on the questionnaire results. To perform the evaluation process based on the criteria of usability, performance, and satisfaction.